Appearance
Subsystems
A Subsystem is a container that wraps a sub-circuit on the canvas and lets you run it at its own time step. It's the GUI primitive behind NumaSim's multi-rate simulation.
Why use a subsystem?
Most circuits have parts that need a fine time step (a switching converter at 100 kHz) and parts that don't (the slow outer loop that adjusts the duty cycle every millisecond). Running the whole thing at the fast step wastes compute; running the whole thing at the slow step misses the switching dynamics.
A Subsystem lets you have both: wrap the fast part in a Subsystem with num_iterations = N, and the wrapped components run N substeps per outer step. The outer circuit only sees the Subsystem's outputs sampled at the slow rate.
Authoring a subsystem
- Drag a Subsystem from the palette onto the canvas. It appears as a translucent rectangle with a title bar.
- Drop components inside the rectangle. They become children of the Subsystem.
- Drag wires between the inner components exactly as you would outside. Wires cannot visually cross the Subsystem boundary — cross-rate signals route through
From/GoTo(control) or transmission lines (electrical) instead. - Double-click the body of the Subsystem (not the title bar) to open its properties dialog. Set
num_iterations(how many fast substeps per outer step).
Title-bar gestures
- Single-click the
+/−button to collapse / expand. - Double-click the title bar to toggle collapse.
- Single-click the maximize / restore button to enter full-screen edit mode for the sub-circuit.
Cross-rate signal flow
The two ways to move signals between a Subsystem and its parent:
- Control signals — use
FromandGoToblocks with the same signal name. AGoToinside the Subsystem makes the signal available to aFromoutside (and vice versa). The signal is one-step-delayed across the rate boundary. - Electrical signals — use a transmission line. The line acts as the physical decoupling between the two rate groups.
See also
- Multi-rate monitoring for what happens when you scope a signal that crosses a rate boundary.
- Sample: PWM subsystem for a worked example.