physics_in_parallel/lib.rs
1/*!
2Physics in Parallel provides backend-agnostic numerical containers, spatial
3tools, and reusable physical models.
4
5# Alpha warning
6
7PiP 4.0 is an unstable, clean-slate rewrite. Alpha releases are incompatible
8with PiP 3.x, and their public API and serialized representations may change
9without migration support before 4.0.0.
10
11# Thread-pool responsibility
12
13PiP uses the active Rayon pool and never creates one. Applications must
14configure one shared pool before concurrent work begins or let their workflow
15runner do so. Independent pools can oversubscribe the machine. Normally call
16[`threading::set_max_threads`] once during startup to set the maximum worker
17participation requested by any single PiP method.
18
19# API tiers
20
21Domain roots are authoritative. Independent convenience preludes expose basic
22numerics, ready physical models, and opt-in advanced facilities:
23
24```rust
25use physics_in_parallel::prelude::basic::*;
26use physics_in_parallel::prelude::models::*;
27use physics_in_parallel::prelude::advanced::*;
28```
29
30Start with the basic or model API. Raw storage and generic engines are advanced;
31implementation modules are private. PiP owns runtime scientific values, while
32applications own user configuration, persistence policy, and workflow
33integration.
34*/
35
36pub mod advanced;
37pub(crate) mod engines;
38pub mod math;
39pub mod models;
40pub mod prelude;
41pub mod rng;
42pub(crate) mod sampling;
43pub mod space;
44#[path = "parallel.rs"]
45pub mod threading;