Recipe
Cell descriptions
gid 1 type `lif_cell` description ...
...
gid 37 type `cable_cell` description

- Morphology
- Ion channels
- Connection sites
- Labels

Cell kinds
gid 1 `lif_cell`
...
gid 37 `cable_cell`
...
Simulator: kind of `gid=1`?
Recipe: `lif_cell`.
...
Simulator: kind of `gid=37`?
Recipe: `cable_cell`.
Group implementations for `lif_cell`, `cable_cell` Domain decomposition: `group-0`, `group-1`
Simulator requests cell description of `gid=37`
Recipe: `morphology, ...`.
Simulator: `group-0` make `cable_cell` `group-1` make `lif_cell`
Simulator: `group-0` simulate for `dt` `group-1` simulate for `dt`
Simulation
Recipe
Context
12 threads
1 GPU
Domain decomposition
`group-0` kind: `cable` hardware: 1 GPU gids: `37, ...`
`group-1` kind: `lif` hardware: 12 threads gids: `1, ...`
...
An illustration of the cell-specific portion of the recipe, and how it is used during the lifetime of the simulation: the simulation object will, depending on its configuration, query the recipe for the neuroscientific components it describes. This demonstration also show why the recipe separates cell descriptions from cell types. The latter is, as you might expect, shorthand, and is used in the allocation of the cell to a particular cell group. A cell group implementation is a handler for a certain kind of cell, and Arbor comes with these for all it's included cell kinds. However, users can develop their own specialized cell group implementations. More on that in the internal developer documentation.