Aspects & Concepts

Aspects & Concepts

cellular_raza is built up with minimal assumptions on the underlying cellular and environmental structure of the problem. In order to describe a wide variety of cellular systems, we need abstractions over the individual processes such that a numerical integrator can integrate the system in question.

We divide these theoretical abstractions into two subcategories. Simulation aspects contain information about the actuality of the simulation while concepts contain all other required abstractions such as storage methods, time-steppers, etc. In principle, we consider concepts to be a superset of aspects and thus use the name concepts for the combination of both of them.

Aspects

Simulation aspects can be thought of as mathematical abstractions over physical processes. They represent cellular behaviour, the cell’s interactions with the physical domain or other interactions (eg. with experimental setups). In the future, we aim to provide a concise mathematical notation in a more formal approach.

Aspect Description Depends on
Cellular Agent
Position Spatial representation of the cell
Velocity Spatial velocity of the cell
Mechanics Calculates the next increment from given force, velocity and position. Position and Velocity
Interaction Calculates force acting between agents. Also reacts to neighbours. Position and Velocity
Cycle Changes core properties of the cell. Responsible for cell-division and death.
Intracellular Intracellular representation of the cell.
Reactions Intracellular reactions Intracellular
ReactionsExtra Couples intra- & extracellular reactions DomainReactions
ReactionsContact Models reactions between cells purely by contact Position, Intracellular
Simulation Domain
Domain Represents the physical simulation domain.
DomainMechanics Apply boundary conditions to agents. Position, Velocity
DomainForce Apply a spatially-dependent force onto the cell. Mechanics
DomainReactions Calculate extracellular reactions and effects such as diffusion. ReactionsExtra
Other
Controller Externally apply changes to the cells.

Concepts

We consider concepts to be an extension and thus a superset of aspects. They incorporate abstractions which are useful for handling the numerical simulation such as time-stepping and different storage solutions. But they do not represent any physical properties.

Name Description Depends on
Storage We offer various solutions for storing results.
TimeStepper Handles time-increments and advances simulation in steps.
Xapy Abstracts over mathematical operations and allows implementations of more complex representations. Provides a default implementation for types that satisfy num::Zero and num::Float.