networkdynamics

adapters.networkdynamics

NetworkDynamics.jl backend adapter for SimulationExperiment.

Uses pyjulia (tvbo.adapters.julia) to execute generated Julia code and return full Julia objects alongside a TVBO TimeSeries.

Classes

Name Description
NetworkDynamicsAdapter Adapter for running SimulationExperiment via NetworkDynamics.jl (pyjulia).

NetworkDynamicsAdapter

adapters.networkdynamics.NetworkDynamicsAdapter(experiment)

Adapter for running SimulationExperiment via NetworkDynamics.jl (pyjulia).

Inherits metadata processing from BaseAdapter. The prepare_context() method pre-computes all template variables so Mako templates stay clean.

Methods

Name Description
build_node_positions Build (n_t, n_nodes, n_cv) position array from simulation data.
get_fixed_nodes Return set of node IDs with static dynamics (no state variables).
get_initial_positions Extract initial (x, y, …) positions for ALL nodes from YAML.
get_node_metadata Extract per-node metadata: dynamics name, parameters, type.
render_code Render Julia code with pre-computed context from BaseAdapter.
run Run simulation using NetworkDynamics.jl.
build_node_positions
adapters.networkdynamics.NetworkDynamicsAdapter.build_node_positions(ts, ctx)

Build (n_t, n_nodes, n_cv) position array from simulation data.

For free nodes: positions come from the coupling-variable columns of the properly shaped (time, variable, node) DataArray. For fixed nodes: positions are constant (from YAML parameters).

get_fixed_nodes
adapters.networkdynamics.NetworkDynamicsAdapter.get_fixed_nodes()

Return set of node IDs with static dynamics (no state variables).

get_initial_positions
adapters.networkdynamics.NetworkDynamicsAdapter.get_initial_positions()

Extract initial (x, y, …) positions for ALL nodes from YAML.

For free (dynamic) nodes: positions come from per-node state overrides (legacy initial_state arrays are also supported), at the indices marked coupling_variable=True. For static (fixed) nodes: positions come from node parameter values (in parameter-definition order).

Returns shape (n_nodes, n_coupling_vars).

get_node_metadata
adapters.networkdynamics.NetworkDynamicsAdapter.get_node_metadata()

Extract per-node metadata: dynamics name, parameters, type.

Returns {node_id: {'dynamics': str, 'params': dict, 'static': bool}}.

render_code
adapters.networkdynamics.NetworkDynamicsAdapter.render_code(**kwargs)

Render Julia code with pre-computed context from BaseAdapter.

run
adapters.networkdynamics.NetworkDynamicsAdapter.run(**kwargs)

Run simulation using NetworkDynamics.jl.

Returns

ExperimentResult Simulation results with named dimensions and coordinates. Extra attributes: sol, graph, edge_data, vertex_data.