cellular_raza_core/
lib.rs

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