Expand description
Re-exports the default simulation types and traits.
Modules§
- Numerically solve a given simulation setup.
- cara
cara
- Contains deprecated cartesian cuboid implementations for an older vertex model
- Contains deprecated cartesian cuboid implementations
- cpu_
os_ threads cpu_os_threads
- Traits and types which will eventually replace the old Domain definition.
- elli
elli
- Objects and definitions surrounding the bacterial pool model
- Rayon is a data-parallelism library that makes it easy to convert sequential computations into parallel.
- Contains traits and types which specify cellular reactions specific to the [cpu_os_threads] backend.
- Interface and methods to store and load simulation aspects.
- Controls how the simulation time is advanced
- A scoped, structured logging and diagnostics system.
Macros§
- build_
aux_ storage chili
- build_
communicator chili
- Inserts as many blanks as generics were used to create the communicator struct by build_communicator!.
- prepare_
types chili
Prepares communicator and auxiliary storage types with build_communicator! and build_aux_storage!. - run_
main chili
- run_
simulation chili
- run_
test_ for_ aspects chili
Run a particularly structured test multiple times for combinations of aspects - test_
compatibility chili
Checks if defined types and concepts are compatible before actually executing the simulation.
Structs§
- AuxStorage
Cycle chili
Stores intermediate information about the cell cycle. - Helper storage for number of neighbors of Interaction trait.
- AuxStorage
Mechanics chili
Stores intermediate information about the mechanics of a cell. - AuxStorage
Reactions chili
Helper storage for values regarding intracellular concentrations for the Reactions trait. - Implementor of the UpdateReactionsContact trait.
- Barrier
Sync chili
This very simple implementation uses the [hurdles::Barrier] struct which should in theory perform faster than the std::sync::Barrier struct from the standard library. - Define how batches of elements and identifiers are saved when being serialized.
- Lennard-Jones interaction potential with numerical upper and lower limit.
- Identical to BoundLennardJones but for
f32
type. - Can occur during boundary calculation
- Brownian motion of particles
- Brownian motion of particles
- Brownian motion of particles
- Brownian motion of particles
- Brownian motion of particles
- Brownian motion of particles
- General Calculation Error
- A generic Domain with a cuboid layout.
- Cartesian cuboid in
1D
with float typef64
- Cartesian cuboid in
1D
with float typef32
- Cartesian cuboid in
2D
with float typef64
- Cartesian cuboid in
2D
with float typef32
- Cartesian cuboid in
3D
with float typef64
- Cartesian cuboid in
3D
with float typef32
- Cells are represented by rods
- Subdomain corresponding to the CartesianCuboid struct.
- Subdomain of CartesianCuboid1New
- Subdomain of CartesianCuboid2New
- Subdomain of CartesianCuboid3New
- Subdomain of CartesianCuboid1NewF32
- Subdomain of CartesianCuboid2NewF32
- Subdomain of CartesianCuboid3NewF32
- The corresponding SubDomain of the CartesianCuboidRods domain.
- Voxel of the CartesianSubDomain1
- Voxel of the CartesianSubDomain2
- Voxel of the CartesianSubDomain3
- Voxel of the CartesianSubDomain1F32
- Voxel of the CartesianSubDomain2F32
- Voxel of the CartesianSubDomain3F32
- A container struct containing meta-information of a given Cell Some variables such as id are not required and not desired to be initialized by the user. This CellAgentBox acts as a container around the cell to hold these variables.
- CellBox
chili
Wrapper around the user-defined CellAgent - Cell
Identifier chili
Unique identifier which is given to every cell in the simulation - Channel
Comm chili
Sender-Receiver Communicator based on [crossbeam_channel]. - Define how elements and identifiers are saved when being serialized together.
- Error which occurs during sending, receiving or transmitting information between threads
- Occurs when incorrectly applying a controller effect
- Errors occurring during the final death step of a cell
- Generated by the decompose method. The backend will know how to deal with this type and crate a working simulation from it.
- Default
Handler chili
Handles any error which is encountered and caught (i.e. no panics) during runtime. - Errors related to a cell dividing process
- Used to catch errors related to plotting
- Time stepping with a fixed time length
- Force
Information chili
Return type to the requested PosInformation. - Can occur internally when information is not present at expected place
- Save elements as json files with serde_json.
- Langevin dynamics
- Langevin dynamics
- Langevin dynamics
- Langevin dynamics
- Langevin dynamics
- Langevin dynamics
- Use the [sled] database to save results to an embedded database.
- Generalizeation of the BoundLennardJones potential.
- Generalizeation of the BoundLennardJones potential.
- Superseded by the CellAgent derive macro.
- Famous Morse potential for diatomic molecules.
- Famous Morse potential for diatomic molecules.
- Newtonian dynamics governed by mass and damping.
- Newtonian dynamics governed by mass and damping.
- Newtonian dynamics governed by mass and damping.
- Newtonian dynamics governed by mass and damping.
- Newtonian dynamics governed by mass and damping.
- Newtonian dynamics governed by mass and damping.
- Represents the next time point which is returned by the TimeStepper::advance method.
- Do not model intracellular reactions at all.
- No cycle of the cell.
- Type which allows to simply not model gradients.
- No interaction of the cell with any other.
- PosInformation
chili
Send about the position of cells between threads. - This information will be sent from one cell to another to determine their combined reactions.
- This informatino is returned after receiving ReactionsContactInformation and delivers the increment.
- Carries information about the border given by the ReactionsExtra trait between subdomains.
- Return information of border value after having obtained the SubDomainReactions::BorderInfo
- Ask the wrong object for information and receive this error
- Ring
Buffer chili
A ring Buffer with constant size. Makes use of a fixed-size array internally. - Ring
Buffer Iter chili
Iterator of the RingBuffer struct. - Ring
Buffer Iter Ref chili
Produced by the iter method of the RingBuffer. - Can occur when generating distributions or drawing samples from them.
- Automatically derives a Interaction suitable for rods from a point-wise interaction.
- A mechanical model for Bacterial Rods
- Save elements as ron files with ron.
- Send
Cell chili
Send cell and its AuxStorage between threads. - Settings
chili
Specify settings surrounding execution and storage - Occurs during setup of a new simulation
- Simulation
Runner chili
Intermediate object which gets consumed once the simulation is run - Simulation
Setup chili
Struct containing all necessary information to construct a fully working simulation and run it. - Use the [sled] database to save results to an embedded database.
- Storage
Access chili
Gathers the StorageManager for cells and voxels of the previously run simulation - Used to construct a StorageManager
- This manager handles if multiple storage options have been specified It can load resources from one storage aspect and will
- SubDomain
Box chili
Encapsulates a subdomain with cells and other simulation aspects. - SubDomain
Plain Index chili
Identifier or subdomains - Error related to advancing the simulation time or displaying its progress
- UDGraph
chili
Undirected graph - Derives an interaction potential from a point-like potential.
- Mechanics model which represents cells as vertices with edges between them.
- Voxel
chili
Stores information related to a voxel of the physical simulation domain. - Voxel
Plain Index chili
Identifier for voxels used internally to get rid of user-defined ones.
Enums§
- Contains all events which can arise during the cell cycle and need to be communciated to the simulation engine (see also Cycle).
- Error during decomposition of a SimulationDomain into multiple subdomains
- Handling
Strategy chili
Contains handling strategies for errors which can arise during the simulation process. - Simulation
Error chili
Covers all errors that can occur in this Simulation The errors are listed from very likely to be a user error from almost certainly an internal error. - Error related to storing and reading elements
- The mode in which to generate paths and store results.
- Define how to store results of the simulation.
- A TimeEvent describes that a certain action is to be executed after the next iteration step.
Traits§
- Build
From Graph chili
Construct a BTreeMap of the type from a graph - Communicator
chili
Handles communications between different simulation processes. - Creates a new plotting root which can then be drawn upon.
- This trait represents all cycles of a cell and works in tandem with the CycleEvent enum.
- Default
From chili
Used to construct initial (empty) AuxStorage variants. - Provides an abstraction of the physical total simulation domain.
- Generate SubDomains from an existing Domain
- Manage the current rng seed of a Domain
- Error
Handler chili
Handle any error which may occur as specified by SimulationError - Abstraction and simplification of many file-based storage solutions
- FromMap
chili
Constructs a collection of Items from a map (graph) - Specifies how to retrieve a unique identifier of an object.
- Trait describing force-interactions between cellular agents.
- Setter and Getter for intracellular values of a cellagent.
- Describes the position of a cell-agent and allows to calculate increments and set/get information of the agent.
- Allows elements of the simulation such as cells and voxels to draw themselves onto a plotting root. Typically, voxels will draw first and cells afterwards.
- Methods for accessing the position of an agent.
- Describes purely intracellular reactions of a cellagent.
- Reactions between cells which are in direct contact
- This trait models extracellular reactions which interact with agents.
- Assign an VoxelIndex to a given cell.
- Provide methods to initialize, store and load single and multiple elements at iterations.
- Handles loading of elements
- Open or create a new instance of the Storage controller.
- Handles storing of elements
- Subdomains are produced by decomposing a Domain into multiple physical regions.
- Apply a force on a cell depending on its position and velocity.
- Apply boundary conditions to a cells position and velocity.
- Describes extracellular reactions and fluid dynamics
- Sync
SubDomains chili
Responsible for syncing the simulation between different threads. - Increments time of the simulation
- Update
Cycle chili
Trait which describes how to store intermediate information on the cell cycle. - Update
Interaction chili
Interface to store intermediate information about interactions. - Update
Mechanics chili
Used to store intermediate information about last positions and velocities. Can store up toN
values. - Update
Reactions chili
Interface to store intermediate information about cellular reactions. - Used to update properties of the cell related to the ReactionsContact trait.
- Methods for accessing the velocity of an agent
- Mathematical abstraction similar to the well-known
axpy
method.
Functions§
- Calculates the interaction strength behind the MorsePotential and MorsePotentialF32 structs.
- Construct a new SimulationRunner from a given auxiliary storage and communicator object
- local_
cycle_ update chili
Advances the cycle of a cell by a small time incrementdt
. - Perform the Interaction::react_to_neighbors function and clear current neighbors.
- We assume that cells implement the Mechanics and Interaction traits. In this last step, all ForceInformation are gathered and used to update the cells positions and velocities.
- Calculates the increment from the Reactions trait.
- Ensures that intracellular increments have been cleared before the next update step.
- Performs the increment operation.
- Updates the cells intracellular values from the obtained contact informations
- Two-step Adams-Bashforth method.
- Three-step Adams-Bashforth method.
- mechanics_
euler chili
Classical euler solver for the Mechanics trait. - Calculate the point on a line which is closest to an external given point.
- Generalizes the nearest_point_from_point_to_line function for a collection of line segments.
- Implements the ray-casting algorithm to check if a ray intersects with a given line segment.
- Calculates the increment introduced by the ReactionsContact aspect.
- validate_
map chili
Validates a given map. - Generate a vector corresponding to a wiener process.
Type Aliases§
- This is a unique identifier which is deterministic even in multi-threading situations. Its components are
- Type alias used when not wanting to simulate any cellular reactions for example.
Derive Macros§
- AuxStorage
chili
- Derive cellular concepts
- Communicator
chili
- FromMap
chili