Module prelude

Source
Expand description

Re-exports the default simulation types and traits.

Modules§

backend
Numerically solve a given simulation setup.
caracara
See cellular_raza_core::backend::cara
cartesian_cuboid_2_vertex_old
Contains deprecated cartesian cuboid implementations for an older vertex model
cartesian_cuboid_n_old
Contains deprecated cartesian cuboid implementations
cpu_os_threadscpu_os_threads
See cellular_raza_core::backend::cpu_os_threads
domain_old
Traits and types which will eventually replace the old Domain definition.
ellielli
See cellular_raza_core::backend::elli
pool_bacteria
Objects and definitions surrounding the bacterial pool model
rayon
Rayon is a data-parallelism library that makes it easy to convert sequential computations into parallel.
reactions_old
Contains traits and types which specify cellular reactions specific to the cpu_os_threads backend.
storage
Interface and methods to store and load simulation aspects.
time
Controls how the simulation time is advanced
tracing
A scoped, structured logging and diagnostics system.

Macros§

aux_storage_constructorchili
build_aux_storagechili
build_communicatorchili
communicator_generics_placeholderschili
Inserts as many blanks as generics were used to create the communicator struct by build_communicator!.
prepare_typeschili
Prepares communicator and auxiliary storage types with build_communicator! and build_aux_storage!.
run_mainchili
run_simulationchili
run_test_for_aspectschili
Run a particularly structured test multiple times for combinations of aspects
test_compatibilitychili
Checks if defined types and concepts are compatible before actually executing the simulation.

Structs§

AuxStorageCyclechili
Stores intermediate information about the cell cycle.
AuxStorageInteractionchili
Helper storage for number of neighbors of Interaction trait.
AuxStorageMechanicschili
Stores intermediate information about the mechanics of a cell.
AuxStorageReactionschili
Helper storage for values regarding intracellular concentrations for the Reactions trait.
AuxStorageReactionsContactchili
Implementor of the UpdateReactionsContact trait.
BarrierSyncchili
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.
BatchSaveFormat
Define how batches of elements and identifiers are saved when being serialized.
BoundLennardJones
Lennard-Jones interaction potential with numerical upper and lower limit.
BoundLennardJonesF32
Identical to BoundLennardJones but for f32 type.
BoundaryError
Can occur during boundary calculation
Brownian1D
Brownian motion of particles
Brownian1DF32
Brownian motion of particles
Brownian2D
Brownian motion of particles
Brownian2DF32
Brownian motion of particles
Brownian3D
Brownian motion of particles
Brownian3DF32
Brownian motion of particles
CalcError
General Calculation Error
CartesianCuboid
A generic Domain with a cuboid layout.
CartesianCuboid1New
Cartesian cuboid in 1D with float type f64
CartesianCuboid1NewF32
Cartesian cuboid in 1D with float type f32
CartesianCuboid2New
Cartesian cuboid in 2D with float type f64
CartesianCuboid2NewF32
Cartesian cuboid in 2D with float type f32
CartesianCuboid3New
Cartesian cuboid in 3D with float type f64
CartesianCuboid3NewF32
Cartesian cuboid in 3D with float type f32
CartesianCuboidRods
Cells are represented by rods
CartesianSubDomain
Subdomain corresponding to the CartesianCuboid struct.
CartesianSubDomain1
Subdomain of CartesianCuboid1New
CartesianSubDomain2
Subdomain of CartesianCuboid2New
CartesianSubDomain3
Subdomain of CartesianCuboid3New
CartesianSubDomain1F32
Subdomain of CartesianCuboid1NewF32
CartesianSubDomain2F32
Subdomain of CartesianCuboid2NewF32
CartesianSubDomain3F32
Subdomain of CartesianCuboid3NewF32
CartesianSubDomainRods
The corresponding SubDomain of the CartesianCuboidRods domain.
CartesianVoxel1
Voxel of the CartesianSubDomain1
CartesianVoxel2
Voxel of the CartesianSubDomain2
CartesianVoxel3
Voxel of the CartesianSubDomain3
CartesianVoxel1F32
Voxel of the CartesianSubDomain1F32
CartesianVoxel2F32
Voxel of the CartesianSubDomain2F32
CartesianVoxel3F32
Voxel of the CartesianSubDomain3F32
CellAgentBox
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.
CellBoxchili
Wrapper around the user-defined CellAgent
CellIdentifierchili
Unique identifier which is given to every cell in the simulation
ChannelCommchili
Sender-Receiver Communicator based on [crossbeam_channel].
CombinedSaveFormat
Define how elements and identifiers are saved when being serialized together.
CommunicationError
Error which occurs during sending, receiving or transmitting information between threads
ControllerError
Occurs when incorrectly applying a controller effect
DeathError
Errors occurring during the final death step of a cell
DecomposedDomain
Generated by the decompose method. The backend will know how to deal with this type and crate a working simulation from it.
DefaultHandlerchili
Handles any error which is encountered and caught (i.e. no panics) during runtime.
DivisionError
Errors related to a cell dividing process
DrawingError
Used to catch errors related to plotting
FixedStepsize
Time stepping with a fixed time length
ForceInformationchili
Return type to the requested PosInformation.
IndexError
Can occur internally when information is not present at expected place
JsonStorageInterface
Save elements as json files with serde_json.
Langevin1D
Langevin dynamics
Langevin1DF32
Langevin dynamics
Langevin2D
Langevin dynamics
Langevin2DF32
Langevin dynamics
Langevin3D
Langevin dynamics
Langevin3DF32
Langevin dynamics
MemoryStorageInterface
Use the [sled] database to save results to an embedded database.
MiePotential
Generalizeation of the BoundLennardJones potential.
MiePotentialF32
Generalizeation of the BoundLennardJones potential.
ModularCell
Superseded by the CellAgent derive macro.
MorsePotential
Famous Morse potential for diatomic molecules.
MorsePotentialF32
Famous Morse potential for diatomic molecules.
NewtonDamped1D
Newtonian dynamics governed by mass and damping.
NewtonDamped1DF32
Newtonian dynamics governed by mass and damping.
NewtonDamped2D
Newtonian dynamics governed by mass and damping.
NewtonDamped2DF32
Newtonian dynamics governed by mass and damping.
NewtonDamped3D
Newtonian dynamics governed by mass and damping.
NewtonDamped3DF32
Newtonian dynamics governed by mass and damping.
NextTimePoint
Represents the next time point which is returned by the TimeStepper::advance method.
NoCellularReactions
Do not model intracellular reactions at all.
NoCycle
No cycle of the cell.
NoExtracellularGradientSensing
Type which allows to simply not model gradients.
NoInteraction
No interaction of the cell with any other.
PosInformationchili
Send about the position of cells between threads.
ReactionsContactInformationchili
This information will be sent from one cell to another to determine their combined reactions.
ReactionsContactReturnchili
This informatino is returned after receiving ReactionsContactInformation and delivers the increment.
ReactionsExtraBorderInfochili
Carries information about the border given by the ReactionsExtra trait between subdomains.
ReactionsExtraBorderReturnchili
Return information of border value after having obtained the SubDomainReactions::BorderInfo
RequestError
Ask the wrong object for information and receive this error
RingBufferchili
A ring Buffer with constant size. Makes use of a fixed-size array internally.
RingBufferIterchili
Iterator of the RingBuffer struct.
RingBufferIterRefchili
Produced by the iter method of the RingBuffer.
RngError
Can occur when generating distributions or drawing samples from them.
RodInteraction
Automatically derives a Interaction suitable for rods from a point-wise interaction.
RodMechanics
A mechanical model for Bacterial Rods
RonStorageInterface
Save elements as ron files with ron.
SendCellchili
Send cell and its AuxStorage between threads.
Settingschili
Specify settings surrounding execution and storage
SetupError
Occurs during setup of a new simulation
SimulationRunnerchili
Intermediate object which gets consumed once the simulation is run
SimulationSetupchili
Struct containing all necessary information to construct a fully working simulation and run it.
SledStorageInterface
Use the [sled] database to save results to an embedded database.
StorageAccesschili
Gathers the StorageManager for cells and voxels of the previously run simulation
StorageBuilder
Used to construct a StorageManager
StorageManager
This manager handles if multiple storage options have been specified It can load resources from one storage aspect and will
SubDomainBoxchili
Encapsulates a subdomain with cells and other simulation aspects.
SubDomainPlainIndexchili
Identifier or subdomains
TimeError
Error related to advancing the simulation time or displaying its progress
UDGraphchili
Undirected graph
VertexDerivedInteraction
Derives an interaction potential from a point-like potential.
VertexMechanics2D
Mechanics model which represents cells as vertices with edges between them.
Voxelchili
Stores information related to a voxel of the physical simulation domain.
VoxelPlainIndexchili
Identifier for voxels used internally to get rid of user-defined ones.

Enums§

CycleEvent
Contains all events which can arise during the cell cycle and need to be communciated to the simulation engine (see also Cycle).
DecomposeError
Error during decomposition of a SimulationDomain into multiple subdomains
HandlingStrategychili
Contains handling strategies for errors which can arise during the simulation process.
SimulationErrorchili
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.
StorageError
Error related to storing and reading elements
StorageMode
The mode in which to generate paths and store results.
StorageOption
Define how to store results of the simulation.
TimeEvent
A TimeEvent describes that a certain action is to be executed after the next iteration step.

Traits§

BuildFromGraphchili
Construct a BTreeMap of the type from a graph
Communicatorchili
Handles communications between different simulation processes.
CreatePlottingRoot
Creates a new plotting root which can then be drawn upon.
Cycle
This trait represents all cycles of a cell and works in tandem with the CycleEvent enum.
DefaultFromchili
Used to construct initial (empty) AuxStorage variants.
Domain
Provides an abstraction of the physical total simulation domain.
DomainCreateSubDomains
Generate SubDomains from an existing Domain
DomainRngSeed
Manage the current rng seed of a Domain
ErrorHandlerchili
Handle any error which may occur as specified by SimulationError
FileBasedStorage
Abstraction and simplification of many file-based storage solutions
FromMapchili
Constructs a collection of Items from a map (graph)
Id
Specifies how to retrieve a unique identifier of an object.
Interaction
Trait describing force-interactions between cellular agents.
Intracellular
Setter and Getter for intracellular values of a cellagent.
Mechanics
Describes the position of a cell-agent and allows to calculate increments and set/get information of the agent.
PlotSelf
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.
Position
Methods for accessing the position of an agent.
Reactions
Describes purely intracellular reactions of a cellagent.
ReactionsContact
Reactions between cells which are in direct contact
ReactionsExtra
This trait models extracellular reactions which interact with agents.
SortCells
Assign an VoxelIndex to a given cell.
StorageInterface
Provide methods to initialize, store and load single and multiple elements at iterations.
StorageInterfaceLoad
Handles loading of elements
StorageInterfaceOpen
Open or create a new instance of the Storage controller.
StorageInterfaceStore
Handles storing of elements
SubDomain
Subdomains are produced by decomposing a Domain into multiple physical regions.
SubDomainForce
Apply a force on a cell depending on its position and velocity.
SubDomainMechanics
Apply boundary conditions to a cells position and velocity.
SubDomainReactions
Describes extracellular reactions and fluid dynamics
SyncSubDomainschili
Responsible for syncing the simulation between different threads.
TimeStepper
Increments time of the simulation
UpdateCyclechili
Trait which describes how to store intermediate information on the cell cycle.
UpdateInteractionchili
Interface to store intermediate information about interactions.
UpdateMechanicschili
Used to store intermediate information about last positions and velocities. Can store up to N values.
UpdateReactionschili
Interface to store intermediate information about cellular reactions.
UpdateReactionsContactchili
Used to update properties of the cell related to the ReactionsContact trait.
Velocity
Methods for accessing the velocity of an agent
Xapy
Mathematical abstraction similar to the well-known axpy method.

Functions§

calculate_morse_interaction
Calculates the interaction strength behind the MorsePotential and MorsePotentialF32 structs.
construct_simulation_runnerchili
Construct a new SimulationRunner from a given auxiliary storage and communicator object
local_cycle_updatechili
Advances the cycle of a cell by a small time increment dt.
local_interaction_react_to_neighborschili
Perform the Interaction::react_to_neighbors function and clear current neighbors.
local_mechanics_updatechili
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.
local_reactions_intracellularchili
Calculates the increment from the Reactions trait.
local_reactions_use_incrementchili
Ensures that intracellular increments have been cleared before the next update step.
local_subdomain_update_reactions_extrachili
Performs the increment operation.
local_update_contact_reactionschili
Updates the cells intracellular values from the obtained contact informations
mechanics_adams_bashforth_2chili
Two-step Adams-Bashforth method.
mechanics_adams_bashforth_3chili
Three-step Adams-Bashforth method.
mechanics_eulerchili
Classical euler solver for the Mechanics trait.
nearest_point_from_point_to_line
Calculate the point on a line which is closest to an external given point.
nearest_point_from_point_to_multiple_lines
Generalizes the nearest_point_from_point_to_line function for a collection of line segments.
ray_intersects_line_segment
Implements the ray-casting algorithm to check if a ray intersects with a given line segment.
reactions_contact_adams_bashforth_3rdchili
Calculates the increment introduced by the ReactionsContact aspect.
validate_mapchili
Validates a given map.
wiener_process
Generate a vector corresponding to a wiener process.

Type Aliases§

CellularIdentifier
This is a unique identifier which is deterministic even in multi-threading situations. Its components are
Nothing
Type alias used when not wanting to simulate any cellular reactions for example.

Derive Macros§

AuxStoragechili
CellAgent
Derive cellular concepts
Communicatorchili
Domain
FromMapchili
SubDomain