-
Notifications
You must be signed in to change notification settings - Fork 30
Expand file tree
/
Copy pathmod.rs
More file actions
63 lines (62 loc) · 2.31 KB
/
mod.rs
File metadata and controls
63 lines (62 loc) · 2.31 KB
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
//! 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.
//!
#![cfg_attr(not(feature = "uvtheory"), doc = "```ignore")]
#![cfg_attr(feature = "uvtheory", doc = "```")]
//! # use feos_core::FeosError;
//! use feos::uvtheory::{Perturbation, UVTheory, UVTheoryOptions, UVTheoryParameters, UVTheoryRecord};
//!
//! let params = UVTheoryRecord::new(24.0, 7.0, 3.0, 150.0);
//!
//! let default_options = UVTheoryOptions {
//! max_eta: 0.5,
//! perturbation: Perturbation::WeeksChandlerAndersen,
//! };
//! // Define equation of state.
//! let uv_wca = &UVTheory::new(UVTheoryParameters::from_model_records(vec![params])?);
//! // this is identical to above
//! let uv_wca = &UVTheory::with_options(UVTheoryParameters::from_model_records(vec![params])?, default_options);
//!
//! // use Barker-Henderson perturbation
//! let options = UVTheoryOptions {
//! max_eta: 0.5,
//! perturbation: Perturbation::BarkerHenderson,
//! };
//! let uv_bh = UVTheory::with_options(UVTheoryParameters::from_model_records(vec![params])?, options);
//! # Ok::<(), FeosError>(())
//! ```
//!
//! ## uv-B3-theory
//!
//! - utilizing third virial coefficients for pure fluids with attractive exponent of 6 and Weeks-Chandler-Andersen perturbation. Manuscript submitted.
//!
#![cfg_attr(not(feature = "uvtheory"), doc = "```ignore")]
#![cfg_attr(feature = "uvtheory", doc = "```")]
//! # use feos_core::FeosError;
//! use feos::uvtheory::{Perturbation, UVTheory, UVTheoryOptions, UVTheoryParameters, UVTheoryRecord};
//!
//! let params = UVTheoryRecord::new(24.0, 6.0, 3.0, 150.0);
//!
//! let parameters = UVTheoryParameters::from_model_records(vec![params])?;
//!
//! // use uv-B3-theory
//! let options = UVTheoryOptions {
//! max_eta: 0.5,
//! perturbation: Perturbation::WeeksChandlerAndersenB3,
//! };
//! // Define equation of state.
//! let uv_b3 = UVTheory::with_options(parameters, options);
//! # Ok::<(), FeosError>(())
//! ```
mod eos;
mod parameters;
pub use eos::{
BarkerHenderson, Perturbation, UVTheory, UVTheoryOptions, WeeksChandlerAndersen,
WeeksChandlerAndersenB3,
};
pub use parameters::{UVTheoryParameters, UVTheoryRecord};