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§
- Auxiliary
Cell Property Storage - Contains auxiliary information to update cellular properties
- Domain
Box - Wrapper around the user-defined simulation Domain
- Multi
Voxel Container - Subdomain which consists of multiple Voxels
- Plotting
Config - Contains settings for plotting results.
- Simulation
Config - Contains non-volatile configurations such as display settings etc.
- Simulation
Meta Params - Store meta parameters for simulation
- Simulation
Result - Returned after finishing a full simulation
- Simulation
Setup - Complete Set of parameters controlling execution flow of simulation
- Simulation
Supervisor - Supervisor controlling simulation execution
- Strategies
- Contains methods to modify voxels when initializing the simulation domain.
- Time
Setup - Contains information about the discretization of time and when to save results.
- Voxel
Box - Wrapper for a Voxel struct that includes more information and cells.
Enums§
- Image
Type - Image type used for saving results to a file.
- Simulation
Error - Covers all errors that can occur in this Simulation
Traits§
- Agent
- Encapsulates all concepts that can be specified for a Agent
- Force
Bound - Represents a force which can act between two cells.
- Interaction
Information - Trait implementations needed for the information generic parameter of Interaction.
- Position
Bound - Represents the current position of a cell-agent.
- Velocity
Bound - Represents the velocity of a cell.
Type Aliases§
- Plain
Index - This is a purely implementational detail and should not be of any concern to the end user.