Shared State#
The shared_state
classes are collections to store backend-specific simulator
state and can be found in the backend/{multicore, gpu}
directories.
Functionality manipulating such items gets delegated to the implementations of
the shared_state
interface.
Ions#
Ion state is stored as a series of arrays corresponding to NMODL variables.
These arrays have entries per CV and mechanisms need to go through the
node_index_
array to map the mechanism’s internal CV index to the cell
group’s CV index.
Field |
NMODL |
Ion Property |
---|---|---|
|
|
Current density |
|
|
Reversal potential |
|
|
Internal concentration |
|
|
External concentration |
This table shows the mapping between NMODL – for the ca
ion species – and
the ion_state
members. The class is responsible for reseting currents and
concentrations.
Mechanisms#
All mechanisms’ privates data is stored in shared_state
, which is also
responsible for managing the lifetime and initialisation of said data. This is
done to allow mechanisms to be implemented as essentially stateless bits of
C-code interacting with Arbor only through shared_state
. See the ABI
documentation for a discussion of the details.
Further Functionality#
In addition the configuration and effect of stimuli, gap junctions, and sampling, as well as the computation of per-CV time steps is handled here.