72 lines
2.2 KiB
Rust
72 lines
2.2 KiB
Rust
//! # Entropyk Fluids
|
|
//!
|
|
//! Fluid properties backend for the Entropyk thermodynamic simulation library.
|
|
//!
|
|
//! This crate provides the abstraction layer for thermodynamic property calculations,
|
|
//! allowing the solver to work with different backends (CoolProp, tabular interpolation,
|
|
//! test mocks) through a unified trait-based interface.
|
|
//!
|
|
//! ## Key Components
|
|
//!
|
|
//! - [`FluidBackend`] - The core trait that all backends implement
|
|
//! - [`TestBackend`] - A mock backend for unit testing
|
|
//! - [`CoolPropBackend`] - A backend using the CoolProp C++ library
|
|
//! - [`FluidError`] - Error types for fluid operations
|
|
//! - [`types`] - Core types like `FluidId`, `Property`, `FluidState`, `CriticalPoint`
|
|
//! - [`mixture`] - Mixture types for multi-component refrigerants
|
|
//!
|
|
//! ## Example
|
|
//!
|
|
//! ```rust
|
|
//! use entropyk_fluids::{FluidBackend, FluidId, Property, FluidState, TestBackend};
|
|
//! use entropyk_core::{Pressure, Temperature};
|
|
//!
|
|
//! // Create a test backend for unit testing
|
|
//! let backend = TestBackend::new();
|
|
//!
|
|
//! // Query properties
|
|
//! let state = FluidState::from_pt(
|
|
//! Pressure::from_bar(1.0),
|
|
//! Temperature::from_celsius(25.0),
|
|
//! );
|
|
//!
|
|
//! let density = backend.property(
|
|
//! FluidId::new("R134a"),
|
|
//! Property::Density,
|
|
//! state,
|
|
//! ).unwrap();
|
|
//!
|
|
//! // In production use tracing::info! for observability (never println!)
|
|
//! ```
|
|
|
|
#![deny(warnings)]
|
|
#![warn(missing_docs)]
|
|
|
|
pub mod backend;
|
|
pub mod cache;
|
|
pub mod cached_backend;
|
|
pub mod coolprop;
|
|
pub mod damped_backend;
|
|
pub mod damping;
|
|
pub mod errors;
|
|
pub mod incompressible;
|
|
pub mod mixture;
|
|
pub mod tabular;
|
|
pub mod tabular_backend;
|
|
pub mod test_backend;
|
|
pub mod types;
|
|
|
|
pub use backend::FluidBackend;
|
|
pub use cached_backend::CachedBackend;
|
|
pub use coolprop::CoolPropBackend;
|
|
pub use damped_backend::DampedBackend;
|
|
pub use damping::{DampingParams, DampingState};
|
|
pub use errors::{FluidError, FluidResult};
|
|
pub use incompressible::{IncompFluid, IncompressibleBackend, ValidRange};
|
|
pub use mixture::{Mixture, MixtureError};
|
|
pub use tabular_backend::TabularBackend;
|
|
pub use test_backend::TestBackend;
|
|
pub use types::{
|
|
CriticalPoint, Entropy, FluidId, FluidState, Phase, Property, Quality, ThermoState,
|
|
};
|