materia init
Create a new materials optimization project with domain templates.
materia init
Create a new materials optimization project directory with a pre-configured MDL file and optional template.
Synopsis
materia init <project-name> [options]Arguments
| Argument | Required | Description | |—————|—————|——————-| | project-name | Yes | Name of the project directory to create |
Options
| Flag | Short | Type | Default | Description | |———|———-|———|————-|——————-| | —domain | -d | string | water | Material domain to use | | —template | -t | string | (default for domain) | Specific template within the domain | | —list-domains | | boolean | false | List all available domains and exit | | —list-templates | | boolean | false | List all templates (optionally filtered by domain) | | —no-git | | boolean | false | Skip git repository initialization | | —force | -f | boolean | false | Overwrite existing directory |
Examples
Basic initialization with a domain
materia init my-membrane --domain waterCreates:
my-membrane/
material.yaml # MDL file with water domain defaults
materia.toml # Project configuration
.gitignore # Git ignore patterns
results/ # Output directory (empty)Using a specific template
materia init cathode-study --template battery/nmc-cathodeTemplates provide more specific parameter ranges and objectives for common optimization scenarios within a domain.
Listing available domains
materia init --list-domainsOutput:
Available domains (16):
water Water membrane optimization
battery Lithium-ion battery design
solar Solar cell efficiency
catalyst Heterogeneous catalysis
hydrogen Hydrogen storage materials
thermoelectric Thermoelectric generators
polymer Polymer blends and composites
ceramic Structural and functional ceramics
superconductor High-temperature superconductors
steel Steel alloy composition
aluminum Aluminum alloy optimization
glass Glass composition design
concrete Low-carbon concrete
adhesive Structural adhesives
biomaterial Biocompatible materials
coating Protective coatingsListing templates for a domain
materia init --list-templates --domain batteryOutput:
Templates for 'battery':
battery/nmc-cathode NMC cathode composition optimization
battery/solid-electrolyte Solid-state electrolyte screening
battery/anode-design Silicon-graphite anode blendingForce overwrite an existing directory
materia init my-project --domain solar --forceGenerated MDL File
The generated material.yaml includes comments explaining each section:
# Material Definition Language (MDL) file
# Generated by: materia init --domain water
# Documentation: https://matcraft.ai/docs/mdl/specification
name: my-membrane
domain: water
description: Water membrane optimization campaign
# Design parameters -- adjust bounds for your specific problem
parameters:
- name: polymer_concentration
type: continuous
bounds: [0.08, 0.40]
description: Polymer weight fraction in casting solution
# ... more parameters
# Optimization objectives
objectives:
- name: permeability
direction: maximize
unit: L/(m2*h*bar)
# ... more objectives
# Optimizer settings
optimizer:
method: cma-es
budget: 200
batch_size: 10
surrogate: mlpAfter Initialization
After creating a project:
- Edit
material.yamlto customize parameter bounds, objectives, and optimizer settings. - Run
materia validate material.yamlto check for errors. - Run
materia runto start the optimization.
See Also
- Quick Start for a complete walkthrough
- MDL Specification for the full schema reference
- Domain Overview for details on each domain