This repository contains raw and post-processed replication data for the publication "Optimal information injection and transfer mechanisms for active matter reservoir computing" (Gaimann and Klopotek, 2025).
The datasets contain physical observables recorded during non-equilibrium simulations of active matter systems (swarms) driven by an external force. These simulations serve as information processors in a reservoir computing setup.
We provide replication data for all figures and supplementary videos shown in our publication:
speed controller, with a linearly attractive driver
speed controller, with a linearly attractive driver, and a driver interaction strength of 2.0
speed controller, with a linearly attractive driver, and a Ridge parameter of 200.0
speed controller, with an inversely attractive driver
speed controller, with an inversely attractive driver, and a driver interaction strength of 2.0
speed controller, with an inversely attractive driver, and a Ridge parameter of 200.0
speed controller, with a repulsive driver (reproduction)
driver repulsion, with speed-controller setting of Lymburn et al. (2021)
driver repulsion, with speed-controller setting of Lymburn et al. (2021), and recorded kernel observations
driver repulsion, with speed-controller setting of Lymburn et al. (2021), with simulation box size 32.0 and observation box size 16.0
driver repulsion, with speed-controller setting of Lymburn et al. (2021), with simulation box size 32.0 and observation box size 32.0
driver repulsion, with speed-controller setting of Lymburn et al. (2021), with simulation box size 64.0 and observation box size 32.0
driver repulsion, with speed-controller setting of Lymburn et al. (2021), with a single agent
driver repulsion, with near-critically damped speed-controller setting
driver repulsion, with near-critically damped speed-controller setting, with a single agent
driver attraction (inverse)
driver attraction (inverse), with a single agent (near-critically damped speed-controller setting)
agent-agent repulsion, with a repulsive driver
agent-agent repulsion, with an (inversely) attractive driver
agent-agent repulsion, with an (inversely) attractive driver, and a driver interaction radius of 2.0
agent-agent repulsion, with an (inversely) attractive driver, and a Lorenz-96 driving protocol
agent-agent repulsion vs. number of agents, with a repulsive driver
agent-agent repulsion vs. number of agents, with an (inversely) attractive driver
agent-agent repulsion vs. number of agents, with an (inversely) attractive driver, an agent-agent repulsion radius of 1.0, and a driver interaction strength of 100.0
agent-agent repulsion vs. number of agents, with an (inversely) attractive driver, an agent-agent repulsion radius of 1.0, and a driver interaction strength of 11.2883789
Ridge parameter vs. target agent speed, with a linearly attractive driver
short-range agent-agent repulsion, with an agent-agent repulsion radius of 1.0
short-range agent-agent repulsion, with an agent-agent repulsion radius of 4.0
long-range agent-agent repulsion, with an agent-agent repulsion radius of 1.0
long-range agent-agent repulsion, with an agent-agent repulsion radius of 4.0
viscoelastic fluid, with a repulsive driver and a driver interaction strength of 100.0
viscoelastic fluid, with a repulsive driver and a driver interaction strength of 1000.0
undriven swarm, with a near-critically damped speed-controller setting
We note that the controlled variable (config setting) "interaction_types__driver_attraction" adds a linear (homing-style) driver attraction interaction, while the variable "interaction_types__driver_repulsion" combined with a negative value for "interaction_types__driver_repulsion__strength" adds an inversely driver attraction interaction.
By default, we use a Lorenz-63 driving protocol that was generated on the fly during the simulation. One scan uses this Lorenz-96 driving protocol.
Each dataset typically contains 400 parameter combinations. Each parameter combination contains four files:
config.yaml: controlled variables
simulation_output_train.h5: physical simulation observables in first (training) run
simulation_output_test.h5: physical simulation observables in second (testing) run
reservoir_computer_output.h5: observables related to reservoir computing and time series prediction
The second run has a different chaotic driving protocol, using the same underlying dynamical system (chaotic attractor) but different initial conditions. By default, for all driven simulations, physical observables are only recorded for the test run for a full reservoir computing train/test cycle. Each simulation typically consists of 1,000.00 time units (50,000 integration time steps of 0.02 time units by default). A burn-in phase of 20.0 simulation time units (1,000 integration time steps of 0.02 time units by default) takes place at the beginning of each simulation, which is not recorded. Controlled variables are stored as HDF5 attributes. At each step, we predict by default 25 integration time steps ahead (=0.45283 L63-Lyapunov times).
The simulation output files contain:
agent_observables: positions, velocities, total forces, velocity fluctuations for all agents; for the first 20.0 simulation time units
frame_observables: driver position (external driving trajectory / input time series), center of mass (taking periodic boundary conditions into account), agent-averaged observables, scalar polarity, scalar rotation; for the full simulation
histograms: binned agent observables and derived quantities; for the full simulation
radially_binned: radial distribution function (agent count), connected velocity correlation, cumulative velocity correlation
time_lags: auto-correlations of agent observables and derived quantities, two-time correlations of agent observables and derived quantities
reference_frame_steps: reference frames (measured in integration steps) for the recording of delay-based quantities in time_lags
The reservoir computer output files contain:
linear_regression_model: the weights of the linear model (readout layer)
observer_kernel_params: placement positions and widths of the Gaussian observation kernels
predictions_train: n-steps-ahead prediction using the trained linear model, on training data
predictions_test: n-steps-ahead prediction using the trained linear model, on testing data
Aggregates of physical observables across all parameter combinations in a single dataset are stored as CSV files for convenience; the relevant observable is indicated by the file name. Files that carry the "time_avg" tag are averaged over all simulation time steps, for the "ensemble_avg" averaged over all seeds (only one seed is used here), and for the "array_avg" averaged over all recorded entries (typically samples at different time steps). We provide the following aggregated observables that were processed to generate figures in our associated publication:
lymburn_correlation_coefficient: Correlation coefficient, predictive performance
agent_avg_msd_at_lyapunov_time_step=55: Agent-averaged mean squared displacement at the Lyapunov integration time step of the Lorenz-63 attractor (after 55 integration time steps of 0.02 each)
first_local_min.array_avg.h5?connected_velocity_correlation: First local minimum of the connected velocity correlation function, averaged over all recorded samples
ensemble_avg.array_avg.n_activated_kernels_threshold=0.001: Time-averaged number of activated observation kernels for agent count, firing at least above a threshold value of 0.001
ensemble_avg.array_avg.smallest_agent_distance_circle_around_driver: Time-averaged and agent-averaged circle area spanned by the distance between an agent i and its next-nearest neighboring agent j
mean_speed: Agent-averaged speed
scalar_polarity: Scalar polarity
scalar_rotation: Scalar rotation
attanasi_susceptibility: Dynamical susceptibility
The supplementary videos generated using this raw data are published as: Gaimann, M. U., & Klopotek, M. (2025). Supplementary Videos for: Optimal information injection and transfer mechanisms for active matter reservoir computing (Gaimann and Klopotek, 2025). DaRUS. doi:10.18419/DARUS-4806
ResoBee, 0.10.0 - 0.14.0