API :: Simulations¶
Single cell Simulations can be run using the Simulation
class. This
wraps around a model and a protocol object and provides an interface to the
on-the-fly generated C module. A similar class is provided to perform a
1d Simulation
. Parallelized 1d and 2d simulations can be
run using the class SimulationOpenCL
which can utilise all cores of a
CPU or GPU. This simulation type can also be used to investigate the effects of
parameter variations (in grids of uncoupled cells) or heterogeneity (in coupled
grids of cells).
Simulation results for all simulations are stored in a DataLog
. This
specialized dict type can be stored to disk using
save
or save_csv
. One
or two-dimensional logs often take the shape of a rectangular grid. While the
DataLog
class is built for maximum flexibility and allows irregular
shapes, it can often be useful to exploit the rectangular grid shape of the
data. For these cases, the data logs can be converted to specialized structures
called DataBlock1d
and DataBlock2d
.
A few specialized classes are included in the simulations package. The
RhsBenchmarker
can be used to rapidly evaluate the running time of a
model’s equations which can be useful to optimise model running times. The
JacobianCalculator
can be used to calculate a single Jacobian matrix,
while the JacobianTracer
can be run after a single cell simulation to
calculate the Jacobian matrix and (dominant) eigenvalues at every visited point
of the state space.