diff --git a/CHANGELOG.md b/CHANGELOG.md index 0cfa50ea4..665fc6f9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] + +## [0.7.0] - 2024-05-21 ### Added - Added SAFT-VR Mie equation of state. [#237](https://github.com/feos-org/feos/pull/237) - Added ePC-SAFT equation of state. [#229](https://github.com/feos-org/feos/pull/229) diff --git a/Cargo.toml b/Cargo.toml index 49d0d3f91..2eeb2f098 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "feos" -version = "0.6.1" +version = "0.7.0" authors = ["Gernot Bauer ", "Philipp Rehner "] edition = "2021" readme = "README.md" @@ -24,9 +24,9 @@ crate-type = ["rlib", "cdylib"] [dependencies] quantity = { version = "0.8", optional = true } num-dual = "0.9" -feos-core = { version = "0.6", path = "feos-core" } -feos-dft = { version = "0.6", path = "feos-dft", optional = true } -feos-derive = { version = "0.4", path = "feos-derive" } +feos-core = { version = "0.7", path = "feos-core" } +feos-dft = { version = "0.7", path = "feos-dft", optional = true } +feos-derive = { version = "0.5", path = "feos-derive" } numpy = { version = "0.21", optional = true } ndarray = { version = "0.15", features = ["approx"] } petgraph = { version = "0.6", optional = true } @@ -38,7 +38,7 @@ serde_json = "1.0" lazy_static = { version = "1.4", optional = true } indexmap = "2.0" rayon = { version = "1.7", optional = true } -itertools = "0.12" +itertools = "0.13" typenum = "1.16" [dependencies.pyo3] diff --git a/README.md b/README.md index 80676187e..85a57c0fe 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ The following models are currently published as part of the `FeOs` framework |`saftvrqmie`|equation of state for quantum fluids and mixtures|✓|✓| |`saftvrmie`|statistical associating fluid theory for variable range interactions of Mie form|✓|| -The list is being expanded continuously. Currently under development are implementations of ePC-SAFT and a Helmholtz energy functional for the UV theory. +The list is being expanded continuously. Currently under development are implementations of Helmholtz energy functionals for the UV theory and for SAFT-VR Mie. Other public repositories that implement models within the `FeOs` framework, but are currently not part of the `feos` Python package, are diff --git a/feos-core/CHANGELOG.md b/feos-core/CHANGELOG.md index 15c658333..7cef16db0 100644 --- a/feos-core/CHANGELOG.md +++ b/feos-core/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## Unreleased + +## [0.7.0] - 2024-05-21 ### Added - Added specific isochoric and isobaric heat capacities to the Python interface. [#223](https://github.com/feos-org/feos/pull/223)) - Added `to_dict` method for `PyStateVec`. [#224](https://github.com/feos-org/feos/pull/224) @@ -29,11 +31,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated `numpy` and `PyO3` dependencies to 0.21. [#238](https://github.com/feos-org/feos/pull/238) -## [0.6.1] 2024-01-11 +## [0.6.1] - 2024-01-11 ### Fixed - Improved convergence of `tp_flash` for certain edge cases. [#219](https://github.com/feos-org/feos/pull/219) -## [0.6.0] 2023-12-19 +## [0.6.0] - 2023-12-19 ### Added - Added `EquationOfState::ideal_gas` to initialize an equation of state that only consists of an ideal gas contribution. [#204](https://github.com/feos-org/feos/pull/204) - Added `NoBinaryModelRecord` for models that do not use binary interaction parameters. [#211](https://github.com/feos-org/feos/pull/211) diff --git a/feos-core/Cargo.toml b/feos-core/Cargo.toml index 674c88578..6424ba5cf 100644 --- a/feos-core/Cargo.toml +++ b/feos-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "feos-core" -version = "0.6.1" +version = "0.7.0" authors = ["Gernot Bauer ", "Philipp Rehner ", "Philipp Rehner "] edition = "2021" readme = "README.md" diff --git a/feos-dft/CHANGELOG.md b/feos-dft/CHANGELOG.md index e0a1f93d5..5ef71fa56 100644 --- a/feos-dft/CHANGELOG.md +++ b/feos-dft/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] + +## [0.7.0] - 2024-05-21 ### Changed - Updated interfaces according to removal of `HelmholtzEnergyDual` and `HelmholtzEnergy` in `feos-core`. [#226](https://github.com/feos-org/feos/pull/226) - Changed return values of `HelmholtzEnergyFunctional::contributions` from `dyn FunctionalContribution` to `HelmholtzEnergyFunctional::Contribution`. [#226](https://github.com/feos-org/feos/pull/226) diff --git a/feos-dft/Cargo.toml b/feos-dft/Cargo.toml index a9f2887c3..ee3270b60 100644 --- a/feos-dft/Cargo.toml +++ b/feos-dft/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "feos-dft" -version = "0.6.0" +version = "0.7.0" authors = ["Philipp Rehner ", "Gernot Bauer "] edition = "2021" license = "MIT OR Apache-2.0" @@ -19,7 +19,7 @@ features = [ "rayon" ] [dependencies] quantity = { version = "0.8", optional = true } num-dual = "0.9" -feos-core = { version = "0.6", path = "../feos-core" } +feos-core = { version = "0.7", path = "../feos-core" } ndarray = "0.15" nalgebra = "0.32" rustdct = "0.7" diff --git a/feos-dft/README.md b/feos-dft/README.md index 174405aba..3cbbcf501 100644 --- a/feos-dft/README.md +++ b/feos-dft/README.md @@ -17,5 +17,5 @@ Add this to your `Cargo.toml` ```toml [dependencies] -feos-dft = "0.5" +feos-dft = "0.7" ``` \ No newline at end of file diff --git a/src/association/mod.rs b/src/association/mod.rs index 272d56dc5..8140d6090 100644 --- a/src/association/mod.rs +++ b/src/association/mod.rs @@ -234,6 +234,7 @@ impl Association

{ } } +/// Implementation of the association strength in the SAFT association model. pub trait AssociationStrength: HardSphereProperties { type Record: Copy; type BinaryRecord: Copy; diff --git a/src/epcsaft/eos/mod.rs b/src/epcsaft/eos/mod.rs index ce547b479..c6a8604fa 100644 --- a/src/epcsaft/eos/mod.rs +++ b/src/epcsaft/eos/mod.rs @@ -20,7 +20,7 @@ use dispersion::Dispersion; use hard_chain::HardChain; use ionic::Ionic; -/// Customization options for the ePC-SAFT equation of state. +/// Implemented variants of the ePC-SAFT equation of state. #[derive(Copy, Clone)] #[cfg_attr(feature = "python", pyo3::pyclass)] pub enum ElectrolytePcSaftVariants { @@ -28,6 +28,7 @@ pub enum ElectrolytePcSaftVariants { Revised, } +/// Customization options for the ePC-SAFT equation of state. #[derive(Copy, Clone)] pub struct ElectrolytePcSaftOptions { pub max_eta: f64, @@ -47,6 +48,7 @@ impl Default for ElectrolytePcSaftOptions { } } +/// electrolyte PC-SAFT (ePC-SAFT) equation of state. pub struct ElectrolytePcSaft { pub parameters: Arc, pub options: ElectrolytePcSaftOptions, diff --git a/src/epcsaft/parameters.rs b/src/epcsaft/parameters.rs index 7806a82f9..d4413e961 100644 --- a/src/epcsaft/parameters.rs +++ b/src/epcsaft/parameters.rs @@ -13,7 +13,7 @@ use std::sync::Arc; use crate::epcsaft::eos::permittivity::PermittivityRecord; -/// PC-SAFT pure-component parameters. +/// ePC-SAFT pure-component parameters. #[derive(Serialize, Deserialize, Clone, Default)] pub struct ElectrolytePcSaftRecord { /// Segment number @@ -182,6 +182,7 @@ impl std::fmt::Display for ElectrolytePcSaftAssociationRecord { } } +/// ePC-SAFT binary interaction parameters. #[derive(Serialize, Deserialize, Clone, Default)] pub struct ElectrolytePcSaftBinaryRecord { /// Binary dispersion interaction parameter @@ -280,6 +281,7 @@ impl ElectrolytePcSaftBinaryAssociationRecord { } } +/// Parameter set required for the ePC-SAFT equation of state. pub struct ElectrolytePcSaftParameters { pub molarweight: Array1, pub m: Array1, diff --git a/src/saftvrmie/eos/mod.rs b/src/saftvrmie/eos/mod.rs index 8a04ad056..527fcf713 100644 --- a/src/saftvrmie/eos/mod.rs +++ b/src/saftvrmie/eos/mod.rs @@ -15,7 +15,7 @@ pub(super) mod association; pub(crate) mod dispersion; use dispersion::{a_disp, a_disp_chain, Properties}; -/// Customization options for the PC-SAFT equation of state and functional. +/// Customization options for the SAFT-VR Mie equation of state. #[derive(Copy, Clone)] pub struct SaftVRMieOptions { pub max_eta: f64, @@ -33,6 +33,7 @@ impl Default for SaftVRMieOptions { } } +/// SAFT-VR Mie equation of state. pub struct SaftVRMie { parameters: Arc, options: SaftVRMieOptions, diff --git a/src/saftvrmie/parameters.rs b/src/saftvrmie/parameters.rs index 0974040cf..07aea3b9f 100644 --- a/src/saftvrmie/parameters.rs +++ b/src/saftvrmie/parameters.rs @@ -135,7 +135,7 @@ impl std::fmt::Display for SaftVRMieRecord { } } -/// PC-SAFT binary interaction parameters. +/// SAFT-VR Mie binary interaction parameters. #[derive(Serialize, Deserialize, Clone, Default)] pub struct SaftVRMieBinaryRecord { /// Binary dispersion energy interaction parameter @@ -210,6 +210,7 @@ impl std::fmt::Display for SaftVRMieBinaryRecord { } } +/// Parameter set required for the SAFT-VR Mie equation of state. pub struct SaftVRMieParameters { pub molarweight: Array1, pub m: Array1, @@ -497,6 +498,7 @@ impl HardSphereProperties for SaftVRMieParameters { } /// Utilities for running tests +#[doc(hidden)] pub mod test_utils { use super::*; use feos_core::parameter::Identifier;