YAML configuration reference¶
The schema generated by python -m phast schema is authoritative for accepted YAML types, defaults, enumerations, and ranges. Use python -m phast explain-config CONFIG to inspect a concrete file, and python -m phast run CONFIG --validate-only for schema/workflow preflight.
Top-level sections¶
Section |
Role |
|---|---|
|
Configuration contract version; the general CLI YAML schema is version |
|
Human-readable run identification. |
|
Built-in geometry or imported mesh definition. |
|
Preset/inline constitutive and fracture properties. |
|
Named supports and loads. |
|
Time, displacement, or step schedule controls. |
|
Analysis family, tolerances, iterations, backend, and preconditioner settings. |
|
Result directory, trajectory, visualization, and logging options. |
|
Requested device and optional compilation setting. |
|
Supported initial field values. |
The repository contains two distinct configuration representations. Public
example YAML files accepted by the general python -m phast run entry point
use schema_version: 1. A separate version-2 authoring representation can be
compiled into a ProblemSpec, but it executes only when a documented adapter
supports the requested workflow. Do not change a version-1 example to version 2
unless its own documentation identifies that route. In either representation,
passing structural validation does not establish runtime or scientific
validity.
Frequently used fields¶
solver.solver_type selects the analysis family. solver.backend controls linear-solver backend dispatch where supported; solver.preconditioner selects a preconditioning choice where supported. solver.time_integrator accepts the implemented central-difference route and documented aliases; reserved routes remain bounded by their implementation.
output.trajectory: true enables snapshots, with output.trajectory_format: zarr preferred and h5 retained for legacy compatibility. output.plots, gif, vtu, and viz_format control visual products where the selected route supports them. These settings do not make a field reloadable unless the corresponding trajectory or stored field exists.
device.device can request cpu, cuda, or mps when supported. A material-aware or backend-aware fallback may change the runtime route; inspect the run metadata and manifest rather than inferring it from the request.
Precedence and units¶
The CLI overrides corresponding YAML values. The configuration loader accepts unit-bearing values for supported quantity fields; use one consistent unit system for all remaining geometry, material, load, and time data.
Authoritative lookup commands¶
python -m phast schema --output configs/phast.schema.json
python -m phast explain-config path/to/config.yaml
python -m phast run path/to/config.yaml --validate-only
python -m phast doctor
The schema and command help are the source of truth for a particular installed revision. This page intentionally summarizes routes rather than duplicating every generated property.