Skip to content

Glossary

Definitions of the terms used throughout radCAD (largely shared with cadCAD).

Dynamical system : A system whose state evolves over time according to a fixed set of rules that depend on its current state and, optionally, external inputs.

State Variable : A named quantity describing the system at a point in time (e.g. population). The set of all State Variables is the state.

Initial state : The dictionary of State Variables and their starting values, passed to a Model.

System Parameters : The configurable inputs the model's rules depend on but which don't themselves evolve. Given as a dict of lists or a (nested) dataclass.

Policy Function : A function that decides what should happen in a substep. It reads state and parameters and returns a dictionary of signals, without modifying state directly.

Policy Signal : The dictionary output of a Policy Function. When a block has multiple policies, signals sharing a key are summed.

State Update Function : A function that applies signals to update a single State Variable, returning a (variable_name, new_value) tuple.

Partial State Update Block (PSUB) : One substep of the model, pairing a set of policies with a set of variables (State Update Functions). Models are an ordered list of these.

Substep : One Partial State Update Block within a timestep. Substeps run in order, each building on the last.

Timestep : One full pass through all Partial State Update Blocks, advancing the system from one state to the next.

Run : One complete execution of a model over all timesteps. Multiple runs enable Monte Carlo analysis. Numbered from 1 for cadCAD compatibility.

Subset : One combination of swept parameter values. A parameter sweep produces one subset per combination.

Model : The description of a system: initial state, state update blocks, and parameters. See Model.

Simulation : A model plus a number of timesteps and runs. See Simulation.

Experiment : A collection of simulations executed together (e.g. for A/B tests). See Experiment.

Engine : The component that executes an experiment or simulation, handling parallelism, deepcopy, and exceptions. See Engine.

Backend : The parallel-processing strategy the Engine uses: PATHOS, MULTIPROCESSING, RAY, RAY_REMOTE, or SINGLE_PROCESS. See Choose a backend.

Hook : A user-supplied callable fired at a lifecycle point (before_run, after_experiment, …) to extend behaviour. See Extend radCAD with hooks.

Deepcopy : Copying state before each update so model functions can't mutate it unexpectedly. The main performance cost of a simulation. See State mutation & performance.