Expand description
Rust crate for heavyweight multi-threaded Monte Carlo simulations.
This crate is powered by Bevy, which is a high-performance ECS framework.
This means that simulations are set up and executed using Entities and Systems.
In-depth knowledge of Bevy’s internals is not required however, since we have abstracted away most interactions with Bevy. Instead, we expect the user to only:
- Define components.
- Spawn entities, each a collection of one or more components.
- Implement systems that update the entities on each simulation step.
All relevant types should be in the prelude
.
The primary type used to run experiments is Simulation
.
Modules§
Structs§
- Grid
Bounds - Describes the bounds of a grid.
- Grid
Position - Component representing a position in the spatial grid.
- Maximum
- Utility aggregator that fetches the maximum value.
- Mean
- Utility aggregator that computes the mean value.
- Median
- Utility aggregator that computes the median value.
- Minimum
- Utility aggregator that fetches the minimum value.
- Percentile
- Utility aggregator that computes the P-th percentile value.
- Simulation
- Executor of monte carlo experiments.
- Simulation
Builder - Builder type used to construct a
Simulation
object. - Spatial
Grid - Component that maintains a spatial index for efficient neighbor queries.
Generic over coordinate types that implement the
GridCoordinate
trait and component types. - Spawner
- Step
Number - Time
Series
Enums§
- Builder
Error - An error that occured when building a simulation
- Sampling
Error - An error that occured when attempting to sample the value of a component.
- Simulation
Error - Grouping of all other error types in the crate.
Traits§
- Identifier
- A component whose value shall be used to uniquely identify an entity.
- Sample
- Implements the sampling of a value from a component in the simulation.
- Sample
Aggregate - Implements the sampling of a value from multiple components in the simulation.