Results¶
Last changes: Documentation changelog
Contract¶
Result is the executed (or planned) run outcome: status, resolved backend/mode/precision, step
statistics, optional final magnetization, and output directory.
Governing equations¶
No physical equation is owned here; step energy and torque quantities are defined by the interaction pages.
Symbols and SI units¶
Energy scalars are in joules; measure-like maxima max_h_eff, max_h_demag in \(\mathrm{A\,m^{-1}}\);
max_torque_T in tesla; max_dm_dt in \(\mathrm{s^{-1}}\); times in seconds.
Assumptions and validity¶
last() and series() require step data; unknown quantities raise immediately.
Python API¶
Python |
Type |
Default |
SI unit |
Validation |
Meaning |
Backend support |
ProblemIR |
|---|---|---|---|---|---|---|---|
— |
— |
— |
\(1\) |
— |
— |
FEM/FDM CPU/GPU; planner and runtime capability checks remain authoritative |
— |
|
|
|
\(1\) |
|
|
FEM/FDM CPU/GPU; planner and runtime capability checks remain authoritative |
run status |
|
|
|
\(1\) |
Resolved backend |
Resolved backend |
FEM/FDM CPU/GPU; planner and runtime capability checks remain authoritative |
|
|
|
|
\(1\) |
Resolved execution mode |
Resolved execution mode |
FEM/FDM CPU/GPU; planner and runtime capability checks remain authoritative |
|
|
|
|
\(1\) |
Resolved precision |
Resolved precision |
FEM/FDM CPU/GPU; planner and runtime capability checks remain authoritative |
|
|
|
empty |
\(1\) |
Per-step statistics |
Per-step statistics |
FEM/FDM CPU/GPU; planner and runtime capability checks remain authoritative |
steps array |
|
|
|
\(1\) |
Final vector samples |
Final vector samples |
FEM/FDM CPU/GPU; planner and runtime capability checks remain authoritative |
final magnetization |
|
|
|
\(1\) |
Artifact directory |
Artifact directory |
FEM/FDM CPU/GPU; planner and runtime capability checks remain authoritative |
output dir |
Read access¶
series(quantity, region=...) and last(quantity, region=...) return scalar series/points by
name and accept an optional region selector that resolves per-object scalars.
scalar_descriptors() returns the known scalar inventory with id, label, and unit.
Complete stage-first context¶
Reading a result follows the same stage-first study that produced it; this page does not construct
a standalone Result.
# %% Stage-first study that produces a Result for inspection
import fullmag as fm
nm = 1.0e-9
study = fm.study("results_api_example")
study.engine("fdm")
study.device("cpu", precision="double")
study.mode("strict")
study.objects.mesh.defaults(cell_size=(2 * nm, 2 * nm, 5 * nm))
film = study.geometry(fm.Box(100 * nm, 20 * nm, 5 * nm), name="film")
film.Ms = 800.0e3
film.Aex = 13.0e-12
film.alpha = 0.02
film.m = fm.init.UniformMagnetization((1.0, 0.0, 0.0))
study.exchange()
study.stages.add_run(stage_id="run", until=1.0e-12)
# After execution, the resolved run exposes the result readers:
# result.series("e_total"), result.last("max_torque_T"), result.scalar_descriptors()
ProblemIR¶
Result is runtime output, not lowering input; it has no ProblemIR destination. Its backend,
mode, and precision fields echo the resolved execution record.
Round-trip and failure semantics¶
Requested intent is the value authored by Python and preserved in ProblemIR; resolved execution is the planner or realization result. Validation errors identify the violated domain rule, and unsupported combinations are rejected explicitly rather than silently substituted.
An unknown scalar quantity or a missing region raises immediately. save_state() on a result
without final_magnetization raises an explanatory error.
Discrete realization¶
Step statistics originate from the native runner payload and are mapped field-by-field.
Implementation mapping¶
Anchor: packages/fullmag-py/src/fullmag/runtime/simulation.py (class Result, StepStats,
ScalarQuantityDescriptor).
Validation¶
Ownership tests compare this inventory with live signatures.
Limitations¶
A planned or not-executable result carries no step data; consumers must branch on status.
Scientific bibliography¶
Quantity definitions belong to the interaction and outputs pages.
Control Room crosswalk¶
Status: Runtime and provenance data are inspection-only; they are not standalone authoring controls.
Python/API surface |
Control Room path |
Status |
Transaction |
|---|---|---|---|
Parameters documented on this page |
|
|
No runtime-authoring transaction |
Parameters without a named UI field |
|
|
Python-only until implemented |
not implemented: frontend support for runtime-selection and artifact-publication parameters.
See Control Room capability register for the support matrix and not implemented policy.
Frontend source owner: apps/control-room/src/modules/inspector/panels/RuntimeExplorerInspectorPanels.tsx (RuntimeExplorerInspectorPanels).
Source-code index¶
Claim |
Path |
Stable symbol |
Responsibility |
Evidence |
|---|---|---|---|---|
Result and step stats |
|
|
Executed outcome mapping |
Ownership test |
Scalar access |
|
|
Series/point read |
Ownership test |
Source-map coverage¶
Claim |
Path |
Stable symbol |
Responsibility |
Evidence |
|---|---|---|---|---|
Resolved result record and scalar accessors. |
|
|
Resolved result record and scalar accessors. |
Source-map validator and focused API tests |