1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
//! uv-theory for fluids interacting with a Mie potential.
//!
//! # Implementations
//!
//! ## uv-theory
//!
//! [van Westen et al. (2021)](https://doi.org/10.1063/5.0073572): utilizing second virial coeffients and Barker-Henderson or Weeks-Chandler-Andersen perturbation.
//!
//! ```ignore
//! # use feos_core::EosError;
//! use feos::uvtheory::{Perturbation, UVTheory, UVTheoryOptions, UVParameters, VirialOrder};
//! use std::sync::Arc;
//!
//! let parameters = Arc::new(
//!     UVParameters::new_simple(24.0, 7.0, 3.0, 150.0)
//! );
//!
//! let default_options = UVTheoryOptions {
//!     max_eta = 0.5,
//!     perturbation = Perturbation::WeeksChandlerAndersen,
//!     virial_order = VirialOrder::Second
//! };
//! // Define equation of state.
//! let uv_wca = Arc::new(UVTheory::new(parameters));
//! // this is identical to above
//! let uv_wca = Arc::new(
//!     UVTheory::with_options(parameters, default_options)
//! );
//!
//! // use Barker-Henderson perturbation
//! let options = UVTheoryOptions {
//!     max_eta = 0.5,
//!     perturbation = Perturbation::BarkerHenderson,
//!     virial_order = VirialOrder::Second
//! };
//! let uv_bh = Arc::new(
//!     UVTheory::with_options(parameters, options)
//! );
//! ```
//!
//! ## uv-B3-theory
//!
//! - utilizing third virial coefficients for pure fluids with attractive exponent of 6 and Weeks-Chandler-Andersen perturbation. Manuscript submitted.
//!
//! ```ignore
//! # use feos_core::EosError;
//! use feos::uvtheory::{Perturbation, UVTheory, UVTheoryOptions, UVParameters, VirialOrder};
//! use std::sync::Arc;
//!
//! let parameters = Arc::new(
//!     UVParameters::new_simple(24.0, 6.0, 3.0, 150.0)
//! );
//!
//! // use uv-B3-theory
//! let options = UVTheoryOptions {
//!     max_eta = 0.5,
//!     perturbation = Perturbation::WeeksChandlerAndersen,
//!     virial_order = VirialOrder::Third
//! };
//! // Define equation of state.
//! let uv_b3 = Arc::new(
//!     UVTheory::with_options(parameters, options)
//! );
//! ```
mod eos;
mod parameters;
pub use eos::{Perturbation, UVTheory, UVTheoryOptions, VirialOrder};
pub use parameters::{UVBinaryRecord, UVParameters, UVRecord};
#[cfg(feature = "python")]
pub mod python;