Module cpu_os_threads

Expand description

🐧 Use multiple os-threads and cpu-only resources

Parallelization is achieved by splitting the simulation domain into as many chunks as threads are desired. Communication between threads is handled by crossbeam_channel and synchronization by hurdles::Barrier.

The user can manage the simulation flow by means of individual functions or by creating a SimulationSupervisor.

Structs§

AuxiliaryCellPropertyStorage
Contains auxiliary information to update cellular properties
DomainBox
Wrapper around the user-defined simulation Domain
MultiVoxelContainer
Subdomain which consists of multiple Voxels
PlottingConfig
Contains settings for plotting results.
SimulationConfig
Contains non-volatile configurations such as display settings etc.
SimulationMetaParams
Store meta parameters for simulation
SimulationResult
Returned after finishing a full simulation
SimulationSetup
Complete Set of parameters controlling execution flow of simulation
SimulationSupervisor
Supervisor controlling simulation execution
Strategies
Contains methods to modify voxels when initializing the simulation domain.
TimeSetup
Contains information about the discretization of time and when to save results.
VoxelBox
Wrapper for a Voxel struct that includes more information and cells.

Enums§

ImageType
Image type used for saving results to a file.
SimulationError
Covers all errors that can occur in this Simulation

Traits§

Agent
Encapsulates all concepts that can be specified for a Agent
ForceBound
Represents a force which can act between two cells.
InteractionInformation
Trait implementations needed for the information generic parameter of Interaction.
PositionBound
Represents the current position of a cell-agent.
VelocityBound
Represents the velocity of a cell.

Type Aliases§

PlainIndex
This is a purely implementational detail and should not be of any concern to the end user.