45 lines
1.6 KiB
Rust

//! # Entropyk Solver
//!
//! System topology and solver engine for thermodynamic simulation.
//!
//! This crate provides the graph-based representation of thermodynamic systems,
//! where components are nodes and flow connections are edges. Edges index into
//! the solver's state vector (P and h per edge).
pub mod coupling;
pub mod criteria;
pub mod error;
pub mod graph;
pub mod initializer;
pub mod inverse;
pub mod jacobian;
pub mod macro_component;
pub mod metadata;
pub mod solver;
pub mod strategies;
pub mod system;
pub use coupling::{
compute_coupling_heat, coupling_groups, has_circular_dependencies, ThermalCoupling,
};
pub use criteria::{CircuitConvergence, ConvergenceCriteria, ConvergenceReport};
pub use entropyk_components::ConnectionError;
pub use entropyk_core::CircuitId;
pub use error::{AddEdgeError, TopologyError};
pub use initializer::{
antoine_pressure, AntoineCoefficients, InitializerConfig, InitializerError, SmartInitializer,
};
pub use inverse::{ComponentOutput, Constraint, ConstraintError, ConstraintId};
pub use jacobian::JacobianMatrix;
pub use macro_component::{MacroComponent, MacroComponentSnapshot, PortMapping};
pub use metadata::SimulationMetadata;
pub use solver::{
ConvergedState, ConvergenceStatus, ConvergenceDiagnostics, IterationDiagnostics,
JacobianFreezingConfig, Solver, SolverError, SolverSwitchEvent, SolverType, SwitchReason,
TimeoutConfig, VerboseConfig, VerboseOutputFormat,
};
pub use strategies::{
FallbackConfig, FallbackSolver, NewtonConfig, PicardConfig, SolverStrategy,
};
pub use system::{FlowEdge, System, MAX_CIRCUIT_ID};