cellular_raza_core/
lib.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#![deny(missing_docs)]
#![warn(clippy::missing_docs_in_private_items)]
//! This crate collects objects and methods needed to run a numerical simulation of
//! given objects that satisfy the given [concepts](cellular_raza_concepts).
//!
//! ## Backends
//! This crate supports multiple types of backends.
//! Currently, the [backend::cpu_os_threads] backend is the general-purpose solver which
//! can deal with (almost) all simulation [concepts](cellular_raza_concepts).
//! In the future, the [backend::chili] backend will be replacing it, delivering
//! better performance, modularity while also updating [concepts](cellular_raza_concepts).
//!
//! ## Storage
//! We distinguish between a full (de-)serialization of the simulation
//! and exporting data from individual simulation steps.
//!
//! ### Full (de)serialization
//! The first approach allows for a full reload of the total simulation which in principle
//! enables methods such as starting/stopping the simulation and continuing from the last
//! known point.
//! This can also be used to avoid numerical solving problems by restarting from the
//! last known good save point.
//! However, the latter functionalities do not exist currently but are planned for future releases.
//!
//! ### Exporting
//! This approach allows to take cells or domain objects and extract information to then
//! save these in a given format.
//! The methods needed to do this have not yet been developed and are part of future releases.

pub mod backend;

pub mod storage;

pub mod time;

#[doc(hidden)]
pub use rayon;

#[cfg(feature = "tracing")]
#[doc(hidden)]
pub use tracing;