Basic run
SimulationDomain.STEADY_STATE is the default domain. You can omit config for simple runs:
Parameter sweeps
Run the engine repeatedly with different external inputs to sweep parameters:Reading results
Fault-aware components
DCMotor and LiPoCell emit runtime diagnostics when limits are exceeded. Check health and fault_code output ports, or filter result.get_faults().
How execution works
engine.run() calls graph.topological_order() to get a safe evaluation sequence, then for each component:
- Collects input values from upstream outputs, the
inputsdict, or port defaults - Calls the component solver and runs
post_solve_diagnostics() - Applies fault output degradation if the component is faulted
- Stores outputs for downstream components
solve() fallback (not the frozen ODE integrator state).
The result object wraps this output dict so you can query by (instance_id, port_name).
Next steps
Component Faults
Runtime warnings, faults, and health output ports
Transient Simulation
Step through time and collect time-series data
Solvers
Formula, ODE, lookup table, and ML solvers
