Skip to main content
Transient simulation steps the graph through time and records a value at every time step for every output port. Components with internal state (motors, capacitors, inductors, batteries) advance their state using ODESolver integration.

Configuration

Time series

Calling get_time_series() on a steady-state result raises SimulationResultError.

Export to pandas

Serialize results

Attach a snapshot when calling graph.save(..., result=result) to display outputs and charts in the cloud dashboard. See Saving Graphs.

Interactive step mode

For real-time or interactive applications, step the engine manually:
step() returns (outputs, new_state, diagnostics).

Algebraic vs. dynamic components

At each time step, engine.step() is called for every component:
  • Components with ODESolver (e.g. DCMotor, Capacitor, LiPoCell) advance internal state via RK4 or scipy integration
  • Algebraic components (e.g. Resistor, ThermostatController, ServoMotor) are re-solved from current inputs at each step
  • Fault-aware components (DCMotor, LiPoCell) evaluate operating limits after each step and may enter a degraded fault state

Component Faults and Health

Motor thermal runaway, battery over-discharge, and FaultMode
To see a signal ramp over time with an algebraic servo, drive the external input from a time-varying function or swap in a motor component that uses ODESolver.