Skip to main content

hydra_engine_wds/simulation/
mod.rs

1#![doc = include_str!("spec.md")]
2
3/// Semver version of the simulation engine, taken from `Cargo.toml` at compile time.
4pub const HYDRA_SIMULATION_VERSION: &str = env!("CARGO_PKG_VERSION");
5
6pub(crate) mod accounting;
7pub(crate) mod controls;
8pub(crate) mod timestep;
9
10mod engine;
11mod estimator;
12
13// Re-export public API.
14pub use crate::hydraulics::{HydraulicError, HYDRA_HYDRAULICS_VERSION};
15pub use crate::quality::{QualityError, HYDRA_QUALITY_VERSION};
16pub use engine::{
17    LinkProperty, LinkQuantity, LinkResult, NodeProperty, NodeQuantity, NodeResult, ResultRanges,
18    SessionError, SimWarning, Simulation, WarningKind,
19};
20pub use estimator::{
21    classify_simulation_runtime_millis, estimate_simulation_runtime,
22    estimate_simulation_runtime_from_summary, estimate_simulation_runtime_millis_from_summary,
23};
24// FlowBalance, PumpEnergy, MassBalance, HydSnapshot are in crate::io.
25pub use crate::io::{
26    FlowBalance, FlowBalanceSummary, HydSnapshot, MassBalance, PumpEnergy, WritableSimulation,
27};