RunMat
GitHub

Operation Reference

This page is for host integrations and tooling that care about operation names, envelopes, error codes, artifact roots, and builtin names.

Envelopes

Successful operations return OperationEnvelope<T>:

FieldMeaning
operationStable operation name, such as fea.run_modal.
op_versionVersioned operation identifier, such as fea.run_modal/v1.
trace_idOptional host trace id.
request_idOptional host request id.
dataTyped operation payload.

Failures return OperationErrorEnvelope:

FieldMeaning
error_codeStable machine-readable code.
error_typeinput, validation, capacity, backend, internal, or contract.
messageHuman-readable message.
operation, op_versionOperation identity that failed.
retryableWhether retrying may be reasonable.
severitywarning, error, or fatal.
contextString key/value details for automation.
trace_id, request_id, timestampCorrelation and timing metadata.

Error codes use RM.<DOMAIN>.<OPERATION>.<REASON>, for example RM.FEA.RUN_STUDY.INVALID_SPEC or RM.GEOMETRY.LOAD.UNSUPPORTED_FORMAT.

Geometry Operations

Operation versionUse
geometry.inspect/v1Detect supported input format and byte count before loading.
geometry.load/v1Import geometry bytes into a GeometryAsset.
geometry.compute_stats/v1Return geometry statistics for an asset.
geometry.list_regions/v1Return known geometry regions.
geometry.query_entities/v1Return region, mesh, or entity references with a bounded query.
geometry.capture_view/v1Capture a geometry view through the installed adapter.
geometry.prep_for_analysis/v1Produce a prep artifact and MeshingPrepResult.
geometry.prep_artifact_health/v1Report prep artifact counts, ages, metrics, and lifecycle data.

FEA Operations

Operation versionUse
fea.create_model/v1Build an AnalysisModel from geometry and a model profile intent.
fea.validate/v1Validate model units, frame, materials, loads, boundary conditions, domains, and geometry compatibility.
fea.run_linear_static/v1Run the linear static structural path.
fea.run_modal/v1Run modal analysis.
fea.run_acoustic/v1Run acoustic harmonic analysis.
fea.run_thermal/v1Run standalone thermal analysis.
fea.run_transient/v1Run structural transient analysis.
fea.run_nonlinear/v1Run nonlinear structural analysis.
fea.run_electromagnetic/v1Run electromagnetic analysis.
fea.run_cfd/v1Run finite-volume incompressible CFD analysis.
fea.run_cht/v1Run coupled CFD plus thermal conjugate heat-transfer analysis.
fea.run_fsi/v1Run partitioned fluid-structure interaction analysis.
fea.results/v1Query fields, diagnostics, payload subsets, quality reasons, provenance, and summaries.
fea.results_compare/v1Compare selected fields between two persisted runs.
fea.trends/v1Summarize persisted runs by family.

Study Operations

Operation versionUse
fea.validate_study/v1Validate one study and write a validation artifact.
fea.plan_study/v1Produce operation sequence, run operation, fingerprint, and plan artifact.
fea.run_study/v1Execute one study and write run evidence.
fea.validate_study_sweep/v1Validate a sweep with aggregate and per-study issues.
fea.plan_study_sweep/v1Plan a sweep with plan entries and failure entries.
fea.run_study_sweep/v1Execute a deterministic sequential sweep.

RunMat Builtins

BuiltinUse
geometry.inspect(path)Read a geometry file and return a geometry.InspectResult object.
geometry.load(path)Read a geometry file and return a geometry.Asset object.
geometry.listRegions(asset)Return imported regions from a geometry.Asset.
geometry.meshes(asset)Return patch-ready surface mesh topology with vertices, faces/triangles, and region mappings.
fea.load(path)Load a .fea study or sweep file and return fea.Study or fea.Sweep.
fea.material(...), fea.materialAssignment(...)Create typed material data and region assignments.
fea.boundaryCondition(...), fea.loadCase(...)Create typed constraints, loads, and sources.
fea.step(...), fea.domain(...), fea.interface(...)Create typed analysis steps, physics domains, and interfaces.
fea.runOptions(kind, Name, Value, ...)Create family-specific run options.
fea.model(id, geometry, Name, Value, ...)Assemble an explicit model from geometry and typed components.
fea.study(id, geometry, Name, Value, ...)Create a fea.Study from geometry, physics profile/model data, backend, and run options.
fea.sweep(id, studies, Name, Value, ...)Create a deterministic sweep from fea.Study objects.
fea.validate(study)Validate a .fea path, fea.Study, or fea.Sweep.
fea.plan(study)Plan a .fea path, fea.Study, or fea.Sweep.
fea.run(study)Run a .fea path, fea.Study, or fea.Sweep.
fea.results(runOrId, Name, Value, ...)Load result data from a run result object or persisted run id.
fea.field(resultsOrRun, fieldId)Extract one field from a result query.
fea.plot(runOrResultsOrField, fieldId)Create a RunMat figure for a result field using the study geometry context.
fea.compare(baselineRunId, candidateRunId, Name, Value, ...)Compare two persisted runs.
fea.trends(Name, Value, ...)Summarize recent persisted runs.

fea.Study and fea.Sweep objects expose validate, plan, and run methods through the class system. fea.RunResult exposes results, field, and plot; fea.Results exposes field and plot; fea.Field exposes plot.

.fea Document Fields

Top-level study fields:

FieldRequiredMeaning
versionYesDocument version. Current value is 1.
kindYesstudy.
idYesStable study id.
geometryYesGeometry file path, units, and import options.
modelYesModel id, profile, defaults mode, and frame.
runYesRun family, backend, and family-specific options.
regionsNoNamed aliases for geometry region selectors.
materialsNoMaterial definitions keyed by material id.
material_assignmentsNoRegion-to-material assignments.
boundary_conditionsNoConstraints and boundary data.
loadsNoForces, moments/torques, pressures, body forces, current densities, or coil currents.
stepsNoAnalysis steps.
domainsNoThermo-mechanical, electro-thermal, electromagnetic, or CFD domain data.
interfacesNoContact or coupling interfaces.

Top-level sweep fields:

FieldRequiredMeaning
versionYesDocument version. Current value is 1.
kindYessweep.
idYesStable sweep id.
fail_fastNoDefaults to true.
studiesYesList of nested study documents. Nested studies omit kind.

Load documents use type or kind. Structural moment loads use type: moment with vector: [mx, my, mz] in N*m. type: torque is accepted as an alias and resolves to the canonical moment load. Direct moment loads are valid only for structural regions whose elements provide rotational DOFs; non-structural run families and solid-only displacement regions reject them during validation or assembly.

Rotational structural runs may return structural.rotation and structural.reaction_moment fields. Beam-specific moment resultants use structural.beam_torsion_moment and structural.beam_bending_moment; shell-specific resultants use structural.shell_bending_moment.

Runtime Config

Use [runtime.fea]:

KeyPurpose
artifact_storein_memory or filesystem run artifact store. Defaults to filesystem when omitted by the CLI/runtime bootstrap.
artifact_rootFilesystem root for persisted run artifacts. Defaults to artifacts.
artifact_max_runsOptional global retained run limit.
artifact_max_runs_per_kindOptional retained run limit per family.
study_artifact_rootStudy validate, plan, run, and sweep artifact root.
geometry_prep_artifact_rootGeometry prep artifact root.
geometry_prep_max_artifactsOptional global prep artifact retention limit.
geometry_prep_max_artifacts_per_geometryOptional per-geometry prep artifact retention limit.
geometry_prep_max_age_secondsOptional prep artifact age retention limit.
geometry_prep_require_latest_revisionWhether prep-aware runs reject stale geometry revisions.
thermo_field_artifact_rootThermo-field artifact root for coupled thermal paths.

Preferred environment variables:

Environment variablePurpose
RUNMAT_FEA_ARTIFACT_STOREin_memory or filesystem run artifact store fallback.
RUNMAT_FEA_ARTIFACT_ROOTRun artifact root.
RUNMAT_FEA_ARTIFACT_MAX_RUNSOptional global retained run limit.
RUNMAT_FEA_ARTIFACT_MAX_RUNS_PER_KINDOptional retained run limit per family.
RUNMAT_FEA_STUDY_ARTIFACT_ROOTStudy validate, plan, run, and sweep artifact root.
RUNMAT_GEOMETRY_PREP_ARTIFACT_ROOTGeometry prep artifact root.
RUNMAT_GEOMETRY_PREP_MAX_ARTIFACTSOptional global prep artifact retention limit.
RUNMAT_GEOMETRY_PREP_MAX_ARTIFACTS_PER_GEOMETRYOptional per-geometry prep artifact retention limit.
RUNMAT_GEOMETRY_PREP_MAX_AGE_SECONDSOptional prep artifact age retention limit.
RUNMAT_GEOMETRY_PREP_REQUIRE_LATEST_REVISIONWhether prep-aware runs reject stale revisions.
RUNMAT_THERMO_FIELD_ARTIFACT_ROOTThermo-field artifact root.

Legacy RUNMAT_ANALYSIS_* variables remain compatibility fallbacks where supported.

Evolution Rules

  1. Add fields instead of changing field meaning.
  2. Preserve stable error codes and quality reason codes.
  3. Keep operation-specific validation failures typed as operation errors.
  4. Persist enough provenance to explain backend and solver policy choices.
  5. Update status, V&V docs, and tests when a family changes support level.
  6. Version-bump an operation if a payload or semantic break is unavoidable.