ushma/lib.rs
1//! # Ushma
2//!
3//! > **Ushma** (Sanskrit: ऊष्मा — heat, thermal energy) — Thermodynamics simulation for AGNOS
4//!
5//! Provides heat transfer simulation, entropy calculations, equations of state,
6//! and thermal material properties. Built on [hisab](https://crates.io/crates/hisab)
7//! for math foundations.
8//!
9//! ## Feature flags
10//!
11//! | Feature | Default | Description |
12//! |---------|---------|-------------|
13//! | `transfer` | yes | Conduction, convection, radiation, fins, heat exchangers, view factors |
14//! | `state` | yes | Ideal gas, van der Waals, Redlich-Kwong, Peng-Robinson, virial EOS |
15//! | `entropy` | yes | Entropy, Carnot, Helmholtz/Gibbs free energy, entropy of mixing |
16//! | `material` | yes | 10 built-in materials with thermal properties at ~300 K |
17//! | `phase` | yes | Phase transitions, Clausius-Clapeyron, 8 substance data sets |
18//! | `cycle` | yes | Otto, Diesel, Brayton, Rankine, refrigeration cycles |
19//! | `numerical` | yes | 1D/2D finite difference, Crank-Nicolson, thermal networks |
20//! | `chem` | yes | Hess's law, equilibrium constants, Van't Hoff, flame temperature |
21//! | `stat` | yes | Boltzmann, partition functions, Maxwell-Boltzmann, Debye/Einstein |
22//! | `steam` | no | Saturated + superheated steam tables (IAPWS-IF97) |
23//! | `ai` | no | Daimon/hoosh agent integration |
24//! | `logging` | no | Structured logging via tracing |
25//! | `full` | — | Enables all features |
26//!
27//! ## Modules
28//!
29//! - [`transfer`] — Conduction, convection, radiation, fins, heat exchangers, dimensionless numbers
30//! - [`state`] — Equations of state, real gas models, compressibility, mixture rules
31//! - [`entropy`] — Entropy, free energy, thermodynamic potentials
32//! - [`material`] — Thermal properties, specific heat, conductivity tables
33//! - [`phase`] — Phase transitions, Clausius-Clapeyron, substance data
34//! - [`steam`] — Saturated and superheated steam tables
35//! - [`cycle`] — Thermodynamic cycles, diagram generation, efficiency comparison
36//! - [`numerical`] — Finite difference solvers, thermal networks
37//! - [`chem`] — Chemical thermodynamics, Hess's law, equilibrium
38//! - [`stat`] — Statistical thermodynamics, Boltzmann, partition functions
39//! - [`error`] — Error types
40
41pub mod error;
42
43#[cfg(feature = "transfer")]
44pub mod transfer;
45
46#[cfg(feature = "state")]
47pub mod state;
48
49#[cfg(feature = "entropy")]
50pub mod entropy;
51
52#[cfg(feature = "material")]
53pub mod material;
54
55#[cfg(feature = "phase")]
56pub mod phase;
57
58#[cfg(feature = "steam")]
59pub mod steam;
60
61#[cfg(feature = "cycle")]
62pub mod cycle;
63
64#[cfg(feature = "numerical")]
65pub mod numerical;
66
67#[cfg(feature = "chem")]
68pub mod chem;
69
70#[cfg(feature = "stat")]
71pub mod stat;
72
73#[cfg(feature = "logging")]
74pub mod logging;
75
76#[cfg(feature = "ai")]
77pub mod ai;
78
79pub use error::UshmaError;