From 694b319465ca299902c8f12562dd256beb91ce79 Mon Sep 17 00:00:00 2001 From: JelleLagerweij Date: Fri, 16 May 2025 16:47:26 +0200 Subject: [PATCH 01/13] implemented dumb test and required imports mod cubic.rs --- crates/feos/.vscode/settings.json | 3 ++ crates/feos/Cargo.toml | 2 ++ crates/feos/TASKS.md | 25 ++++++++++++++++ crates/feos/src/cubic/mod.rs | 45 +++++++++++++++++++++++++++++ crates/feos/src/cubic/parameters.rs | 1 + crates/feos/src/lib.rs | 2 ++ crates/feos/src/pcsaft/eos/mod.rs | 4 +-- crates/feos/src/pets/eos/mod.rs | 2 +- 8 files changed, 81 insertions(+), 3 deletions(-) create mode 100644 crates/feos/.vscode/settings.json create mode 100644 crates/feos/TASKS.md create mode 100644 crates/feos/src/cubic/mod.rs create mode 100644 crates/feos/src/cubic/parameters.rs diff --git a/crates/feos/.vscode/settings.json b/crates/feos/.vscode/settings.json new file mode 100644 index 000000000..a0a39348e --- /dev/null +++ b/crates/feos/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "todo-tree.tree.showBadges": true +} \ No newline at end of file diff --git a/crates/feos/Cargo.toml b/crates/feos/Cargo.toml index 2a508c6d3..872ef482f 100644 --- a/crates/feos/Cargo.toml +++ b/crates/feos/Cargo.toml @@ -44,6 +44,7 @@ uvtheory = [] pets = [] saftvrqmie = [] saftvrmie = [] +cubic = [] rayon = ["dep:rayon", "ndarray/rayon", "feos-core/rayon", "feos-dft?/rayon"] all_models = [ "dft", @@ -54,6 +55,7 @@ all_models = [ "pets", "saftvrqmie", "saftvrmie", + "cubic" ] [[bench]] diff --git a/crates/feos/TASKS.md b/crates/feos/TASKS.md new file mode 100644 index 000000000..8643b78d8 --- /dev/null +++ b/crates/feos/TASKS.md @@ -0,0 +1,25 @@ +# src/cubic/mod.rs + +[x] use feos_core::parameter::Parameter; +[x] use feos_core::si::{MolarWeight, GRAM, MOL}; +[X] use feos_core::{Components, Residual, StateHD}; +[ ] use mixing_rules::{MixingRule, MixingRuleFunction, MixtureParameters, Quadratic}; +[x] use ndarray::{Array1, ScalarOperand, Zip}; +[x] use num_dual::DualNum; +[x] use std::f64::consts::SQRT_2; +[x] use std::fmt; +[x] use std::sync::Arc; + + +Finding Problems: +[ ] use feos_core::{EoSresult} + +Still to implement: +[ ] mod alpha; +[ ] use alpha::{Alpha, AlphaFunction, PengRobinson1976, RedlichKwong1972}; +[ ] mod mixing_rules; +[ ] mod parameters; +[ ] use parameters::CubicParameters; + + +# src/cubic/mod.rs \ No newline at end of file diff --git a/crates/feos/src/cubic/mod.rs b/crates/feos/src/cubic/mod.rs new file mode 100644 index 000000000..51e1e5e94 --- /dev/null +++ b/crates/feos/src/cubic/mod.rs @@ -0,0 +1,45 @@ +use feos_core::parameter::Parameter; +use feos_core::{Components, Residual, StateHD}; // Whereis EosResult? +use ndarray::{Array1, ScalarOperand, Zip}; +use num_dual::DualNum; +use quantity::{GRAM, MOL, MolarWeight}; +use std::f64::consts::SQRT_2; +use std::fmt; +use std::sync::Arc; + +/// To learn some testing setup. +pub fn dumb_sum(a: f64, b: f64) -> f64 { + // This is a dumb function that just adds two numbers together. + println!("we are in the dumb function"); + println!("Adding {} and {}", a, b); + let c = a + b; + println!("Result: {}", c); + c +} + +#[cfg(test)] +#[cfg(feature = "cubic")] +mod tests { + use crate::cubic; // Import from parent module + use approx::assert_relative_eq; + + #[test] + fn test_dumb_equation() { + let a = 1.0; + let b = 2.0; + + let result = cubic::dumb_sum(a, b); + assert_relative_eq!(result, a + b, epsilon = 1e-10); + } + + #[test] + fn fail_dumb_equation() { + let a = 1.0; + let b = 2.0; + + let deviation = 1.0; + + let result = cubic::dumb_sum(a, b); + assert_ne!(result, a + b + deviation); + } +} diff --git a/crates/feos/src/cubic/parameters.rs b/crates/feos/src/cubic/parameters.rs new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/crates/feos/src/cubic/parameters.rs @@ -0,0 +1 @@ + diff --git a/crates/feos/src/lib.rs b/crates/feos/src/lib.rs index 211e8b065..4bb2be5e7 100644 --- a/crates/feos/src/lib.rs +++ b/crates/feos/src/lib.rs @@ -42,6 +42,8 @@ pub mod association; pub mod hard_sphere; // models +#[cfg(feature = "cubic")] +pub mod cubic; #[cfg(feature = "epcsaft")] pub mod epcsaft; #[cfg(feature = "gc_pcsaft")] diff --git a/crates/feos/src/pcsaft/eos/mod.rs b/crates/feos/src/pcsaft/eos/mod.rs index 788150795..27ad46d7b 100644 --- a/crates/feos/src/pcsaft/eos/mod.rs +++ b/crates/feos/src/pcsaft/eos/mod.rs @@ -3,8 +3,8 @@ use crate::association::Association; use crate::hard_sphere::{HardSphere, HardSphereProperties}; use feos_core::parameter::Parameter; use feos_core::{ - Components, EntropyScaling, FeosError, FeosResult, Molarweight, ReferenceSystem, Residual, State, - StateHD, + Components, EntropyScaling, FeosError, FeosResult, Molarweight, ReferenceSystem, Residual, + State, StateHD, }; use ndarray::Array1; use num_dual::DualNum; diff --git a/crates/feos/src/pets/eos/mod.rs b/crates/feos/src/pets/eos/mod.rs index 623cfde6b..2d4e43a63 100644 --- a/crates/feos/src/pets/eos/mod.rs +++ b/crates/feos/src/pets/eos/mod.rs @@ -3,7 +3,7 @@ use crate::hard_sphere::HardSphere; use feos_core::parameter::Parameter; use feos_core::{Components, Molarweight, Residual}; use ndarray::Array1; -use quantity::{MolarWeight, GRAM, MOL}; +use quantity::{GRAM, MOL, MolarWeight}; use std::f64::consts::FRAC_PI_6; use std::sync::Arc; From bb3241e5e2d8d8a8ae8c9be86bd802682b4d5c54 Mon Sep 17 00:00:00 2001 From: JelleLagerweij Date: Fri, 16 May 2025 17:11:25 +0200 Subject: [PATCH 02/13] cubic parameters implemented and refactored --- crates/feos/TASKS.md | 24 ++- crates/feos/src/cubic/mod.rs | 3 + crates/feos/src/cubic/parameters.rs | 217 ++++++++++++++++++++++++++++ 3 files changed, 238 insertions(+), 6 deletions(-) diff --git a/crates/feos/TASKS.md b/crates/feos/TASKS.md index 8643b78d8..dd236c8f3 100644 --- a/crates/feos/TASKS.md +++ b/crates/feos/TASKS.md @@ -1,25 +1,37 @@ -# src/cubic/mod.rs +# get the imports and interconnect the files +## src/cubic/mod.rs [x] use feos_core::parameter::Parameter; [x] use feos_core::si::{MolarWeight, GRAM, MOL}; [X] use feos_core::{Components, Residual, StateHD}; -[ ] use mixing_rules::{MixingRule, MixingRuleFunction, MixtureParameters, Quadratic}; + [x] use ndarray::{Array1, ScalarOperand, Zip}; [x] use num_dual::DualNum; [x] use std::f64::consts::SQRT_2; [x] use std::fmt; [x] use std::sync::Arc; +[x] mod parameters; -Finding Problems: +### Finding Problems: [ ] use feos_core::{EoSresult} -Still to implement: +### Still to implement: [ ] mod alpha; [ ] use alpha::{Alpha, AlphaFunction, PengRobinson1976, RedlichKwong1972}; [ ] mod mixing_rules; -[ ] mod parameters; +[ ] use mixing_rules::{MixingRule, MixingRuleFunction, MixtureParameters, Quadratic}; [ ] use parameters::CubicParameters; -# src/cubic/mod.rs \ No newline at end of file +## src/cubic/mod.rs +[x] use feos_core::parameter::{Identifier, Parameter, PureRecord}; +[x] use ndarray::{Array1, Array2}; +[x] use num_traits::Zero; +[x] use serde::{Deserialize, Serialize}; + +### Finding Problems: +[ ] use feos_core::parameter::ParameterError + + +## src/cubic/alpha diff --git a/crates/feos/src/cubic/mod.rs b/crates/feos/src/cubic/mod.rs index 51e1e5e94..27d170520 100644 --- a/crates/feos/src/cubic/mod.rs +++ b/crates/feos/src/cubic/mod.rs @@ -7,6 +7,9 @@ use std::f64::consts::SQRT_2; use std::fmt; use std::sync::Arc; +mod parameters; +use parameters::CubicParameters; + /// To learn some testing setup. pub fn dumb_sum(a: f64, b: f64) -> f64 { // This is a dumb function that just adds two numbers together. diff --git a/crates/feos/src/cubic/parameters.rs b/crates/feos/src/cubic/parameters.rs index 8b1378917..bb5dc25f6 100644 --- a/crates/feos/src/cubic/parameters.rs +++ b/crates/feos/src/cubic/parameters.rs @@ -1 +1,218 @@ +use feos_core::parameter::{Identifier, Parameter, PureRecord}; // whereis ParameterError? +use feos_core::{FeosError, FeosResult}; +use ndarray::{Array1, Array2}; +use num_traits::Zero; +use serde::{Deserialize, Serialize}; +/// Cubic parameters for a single substance. +#[derive(Serialize, Deserialize, Debug, Clone, Default)] +pub struct CubicRecord { + /// critical temperature in Kelvin + pub(crate) tc: f64, + /// critical pressure in Pascal + pub(crate) pc: f64, + /// acentric factor + pub(crate) acentric_factor: f64, +} + +impl CubicRecord { + /// Create a new pure substance record for the Cubic equation of state. + pub fn new(tc: f64, pc: f64, acentric_factor: f64) -> Self { + Self { + tc, + pc, + acentric_factor, + } + } +} + +impl std::fmt::Display for CubicRecord { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "CubicRecord(tc={} K", self.tc)?; + write!(f, ", pc={} Pa", self.pc)?; + write!(f, ", acentric factor={}", self.acentric_factor) + } +} + +/// Cubic binary interaction parameters. +#[derive(Serialize, Deserialize, Clone, Default)] +pub struct CubicBinaryRecord { + /// Binary interaction parameter for a + #[serde(skip_serializing_if = "f64::is_zero")] + #[serde(default)] + pub k_ij: f64, + /// Binary interaction parameter for b + #[serde(skip_serializing_if = "f64::is_zero")] + #[serde(default)] + pub l_ij: f64, + // /// Binary association parameters + // #[serde(flatten)] + // association: Option, +} + +impl CubicBinaryRecord { + pub fn new( + k_ij: Option, + l_ij: Option, + // rc_ab: Option, + // epsilon_k_ab: Option, + ) -> Self { + let k_ij = k_ij.unwrap_or_default(); + let l_ij = l_ij.unwrap_or_default(); + // let association = if rc_ab.is_none() && epsilon_k_ab.is_none() { + // None + // } else { + // Some(BinaryAssociationRecord::new(rc_ab, epsilon_k_ab, None)) + // }; + Self { + k_ij, + l_ij, + // association, + } + } +} + +impl From for CubicBinaryRecord { + fn from(k_ij: f64) -> Self { + Self { + k_ij, + l_ij: f64::default(), + // association: None, + } + } +} + +impl From for f64 { + fn from(binary_record: CubicBinaryRecord) -> Self { + binary_record.k_ij + } +} + +impl std::fmt::Display for CubicBinaryRecord { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let mut tokens = vec![]; + if !self.k_ij.is_zero() { + tokens.push(format!("k_ij={}", self.k_ij)); + } + if !self.l_ij.is_zero() { + tokens.push(format!("l_ij={}", self.l_ij)); + } + // if let Some(association) = self.association { + // if let Some(rc_ab) = association.rc_ab { + // tokens.push(format!("rc_ab={}", rc_ab)); + // } + // if let Some(epsilon_k_ab) = association.epsilon_k_ab { + // tokens.push(format!("epsilon_k_ab={}", epsilon_k_ab)); + // } + // } + write!(f, "CubicBinaryRecord({})", tokens.join(", ")) + } +} + +/// Cubic parameters for one ore more substances. +pub struct CubicParameters { + /// Critical temperature in Kelvin + pub(super) tc: Array1, + pub(super) pc: Array1, + pub(super) acentric_factor: Array1, + /// Binary interaction parameter for a + pub(super) k_ij: Array2, + /// Binary interaction parameter for b + pub(super) l_ij: Array2, + /// Molar weight in units of g/mol + pub(super) molarweight: Array1, + /// List of pure component records + pub(super) pure_records: Vec>, + /// List of binary records + pub binary_records: Option>, +} + +impl std::fmt::Display for CubicParameters { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + self.pure_records + .iter() + .try_for_each(|pr| writeln!(f, "{}", pr))?; + writeln!(f, "\nk_ij:\n{}", self.k_ij) + } +} + +impl CubicParameters { + /// Build a simple parameter set without binary interaction parameters. + pub fn new_simple( + tc: &[f64], + pc: &[f64], + acentric_factor: &[f64], + molarweight: &[f64], + ) -> Result { + if [pc.len(), acentric_factor.len(), molarweight.len()] + .iter() + .any(|&l| l != tc.len()) + { + return Err(FeosError::IncompatibleParameters(String::from( + "each component has to have parameters.", + ))); + } + let records = (0..tc.len()) + .map(|i| { + let record = CubicRecord { + tc: tc[i], + pc: pc[i], + acentric_factor: acentric_factor[i], + }; + let id = Identifier::default(); + PureRecord::new(id, molarweight[i], record) + }) + .collect(); + CubicParameters::from_records(records, None) + } +} + +impl Parameter for CubicParameters { + type Pure = CubicRecord; + type Binary = CubicBinaryRecord; + + /// Creates parameters from pure component records. + fn from_records( + pure_records: Vec>, + binary_records: Option>, + ) -> FeosResult { + let n = pure_records.len(); + + let mut tc = Array1::zeros(n); + let mut pc = Array1::zeros(n); + let mut acentric_factor = Array1::zeros(n); + let mut molarweight = Array1::zeros(n); + + for (i, record) in pure_records.iter().enumerate() { + molarweight[i] = record.molarweight; + let r = &record.model_record; + tc[i] = r.tc; + pc[i] = r.pc; + acentric_factor[i] = r.acentric_factor; + } + + let br = binary_records.as_ref(); + let k_ij = br.map_or_else(|| Array2::zeros([n; 2]), |br| br.mapv(|br| br.k_ij)); + let l_ij = br.map_or_else(|| Array2::zeros([n; 2]), |br| br.mapv(|br| br.l_ij)); + + Ok(Self { + tc, + pc, + acentric_factor, + k_ij, + l_ij, + molarweight, + pure_records, + binary_records, + }) + } + + fn records( + &self, + ) -> ( + &[PureRecord], + Option<&Array2>, + ) { + (&self.pure_records, self.binary_records.as_ref()) + } +} From c7f6a8aebdac681a55a7fe8cde44aa5cb3a84824 Mon Sep 17 00:00:00 2001 From: JelleLagerweij Date: Fri, 16 May 2025 17:34:11 +0200 Subject: [PATCH 03/13] question posted to issue --- crates/feos/TASKS.md | 4 +--- crates/feos/src/cubic/parameters.rs | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/crates/feos/TASKS.md b/crates/feos/TASKS.md index dd236c8f3..190f42c24 100644 --- a/crates/feos/TASKS.md +++ b/crates/feos/TASKS.md @@ -16,6 +16,7 @@ ### Finding Problems: [ ] use feos_core::{EoSresult} + ### Still to implement: [ ] mod alpha; [ ] use alpha::{Alpha, AlphaFunction, PengRobinson1976, RedlichKwong1972}; @@ -30,8 +31,5 @@ [x] use num_traits::Zero; [x] use serde::{Deserialize, Serialize}; -### Finding Problems: -[ ] use feos_core::parameter::ParameterError - ## src/cubic/alpha diff --git a/crates/feos/src/cubic/parameters.rs b/crates/feos/src/cubic/parameters.rs index bb5dc25f6..87b412c7b 100644 --- a/crates/feos/src/cubic/parameters.rs +++ b/crates/feos/src/cubic/parameters.rs @@ -1,4 +1,4 @@ -use feos_core::parameter::{Identifier, Parameter, PureRecord}; // whereis ParameterError? +use feos_core::parameter::{Identifier, Parameter, PureRecord}; use feos_core::{FeosError, FeosResult}; use ndarray::{Array1, Array2}; use num_traits::Zero; From 1ed069f93badacf54c6cfccac38b10df313ca52d Mon Sep 17 00:00:00 2001 From: JelleLagerweij Date: Sat, 17 May 2025 22:37:03 +0200 Subject: [PATCH 04/13] added serde feature to ndarray to avoid compilation error --- Cargo.toml | 1 + crates/feos/Cargo.toml | 3 +- crates/feos/TASKS.md | 1 - .../feos/src/cubic/alpha/mathias_copeman.rs | 52 ++++ crates/feos/src/cubic/alpha/mod.rs | 47 +++ crates/feos/src/cubic/alpha/soave.rs | 173 +++++++++++ crates/feos/src/cubic/alpha/twu.rs | 127 ++++++++ crates/feos/src/cubic/mixing_rules.rs | 63 ++++ crates/feos/src/cubic/mod.rs | 273 +++++++++++++++++- 9 files changed, 737 insertions(+), 3 deletions(-) create mode 100644 crates/feos/src/cubic/alpha/mathias_copeman.rs create mode 100644 crates/feos/src/cubic/alpha/mod.rs create mode 100644 crates/feos/src/cubic/alpha/soave.rs create mode 100644 crates/feos/src/cubic/alpha/twu.rs create mode 100644 crates/feos/src/cubic/mixing_rules.rs diff --git a/Cargo.toml b/Cargo.toml index 1981fb17e..c0f374b62 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,6 +34,7 @@ serde_json = "1.0" indexmap = "2.0" itertools = "0.14" typenum = "1.16" +enum_dispatch = "0.3.13" rayon = "1.5" petgraph = "0.8" rustdct = "0.7" diff --git a/crates/feos/Cargo.toml b/crates/feos/Cargo.toml index 872ef482f..5c35347eb 100644 --- a/crates/feos/Cargo.toml +++ b/crates/feos/Cargo.toml @@ -13,7 +13,7 @@ description = "FeOs - A framework for equations of state and classical density f [dependencies] quantity = { workspace = true } num-dual = { workspace = true } -ndarray = { workspace = true } +ndarray = { workspace = true, features = ["serde"] } petgraph = { workspace = true, optional = true } thiserror = { workspace = true } num-traits = { workspace = true } @@ -22,6 +22,7 @@ indexmap = { workspace = true } rayon = { workspace = true, optional = true } itertools = { workspace = true } typenum = { workspace = true } +enum_dispatch = { workspace = true } feos-core = { workspace = true } feos-derive = { workspace = true } diff --git a/crates/feos/TASKS.md b/crates/feos/TASKS.md index 190f42c24..6485b6b49 100644 --- a/crates/feos/TASKS.md +++ b/crates/feos/TASKS.md @@ -22,7 +22,6 @@ [ ] use alpha::{Alpha, AlphaFunction, PengRobinson1976, RedlichKwong1972}; [ ] mod mixing_rules; [ ] use mixing_rules::{MixingRule, MixingRuleFunction, MixtureParameters, Quadratic}; -[ ] use parameters::CubicParameters; ## src/cubic/mod.rs diff --git a/crates/feos/src/cubic/alpha/mathias_copeman.rs b/crates/feos/src/cubic/alpha/mathias_copeman.rs new file mode 100644 index 000000000..e4947a64e --- /dev/null +++ b/crates/feos/src/cubic/alpha/mathias_copeman.rs @@ -0,0 +1,52 @@ +use std::sync::Arc; + +use feos_core::{FeosError, FeosResult}; +use ndarray::{Array1, Zip}; +use num_dual::DualNum; +use serde::{Deserialize, Serialize}; + +use crate::cubic::parameters::CubicParameters; + +use super::AlphaFunction; + +#[derive(Serialize, Deserialize, Clone, Debug)] +pub struct MathiasCopeman(pub Vec<[f64; 3]>); + +impl AlphaFunction for MathiasCopeman { + #[inline] + fn alpha + Copy>( + &self, + _: &Array1, + reduced_temperature: &Array1, + ) -> Array1 { + Zip::from(reduced_temperature) + .and(&self.0) + .map_collect(|tr, c| { + let trsq = -tr.sqrt() + 1.0; + let a1 = trsq + c[0] + 1.0; + let a2 = match tr { + tr if tr.re() < 1.0 => trsq * (c[1] + c[2]), + _ => D::zero(), + }; + (a1 + a2).powi(2) + }) + } + + fn validate(&self, parameters: &Arc) -> FeosResult<()> { + if self.0.len() == parameters.tc.len() { + Ok(()) + } else { + Err(ParameterError::IncompatibleParameters( + format!( + "Mathias Copeman alpha function was initialized for {} components, but the equation of state contains {}.", + self.0.len(), parameters.tc.len() + ) + ).into()) + } + } + + fn subset(&self, component_list: &[usize]) -> Self { + let mi = component_list.iter().map(|&i| self.0[i]).collect(); + Self(mi) + } +} diff --git a/crates/feos/src/cubic/alpha/mod.rs b/crates/feos/src/cubic/alpha/mod.rs new file mode 100644 index 000000000..319a9ad86 --- /dev/null +++ b/crates/feos/src/cubic/alpha/mod.rs @@ -0,0 +1,47 @@ +use std::sync::Arc; + +use enum_dispatch::enum_dispatch; +use feos_core::{FeosError, FeosResult}; +use ndarray::{Array1, ScalarOperand}; +use num_dual::DualNum; + +use super::parameters::CubicParameters; + +mod soave; +pub use soave::{ + PengRobinson1976, PengRobinson1978, PengRobinson2019, RedlichKwong1972, RedlichKwong2019, Soave, +}; +mod mathias_copeman; +pub use mathias_copeman::MathiasCopeman; +mod twu; +pub use twu::{GeneralizedTwu, Twu}; + +#[enum_dispatch] +pub trait AlphaFunction { + fn alpha + Copy + ScalarOperand>( + &self, + acentric_factor: &Array1, + reduced_temperature: &Array1, + ) -> Array1; + + /// Check for validity of alpha function against parameters, e.g. + /// to assert that the number of components match. + fn validate(&self, parameters: &Arc) -> FeosResult<()>; + + /// Generate the alpha function for a subset of components. + fn subset(&self, component_list: &[usize]) -> Self; +} + +#[enum_dispatch(AlphaFunction)] +#[derive(Debug, Clone)] +pub enum Alpha { + Soave, + PengRobinson1976, + PengRobinson1978, + PengRobinson2019, + RedlichKwong1972, + RedlichKwong2019, + MathiasCopeman, + GeneralizedTwu, + Twu, +} diff --git a/crates/feos/src/cubic/alpha/soave.rs b/crates/feos/src/cubic/alpha/soave.rs new file mode 100644 index 000000000..2ebda31a2 --- /dev/null +++ b/crates/feos/src/cubic/alpha/soave.rs @@ -0,0 +1,173 @@ +use std::sync::Arc; + +use feos_core::{FeosError, FeosResult}; +use ndarray::{Array1, Zip}; +use num_dual::DualNum; +use serde::{Deserialize, Serialize}; + +use crate::cubic::parameters::CubicParameters; + +use super::AlphaFunction; + +#[derive(Serialize, Deserialize, Clone, Debug)] +/// Generic version of Soave's function using 3rd order polynomial. +pub struct Soave { + /// coefficients for m-polynomial + mi: Array1, +} + +impl Soave { + pub fn new(mi: Array1) -> Self { + Soave { mi } + } +} + +impl AlphaFunction for Soave { + #[inline] + fn alpha>( + &self, + acentric_factor: &Array1, + reduced_temperature: &Array1, + ) -> Array1 { + let m = self + .mi + .iter() + .enumerate() + .fold(Array1::zeros(acentric_factor.len()), |m, (i, &mi)| { + &m + acentric_factor.mapv(|w| w.powi(i as i32)) * mi + }); + ((-reduced_temperature.mapv(|t| t.sqrt()) + 1.0) * m + 1.0).mapv(|a| a.powi(2)) + } + + fn validate(&self, _: &Arc) -> FeosResult<()> { + Ok(()) + } + + fn subset(&self, _: &[usize]) -> Self { + self.clone() + } +} + +#[derive(Serialize, Deserialize, Clone, Debug)] +pub struct RedlichKwong1972; + +impl AlphaFunction for RedlichKwong1972 { + #[inline] + fn alpha>( + &self, + acentric_factor: &Array1, + reduced_temperature: &Array1, + ) -> Array1 { + let m = acentric_factor.mapv(|w| 0.48 + w * (1.574 - w * 0.176)); + ((-reduced_temperature.mapv(|t| t.sqrt()) + 1.0) * m + 1.0).mapv(|a| a.powi(2)) + } + + fn validate(&self, _: &Arc) -> FeosResult<()> { + Ok(()) + } + + fn subset(&self, _: &[usize]) -> Self { + Self + } +} + +#[derive(Serialize, Deserialize, Clone, Debug)] +pub struct PengRobinson1976; + +impl AlphaFunction for PengRobinson1976 { + #[inline] + fn alpha>( + &self, + acentric_factor: &Array1, + reduced_temperature: &Array1, + ) -> Array1 { + let m = acentric_factor.mapv(|w| 0.37464 + w * (1.54226 - w * 0.26992)); + ((-reduced_temperature.mapv(|t| t.sqrt()) + 1.0) * m + 1.0).mapv(|a| a.powi(2)) + } + + fn validate(&self, _: &Arc) -> FeosResult<()> { + Ok(()) + } + + fn subset(&self, _: &[usize]) -> Self { + Self + } +} + +#[derive(Serialize, Deserialize, Clone, Debug)] +pub struct PengRobinson1978; + +impl AlphaFunction for PengRobinson1978 { + #[inline] + fn alpha + Copy>( + &self, + acentric_factor: &Array1, + reduced_temperature: &Array1, + ) -> Array1 { + Zip::from(acentric_factor) + .and(reduced_temperature) + .map_collect(|&w, &tr| { + let m = if w <= 0.491 { + 0.37464 + w * (1.54226 - w * 0.26992) + } else { + // use higher-order polynomial if w > w(n-decane) + 0.379642 + w * (1.48503 + w * (-0.164423 + w * 0.016666)) + }; + ((-tr.sqrt() + 1.0) * m + 1.0).powi(2) + }) + } + + fn validate(&self, _: &Arc) -> FeosResult<()> { + Ok(()) + } + + fn subset(&self, _: &[usize]) -> Self { + Self + } +} + +#[derive(Serialize, Deserialize, Clone, Debug)] +pub struct RedlichKwong2019; + +impl AlphaFunction for RedlichKwong2019 { + #[inline] + fn alpha>( + &self, + acentric_factor: &Array1, + reduced_temperature: &Array1, + ) -> Array1 { + let m = acentric_factor.mapv(|w| 0.481 + w * (1.5963 + w * (-0.2963 + w * 0.1223))); + ((-reduced_temperature.mapv(|t| t.sqrt()) + 1.0) * m + 1.0).mapv(|a| a.powi(2)) + } + + fn validate(&self, _: &Arc) -> FeosResult<()> { + Ok(()) + } + + fn subset(&self, _: &[usize]) -> Self { + Self + } +} + +#[derive(Serialize, Deserialize, Clone, Debug)] +pub struct PengRobinson2019; + +impl AlphaFunction for PengRobinson2019 { + #[inline] + fn alpha>( + &self, + acentric_factor: &Array1, + reduced_temperature: &Array1, + ) -> Array1 { + let m = acentric_factor.mapv(|w| 0.3919 + w * (1.4996 + w * (-0.2721 + w * 0.1063))); + ((-reduced_temperature.mapv(|t| t.sqrt()) + 1.0) * m + 1.0).mapv(|a| a.powi(2)) + } + + fn validate(&self, _: &Arc) -> FeosResult<()> { + Ok(()) + } + + fn subset(&self, _: &[usize]) -> Self { + Self + } +} diff --git a/crates/feos/src/cubic/alpha/twu.rs b/crates/feos/src/cubic/alpha/twu.rs new file mode 100644 index 000000000..1ae1b2ba1 --- /dev/null +++ b/crates/feos/src/cubic/alpha/twu.rs @@ -0,0 +1,127 @@ +use std::sync::Arc; + +use feos_core::{FeosError, FeosResult}; +use itertools::izip; +use ndarray::{Array1, Zip}; +use num_dual::DualNum; +use serde::{Deserialize, Serialize}; + +use crate::cubic::parameters::CubicParameters; + +use super::AlphaFunction; + +/// Generalized version of the Twu alpha function (1995). +/// +/// Different parameters are used for sub- and supercritical conditions. +#[derive(Serialize, Deserialize, Clone, Debug)] +pub struct GeneralizedTwu([[[f64; 3]; 2]; 2]); + +impl GeneralizedTwu { + pub fn redlich_kwong() -> Self { + GeneralizedTwu([ + [ + [2.496441 * (0.919422 - 1.0), 0.141599, 2.496441 * 0.919422], + [3.291790 * (0.799457 - 1.0), 0.500315, 3.291790 * 0.799457], + ], + [ + [-0.2 * (6.500018 - 1.0), 0.441411, -0.2 * 6.500018], + [-8.0 * (1.289098 - 1.0), 0.032580, -8.0 * 1.289098], + ], + ]) + } + + pub fn peng_robinson() -> Self { + GeneralizedTwu([ + [ + [1.948150 * (0.911807 - 1.0), 0.125283, 1.948150 * 0.911807], + [2.812520 * (0.784054 - 1.0), 0.511614, 2.812520 * 0.784054], + ], + [ + [-0.2 * (4.963070 - 1.0), 0.401219, -0.2 * 4.963070], + [-0.8 * (1.248089 - 1.0), 0.024955, -0.8 * 1.248089], + ], + ]) + } +} + +impl AlphaFunction for GeneralizedTwu { + #[inline] + fn alpha + Copy>( + &self, + acentric_factor: &Array1, + reduced_temperature: &Array1, + ) -> Array1 { + Zip::from(acentric_factor) + .and(reduced_temperature) + .map_collect(|&w, &tr| { + if tr.re() <= 1.0 { + let [nm_m1_0, l0, nm0] = self.0[0][0]; + let [nm_m1_1, l1, nm1] = self.0[0][1]; + let a0 = tr.powf(nm_m1_0) * ((-tr.powf(nm0) + 1.0) * l0).exp(); + let a1 = tr.powf(nm_m1_1) * ((-tr.powf(nm1) + 1.0) * l1).exp(); + a0 + (a1 - a0) * w + } else { + let [nm_m1_0, l0, nm0] = self.0[1][0]; + let [nm_m1_1, l1, nm1] = self.0[1][1]; + let a0 = tr.powf(nm_m1_0) * ((-tr.powf(nm0) + 1.0) * l0).exp(); + let a1 = tr.powf(nm_m1_1) * ((-tr.powf(nm1) + 1.0) * l1).exp(); + a0 + (a1 - a0) * w + } + }) + } + + fn validate(&self, _: &Arc) -> FeosResult<()> { + Ok(()) + } + + fn subset(&self, _: &[usize]) -> Self { + self.clone() + } +} + +/// Generalized version of the Twu alpha function (1995). +/// +/// Different parameters are used for sub- and supercritical conditions. +#[derive(Serialize, Deserialize, Clone, Debug)] +pub struct Twu(Vec<[f64; 3]>); + +impl Twu { + pub fn new(l: Vec, m: Vec, n: Option>) -> Self { + let _n = n.unwrap_or(vec![2.0; l.len()]); + let input = izip!(l, m, _n) + .map(|(l, m, n)| [n * (m - 1.0), l, n * m]) + .collect(); + Self(input) + } +} + +impl AlphaFunction for Twu { + #[inline] + fn alpha + Copy>( + &self, + _: &Array1, + reduced_temperature: &Array1, + ) -> Array1 { + izip!(reduced_temperature, &self.0) + .map(|(tr, &[nmm1, l, nm])| tr.powf(nmm1) * ((-tr.powf(nm) + 1.0) * l).exp()) + .collect() + } + + fn validate(&self, parameters: &Arc) -> FeosResult<()> { + if self.0.len() == parameters.tc.len() { + Ok(()) + } else { + Err(ParameterError::IncompatibleParameters( + format!( + "Twu alpha function was initialized for {} components, but the equation of state contains {}.", + self.0.len(), parameters.tc.len() + ) + ).into()) + } + } + + fn subset(&self, component_list: &[usize]) -> Self { + let c = component_list.iter().map(|&i| self.0[i]).collect(); + Self(c) + } +} diff --git a/crates/feos/src/cubic/mixing_rules.rs b/crates/feos/src/cubic/mixing_rules.rs new file mode 100644 index 000000000..b4614c569 --- /dev/null +++ b/crates/feos/src/cubic/mixing_rules.rs @@ -0,0 +1,63 @@ +use enum_dispatch::enum_dispatch; +use feos_core::StateHD; +use ndarray::ScalarOperand; +use num_dual::DualNum; + +use super::{Cubic, alpha::AlphaFunction}; + +/// Parameters of cubics +pub struct MixtureParameters { + /// attractive contribution divided by R + pub a: D, + /// repulsive contribution + pub b: D, + /// volume translation + pub c: D, +} + +#[enum_dispatch] +pub trait MixingRuleFunction { + fn apply + Copy + ScalarOperand>( + &self, + cubic: &Cubic, + state: &StateHD, + ) -> MixtureParameters; +} + +/// Quadratic summation over a and b. +#[derive(Debug, Clone)] +pub struct Quadratic; + +impl MixingRuleFunction for Quadratic { + fn apply + Copy + ScalarOperand>( + &self, + cubic: &Cubic, + state: &StateHD, + ) -> MixtureParameters { + let p = &cubic.parameters; + let pc = &cubic.critical_parameters; + let n = p.tc.len(); + let tr = p.tc.mapv(|tc| state.temperature / tc); + let at = cubic.options.alpha.alpha(&p.acentric_factor, &tr) * &pc.ac; + let mut a = D::zero(); + let mut b = D::zero(); + for i in 0..n { + let xi = state.molefracs[i]; + let ai = at[i]; + let bi = pc.bc[i]; + a += xi * xi * ai; + b += xi * xi * bi; + for j in i + 1..n { + a += xi * state.molefracs[j] * (ai * at[j]).sqrt() * (1.0 - p.k_ij[[i, j]]) * 2.0; + b += xi * state.molefracs[j] * (bi + pc.bc[j]) * 0.5 * (1.0 - p.l_ij[[i, j]]) * 2.0; + } + } + MixtureParameters { a, b, c: D::zero() } + } +} + +#[enum_dispatch(MixingRuleFunction)] +#[derive(Debug, Clone)] +pub enum MixingRule { + Quadratic, +} diff --git a/crates/feos/src/cubic/mod.rs b/crates/feos/src/cubic/mod.rs index 27d170520..8c4da3b7e 100644 --- a/crates/feos/src/cubic/mod.rs +++ b/crates/feos/src/cubic/mod.rs @@ -1,5 +1,5 @@ use feos_core::parameter::Parameter; -use feos_core::{Components, Residual, StateHD}; // Whereis EosResult? +use feos_core::{Components, FeosResult, Residual, StateHD}; // Whereis EosResult? use ndarray::{Array1, ScalarOperand, Zip}; use num_dual::DualNum; use quantity::{GRAM, MOL, MolarWeight}; @@ -9,7 +9,278 @@ use std::sync::Arc; mod parameters; use parameters::CubicParameters; +mod alpha; +use alpha::{Alpha, AlphaFunction, PengRobinson1976, RedlichKwong1972}; +mod mixing_rules; +use mixing_rules::{MixingRule, MixingRuleFunction, MixtureParameters, Quadratic}; +const KB_A3: f64 = 13806490.0; + +#[derive(Debug, Clone, Copy)] +pub struct Delta { + d1: f64, + d2: f64, + d12: f64, +} + +impl From<(f64, f64)> for Delta { + fn from(value: (f64, f64)) -> Self { + Delta { + d1: value.0, + d2: value.1, + d12: value.0 - value.1, + } + } +} + +impl Delta { + // Calculate universal critical constants from universal cubic parameters. + // + // See https://doi.org/10.1016/j.fluid.2012.05.008 + fn critical_constants(&self) -> (f64, f64) { + let (r1, r2) = (-self.d1, -self.d2); + let eta_c = 1.0 + / (((1.0 - r1) * (1.0 - r2).powi(2)).cbrt() + + ((1.0 - r2) * (1.0 - r1).powi(2)).cbrt() + + 1.0); + let omega_a = (1.0 - eta_c * r1) * (1.0 - eta_c * r2) / (1.0 - eta_c) + * (2.0 - eta_c * (r1 + r2)) + / (3.0 - eta_c * (1.0 + r1 + r2)).powi(2); + let omega_b = eta_c / (3.0 - eta_c * (1.0 + r1 + r2)); + (omega_a, omega_b) + } +} + +/// Parameters processed using model constants and substance critial data. +#[derive(Debug)] +pub struct CriticalParameters { + ac: Array1, + bc: Array1, + omega_a: f64, + omega_b: f64, +} + +impl CriticalParameters { + fn new(p: &Arc, delta: &Delta) -> Self { + let (omega_a, omega_b) = delta.critical_constants(); + let ac = omega_a * &p.tc.mapv(|tc| tc.powi(2)) * KB_A3 / &p.pc; + let bc = omega_b * &p.tc * KB_A3 / &p.pc; + Self { + ac, + bc, + omega_a, + omega_b, + } + } + + fn subset(&self, component_list: &[usize]) -> Self { + let n = component_list.len(); + let mut ac = Array1::zeros(n); + let mut bc = Array1::zeros(n); + Zip::from(&mut ac) + .and(&mut bc) + .and(component_list) + .for_each(|a, b, &i| { + *a = self.ac[i]; + *b = self.bc[i]; + }); + Self { + ac, + bc, + omega_a: self.omega_a, + omega_b: self.omega_b, + } + } +} + +#[derive(Debug, Clone)] +pub struct CubicOptions { + pub(crate) alpha: Alpha, + pub(crate) mixing: MixingRule, + pub(crate) delta: Delta, +} + +impl CubicOptions { + fn subset(&self, component_list: &[usize]) -> Self { + Self { + alpha: self.alpha.subset(component_list), + mixing: self.mixing.clone(), + delta: self.delta.clone(), + } + } +} + +/// A generic cubic equation of state. +pub struct Cubic { + /// Parameters + pub parameters: Arc, + pub options: CubicOptions, + /// processed parameters using model and substance critical data + pub critical_parameters: CriticalParameters, +} + +impl Cubic { + /// Generic cubic equation of state with adjustable universal constants. + pub fn new(parameters: Arc, options: CubicOptions) -> FeosResult { + let p = CriticalParameters::new(¶meters, &options.delta); + options.alpha.validate(¶meters)?; + Ok(Self { + parameters, + options, + critical_parameters: p, + }) + } +} + +// /// Peng Robinson equation of state. +// /// +// /// Universal constants: +// /// - $\delta_1 = 1 + \sqrt{2}$ +// /// - $\delta_2 = 1 - \sqrt{2}$ +// /// +// /// If no options are supplied, the following is used: +// /// - alpha function: Peng Robinson (1976) +// /// - mixing rules: quadratic mixing +// pub fn peng_robinson( +// parameters: Arc, +// alpha: Option, +// mixing: Option, +// ) -> EosResult { +// let delta: Delta = (1.0 + SQRT_2, 1.0 - SQRT_2).into(); +// let p = CriticalParameters::new(¶meters, &delta); +// let options = CubicOptions { +// alpha: alpha.unwrap_or(PengRobinson1976.into()), +// mixing: mixing.unwrap_or(Quadratic.into()), +// delta, +// }; +// options.alpha.validate(¶meters)?; +// Ok(Self { +// parameters, +// options, +// critical_parameters: p, +// }) +// } + +// /// Create equation of state of (Suave) Redlich Kwong. +// /// +// /// Universal constants: +// /// - $\delta_1 = 1$ +// /// - $\delta_2 = 0$ +// /// +// /// If no options are supplied, the following is used: +// /// - alpha function: Soave (1972) +// /// - mixing rules: quadratic mixing +// pub fn redlich_kwong( +// parameters: Arc, +// alpha: Option, +// mixing: Option, +// ) -> EosResult { +// let delta: Delta = (1.0, 0.0).into(); +// let p = CriticalParameters::new(¶meters, &delta); +// let options = CubicOptions { +// alpha: alpha.unwrap_or(RedlichKwong1972.into()), +// mixing: mixing.unwrap_or(Quadratic.into()), +// delta, +// }; +// options.alpha.validate(¶meters)?; +// Ok(Self { +// parameters, +// options, +// critical_parameters: p, +// }) +// } +// } + +// impl fmt::Display for Cubic { +// fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { +// write!(f, "cubic") +// } +// } + +// impl Components for Cubic { +// fn components(&self) -> usize { +// self.parameters.tc.len() +// } + +// fn subset(&self, component_list: &[usize]) -> Self { +// Self { +// parameters: Arc::new(self.parameters.subset(component_list)), +// options: self.options.subset(component_list), +// critical_parameters: self.critical_parameters.subset(component_list), +// } +// } +// } + +// impl Residual for Cubic { +// fn compute_max_density(&self, moles: &Array1) -> f64 { +// let b = (moles * &self.critical_parameters.bc).sum() / moles.sum(); +// 0.9 / b +// } + +// fn residual_helmholtz_energy + Copy + ScalarOperand>( +// &self, +// state: &StateHD, +// ) -> D { +// let MixtureParameters { a, b, c: _ } = self.options.mixing.apply(self, state); +// let n = state.moles.sum(); +// let v = state.volume; +// let bn = b * n; +// n * ((v / (v - bn)).ln() +// - a / (b * self.options.delta.d12 * state.temperature) +// * ((v + bn * self.options.delta.d1) / (v + bn * self.options.delta.d2)).ln()) +// } + +// fn residual_helmholtz_energy_contributions + Copy + ScalarOperand>( +// &self, +// state: &StateHD, +// ) -> Vec<(String, D)> { +// vec![("cubic".to_string(), self.residual_helmholtz_energy(state))] +// } + +// fn molar_weight(&self) -> MolarWeight> { +// &self.parameters.molarweight * (GRAM / MOL) +// } +// } + +// #[cfg(test)] +// mod tests { +// use feos_core::{ +// cubic::{PengRobinson, PengRobinsonParameters, PengRobinsonRecord}, +// parameter::{Identifier, PureRecord}, +// }; +// use ndarray::arr1; +// use parameters::CubicRecord; + +// use super::*; + +// #[test] +// fn a_res() { +// let propane = PureRecord::new( +// Identifier::new(None, Some("propane"), None, None, None, None), +// 44.0962, +// CubicRecord::new(369.96, 4250000.0, 0.153), +// ); +// let parameters = Arc::new(CubicParameters::new_pure(propane).unwrap()); +// let eos = Cubic::peng_robinson(parameters, None, None).unwrap(); +// dbg!(&eos.critical_parameters); +// let state = StateHD::new(300.0, 1e5, arr1(&[5.0])); + +// let propane = PureRecord::new( +// Identifier::new(None, Some("propane"), None, None, None, None), +// 44.0962, +// PengRobinsonRecord::new(369.96, 4250000.0, 0.153), +// ); +// let parameters = PengRobinsonParameters::new_pure(propane).unwrap(); +// let pr = Arc::new(PengRobinson::new(Arc::new(parameters))); + +// assert_eq!( +// pr.residual_helmholtz_energy(&state), +// eos.residual_helmholtz_energy(&state) +// ) +// } +// } + +// BAD STUF BELOW /// To learn some testing setup. pub fn dumb_sum(a: f64, b: f64) -> f64 { // This is a dumb function that just adds two numbers together. From afc6bb258aec5f41999502dbdf7099d286ad70ab Mon Sep 17 00:00:00 2001 From: JelleLagerweij Date: Sat, 17 May 2025 23:48:08 +0200 Subject: [PATCH 05/13] replaced last ParameterError with correct FeosError --- .../feos/src/cubic/alpha/mathias_copeman.rs | 2 +- crates/feos/src/cubic/alpha/mod.rs | 10 +- crates/feos/src/cubic/alpha/soave.rs | 2 +- crates/feos/src/cubic/alpha/twu.rs | 2 +- crates/feos/src/cubic/mod.rs | 305 ++++++++---------- 5 files changed, 142 insertions(+), 179 deletions(-) diff --git a/crates/feos/src/cubic/alpha/mathias_copeman.rs b/crates/feos/src/cubic/alpha/mathias_copeman.rs index e4947a64e..0a650ca71 100644 --- a/crates/feos/src/cubic/alpha/mathias_copeman.rs +++ b/crates/feos/src/cubic/alpha/mathias_copeman.rs @@ -36,7 +36,7 @@ impl AlphaFunction for MathiasCopeman { if self.0.len() == parameters.tc.len() { Ok(()) } else { - Err(ParameterError::IncompatibleParameters( + Err(FeosError::IncompatibleParameters( format!( "Mathias Copeman alpha function was initialized for {} components, but the equation of state contains {}.", self.0.len(), parameters.tc.len() diff --git a/crates/feos/src/cubic/alpha/mod.rs b/crates/feos/src/cubic/alpha/mod.rs index 319a9ad86..2c4598bb9 100644 --- a/crates/feos/src/cubic/alpha/mod.rs +++ b/crates/feos/src/cubic/alpha/mod.rs @@ -1,13 +1,11 @@ -use std::sync::Arc; - +use super::parameters::CubicParameters; use enum_dispatch::enum_dispatch; -use feos_core::{FeosError, FeosResult}; +use feos_core::FeosResult; use ndarray::{Array1, ScalarOperand}; use num_dual::DualNum; - -use super::parameters::CubicParameters; - +use std::sync::Arc; mod soave; + pub use soave::{ PengRobinson1976, PengRobinson1978, PengRobinson2019, RedlichKwong1972, RedlichKwong2019, Soave, }; diff --git a/crates/feos/src/cubic/alpha/soave.rs b/crates/feos/src/cubic/alpha/soave.rs index 2ebda31a2..f13d0243f 100644 --- a/crates/feos/src/cubic/alpha/soave.rs +++ b/crates/feos/src/cubic/alpha/soave.rs @@ -1,6 +1,6 @@ use std::sync::Arc; -use feos_core::{FeosError, FeosResult}; +use feos_core::FeosResult; use ndarray::{Array1, Zip}; use num_dual::DualNum; use serde::{Deserialize, Serialize}; diff --git a/crates/feos/src/cubic/alpha/twu.rs b/crates/feos/src/cubic/alpha/twu.rs index 1ae1b2ba1..ad7ec3940 100644 --- a/crates/feos/src/cubic/alpha/twu.rs +++ b/crates/feos/src/cubic/alpha/twu.rs @@ -111,7 +111,7 @@ impl AlphaFunction for Twu { if self.0.len() == parameters.tc.len() { Ok(()) } else { - Err(ParameterError::IncompatibleParameters( + Err(FeosError::IncompatibleParameters( format!( "Twu alpha function was initialized for {} components, but the equation of state contains {}.", self.0.len(), parameters.tc.len() diff --git a/crates/feos/src/cubic/mod.rs b/crates/feos/src/cubic/mod.rs index 8c4da3b7e..4f75bbc27 100644 --- a/crates/feos/src/cubic/mod.rs +++ b/crates/feos/src/cubic/mod.rs @@ -1,5 +1,7 @@ +use feos_core::FeosResult; use feos_core::parameter::Parameter; -use feos_core::{Components, FeosResult, Residual, StateHD}; // Whereis EosResult? +use feos_core::{Components, Residual}; +use feos_core::{Molarweight, StateHD}; use ndarray::{Array1, ScalarOperand, Zip}; use num_dual::DualNum; use quantity::{GRAM, MOL, MolarWeight}; @@ -130,190 +132,153 @@ impl Cubic { critical_parameters: p, }) } -} - -// /// Peng Robinson equation of state. -// /// -// /// Universal constants: -// /// - $\delta_1 = 1 + \sqrt{2}$ -// /// - $\delta_2 = 1 - \sqrt{2}$ -// /// -// /// If no options are supplied, the following is used: -// /// - alpha function: Peng Robinson (1976) -// /// - mixing rules: quadratic mixing -// pub fn peng_robinson( -// parameters: Arc, -// alpha: Option, -// mixing: Option, -// ) -> EosResult { -// let delta: Delta = (1.0 + SQRT_2, 1.0 - SQRT_2).into(); -// let p = CriticalParameters::new(¶meters, &delta); -// let options = CubicOptions { -// alpha: alpha.unwrap_or(PengRobinson1976.into()), -// mixing: mixing.unwrap_or(Quadratic.into()), -// delta, -// }; -// options.alpha.validate(¶meters)?; -// Ok(Self { -// parameters, -// options, -// critical_parameters: p, -// }) -// } - -// /// Create equation of state of (Suave) Redlich Kwong. -// /// -// /// Universal constants: -// /// - $\delta_1 = 1$ -// /// - $\delta_2 = 0$ -// /// -// /// If no options are supplied, the following is used: -// /// - alpha function: Soave (1972) -// /// - mixing rules: quadratic mixing -// pub fn redlich_kwong( -// parameters: Arc, -// alpha: Option, -// mixing: Option, -// ) -> EosResult { -// let delta: Delta = (1.0, 0.0).into(); -// let p = CriticalParameters::new(¶meters, &delta); -// let options = CubicOptions { -// alpha: alpha.unwrap_or(RedlichKwong1972.into()), -// mixing: mixing.unwrap_or(Quadratic.into()), -// delta, -// }; -// options.alpha.validate(¶meters)?; -// Ok(Self { -// parameters, -// options, -// critical_parameters: p, -// }) -// } -// } - -// impl fmt::Display for Cubic { -// fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { -// write!(f, "cubic") -// } -// } - -// impl Components for Cubic { -// fn components(&self) -> usize { -// self.parameters.tc.len() -// } -// fn subset(&self, component_list: &[usize]) -> Self { -// Self { -// parameters: Arc::new(self.parameters.subset(component_list)), -// options: self.options.subset(component_list), -// critical_parameters: self.critical_parameters.subset(component_list), -// } -// } -// } - -// impl Residual for Cubic { -// fn compute_max_density(&self, moles: &Array1) -> f64 { -// let b = (moles * &self.critical_parameters.bc).sum() / moles.sum(); -// 0.9 / b -// } - -// fn residual_helmholtz_energy + Copy + ScalarOperand>( -// &self, -// state: &StateHD, -// ) -> D { -// let MixtureParameters { a, b, c: _ } = self.options.mixing.apply(self, state); -// let n = state.moles.sum(); -// let v = state.volume; -// let bn = b * n; -// n * ((v / (v - bn)).ln() -// - a / (b * self.options.delta.d12 * state.temperature) -// * ((v + bn * self.options.delta.d1) / (v + bn * self.options.delta.d2)).ln()) -// } + /// Peng Robinson equation of state. + /// + /// Universal constants: + /// - $\delta_1 = 1 + \sqrt{2}$ + /// - $\delta_2 = 1 - \sqrt{2}$ + /// + /// If no options are supplied, the following is used: + /// - alpha function: Peng Robinson (1976) + /// - mixing rules: quadratic mixing + pub fn peng_robinson( + parameters: Arc, + alpha: Option, + mixing: Option, + ) -> FeosResult { + let delta: Delta = (1.0 + SQRT_2, 1.0 - SQRT_2).into(); + let p = CriticalParameters::new(¶meters, &delta); + let options = CubicOptions { + alpha: alpha.unwrap_or(PengRobinson1976.into()), + mixing: mixing.unwrap_or(Quadratic.into()), + delta, + }; + options.alpha.validate(¶meters)?; + Ok(Self { + parameters, + options, + critical_parameters: p, + }) + } -// fn residual_helmholtz_energy_contributions + Copy + ScalarOperand>( -// &self, -// state: &StateHD, -// ) -> Vec<(String, D)> { -// vec![("cubic".to_string(), self.residual_helmholtz_energy(state))] -// } + /// Create equation of state of (Suave) Redlich Kwong. + /// + /// Universal constants: + /// - $\delta_1 = 1$ + /// - $\delta_2 = 0$ + /// + /// If no options are supplied, the following is used: + /// - alpha function: Soave (1972) + /// - mixing rules: quadratic mixing + pub fn redlich_kwong( + parameters: Arc, + alpha: Option, + mixing: Option, + ) -> FeosResult { + let delta: Delta = (1.0, 0.0).into(); + let p = CriticalParameters::new(¶meters, &delta); + let options = CubicOptions { + alpha: alpha.unwrap_or(RedlichKwong1972.into()), + mixing: mixing.unwrap_or(Quadratic.into()), + delta, + }; + options.alpha.validate(¶meters)?; + Ok(Self { + parameters, + options, + critical_parameters: p, + }) + } +} -// fn molar_weight(&self) -> MolarWeight> { -// &self.parameters.molarweight * (GRAM / MOL) -// } -// } +impl fmt::Display for Cubic { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "cubic") + } +} -// #[cfg(test)] -// mod tests { -// use feos_core::{ -// cubic::{PengRobinson, PengRobinsonParameters, PengRobinsonRecord}, -// parameter::{Identifier, PureRecord}, -// }; -// use ndarray::arr1; -// use parameters::CubicRecord; +impl Components for Cubic { + fn components(&self) -> usize { + self.parameters.tc.len() + } -// use super::*; + fn subset(&self, component_list: &[usize]) -> Self { + Self { + parameters: Arc::new(self.parameters.subset(component_list)), + options: self.options.subset(component_list), + critical_parameters: self.critical_parameters.subset(component_list), + } + } +} -// #[test] -// fn a_res() { -// let propane = PureRecord::new( -// Identifier::new(None, Some("propane"), None, None, None, None), -// 44.0962, -// CubicRecord::new(369.96, 4250000.0, 0.153), -// ); -// let parameters = Arc::new(CubicParameters::new_pure(propane).unwrap()); -// let eos = Cubic::peng_robinson(parameters, None, None).unwrap(); -// dbg!(&eos.critical_parameters); -// let state = StateHD::new(300.0, 1e5, arr1(&[5.0])); +impl Residual for Cubic { + fn compute_max_density(&self, moles: &Array1) -> f64 { + let b = (moles * &self.critical_parameters.bc).sum() / moles.sum(); + 0.9 / b + } -// let propane = PureRecord::new( -// Identifier::new(None, Some("propane"), None, None, None, None), -// 44.0962, -// PengRobinsonRecord::new(369.96, 4250000.0, 0.153), -// ); -// let parameters = PengRobinsonParameters::new_pure(propane).unwrap(); -// let pr = Arc::new(PengRobinson::new(Arc::new(parameters))); + fn residual_helmholtz_energy + Copy + ScalarOperand>( + &self, + state: &StateHD, + ) -> D { + let MixtureParameters { a, b, c: _ } = self.options.mixing.apply(self, state); + let n = state.moles.sum(); + let v = state.volume; + let bn = b * n; + n * ((v / (v - bn)).ln() + - a / (b * self.options.delta.d12 * state.temperature) + * ((v + bn * self.options.delta.d1) / (v + bn * self.options.delta.d2)).ln()) + } -// assert_eq!( -// pr.residual_helmholtz_energy(&state), -// eos.residual_helmholtz_energy(&state) -// ) -// } -// } + fn residual_helmholtz_energy_contributions + Copy + ScalarOperand>( + &self, + state: &StateHD, + ) -> Vec<(String, D)> { + vec![("cubic".to_string(), self.residual_helmholtz_energy(state))] + } +} -// BAD STUF BELOW -/// To learn some testing setup. -pub fn dumb_sum(a: f64, b: f64) -> f64 { - // This is a dumb function that just adds two numbers together. - println!("we are in the dumb function"); - println!("Adding {} and {}", a, b); - let c = a + b; - println!("Result: {}", c); - c +impl Molarweight for Cubic { + fn molar_weight(&self) -> MolarWeight> { + &self.parameters.molarweight * (GRAM / MOL) + } } #[cfg(test)] -#[cfg(feature = "cubic")] mod tests { - use crate::cubic; // Import from parent module - use approx::assert_relative_eq; + use feos_core::{ + cubic::{PengRobinson, PengRobinsonParameters, PengRobinsonRecord}, + parameter::{Identifier, PureRecord}, + }; + use ndarray::arr1; + use parameters::CubicRecord; - #[test] - fn test_dumb_equation() { - let a = 1.0; - let b = 2.0; - - let result = cubic::dumb_sum(a, b); - assert_relative_eq!(result, a + b, epsilon = 1e-10); - } + use super::*; #[test] - fn fail_dumb_equation() { - let a = 1.0; - let b = 2.0; - - let deviation = 1.0; - - let result = cubic::dumb_sum(a, b); - assert_ne!(result, a + b + deviation); + fn a_res() { + let propane = PureRecord::new( + Identifier::new(None, Some("propane"), None, None, None, None), + 44.0962, + CubicRecord::new(369.96, 4250000.0, 0.153), + ); + let parameters = Arc::new(CubicParameters::new_pure(propane).unwrap()); + let eos = Cubic::peng_robinson(parameters, None, None).unwrap(); + dbg!(&eos.critical_parameters); + let state = StateHD::new(300.0, 1e5, arr1(&[5.0])); + + let propane = PureRecord::new( + Identifier::new(None, Some("propane"), None, None, None, None), + 44.0962, + PengRobinsonRecord::new(369.96, 4250000.0, 0.153), + ); + let parameters = PengRobinsonParameters::new_pure(propane).unwrap(); + let pr = Arc::new(PengRobinson::new(Arc::new(parameters))); + + assert_eq!( + pr.residual_helmholtz_energy(&state), + eos.residual_helmholtz_energy(&state) + ) } } From f5c5f1c97e7ef7902310d3dc035c956a67b7873a Mon Sep 17 00:00:00 2001 From: Jelle Lagerweij <106228752+JelleLagerweij@users.noreply.github.com> Date: Sun, 18 May 2025 00:01:10 +0200 Subject: [PATCH 06/13] Update test.yml also auto test cubic module --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0a7e8bde8..e1642bc3a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -28,7 +28,7 @@ jobs: strategy: fail-fast: false matrix: - model: [pcsaft, epcsaft, gc_pcsaft, pets, uvtheory, saftvrqmie, saftvrmie] + model: [pcsaft, epcsaft, gc_pcsaft, pets, uvtheory, saftvrqmie, saftvrmie, cubic] steps: - uses: actions/checkout@v4 From ec59539ac55ce5a993af5b04242ff5f196e534b6 Mon Sep 17 00:00:00 2001 From: JelleLagerweij Date: Sun, 18 May 2025 12:19:17 +0200 Subject: [PATCH 07/13] resctrutured imports a bit --- crates/feos/src/cubic/alpha/mathias_copeman.rs | 9 +++------ crates/feos/src/cubic/alpha/mod.rs | 10 +++++----- crates/feos/src/cubic/alpha/soave.rs | 11 ++++------- crates/feos/src/cubic/alpha/twu.rs | 9 +++------ crates/feos/src/cubic/mixing_rules.rs | 3 +-- crates/feos/src/cubic/mod.rs | 8 ++++---- 6 files changed, 20 insertions(+), 30 deletions(-) diff --git a/crates/feos/src/cubic/alpha/mathias_copeman.rs b/crates/feos/src/cubic/alpha/mathias_copeman.rs index 0a650ca71..fee29731b 100644 --- a/crates/feos/src/cubic/alpha/mathias_copeman.rs +++ b/crates/feos/src/cubic/alpha/mathias_copeman.rs @@ -1,13 +1,10 @@ -use std::sync::Arc; - +use super::AlphaFunction; +use crate::cubic::parameters::CubicParameters; use feos_core::{FeosError, FeosResult}; use ndarray::{Array1, Zip}; use num_dual::DualNum; use serde::{Deserialize, Serialize}; - -use crate::cubic::parameters::CubicParameters; - -use super::AlphaFunction; +use std::sync::Arc; #[derive(Serialize, Deserialize, Clone, Debug)] pub struct MathiasCopeman(pub Vec<[f64; 3]>); diff --git a/crates/feos/src/cubic/alpha/mod.rs b/crates/feos/src/cubic/alpha/mod.rs index 2c4598bb9..f44afa1d3 100644 --- a/crates/feos/src/cubic/alpha/mod.rs +++ b/crates/feos/src/cubic/alpha/mod.rs @@ -1,18 +1,18 @@ use super::parameters::CubicParameters; use enum_dispatch::enum_dispatch; use feos_core::FeosResult; +pub use mathias_copeman::MathiasCopeman; use ndarray::{Array1, ScalarOperand}; use num_dual::DualNum; -use std::sync::Arc; -mod soave; - pub use soave::{ PengRobinson1976, PengRobinson1978, PengRobinson2019, RedlichKwong1972, RedlichKwong2019, Soave, }; +use std::sync::Arc; +pub use twu::{GeneralizedTwu, Twu}; + mod mathias_copeman; -pub use mathias_copeman::MathiasCopeman; +mod soave; mod twu; -pub use twu::{GeneralizedTwu, Twu}; #[enum_dispatch] pub trait AlphaFunction { diff --git a/crates/feos/src/cubic/alpha/soave.rs b/crates/feos/src/cubic/alpha/soave.rs index f13d0243f..52d3c95ae 100644 --- a/crates/feos/src/cubic/alpha/soave.rs +++ b/crates/feos/src/cubic/alpha/soave.rs @@ -1,16 +1,13 @@ -use std::sync::Arc; - +use super::AlphaFunction; +use crate::cubic::parameters::CubicParameters; use feos_core::FeosResult; use ndarray::{Array1, Zip}; use num_dual::DualNum; use serde::{Deserialize, Serialize}; +use std::sync::Arc; -use crate::cubic::parameters::CubicParameters; - -use super::AlphaFunction; - -#[derive(Serialize, Deserialize, Clone, Debug)] /// Generic version of Soave's function using 3rd order polynomial. +#[derive(Serialize, Deserialize, Clone, Debug)] pub struct Soave { /// coefficients for m-polynomial mi: Array1, diff --git a/crates/feos/src/cubic/alpha/twu.rs b/crates/feos/src/cubic/alpha/twu.rs index ad7ec3940..198e69c8f 100644 --- a/crates/feos/src/cubic/alpha/twu.rs +++ b/crates/feos/src/cubic/alpha/twu.rs @@ -1,14 +1,11 @@ -use std::sync::Arc; - +use super::AlphaFunction; +use crate::cubic::parameters::CubicParameters; use feos_core::{FeosError, FeosResult}; use itertools::izip; use ndarray::{Array1, Zip}; use num_dual::DualNum; use serde::{Deserialize, Serialize}; - -use crate::cubic::parameters::CubicParameters; - -use super::AlphaFunction; +use std::sync::Arc; /// Generalized version of the Twu alpha function (1995). /// diff --git a/crates/feos/src/cubic/mixing_rules.rs b/crates/feos/src/cubic/mixing_rules.rs index b4614c569..bde1f7748 100644 --- a/crates/feos/src/cubic/mixing_rules.rs +++ b/crates/feos/src/cubic/mixing_rules.rs @@ -1,10 +1,9 @@ +use super::{Cubic, alpha::AlphaFunction}; use enum_dispatch::enum_dispatch; use feos_core::StateHD; use ndarray::ScalarOperand; use num_dual::DualNum; -use super::{Cubic, alpha::AlphaFunction}; - /// Parameters of cubics pub struct MixtureParameters { /// attractive contribution divided by R diff --git a/crates/feos/src/cubic/mod.rs b/crates/feos/src/cubic/mod.rs index 4f75bbc27..70f600f36 100644 --- a/crates/feos/src/cubic/mod.rs +++ b/crates/feos/src/cubic/mod.rs @@ -1,20 +1,20 @@ +use alpha::{Alpha, AlphaFunction, PengRobinson1976, RedlichKwong1972}; use feos_core::FeosResult; use feos_core::parameter::Parameter; use feos_core::{Components, Residual}; use feos_core::{Molarweight, StateHD}; +use mixing_rules::{MixingRule, MixingRuleFunction, MixtureParameters, Quadratic}; use ndarray::{Array1, ScalarOperand, Zip}; use num_dual::DualNum; +use parameters::CubicParameters; use quantity::{GRAM, MOL, MolarWeight}; use std::f64::consts::SQRT_2; use std::fmt; use std::sync::Arc; -mod parameters; -use parameters::CubicParameters; mod alpha; -use alpha::{Alpha, AlphaFunction, PengRobinson1976, RedlichKwong1972}; mod mixing_rules; -use mixing_rules::{MixingRule, MixingRuleFunction, MixtureParameters, Quadratic}; +mod parameters; const KB_A3: f64 = 13806490.0; From 8b96c6f9394a61f8acd08205e4a14b3a4993c878 Mon Sep 17 00:00:00 2001 From: JelleLagerweij Date: Tue, 20 May 2025 10:13:49 +0200 Subject: [PATCH 08/13] removed unnescecarry parts of the pull requests (.vscode file and unsignificant changes in unreleated modules) --- crates/feos/.vscode/settings.json | 3 --- crates/feos/src/pcsaft/eos/mod.rs | 4 ++-- crates/feos/src/pets/eos/mod.rs | 2 +- 3 files changed, 3 insertions(+), 6 deletions(-) delete mode 100644 crates/feos/.vscode/settings.json diff --git a/crates/feos/.vscode/settings.json b/crates/feos/.vscode/settings.json deleted file mode 100644 index a0a39348e..000000000 --- a/crates/feos/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "todo-tree.tree.showBadges": true -} \ No newline at end of file diff --git a/crates/feos/src/pcsaft/eos/mod.rs b/crates/feos/src/pcsaft/eos/mod.rs index 27ad46d7b..8cec46723 100644 --- a/crates/feos/src/pcsaft/eos/mod.rs +++ b/crates/feos/src/pcsaft/eos/mod.rs @@ -3,8 +3,8 @@ use crate::association::Association; use crate::hard_sphere::{HardSphere, HardSphereProperties}; use feos_core::parameter::Parameter; use feos_core::{ - Components, EntropyScaling, FeosError, FeosResult, Molarweight, ReferenceSystem, Residual, - State, StateHD, + Components, EntropyScaling, FeosError, FeosResult, Molarweight, ReferenceSystem, Residual, State, + StateHD }; use ndarray::Array1; use num_dual::DualNum; diff --git a/crates/feos/src/pets/eos/mod.rs b/crates/feos/src/pets/eos/mod.rs index 2d4e43a63..623cfde6b 100644 --- a/crates/feos/src/pets/eos/mod.rs +++ b/crates/feos/src/pets/eos/mod.rs @@ -3,7 +3,7 @@ use crate::hard_sphere::HardSphere; use feos_core::parameter::Parameter; use feos_core::{Components, Molarweight, Residual}; use ndarray::Array1; -use quantity::{GRAM, MOL, MolarWeight}; +use quantity::{MolarWeight, GRAM, MOL}; use std::f64::consts::FRAC_PI_6; use std::sync::Arc; From f39634bce6a2d9449fc439010318efd1fb44d1bf Mon Sep 17 00:00:00 2001 From: JelleLagerweij Date: Tue, 20 May 2025 10:17:28 +0200 Subject: [PATCH 09/13] removed unescecarry file --- crates/feos/TASKS.md | 34 ------------------------------- crates/feos/src/pcsaft/eos/mod.rs | 2 +- 2 files changed, 1 insertion(+), 35 deletions(-) delete mode 100644 crates/feos/TASKS.md diff --git a/crates/feos/TASKS.md b/crates/feos/TASKS.md deleted file mode 100644 index 6485b6b49..000000000 --- a/crates/feos/TASKS.md +++ /dev/null @@ -1,34 +0,0 @@ -# get the imports and interconnect the files -## src/cubic/mod.rs - -[x] use feos_core::parameter::Parameter; -[x] use feos_core::si::{MolarWeight, GRAM, MOL}; -[X] use feos_core::{Components, Residual, StateHD}; - -[x] use ndarray::{Array1, ScalarOperand, Zip}; -[x] use num_dual::DualNum; -[x] use std::f64::consts::SQRT_2; -[x] use std::fmt; -[x] use std::sync::Arc; -[x] mod parameters; - - -### Finding Problems: -[ ] use feos_core::{EoSresult} - - -### Still to implement: -[ ] mod alpha; -[ ] use alpha::{Alpha, AlphaFunction, PengRobinson1976, RedlichKwong1972}; -[ ] mod mixing_rules; -[ ] use mixing_rules::{MixingRule, MixingRuleFunction, MixtureParameters, Quadratic}; - - -## src/cubic/mod.rs -[x] use feos_core::parameter::{Identifier, Parameter, PureRecord}; -[x] use ndarray::{Array1, Array2}; -[x] use num_traits::Zero; -[x] use serde::{Deserialize, Serialize}; - - -## src/cubic/alpha diff --git a/crates/feos/src/pcsaft/eos/mod.rs b/crates/feos/src/pcsaft/eos/mod.rs index 8cec46723..788150795 100644 --- a/crates/feos/src/pcsaft/eos/mod.rs +++ b/crates/feos/src/pcsaft/eos/mod.rs @@ -4,7 +4,7 @@ use crate::hard_sphere::{HardSphere, HardSphereProperties}; use feos_core::parameter::Parameter; use feos_core::{ Components, EntropyScaling, FeosError, FeosResult, Molarweight, ReferenceSystem, Residual, State, - StateHD + StateHD, }; use ndarray::Array1; use num_dual::DualNum; From 6dc3a7f5780f0e0ce9cab5ad5c3bf3c1e78ec0ee Mon Sep 17 00:00:00 2001 From: JelleLagerweij Date: Mon, 2 Jun 2025 10:12:53 +0200 Subject: [PATCH 10/13] Added additional testing to investigate why the implemented cubic eos do not pass testing --- crates/feos/src/cubic/mod.rs | 144 +++++++++++++++++++++++++++++++---- 1 file changed, 128 insertions(+), 16 deletions(-) diff --git a/crates/feos/src/cubic/mod.rs b/crates/feos/src/cubic/mod.rs index 70f600f36..2c738266c 100644 --- a/crates/feos/src/cubic/mod.rs +++ b/crates/feos/src/cubic/mod.rs @@ -247,38 +247,150 @@ impl Molarweight for Cubic { #[cfg(test)] mod tests { + // general import + use super::{ + Cubic, PengRobinson1976, + alpha::Alpha, + mixing_rules::{MixingRule, Quadratic}, + parameters::{CubicParameters, CubicRecord}, + }; use feos_core::{ + Contributions::{IdealGas, Total}, + StateBuilder, StateHD, cubic::{PengRobinson, PengRobinsonParameters, PengRobinsonRecord}, - parameter::{Identifier, PureRecord}, + parameter::{Identifier, Parameter, PureRecord}, }; use ndarray::arr1; - use parameters::CubicRecord; + use quantity::*; + use std::sync::Arc; + use typenum::P3; use super::*; #[test] fn a_res() { - let propane = PureRecord::new( + println!("PengRobinson Propane Residual Helmholtz Free Energy Test"); + + let pc = 4.21e6; // Pa + let tc = 369.83; // K + let mw = 44.1; // g/mol + let omega = 0.153; // dimensionless + + // Create the newly implemented PR record + let propane_implemented = PureRecord::new( Identifier::new(None, Some("propane"), None, None, None, None), - 44.0962, - CubicRecord::new(369.96, 4250000.0, 0.153), + mw, + CubicRecord::new(tc, pc, omega), ); - let parameters = Arc::new(CubicParameters::new_pure(propane).unwrap()); - let eos = Cubic::peng_robinson(parameters, None, None).unwrap(); - dbg!(&eos.critical_parameters); - let state = StateHD::new(300.0, 1e5, arr1(&[5.0])); - let propane = PureRecord::new( + let parameters_implemented = + Arc::new(CubicParameters::new_pure(propane_implemented).unwrap()); + + let eos_implemented = Cubic::peng_robinson( + parameters_implemented, + Some(Alpha::PengRobinson1976(PengRobinson1976)), + Some(MixingRule::Quadratic(Quadratic)), + ) + .unwrap(); + + dbg!(&eos_implemented.critical_parameters); + + // Create the original PR record for comparison from feos-core. + let propane_compare = PureRecord::new( Identifier::new(None, Some("propane"), None, None, None, None), - 44.0962, - PengRobinsonRecord::new(369.96, 4250000.0, 0.153), + mw, + PengRobinsonRecord::new(tc, pc, omega), ); - let parameters = PengRobinsonParameters::new_pure(propane).unwrap(); - let pr = Arc::new(PengRobinson::new(Arc::new(parameters))); + + let parameters_compare = PengRobinsonParameters::new_pure(propane_compare).unwrap(); + let eos_compare = Arc::new(PengRobinson::new(Arc::new(parameters_compare))); + + // Test state. Residual Helmholtz energy of both eos will be used to test. + let state = StateHD::new(300.0, 1.0e5, arr1(&[5.0])); + + dbg!(&state); assert_eq!( - pr.residual_helmholtz_energy(&state), - eos.residual_helmholtz_energy(&state) + eos_implemented.residual_helmholtz_energy(&state), + eos_compare.residual_helmholtz_energy(&state) ) } + + #[test] + fn pressure() { + let pc = 4.21e6; // Pa + let tc = 369.83; // K + let mw = 44.1; // g/mol + let omega = 0.153; // dimensionless + + // Create the newly implemented PR record + let propane_implemented = PureRecord::new( + Identifier::new(None, Some("propane"), None, None, None, None), + mw, + CubicRecord::new(tc, pc, omega), + ); + + let parameters_implemented = + Arc::new(CubicParameters::new_pure(propane_implemented).unwrap()); + + let eos_implemented = Arc::new( + Cubic::peng_robinson( + parameters_implemented, + Some(Alpha::PengRobinson1976(PengRobinson1976)), + Some(MixingRule::Quadratic(Quadratic)), + ) + .unwrap(), + ); + + // Create the original PR record for comparison from feos-core. + let propane_compare = PureRecord::new( + Identifier::new(None, Some("propane"), None, None, None, None), + mw, + PengRobinsonRecord::new(tc, pc, omega), + ); + + let parameters_compare = PengRobinsonParameters::new_pure(propane_compare).unwrap(); + let eos_compare = Arc::new(PengRobinson::new(Arc::new(parameters_compare))); + + // Build the test state + // Set volume and moles to define the state + let temp = 300.0 * KELVIN; + let vol = 8.7e-5 * METER.powi::(); + let mol = arr1(&[1.0]) * MOL; + + // Build the state with implemented pr eos + let state_implemented = StateBuilder::new(&eos_implemented) + .temperature(temp) + .volume(vol) + .moles(&mol) + .build() + .unwrap(); + + // Build the state with compare eos + let state_compare = StateBuilder::new(&eos_compare) + .temperature(temp) + .volume(vol) + .moles(&mol) + .build() + .unwrap(); + + // Pressure + println!( + "Implemented Total pressure {}", + state_compare.pressure(Total) + ); + + println!("Compare Total pressure {}", state_compare.pressure(Total)); + + // // other properties: + // // feos-core::state -> residual_properties.rs work fine to get from the state + // let a_r = state_implemented.residual_helmholtz_energy(); + // // feos-core::state --> properties.rs complain that IdeaGas was not implemented correctly + // let a = state_implemented.helmholtz_energy(); + + assert_eq!( + state_implemented.pressure(Total), + state_compare.pressure(Total) + ); + } } From a424fbfc7e0db055be8340798b5e920dfb9e4c9e Mon Sep 17 00:00:00 2001 From: JelleLagerweij Date: Sun, 6 Jul 2025 13:08:58 +0200 Subject: [PATCH 11/13] WIP: local changes before merging upstream --- .github/workflows/documentation.yml | 0 .github/workflows/release.yml | 0 .github/workflows/release_core.yml | 0 .github/workflows/release_derive.yml | 0 .github/workflows/release_dft.yml | 0 .github/workflows/test.yml | 0 .github/workflows/wheels.yml | 0 .gitignore | 0 .idea/.gitignore | 8 ++++++++ .idea/feos_cubics.iml | 18 ++++++++++++++++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 6 ++++++ CHANGELOG.md | 0 CITATION.bib | 0 Cargo.toml | 0 README.md | 0 crates/feos-core/CHANGELOG.md | 0 crates/feos-core/Cargo.toml | 0 crates/feos-core/README.md | 0 crates/feos-core/docs-header.html | 0 crates/feos-core/license-apache | 1 - crates/feos-core/license-mit | 1 - crates/feos-core/src/cubic.rs | 0 crates/feos-core/src/density_iteration.rs | 0 .../src/equation_of_state/ideal_gas.rs | 0 crates/feos-core/src/equation_of_state/mod.rs | 0 .../src/equation_of_state/residual.rs | 0 crates/feos-core/src/errors.rs | 0 crates/feos-core/src/lib.rs | 0 .../src/parameter/chemical_record.rs | 0 crates/feos-core/src/parameter/identifier.rs | 0 crates/feos-core/src/parameter/mod.rs | 0 .../feos-core/src/parameter/model_record.rs | 0 crates/feos-core/src/parameter/segment.rs | 0 .../src/phase_equilibria/bubble_dew.rs | 0 crates/feos-core/src/phase_equilibria/mod.rs | 0 .../phase_equilibria/phase_diagram_binary.rs | 0 .../phase_equilibria/phase_diagram_pure.rs | 0 .../src/phase_equilibria/phase_envelope.rs | 0 .../phase_equilibria/stability_analysis.rs | 0 .../src/phase_equilibria/tp_flash.rs | 0 .../src/phase_equilibria/vle_pure.rs | 0 crates/feos-core/src/state/builder.rs | 0 crates/feos-core/src/state/cache.rs | 0 crates/feos-core/src/state/critical_point.rs | 0 crates/feos-core/src/state/mod.rs | 0 crates/feos-core/src/state/properties.rs | 0 .../src/state/residual_properties.rs | 0 crates/feos-core/src/state/statevec.rs | 0 crates/feos-core/tests/parameters.rs | 0 crates/feos-core/tests/test_parameters1.json | 0 crates/feos-core/tests/test_parameters2.json | 0 .../tests/test_parameters_binary.json | 0 crates/feos-derive/Cargo.toml | 0 crates/feos-derive/README.md | 0 crates/feos-derive/src/components.rs | 0 crates/feos-derive/src/dft.rs | 0 .../src/functional_contribution.rs | 0 crates/feos-derive/src/ideal_gas.rs | 0 crates/feos-derive/src/lib.rs | 0 crates/feos-derive/src/residual.rs | 0 crates/feos-dft/CHANGELOG.md | 0 crates/feos-dft/Cargo.toml | 0 crates/feos-dft/README.md | 0 crates/feos-dft/docs-header.html | 0 .../src/adsorption/external_potential.rs | 0 .../feos-dft/src/adsorption/fea_potential.rs | 0 crates/feos-dft/src/adsorption/mod.rs | 0 crates/feos-dft/src/adsorption/pore.rs | 0 crates/feos-dft/src/adsorption/pore2d.rs | 0 crates/feos-dft/src/adsorption/pore3d.rs | 0 crates/feos-dft/src/convolver/mod.rs | 0 .../src/convolver/periodic_convolver.rs | 0 crates/feos-dft/src/convolver/transform.rs | 0 crates/feos-dft/src/functional.rs | 0 .../feos-dft/src/functional_contribution.rs | 0 crates/feos-dft/src/geometry.rs | 0 .../feos-dft/src/ideal_chain_contribution.rs | 0 crates/feos-dft/src/interface/mod.rs | 0 .../src/interface/surface_tension_diagram.rs | 0 crates/feos-dft/src/lib.rs | 0 crates/feos-dft/src/pdgt.rs | 0 crates/feos-dft/src/profile/mod.rs | 0 crates/feos-dft/src/profile/properties.rs | 0 crates/feos-dft/src/solvation/mod.rs | 0 .../src/solvation/pair_correlation.rs | 0 .../src/solvation/solvation_profile.rs | 0 crates/feos-dft/src/solver.rs | 0 crates/feos-dft/src/weight_functions.rs | 0 crates/feos/Cargo.toml | 0 crates/feos/benches/README.md | 0 crates/feos/benches/contributions.rs | 0 crates/feos/benches/dft_pore.rs | 0 crates/feos/benches/dual_numbers.rs | 0 crates/feos/benches/dual_numbers_saftvrmie.rs | 0 crates/feos/benches/state_creation.rs | 0 crates/feos/benches/state_properties.rs | 0 crates/feos/src/association/dft.rs | 0 crates/feos/src/association/mod.rs | 0 .../feos/src/cubic/alpha/mathias_copeman.rs | 0 crates/feos/src/cubic/alpha/mod.rs | 0 crates/feos/src/cubic/alpha/soave.rs | 0 crates/feos/src/cubic/alpha/twu.rs | 0 crates/feos/src/cubic/mixing_rules.rs | 0 crates/feos/src/cubic/mod.rs | 0 crates/feos/src/cubic/parameters.rs | 0 crates/feos/src/epcsaft/eos/born.rs | 0 crates/feos/src/epcsaft/eos/dispersion.rs | 0 crates/feos/src/epcsaft/eos/hard_chain.rs | 0 crates/feos/src/epcsaft/eos/ionic.rs | 0 crates/feos/src/epcsaft/eos/mod.rs | 0 crates/feos/src/epcsaft/eos/permittivity.rs | 0 crates/feos/src/epcsaft/mod.rs | 0 crates/feos/src/epcsaft/parameters.rs | 0 crates/feos/src/estimator/binary_vle.rs | 0 crates/feos/src/estimator/dataset.rs | 0 crates/feos/src/estimator/diffusion.rs | 0 crates/feos/src/estimator/estimator.rs | 0 crates/feos/src/estimator/impl_dataset.rs | 0 crates/feos/src/estimator/liquid_density.rs | 0 crates/feos/src/estimator/loss.rs | 0 crates/feos/src/estimator/mod.rs | 0 crates/feos/src/estimator/pt_data.rs | 0 crates/feos/src/estimator/strategy.rs | 0 .../src/estimator/thermal_conductivity.rs | 0 crates/feos/src/estimator/vapor_pressure.rs | 0 crates/feos/src/estimator/viscosity.rs | 0 crates/feos/src/gc_pcsaft/dft/dispersion.rs | 0 crates/feos/src/gc_pcsaft/dft/hard_chain.rs | 0 crates/feos/src/gc_pcsaft/dft/mod.rs | 0 crates/feos/src/gc_pcsaft/dft/parameter.rs | 0 crates/feos/src/gc_pcsaft/eos/dispersion.rs | 0 crates/feos/src/gc_pcsaft/eos/hard_chain.rs | 0 crates/feos/src/gc_pcsaft/eos/mod.rs | 0 crates/feos/src/gc_pcsaft/eos/parameter.rs | 0 crates/feos/src/gc_pcsaft/eos/polar.rs | 0 crates/feos/src/gc_pcsaft/micelles.rs | 0 crates/feos/src/gc_pcsaft/mod.rs | 0 crates/feos/src/gc_pcsaft/record.rs | 0 crates/feos/src/hard_sphere/dft.rs | 0 crates/feos/src/hard_sphere/mod.rs | 0 crates/feos/src/ideal_gas/dippr.rs | 0 crates/feos/src/ideal_gas/joback.rs | 0 crates/feos/src/ideal_gas/mod.rs | 0 crates/feos/src/lib.rs | 0 crates/feos/src/pcsaft/dft/dispersion.rs | 0 crates/feos/src/pcsaft/dft/hard_chain.rs | 0 crates/feos/src/pcsaft/dft/mod.rs | 0 crates/feos/src/pcsaft/dft/polar.rs | 0 .../src/pcsaft/dft/pure_saft_functional.rs | 0 crates/feos/src/pcsaft/eos/dispersion.rs | 0 crates/feos/src/pcsaft/eos/hard_chain.rs | 0 crates/feos/src/pcsaft/eos/mod.rs | 0 crates/feos/src/pcsaft/eos/polar.rs | 0 crates/feos/src/pcsaft/mod.rs | 0 crates/feos/src/pcsaft/parameters.rs | 2 +- crates/feos/src/pets/dft/dispersion.rs | 0 crates/feos/src/pets/dft/mod.rs | 0 .../feos/src/pets/dft/pure_pets_functional.rs | 0 crates/feos/src/pets/eos/dispersion.rs | 0 crates/feos/src/pets/eos/mod.rs | 0 crates/feos/src/pets/mod.rs | 0 crates/feos/src/pets/parameters.rs | 0 crates/feos/src/saftvrmie/eos/association.rs | 0 crates/feos/src/saftvrmie/eos/dispersion.rs | 0 crates/feos/src/saftvrmie/eos/mod.rs | 0 crates/feos/src/saftvrmie/mod.rs | 0 crates/feos/src/saftvrmie/parameters.rs | 0 crates/feos/src/saftvrqmie/dft/dispersion.rs | 0 crates/feos/src/saftvrqmie/dft/mod.rs | 0 .../src/saftvrqmie/dft/non_additive_hs.rs | 0 crates/feos/src/saftvrqmie/eos/dispersion.rs | 0 crates/feos/src/saftvrqmie/eos/hard_sphere.rs | 0 crates/feos/src/saftvrqmie/eos/mod.rs | 0 .../src/saftvrqmie/eos/non_additive_hs.rs | 0 crates/feos/src/saftvrqmie/mod.rs | 0 crates/feos/src/saftvrqmie/parameters.rs | 0 .../eos/bh/attractive_perturbation.rs | 0 .../feos/src/uvtheory/eos/bh/hard_sphere.rs | 0 crates/feos/src/uvtheory/eos/bh/mod.rs | 0 .../uvtheory/eos/bh/reference_perturbation.rs | 0 crates/feos/src/uvtheory/eos/mod.rs | 0 .../eos/wca/attractive_perturbation.rs | 0 .../eos/wca/attractive_perturbation_uvb3.rs | 0 .../feos/src/uvtheory/eos/wca/hard_sphere.rs | 0 crates/feos/src/uvtheory/eos/wca/mod.rs | 0 .../eos/wca/reference_perturbation.rs | 0 .../eos/wca/reference_perturbation_uvb3.rs | 0 crates/feos/src/uvtheory/mod.rs | 0 crates/feos/src/uvtheory/parameters.rs | 0 crates/feos/tests/gc_pcsaft/binary.rs | 0 crates/feos/tests/gc_pcsaft/dft.rs | 0 crates/feos/tests/gc_pcsaft/mod.rs | 0 crates/feos/tests/main.rs | 0 crates/feos/tests/pcsaft/critical_point.rs | 0 crates/feos/tests/pcsaft/dft.rs | 0 crates/feos/tests/pcsaft/mod.rs | 0 crates/feos/tests/pcsaft/properties.rs | 0 .../feos/tests/pcsaft/stability_analysis.rs | 0 .../tests/pcsaft/state_creation_mixture.rs | 0 .../feos/tests/pcsaft/state_creation_pure.rs | 0 crates/feos/tests/pcsaft/test_parameters.json | 0 .../tests/pcsaft/test_parameters_joback.json | 0 crates/feos/tests/pcsaft/tp_flash.rs | 0 crates/feos/tests/pcsaft/vle_pure.rs | 0 .../tests/saftvrmie/critical_properties.rs | 0 crates/feos/tests/saftvrmie/mod.rs | 0 docs-header.html | 0 docs/Makefile | 0 docs/_templates/autosummary/base.rst | 0 docs/_templates/autosummary/class.rst | 0 docs/api/dft.md | 0 docs/api/dippr.md | 0 docs/api/eos.md | 0 docs/api/epcsaft.md | 0 docs/api/gc_pcsaft.md | 0 docs/api/index.md | 0 docs/api/joback.md | 0 docs/api/pcsaft.md | 0 docs/api/peng_robinson.md | 0 docs/api/pets.md | 0 docs/api/saftvrmie.md | 0 docs/api/saftvrqmie.md | 0 docs/api/uvtheory.md | 0 docs/conf.py | 0 docs/help_and_feedback.md | 0 docs/index.md | 0 docs/installation.md | 0 docs/recipes/index.md | 0 .../recipes/recipes_critical_point_pure.ipynb | 0 docs/recipes/recipes_p_sat_t_boil.ipynb | 0 docs/recipes/recipes_phase_diagram_pure.ipynb | 0 .../recipes_phase_equilibrium_pure.ipynb | 0 ...recipes_surface_tension_diagram_pure.ipynb | 0 .../recipes_surface_tension_pure.ipynb | 0 docs/rust_api.md | 0 docs/rustguide/core/equation_of_state.rst | 0 docs/rustguide/core/index.md | 0 docs/rustguide/core/state.rst | 0 docs/rustguide/index.md | 0 docs/theory/dft/derivatives.md | 0 docs/theory/dft/enthalpy_of_adsorption.md | 0 docs/theory/dft/euler_lagrange_equation.md | 0 docs/theory/dft/functional_derivatives.md | 0 docs/theory/dft/ideal_gas.md | 0 docs/theory/dft/index.md | 0 docs/theory/dft/solver.md | 0 docs/theory/eos/critical_points.md | 0 docs/theory/eos/index.md | 0 docs/theory/eos/properties.md | 0 docs/theory/models/FeOs_Association.png | Bin docs/theory/models/association.md | 0 docs/theory/models/hard_spheres.md | 0 docs/theory/models/index.md | 0 docs/tutorials/dft/index.md | 0 docs/tutorials/dft/pcsaft/index.md | 0 .../dft/pcsaft/pcsaft_surface_tension.ipynb | 0 docs/tutorials/eos/index.md | 0 docs/tutorials/eos/pcsaft/index.md | 0 .../eos/pcsaft/pcsaft_entropy_scaling.ipynb | 0 .../eos/pcsaft/pcsaft_phase_diagram.ipynb | 0 .../pcsaft_working_with_parameters.ipynb | 0 .../eos/python/core_user_defined_eos.ipynb | 0 docs/tutorials/eos/python/index.md | 0 docs/tutorials/index.md | 0 .../tutorials/utility/core_dual_numbers.ipynb | 0 .../utility/core_working_with_units.ipynb | 0 docs/tutorials/utility/index.md | 0 examples/core_dual_numbers.ipynb | 0 examples/core_user_defined_eos.ipynb | 0 examples/core_working_with_units.ipynb | 0 examples/data/hexane_nist.csv | 0 examples/data/lennard_jones_nist.csv | 0 examples/data/water_vle_nist.csv | 0 examples/gc_pcsaft_functional.ipynb | 0 examples/lj_models.ipynb | 0 examples/pc_saft_phase_diagram_to_dict.ipynb | 0 examples/pcsaft/Entropy Scaling.ipynb | 0 examples/pcsaft/PhaseDiagramBinary.ipynb | 0 examples/pcsaft/adsorption_isotherms.ipynb | 0 examples/pcsaft/fea_adsorption.ipynb | 0 examples/pcsaft/hexane_nist.csv | 0 .../pcsaft/parameter_adjustment/README.md | 0 .../parameter_adjustment/adjust_kij.ipynb | 0 .../adjust_non_polar_non_asssociating.ipynb | 0 .../adjust_viscosity_correlation.ipynb | 0 .../parameter_adjustment/data/binary_vle.csv | 0 .../data/hexane_liquid_density.csv | 0 .../data/hexane_vapor_pressure.csv | 0 .../data/hexane_viscosity.csv | 0 examples/pcsaft/pore_geometry.ipynb | 0 .../pcsaft/structure_parameters/ZIF-8.cif | 0 .../structure_parameters/noble_gases.json | 0 examples/pcsaft_entropy_scaling.ipynb | 0 examples/pcsaft_phase_diagram.ipynb | 0 examples/pcsaft_surface_tension.ipynb | 0 examples/pcsaft_working_with_parameters.ipynb | 0 examples/peng-robinson.json | 0 examples/pets_eos_binary_caseI.ipynb | 0 examples/saftvrmie/lafitte_critical_data.csv | 0 examples/saftvrmie/validate_lafitte.ipynb | 0 .../data/deuterium_helium_exp_data.dat | 0 .../data/hydrogen_deuterium_exp_data.dat | 0 .../data/hydrogen_helium_exp_data.dat | 0 examples/saftvrqmie/deuterium_32K.table | 0 .../saftvrqmie/deuterium_helium_binary.ipynb | 0 examples/saftvrqmie/deuterium_neon_32K.rdf | 0 examples/saftvrqmie/deuterium_neon_32K.table | 0 .../hydrogen_deuterium_binary.ipynb | 0 examples/saftvrqmie/hydrogen_fh1_vs_fh2.ipynb | 0 .../saftvrqmie/hydrogen_helium_binary.ipynb | 0 .../saftvrqmie/hydrogen_neon_binary.ipynb | 0 examples/saftvrqmie/in.binary_deuterium_neon | 0 .../saftvrqmie/mulero_2012_parameters.json | 0 examples/saftvrqmie/neon_32K.table | 0 examples/saftvrqmie/quantum_fluid_dft.ipynb | 0 .../radial_distribution_function.ipynb | 0 license-apache | 0 license-mit | 0 manuscript/README.md | 0 manuscript/manuscript.pdf | Bin parameters/epcsaft/README.md | 0 parameters/epcsaft/held2014_binary.json | 0 .../held2014_w_permittivity_added.json | 0 parameters/epcsaft/literature.bib | 0 parameters/ideal_gas/README.md | 0 parameters/ideal_gas/joback1987.json | 0 parameters/ideal_gas/literature.bib | 0 parameters/ideal_gas/poling2000.json | 0 parameters/pcsaft/README.md | 0 parameters/pcsaft/eller2022.json | 0 parameters/pcsaft/esper2023.json | 0 parameters/pcsaft/gc_substances.json | 0 parameters/pcsaft/gross2001.json | 0 parameters/pcsaft/gross2002.json | 0 parameters/pcsaft/gross2002_binary.json | 0 parameters/pcsaft/gross2005_fit.json | 0 parameters/pcsaft/gross2005_literature.json | 0 parameters/pcsaft/gross2006.json | 0 parameters/pcsaft/literature.bib | 0 parameters/pcsaft/loetgeringlin2015_homo.json | 0 parameters/pcsaft/loetgeringlin2018.json | 0 parameters/pcsaft/rehner2020.json | 0 parameters/pcsaft/rehner2023_binary.json | 0 parameters/pcsaft/rehner2023_hetero.json | 0 .../pcsaft/rehner2023_hetero_binary.json | 0 parameters/pcsaft/rehner2023_homo.json | 0 parameters/pcsaft/rehner2023_homo_binary.json | 0 parameters/pcsaft/sauer2014_hetero.json | 0 parameters/pcsaft/sauer2014_homo.json | 0 parameters/pcsaft/sauer2014_smarts.json | 0 parameters/saftvrmie/README.md | 0 parameters/saftvrmie/lafitte2013.json | 0 parameters/saftvrmie/literature.bib | 0 parameters/saftvrqmie/README.md | 0 parameters/saftvrqmie/aasen2019.json | 0 parameters/saftvrqmie/aasen2019_fh2.json | 0 parameters/saftvrqmie/aasen2020_binary.json | 0 .../saftvrqmie/aasen2020_binary_fh2.json | 0 parameters/saftvrqmie/hammer2023.json | 0 parameters/saftvrqmie/literature.bib | 0 py-feos/.python-version | 0 py-feos/Cargo.toml | 0 py-feos/README.md | 0 py-feos/feos/__init__.py | 0 py-feos/feos/dft.py | 0 py-feos/feos/dft.pyi | 0 py-feos/feos/estimator.py | 0 py-feos/feos/estimator.pyi | 0 py-feos/feos/feos.pyi | 0 py-feos/feos/parameters.py | 0 py-feos/feos/parameters.pyi | 0 py-feos/pyproject.toml | 0 .../src/dft/adsorption/external_potential.rs | 0 py-feos/src/dft/adsorption/mod.rs | 0 py-feos/src/dft/adsorption/pore.rs | 0 py-feos/src/dft/interface/mod.rs | 0 .../dft/interface/surface_tension_diagram.rs | 0 py-feos/src/dft/mod.rs | 0 py-feos/src/dft/profile.rs | 0 py-feos/src/dft/solvation.rs | 0 py-feos/src/dft/solver.rs | 0 py-feos/src/eos/constructors.rs | 0 py-feos/src/eos/epcsaft.rs | 0 py-feos/src/eos/gc_pcsaft.rs | 0 py-feos/src/eos/mod.rs | 0 py-feos/src/eos/pcsaft.rs | 0 py-feos/src/eos/pets.rs | 0 py-feos/src/eos/saftvrmie.rs | 0 py-feos/src/eos/saftvrqmie.rs | 0 py-feos/src/eos/uvtheory.rs | 0 py-feos/src/error.rs | 0 py-feos/src/estimator.rs | 0 py-feos/src/ideal_gas.rs | 0 py-feos/src/lib.rs | 0 py-feos/src/parameter/chemical_record.rs | 0 py-feos/src/parameter/fragmentation.rs | 0 py-feos/src/parameter/identifier.rs | 0 py-feos/src/parameter/mod.rs | 0 py-feos/src/parameter/model_record.rs | 0 py-feos/src/parameter/segment.rs | 0 py-feos/src/phase_equilibria.rs | 0 py-feos/src/residual.rs | 0 py-feos/src/state.rs | 0 py-feos/src/user_defined.rs | 0 py-feos/uv.lock | 0 406 files changed, 41 insertions(+), 3 deletions(-) mode change 100644 => 100755 .github/workflows/documentation.yml mode change 100644 => 100755 .github/workflows/release.yml mode change 100644 => 100755 .github/workflows/release_core.yml mode change 100644 => 100755 .github/workflows/release_derive.yml mode change 100644 => 100755 .github/workflows/release_dft.yml mode change 100644 => 100755 .github/workflows/test.yml mode change 100644 => 100755 .github/workflows/wheels.yml mode change 100644 => 100755 .gitignore create mode 100755 .idea/.gitignore create mode 100755 .idea/feos_cubics.iml create mode 100755 .idea/modules.xml create mode 100755 .idea/vcs.xml mode change 100644 => 100755 CHANGELOG.md mode change 100644 => 100755 CITATION.bib mode change 100644 => 100755 Cargo.toml mode change 100644 => 100755 README.md mode change 100644 => 100755 crates/feos-core/CHANGELOG.md mode change 100644 => 100755 crates/feos-core/Cargo.toml mode change 100644 => 100755 crates/feos-core/README.md mode change 100644 => 100755 crates/feos-core/docs-header.html mode change 120000 => 100755 crates/feos-core/license-apache mode change 120000 => 100755 crates/feos-core/license-mit mode change 100644 => 100755 crates/feos-core/src/cubic.rs mode change 100644 => 100755 crates/feos-core/src/density_iteration.rs mode change 100644 => 100755 crates/feos-core/src/equation_of_state/ideal_gas.rs mode change 100644 => 100755 crates/feos-core/src/equation_of_state/mod.rs mode change 100644 => 100755 crates/feos-core/src/equation_of_state/residual.rs mode change 100644 => 100755 crates/feos-core/src/errors.rs mode change 100644 => 100755 crates/feos-core/src/lib.rs mode change 100644 => 100755 crates/feos-core/src/parameter/chemical_record.rs mode change 100644 => 100755 crates/feos-core/src/parameter/identifier.rs mode change 100644 => 100755 crates/feos-core/src/parameter/mod.rs mode change 100644 => 100755 crates/feos-core/src/parameter/model_record.rs mode change 100644 => 100755 crates/feos-core/src/parameter/segment.rs mode change 100644 => 100755 crates/feos-core/src/phase_equilibria/bubble_dew.rs mode change 100644 => 100755 crates/feos-core/src/phase_equilibria/mod.rs mode change 100644 => 100755 crates/feos-core/src/phase_equilibria/phase_diagram_binary.rs mode change 100644 => 100755 crates/feos-core/src/phase_equilibria/phase_diagram_pure.rs mode change 100644 => 100755 crates/feos-core/src/phase_equilibria/phase_envelope.rs mode change 100644 => 100755 crates/feos-core/src/phase_equilibria/stability_analysis.rs mode change 100644 => 100755 crates/feos-core/src/phase_equilibria/tp_flash.rs mode change 100644 => 100755 crates/feos-core/src/phase_equilibria/vle_pure.rs mode change 100644 => 100755 crates/feos-core/src/state/builder.rs mode change 100644 => 100755 crates/feos-core/src/state/cache.rs mode change 100644 => 100755 crates/feos-core/src/state/critical_point.rs mode change 100644 => 100755 crates/feos-core/src/state/mod.rs mode change 100644 => 100755 crates/feos-core/src/state/properties.rs mode change 100644 => 100755 crates/feos-core/src/state/residual_properties.rs mode change 100644 => 100755 crates/feos-core/src/state/statevec.rs mode change 100644 => 100755 crates/feos-core/tests/parameters.rs mode change 100644 => 100755 crates/feos-core/tests/test_parameters1.json mode change 100644 => 100755 crates/feos-core/tests/test_parameters2.json mode change 100644 => 100755 crates/feos-core/tests/test_parameters_binary.json mode change 100644 => 100755 crates/feos-derive/Cargo.toml mode change 100644 => 100755 crates/feos-derive/README.md mode change 100644 => 100755 crates/feos-derive/src/components.rs mode change 100644 => 100755 crates/feos-derive/src/dft.rs mode change 100644 => 100755 crates/feos-derive/src/functional_contribution.rs mode change 100644 => 100755 crates/feos-derive/src/ideal_gas.rs mode change 100644 => 100755 crates/feos-derive/src/lib.rs mode change 100644 => 100755 crates/feos-derive/src/residual.rs mode change 100644 => 100755 crates/feos-dft/CHANGELOG.md mode change 100644 => 100755 crates/feos-dft/Cargo.toml mode change 100644 => 100755 crates/feos-dft/README.md mode change 100644 => 100755 crates/feos-dft/docs-header.html mode change 100644 => 100755 crates/feos-dft/src/adsorption/external_potential.rs mode change 100644 => 100755 crates/feos-dft/src/adsorption/fea_potential.rs mode change 100644 => 100755 crates/feos-dft/src/adsorption/mod.rs mode change 100644 => 100755 crates/feos-dft/src/adsorption/pore.rs mode change 100644 => 100755 crates/feos-dft/src/adsorption/pore2d.rs mode change 100644 => 100755 crates/feos-dft/src/adsorption/pore3d.rs mode change 100644 => 100755 crates/feos-dft/src/convolver/mod.rs mode change 100644 => 100755 crates/feos-dft/src/convolver/periodic_convolver.rs mode change 100644 => 100755 crates/feos-dft/src/convolver/transform.rs mode change 100644 => 100755 crates/feos-dft/src/functional.rs mode change 100644 => 100755 crates/feos-dft/src/functional_contribution.rs mode change 100644 => 100755 crates/feos-dft/src/geometry.rs mode change 100644 => 100755 crates/feos-dft/src/ideal_chain_contribution.rs mode change 100644 => 100755 crates/feos-dft/src/interface/mod.rs mode change 100644 => 100755 crates/feos-dft/src/interface/surface_tension_diagram.rs mode change 100644 => 100755 crates/feos-dft/src/lib.rs mode change 100644 => 100755 crates/feos-dft/src/pdgt.rs mode change 100644 => 100755 crates/feos-dft/src/profile/mod.rs mode change 100644 => 100755 crates/feos-dft/src/profile/properties.rs mode change 100644 => 100755 crates/feos-dft/src/solvation/mod.rs mode change 100644 => 100755 crates/feos-dft/src/solvation/pair_correlation.rs mode change 100644 => 100755 crates/feos-dft/src/solvation/solvation_profile.rs mode change 100644 => 100755 crates/feos-dft/src/solver.rs mode change 100644 => 100755 crates/feos-dft/src/weight_functions.rs mode change 100644 => 100755 crates/feos/Cargo.toml mode change 100644 => 100755 crates/feos/benches/README.md mode change 100644 => 100755 crates/feos/benches/contributions.rs mode change 100644 => 100755 crates/feos/benches/dft_pore.rs mode change 100644 => 100755 crates/feos/benches/dual_numbers.rs mode change 100644 => 100755 crates/feos/benches/dual_numbers_saftvrmie.rs mode change 100644 => 100755 crates/feos/benches/state_creation.rs mode change 100644 => 100755 crates/feos/benches/state_properties.rs mode change 100644 => 100755 crates/feos/src/association/dft.rs mode change 100644 => 100755 crates/feos/src/association/mod.rs mode change 100644 => 100755 crates/feos/src/cubic/alpha/mathias_copeman.rs mode change 100644 => 100755 crates/feos/src/cubic/alpha/mod.rs mode change 100644 => 100755 crates/feos/src/cubic/alpha/soave.rs mode change 100644 => 100755 crates/feos/src/cubic/alpha/twu.rs mode change 100644 => 100755 crates/feos/src/cubic/mixing_rules.rs mode change 100644 => 100755 crates/feos/src/cubic/mod.rs mode change 100644 => 100755 crates/feos/src/cubic/parameters.rs mode change 100644 => 100755 crates/feos/src/epcsaft/eos/born.rs mode change 100644 => 100755 crates/feos/src/epcsaft/eos/dispersion.rs mode change 100644 => 100755 crates/feos/src/epcsaft/eos/hard_chain.rs mode change 100644 => 100755 crates/feos/src/epcsaft/eos/ionic.rs mode change 100644 => 100755 crates/feos/src/epcsaft/eos/mod.rs mode change 100644 => 100755 crates/feos/src/epcsaft/eos/permittivity.rs mode change 100644 => 100755 crates/feos/src/epcsaft/mod.rs mode change 100644 => 100755 crates/feos/src/epcsaft/parameters.rs mode change 100644 => 100755 crates/feos/src/estimator/binary_vle.rs mode change 100644 => 100755 crates/feos/src/estimator/dataset.rs mode change 100644 => 100755 crates/feos/src/estimator/diffusion.rs mode change 100644 => 100755 crates/feos/src/estimator/estimator.rs mode change 100644 => 100755 crates/feos/src/estimator/impl_dataset.rs mode change 100644 => 100755 crates/feos/src/estimator/liquid_density.rs mode change 100644 => 100755 crates/feos/src/estimator/loss.rs mode change 100644 => 100755 crates/feos/src/estimator/mod.rs mode change 100644 => 100755 crates/feos/src/estimator/pt_data.rs mode change 100644 => 100755 crates/feos/src/estimator/strategy.rs mode change 100644 => 100755 crates/feos/src/estimator/thermal_conductivity.rs mode change 100644 => 100755 crates/feos/src/estimator/vapor_pressure.rs mode change 100644 => 100755 crates/feos/src/estimator/viscosity.rs mode change 100644 => 100755 crates/feos/src/gc_pcsaft/dft/dispersion.rs mode change 100644 => 100755 crates/feos/src/gc_pcsaft/dft/hard_chain.rs mode change 100644 => 100755 crates/feos/src/gc_pcsaft/dft/mod.rs mode change 100644 => 100755 crates/feos/src/gc_pcsaft/dft/parameter.rs mode change 100644 => 100755 crates/feos/src/gc_pcsaft/eos/dispersion.rs mode change 100644 => 100755 crates/feos/src/gc_pcsaft/eos/hard_chain.rs mode change 100644 => 100755 crates/feos/src/gc_pcsaft/eos/mod.rs mode change 100644 => 100755 crates/feos/src/gc_pcsaft/eos/parameter.rs mode change 100644 => 100755 crates/feos/src/gc_pcsaft/eos/polar.rs mode change 100644 => 100755 crates/feos/src/gc_pcsaft/micelles.rs mode change 100644 => 100755 crates/feos/src/gc_pcsaft/mod.rs mode change 100644 => 100755 crates/feos/src/gc_pcsaft/record.rs mode change 100644 => 100755 crates/feos/src/hard_sphere/dft.rs mode change 100644 => 100755 crates/feos/src/hard_sphere/mod.rs mode change 100644 => 100755 crates/feos/src/ideal_gas/dippr.rs mode change 100644 => 100755 crates/feos/src/ideal_gas/joback.rs mode change 100644 => 100755 crates/feos/src/ideal_gas/mod.rs mode change 100644 => 100755 crates/feos/src/lib.rs mode change 100644 => 100755 crates/feos/src/pcsaft/dft/dispersion.rs mode change 100644 => 100755 crates/feos/src/pcsaft/dft/hard_chain.rs mode change 100644 => 100755 crates/feos/src/pcsaft/dft/mod.rs mode change 100644 => 100755 crates/feos/src/pcsaft/dft/polar.rs mode change 100644 => 100755 crates/feos/src/pcsaft/dft/pure_saft_functional.rs mode change 100644 => 100755 crates/feos/src/pcsaft/eos/dispersion.rs mode change 100644 => 100755 crates/feos/src/pcsaft/eos/hard_chain.rs mode change 100644 => 100755 crates/feos/src/pcsaft/eos/mod.rs mode change 100644 => 100755 crates/feos/src/pcsaft/eos/polar.rs mode change 100644 => 100755 crates/feos/src/pcsaft/mod.rs mode change 100644 => 100755 crates/feos/src/pcsaft/parameters.rs mode change 100644 => 100755 crates/feos/src/pets/dft/dispersion.rs mode change 100644 => 100755 crates/feos/src/pets/dft/mod.rs mode change 100644 => 100755 crates/feos/src/pets/dft/pure_pets_functional.rs mode change 100644 => 100755 crates/feos/src/pets/eos/dispersion.rs mode change 100644 => 100755 crates/feos/src/pets/eos/mod.rs mode change 100644 => 100755 crates/feos/src/pets/mod.rs mode change 100644 => 100755 crates/feos/src/pets/parameters.rs mode change 100644 => 100755 crates/feos/src/saftvrmie/eos/association.rs mode change 100644 => 100755 crates/feos/src/saftvrmie/eos/dispersion.rs mode change 100644 => 100755 crates/feos/src/saftvrmie/eos/mod.rs mode change 100644 => 100755 crates/feos/src/saftvrmie/mod.rs mode change 100644 => 100755 crates/feos/src/saftvrmie/parameters.rs mode change 100644 => 100755 crates/feos/src/saftvrqmie/dft/dispersion.rs mode change 100644 => 100755 crates/feos/src/saftvrqmie/dft/mod.rs mode change 100644 => 100755 crates/feos/src/saftvrqmie/dft/non_additive_hs.rs mode change 100644 => 100755 crates/feos/src/saftvrqmie/eos/dispersion.rs mode change 100644 => 100755 crates/feos/src/saftvrqmie/eos/hard_sphere.rs mode change 100644 => 100755 crates/feos/src/saftvrqmie/eos/mod.rs mode change 100644 => 100755 crates/feos/src/saftvrqmie/eos/non_additive_hs.rs mode change 100644 => 100755 crates/feos/src/saftvrqmie/mod.rs mode change 100644 => 100755 crates/feos/src/saftvrqmie/parameters.rs mode change 100644 => 100755 crates/feos/src/uvtheory/eos/bh/attractive_perturbation.rs mode change 100644 => 100755 crates/feos/src/uvtheory/eos/bh/hard_sphere.rs mode change 100644 => 100755 crates/feos/src/uvtheory/eos/bh/mod.rs mode change 100644 => 100755 crates/feos/src/uvtheory/eos/bh/reference_perturbation.rs mode change 100644 => 100755 crates/feos/src/uvtheory/eos/mod.rs mode change 100644 => 100755 crates/feos/src/uvtheory/eos/wca/attractive_perturbation.rs mode change 100644 => 100755 crates/feos/src/uvtheory/eos/wca/attractive_perturbation_uvb3.rs mode change 100644 => 100755 crates/feos/src/uvtheory/eos/wca/hard_sphere.rs mode change 100644 => 100755 crates/feos/src/uvtheory/eos/wca/mod.rs mode change 100644 => 100755 crates/feos/src/uvtheory/eos/wca/reference_perturbation.rs mode change 100644 => 100755 crates/feos/src/uvtheory/eos/wca/reference_perturbation_uvb3.rs mode change 100644 => 100755 crates/feos/src/uvtheory/mod.rs mode change 100644 => 100755 crates/feos/src/uvtheory/parameters.rs mode change 100644 => 100755 crates/feos/tests/gc_pcsaft/binary.rs mode change 100644 => 100755 crates/feos/tests/gc_pcsaft/dft.rs mode change 100644 => 100755 crates/feos/tests/gc_pcsaft/mod.rs mode change 100644 => 100755 crates/feos/tests/main.rs mode change 100644 => 100755 crates/feos/tests/pcsaft/critical_point.rs mode change 100644 => 100755 crates/feos/tests/pcsaft/dft.rs mode change 100644 => 100755 crates/feos/tests/pcsaft/mod.rs mode change 100644 => 100755 crates/feos/tests/pcsaft/properties.rs mode change 100644 => 100755 crates/feos/tests/pcsaft/stability_analysis.rs mode change 100644 => 100755 crates/feos/tests/pcsaft/state_creation_mixture.rs mode change 100644 => 100755 crates/feos/tests/pcsaft/state_creation_pure.rs mode change 100644 => 100755 crates/feos/tests/pcsaft/test_parameters.json mode change 100644 => 100755 crates/feos/tests/pcsaft/test_parameters_joback.json mode change 100644 => 100755 crates/feos/tests/pcsaft/tp_flash.rs mode change 100644 => 100755 crates/feos/tests/pcsaft/vle_pure.rs mode change 100644 => 100755 crates/feos/tests/saftvrmie/critical_properties.rs mode change 100644 => 100755 crates/feos/tests/saftvrmie/mod.rs mode change 100644 => 100755 docs-header.html mode change 100644 => 100755 docs/Makefile mode change 100644 => 100755 docs/_templates/autosummary/base.rst mode change 100644 => 100755 docs/_templates/autosummary/class.rst mode change 100644 => 100755 docs/api/dft.md mode change 100644 => 100755 docs/api/dippr.md mode change 100644 => 100755 docs/api/eos.md mode change 100644 => 100755 docs/api/epcsaft.md mode change 100644 => 100755 docs/api/gc_pcsaft.md mode change 100644 => 100755 docs/api/index.md mode change 100644 => 100755 docs/api/joback.md mode change 100644 => 100755 docs/api/pcsaft.md mode change 100644 => 100755 docs/api/peng_robinson.md mode change 100644 => 100755 docs/api/pets.md mode change 100644 => 100755 docs/api/saftvrmie.md mode change 100644 => 100755 docs/api/saftvrqmie.md mode change 100644 => 100755 docs/api/uvtheory.md mode change 100644 => 100755 docs/conf.py mode change 100644 => 100755 docs/help_and_feedback.md mode change 100644 => 100755 docs/index.md mode change 100644 => 100755 docs/installation.md mode change 100644 => 100755 docs/recipes/index.md mode change 100644 => 100755 docs/recipes/recipes_critical_point_pure.ipynb mode change 100644 => 100755 docs/recipes/recipes_p_sat_t_boil.ipynb mode change 100644 => 100755 docs/recipes/recipes_phase_diagram_pure.ipynb mode change 100644 => 100755 docs/recipes/recipes_phase_equilibrium_pure.ipynb mode change 100644 => 100755 docs/recipes/recipes_surface_tension_diagram_pure.ipynb mode change 100644 => 100755 docs/recipes/recipes_surface_tension_pure.ipynb mode change 100644 => 100755 docs/rust_api.md mode change 100644 => 100755 docs/rustguide/core/equation_of_state.rst mode change 100644 => 100755 docs/rustguide/core/index.md mode change 100644 => 100755 docs/rustguide/core/state.rst mode change 100644 => 100755 docs/rustguide/index.md mode change 100644 => 100755 docs/theory/dft/derivatives.md mode change 100644 => 100755 docs/theory/dft/enthalpy_of_adsorption.md mode change 100644 => 100755 docs/theory/dft/euler_lagrange_equation.md mode change 100644 => 100755 docs/theory/dft/functional_derivatives.md mode change 100644 => 100755 docs/theory/dft/ideal_gas.md mode change 100644 => 100755 docs/theory/dft/index.md mode change 100644 => 100755 docs/theory/dft/solver.md mode change 100644 => 100755 docs/theory/eos/critical_points.md mode change 100644 => 100755 docs/theory/eos/index.md mode change 100644 => 100755 docs/theory/eos/properties.md mode change 100644 => 100755 docs/theory/models/FeOs_Association.png mode change 100644 => 100755 docs/theory/models/association.md mode change 100644 => 100755 docs/theory/models/hard_spheres.md mode change 100644 => 100755 docs/theory/models/index.md mode change 100644 => 100755 docs/tutorials/dft/index.md mode change 100644 => 100755 docs/tutorials/dft/pcsaft/index.md mode change 100644 => 100755 docs/tutorials/dft/pcsaft/pcsaft_surface_tension.ipynb mode change 100644 => 100755 docs/tutorials/eos/index.md mode change 100644 => 100755 docs/tutorials/eos/pcsaft/index.md mode change 100644 => 100755 docs/tutorials/eos/pcsaft/pcsaft_entropy_scaling.ipynb mode change 100644 => 100755 docs/tutorials/eos/pcsaft/pcsaft_phase_diagram.ipynb mode change 100644 => 100755 docs/tutorials/eos/pcsaft/pcsaft_working_with_parameters.ipynb mode change 100644 => 100755 docs/tutorials/eos/python/core_user_defined_eos.ipynb mode change 100644 => 100755 docs/tutorials/eos/python/index.md mode change 100644 => 100755 docs/tutorials/index.md mode change 100644 => 100755 docs/tutorials/utility/core_dual_numbers.ipynb mode change 100644 => 100755 docs/tutorials/utility/core_working_with_units.ipynb mode change 100644 => 100755 docs/tutorials/utility/index.md mode change 100644 => 100755 examples/core_dual_numbers.ipynb mode change 100644 => 100755 examples/core_user_defined_eos.ipynb mode change 100644 => 100755 examples/core_working_with_units.ipynb mode change 100644 => 100755 examples/data/hexane_nist.csv mode change 100644 => 100755 examples/data/lennard_jones_nist.csv mode change 100644 => 100755 examples/data/water_vle_nist.csv mode change 100644 => 100755 examples/gc_pcsaft_functional.ipynb mode change 100644 => 100755 examples/lj_models.ipynb mode change 100644 => 100755 examples/pc_saft_phase_diagram_to_dict.ipynb mode change 100644 => 100755 examples/pcsaft/Entropy Scaling.ipynb mode change 100644 => 100755 examples/pcsaft/PhaseDiagramBinary.ipynb mode change 100644 => 100755 examples/pcsaft/adsorption_isotherms.ipynb mode change 100644 => 100755 examples/pcsaft/fea_adsorption.ipynb mode change 100644 => 100755 examples/pcsaft/hexane_nist.csv mode change 100644 => 100755 examples/pcsaft/parameter_adjustment/README.md mode change 100644 => 100755 examples/pcsaft/parameter_adjustment/adjust_kij.ipynb mode change 100644 => 100755 examples/pcsaft/parameter_adjustment/adjust_non_polar_non_asssociating.ipynb mode change 100644 => 100755 examples/pcsaft/parameter_adjustment/adjust_viscosity_correlation.ipynb mode change 100644 => 100755 examples/pcsaft/parameter_adjustment/data/binary_vle.csv mode change 100644 => 100755 examples/pcsaft/parameter_adjustment/data/hexane_liquid_density.csv mode change 100644 => 100755 examples/pcsaft/parameter_adjustment/data/hexane_vapor_pressure.csv mode change 100644 => 100755 examples/pcsaft/parameter_adjustment/data/hexane_viscosity.csv mode change 100644 => 100755 examples/pcsaft/pore_geometry.ipynb mode change 100644 => 100755 examples/pcsaft/structure_parameters/ZIF-8.cif mode change 100644 => 100755 examples/pcsaft/structure_parameters/noble_gases.json mode change 100644 => 100755 examples/pcsaft_entropy_scaling.ipynb mode change 100644 => 100755 examples/pcsaft_phase_diagram.ipynb mode change 100644 => 100755 examples/pcsaft_surface_tension.ipynb mode change 100644 => 100755 examples/pcsaft_working_with_parameters.ipynb mode change 100644 => 100755 examples/peng-robinson.json mode change 100644 => 100755 examples/pets_eos_binary_caseI.ipynb mode change 100644 => 100755 examples/saftvrmie/lafitte_critical_data.csv mode change 100644 => 100755 examples/saftvrmie/validate_lafitte.ipynb mode change 100644 => 100755 examples/saftvrqmie/data/deuterium_helium_exp_data.dat mode change 100644 => 100755 examples/saftvrqmie/data/hydrogen_deuterium_exp_data.dat mode change 100644 => 100755 examples/saftvrqmie/data/hydrogen_helium_exp_data.dat mode change 100644 => 100755 examples/saftvrqmie/deuterium_32K.table mode change 100644 => 100755 examples/saftvrqmie/deuterium_helium_binary.ipynb mode change 100644 => 100755 examples/saftvrqmie/deuterium_neon_32K.rdf mode change 100644 => 100755 examples/saftvrqmie/deuterium_neon_32K.table mode change 100644 => 100755 examples/saftvrqmie/hydrogen_deuterium_binary.ipynb mode change 100644 => 100755 examples/saftvrqmie/hydrogen_fh1_vs_fh2.ipynb mode change 100644 => 100755 examples/saftvrqmie/hydrogen_helium_binary.ipynb mode change 100644 => 100755 examples/saftvrqmie/hydrogen_neon_binary.ipynb mode change 100644 => 100755 examples/saftvrqmie/in.binary_deuterium_neon mode change 100644 => 100755 examples/saftvrqmie/mulero_2012_parameters.json mode change 100644 => 100755 examples/saftvrqmie/neon_32K.table mode change 100644 => 100755 examples/saftvrqmie/quantum_fluid_dft.ipynb mode change 100644 => 100755 examples/saftvrqmie/radial_distribution_function.ipynb mode change 100644 => 100755 license-apache mode change 100644 => 100755 license-mit mode change 100644 => 100755 manuscript/README.md mode change 100644 => 100755 manuscript/manuscript.pdf mode change 100644 => 100755 parameters/epcsaft/README.md mode change 100644 => 100755 parameters/epcsaft/held2014_binary.json mode change 100644 => 100755 parameters/epcsaft/held2014_w_permittivity_added.json mode change 100644 => 100755 parameters/epcsaft/literature.bib mode change 100644 => 100755 parameters/ideal_gas/README.md mode change 100644 => 100755 parameters/ideal_gas/joback1987.json mode change 100644 => 100755 parameters/ideal_gas/literature.bib mode change 100644 => 100755 parameters/ideal_gas/poling2000.json mode change 100644 => 100755 parameters/pcsaft/README.md mode change 100644 => 100755 parameters/pcsaft/eller2022.json mode change 100644 => 100755 parameters/pcsaft/esper2023.json mode change 100644 => 100755 parameters/pcsaft/gc_substances.json mode change 100644 => 100755 parameters/pcsaft/gross2001.json mode change 100644 => 100755 parameters/pcsaft/gross2002.json mode change 100644 => 100755 parameters/pcsaft/gross2002_binary.json mode change 100644 => 100755 parameters/pcsaft/gross2005_fit.json mode change 100644 => 100755 parameters/pcsaft/gross2005_literature.json mode change 100644 => 100755 parameters/pcsaft/gross2006.json mode change 100644 => 100755 parameters/pcsaft/literature.bib mode change 100644 => 100755 parameters/pcsaft/loetgeringlin2015_homo.json mode change 100644 => 100755 parameters/pcsaft/loetgeringlin2018.json mode change 100644 => 100755 parameters/pcsaft/rehner2020.json mode change 100644 => 100755 parameters/pcsaft/rehner2023_binary.json mode change 100644 => 100755 parameters/pcsaft/rehner2023_hetero.json mode change 100644 => 100755 parameters/pcsaft/rehner2023_hetero_binary.json mode change 100644 => 100755 parameters/pcsaft/rehner2023_homo.json mode change 100644 => 100755 parameters/pcsaft/rehner2023_homo_binary.json mode change 100644 => 100755 parameters/pcsaft/sauer2014_hetero.json mode change 100644 => 100755 parameters/pcsaft/sauer2014_homo.json mode change 100644 => 100755 parameters/pcsaft/sauer2014_smarts.json mode change 100644 => 100755 parameters/saftvrmie/README.md mode change 100644 => 100755 parameters/saftvrmie/lafitte2013.json mode change 100644 => 100755 parameters/saftvrmie/literature.bib mode change 100644 => 100755 parameters/saftvrqmie/README.md mode change 100644 => 100755 parameters/saftvrqmie/aasen2019.json mode change 100644 => 100755 parameters/saftvrqmie/aasen2019_fh2.json mode change 100644 => 100755 parameters/saftvrqmie/aasen2020_binary.json mode change 100644 => 100755 parameters/saftvrqmie/aasen2020_binary_fh2.json mode change 100644 => 100755 parameters/saftvrqmie/hammer2023.json mode change 100644 => 100755 parameters/saftvrqmie/literature.bib mode change 100644 => 100755 py-feos/.python-version mode change 100644 => 100755 py-feos/Cargo.toml mode change 100644 => 100755 py-feos/README.md mode change 100644 => 100755 py-feos/feos/__init__.py mode change 100644 => 100755 py-feos/feos/dft.py mode change 100644 => 100755 py-feos/feos/dft.pyi mode change 100644 => 100755 py-feos/feos/estimator.py mode change 100644 => 100755 py-feos/feos/estimator.pyi mode change 100644 => 100755 py-feos/feos/feos.pyi mode change 100644 => 100755 py-feos/feos/parameters.py mode change 100644 => 100755 py-feos/feos/parameters.pyi mode change 100644 => 100755 py-feos/pyproject.toml mode change 100644 => 100755 py-feos/src/dft/adsorption/external_potential.rs mode change 100644 => 100755 py-feos/src/dft/adsorption/mod.rs mode change 100644 => 100755 py-feos/src/dft/adsorption/pore.rs mode change 100644 => 100755 py-feos/src/dft/interface/mod.rs mode change 100644 => 100755 py-feos/src/dft/interface/surface_tension_diagram.rs mode change 100644 => 100755 py-feos/src/dft/mod.rs mode change 100644 => 100755 py-feos/src/dft/profile.rs mode change 100644 => 100755 py-feos/src/dft/solvation.rs mode change 100644 => 100755 py-feos/src/dft/solver.rs mode change 100644 => 100755 py-feos/src/eos/constructors.rs mode change 100644 => 100755 py-feos/src/eos/epcsaft.rs mode change 100644 => 100755 py-feos/src/eos/gc_pcsaft.rs mode change 100644 => 100755 py-feos/src/eos/mod.rs mode change 100644 => 100755 py-feos/src/eos/pcsaft.rs mode change 100644 => 100755 py-feos/src/eos/pets.rs mode change 100644 => 100755 py-feos/src/eos/saftvrmie.rs mode change 100644 => 100755 py-feos/src/eos/saftvrqmie.rs mode change 100644 => 100755 py-feos/src/eos/uvtheory.rs mode change 100644 => 100755 py-feos/src/error.rs mode change 100644 => 100755 py-feos/src/estimator.rs mode change 100644 => 100755 py-feos/src/ideal_gas.rs mode change 100644 => 100755 py-feos/src/lib.rs mode change 100644 => 100755 py-feos/src/parameter/chemical_record.rs mode change 100644 => 100755 py-feos/src/parameter/fragmentation.rs mode change 100644 => 100755 py-feos/src/parameter/identifier.rs mode change 100644 => 100755 py-feos/src/parameter/mod.rs mode change 100644 => 100755 py-feos/src/parameter/model_record.rs mode change 100644 => 100755 py-feos/src/parameter/segment.rs mode change 100644 => 100755 py-feos/src/phase_equilibria.rs mode change 100644 => 100755 py-feos/src/residual.rs mode change 100644 => 100755 py-feos/src/state.rs mode change 100644 => 100755 py-feos/src/user_defined.rs mode change 100644 => 100755 py-feos/uv.lock diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml old mode 100644 new mode 100755 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml old mode 100644 new mode 100755 diff --git a/.github/workflows/release_core.yml b/.github/workflows/release_core.yml old mode 100644 new mode 100755 diff --git a/.github/workflows/release_derive.yml b/.github/workflows/release_derive.yml old mode 100644 new mode 100755 diff --git a/.github/workflows/release_dft.yml b/.github/workflows/release_dft.yml old mode 100644 new mode 100755 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml old mode 100644 new mode 100755 diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100755 index 000000000..1c2fda565 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/feos_cubics.iml b/.idea/feos_cubics.iml new file mode 100755 index 000000000..9c0ca1484 --- /dev/null +++ b/.idea/feos_cubics.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100755 index 000000000..56956f14d --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100755 index 000000000..c8397c94c --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md old mode 100644 new mode 100755 diff --git a/CITATION.bib b/CITATION.bib old mode 100644 new mode 100755 diff --git a/Cargo.toml b/Cargo.toml old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/crates/feos-core/CHANGELOG.md b/crates/feos-core/CHANGELOG.md old mode 100644 new mode 100755 diff --git a/crates/feos-core/Cargo.toml b/crates/feos-core/Cargo.toml old mode 100644 new mode 100755 diff --git a/crates/feos-core/README.md b/crates/feos-core/README.md old mode 100644 new mode 100755 diff --git a/crates/feos-core/docs-header.html b/crates/feos-core/docs-header.html old mode 100644 new mode 100755 diff --git a/crates/feos-core/license-apache b/crates/feos-core/license-apache deleted file mode 120000 index 67e3ce635..000000000 --- a/crates/feos-core/license-apache +++ /dev/null @@ -1 +0,0 @@ -../license-apache \ No newline at end of file diff --git a/crates/feos-core/license-apache b/crates/feos-core/license-apache new file mode 100755 index 000000000..e69de29bb diff --git a/crates/feos-core/license-mit b/crates/feos-core/license-mit deleted file mode 120000 index 137b4b11d..000000000 --- a/crates/feos-core/license-mit +++ /dev/null @@ -1 +0,0 @@ -../license-mit \ No newline at end of file diff --git a/crates/feos-core/license-mit b/crates/feos-core/license-mit new file mode 100755 index 000000000..e69de29bb diff --git a/crates/feos-core/src/cubic.rs b/crates/feos-core/src/cubic.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/density_iteration.rs b/crates/feos-core/src/density_iteration.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/equation_of_state/ideal_gas.rs b/crates/feos-core/src/equation_of_state/ideal_gas.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/equation_of_state/mod.rs b/crates/feos-core/src/equation_of_state/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/equation_of_state/residual.rs b/crates/feos-core/src/equation_of_state/residual.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/errors.rs b/crates/feos-core/src/errors.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/lib.rs b/crates/feos-core/src/lib.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/parameter/chemical_record.rs b/crates/feos-core/src/parameter/chemical_record.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/parameter/identifier.rs b/crates/feos-core/src/parameter/identifier.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/parameter/mod.rs b/crates/feos-core/src/parameter/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/parameter/model_record.rs b/crates/feos-core/src/parameter/model_record.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/parameter/segment.rs b/crates/feos-core/src/parameter/segment.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/phase_equilibria/bubble_dew.rs b/crates/feos-core/src/phase_equilibria/bubble_dew.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/phase_equilibria/mod.rs b/crates/feos-core/src/phase_equilibria/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/phase_equilibria/phase_diagram_binary.rs b/crates/feos-core/src/phase_equilibria/phase_diagram_binary.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/phase_equilibria/phase_diagram_pure.rs b/crates/feos-core/src/phase_equilibria/phase_diagram_pure.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/phase_equilibria/phase_envelope.rs b/crates/feos-core/src/phase_equilibria/phase_envelope.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/phase_equilibria/stability_analysis.rs b/crates/feos-core/src/phase_equilibria/stability_analysis.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/phase_equilibria/tp_flash.rs b/crates/feos-core/src/phase_equilibria/tp_flash.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/phase_equilibria/vle_pure.rs b/crates/feos-core/src/phase_equilibria/vle_pure.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/state/builder.rs b/crates/feos-core/src/state/builder.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/state/cache.rs b/crates/feos-core/src/state/cache.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/state/critical_point.rs b/crates/feos-core/src/state/critical_point.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/state/mod.rs b/crates/feos-core/src/state/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/state/properties.rs b/crates/feos-core/src/state/properties.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/state/residual_properties.rs b/crates/feos-core/src/state/residual_properties.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/src/state/statevec.rs b/crates/feos-core/src/state/statevec.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/tests/parameters.rs b/crates/feos-core/tests/parameters.rs old mode 100644 new mode 100755 diff --git a/crates/feos-core/tests/test_parameters1.json b/crates/feos-core/tests/test_parameters1.json old mode 100644 new mode 100755 diff --git a/crates/feos-core/tests/test_parameters2.json b/crates/feos-core/tests/test_parameters2.json old mode 100644 new mode 100755 diff --git a/crates/feos-core/tests/test_parameters_binary.json b/crates/feos-core/tests/test_parameters_binary.json old mode 100644 new mode 100755 diff --git a/crates/feos-derive/Cargo.toml b/crates/feos-derive/Cargo.toml old mode 100644 new mode 100755 diff --git a/crates/feos-derive/README.md b/crates/feos-derive/README.md old mode 100644 new mode 100755 diff --git a/crates/feos-derive/src/components.rs b/crates/feos-derive/src/components.rs old mode 100644 new mode 100755 diff --git a/crates/feos-derive/src/dft.rs b/crates/feos-derive/src/dft.rs old mode 100644 new mode 100755 diff --git a/crates/feos-derive/src/functional_contribution.rs b/crates/feos-derive/src/functional_contribution.rs old mode 100644 new mode 100755 diff --git a/crates/feos-derive/src/ideal_gas.rs b/crates/feos-derive/src/ideal_gas.rs old mode 100644 new mode 100755 diff --git a/crates/feos-derive/src/lib.rs b/crates/feos-derive/src/lib.rs old mode 100644 new mode 100755 diff --git a/crates/feos-derive/src/residual.rs b/crates/feos-derive/src/residual.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/CHANGELOG.md b/crates/feos-dft/CHANGELOG.md old mode 100644 new mode 100755 diff --git a/crates/feos-dft/Cargo.toml b/crates/feos-dft/Cargo.toml old mode 100644 new mode 100755 diff --git a/crates/feos-dft/README.md b/crates/feos-dft/README.md old mode 100644 new mode 100755 diff --git a/crates/feos-dft/docs-header.html b/crates/feos-dft/docs-header.html old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/adsorption/external_potential.rs b/crates/feos-dft/src/adsorption/external_potential.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/adsorption/fea_potential.rs b/crates/feos-dft/src/adsorption/fea_potential.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/adsorption/mod.rs b/crates/feos-dft/src/adsorption/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/adsorption/pore.rs b/crates/feos-dft/src/adsorption/pore.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/adsorption/pore2d.rs b/crates/feos-dft/src/adsorption/pore2d.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/adsorption/pore3d.rs b/crates/feos-dft/src/adsorption/pore3d.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/convolver/mod.rs b/crates/feos-dft/src/convolver/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/convolver/periodic_convolver.rs b/crates/feos-dft/src/convolver/periodic_convolver.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/convolver/transform.rs b/crates/feos-dft/src/convolver/transform.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/functional.rs b/crates/feos-dft/src/functional.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/functional_contribution.rs b/crates/feos-dft/src/functional_contribution.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/geometry.rs b/crates/feos-dft/src/geometry.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/ideal_chain_contribution.rs b/crates/feos-dft/src/ideal_chain_contribution.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/interface/mod.rs b/crates/feos-dft/src/interface/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/interface/surface_tension_diagram.rs b/crates/feos-dft/src/interface/surface_tension_diagram.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/lib.rs b/crates/feos-dft/src/lib.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/pdgt.rs b/crates/feos-dft/src/pdgt.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/profile/mod.rs b/crates/feos-dft/src/profile/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/profile/properties.rs b/crates/feos-dft/src/profile/properties.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/solvation/mod.rs b/crates/feos-dft/src/solvation/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/solvation/pair_correlation.rs b/crates/feos-dft/src/solvation/pair_correlation.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/solvation/solvation_profile.rs b/crates/feos-dft/src/solvation/solvation_profile.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/solver.rs b/crates/feos-dft/src/solver.rs old mode 100644 new mode 100755 diff --git a/crates/feos-dft/src/weight_functions.rs b/crates/feos-dft/src/weight_functions.rs old mode 100644 new mode 100755 diff --git a/crates/feos/Cargo.toml b/crates/feos/Cargo.toml old mode 100644 new mode 100755 diff --git a/crates/feos/benches/README.md b/crates/feos/benches/README.md old mode 100644 new mode 100755 diff --git a/crates/feos/benches/contributions.rs b/crates/feos/benches/contributions.rs old mode 100644 new mode 100755 diff --git a/crates/feos/benches/dft_pore.rs b/crates/feos/benches/dft_pore.rs old mode 100644 new mode 100755 diff --git a/crates/feos/benches/dual_numbers.rs b/crates/feos/benches/dual_numbers.rs old mode 100644 new mode 100755 diff --git a/crates/feos/benches/dual_numbers_saftvrmie.rs b/crates/feos/benches/dual_numbers_saftvrmie.rs old mode 100644 new mode 100755 diff --git a/crates/feos/benches/state_creation.rs b/crates/feos/benches/state_creation.rs old mode 100644 new mode 100755 diff --git a/crates/feos/benches/state_properties.rs b/crates/feos/benches/state_properties.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/association/dft.rs b/crates/feos/src/association/dft.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/association/mod.rs b/crates/feos/src/association/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/cubic/alpha/mathias_copeman.rs b/crates/feos/src/cubic/alpha/mathias_copeman.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/cubic/alpha/mod.rs b/crates/feos/src/cubic/alpha/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/cubic/alpha/soave.rs b/crates/feos/src/cubic/alpha/soave.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/cubic/alpha/twu.rs b/crates/feos/src/cubic/alpha/twu.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/cubic/mixing_rules.rs b/crates/feos/src/cubic/mixing_rules.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/cubic/mod.rs b/crates/feos/src/cubic/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/cubic/parameters.rs b/crates/feos/src/cubic/parameters.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/epcsaft/eos/born.rs b/crates/feos/src/epcsaft/eos/born.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/epcsaft/eos/dispersion.rs b/crates/feos/src/epcsaft/eos/dispersion.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/epcsaft/eos/hard_chain.rs b/crates/feos/src/epcsaft/eos/hard_chain.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/epcsaft/eos/ionic.rs b/crates/feos/src/epcsaft/eos/ionic.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/epcsaft/eos/mod.rs b/crates/feos/src/epcsaft/eos/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/epcsaft/eos/permittivity.rs b/crates/feos/src/epcsaft/eos/permittivity.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/epcsaft/mod.rs b/crates/feos/src/epcsaft/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/epcsaft/parameters.rs b/crates/feos/src/epcsaft/parameters.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/estimator/binary_vle.rs b/crates/feos/src/estimator/binary_vle.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/estimator/dataset.rs b/crates/feos/src/estimator/dataset.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/estimator/diffusion.rs b/crates/feos/src/estimator/diffusion.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/estimator/estimator.rs b/crates/feos/src/estimator/estimator.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/estimator/impl_dataset.rs b/crates/feos/src/estimator/impl_dataset.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/estimator/liquid_density.rs b/crates/feos/src/estimator/liquid_density.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/estimator/loss.rs b/crates/feos/src/estimator/loss.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/estimator/mod.rs b/crates/feos/src/estimator/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/estimator/pt_data.rs b/crates/feos/src/estimator/pt_data.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/estimator/strategy.rs b/crates/feos/src/estimator/strategy.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/estimator/thermal_conductivity.rs b/crates/feos/src/estimator/thermal_conductivity.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/estimator/vapor_pressure.rs b/crates/feos/src/estimator/vapor_pressure.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/estimator/viscosity.rs b/crates/feos/src/estimator/viscosity.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/gc_pcsaft/dft/dispersion.rs b/crates/feos/src/gc_pcsaft/dft/dispersion.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/gc_pcsaft/dft/hard_chain.rs b/crates/feos/src/gc_pcsaft/dft/hard_chain.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/gc_pcsaft/dft/mod.rs b/crates/feos/src/gc_pcsaft/dft/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/gc_pcsaft/dft/parameter.rs b/crates/feos/src/gc_pcsaft/dft/parameter.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/gc_pcsaft/eos/dispersion.rs b/crates/feos/src/gc_pcsaft/eos/dispersion.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/gc_pcsaft/eos/hard_chain.rs b/crates/feos/src/gc_pcsaft/eos/hard_chain.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/gc_pcsaft/eos/mod.rs b/crates/feos/src/gc_pcsaft/eos/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/gc_pcsaft/eos/parameter.rs b/crates/feos/src/gc_pcsaft/eos/parameter.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/gc_pcsaft/eos/polar.rs b/crates/feos/src/gc_pcsaft/eos/polar.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/gc_pcsaft/micelles.rs b/crates/feos/src/gc_pcsaft/micelles.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/gc_pcsaft/mod.rs b/crates/feos/src/gc_pcsaft/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/gc_pcsaft/record.rs b/crates/feos/src/gc_pcsaft/record.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/hard_sphere/dft.rs b/crates/feos/src/hard_sphere/dft.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/hard_sphere/mod.rs b/crates/feos/src/hard_sphere/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/ideal_gas/dippr.rs b/crates/feos/src/ideal_gas/dippr.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/ideal_gas/joback.rs b/crates/feos/src/ideal_gas/joback.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/ideal_gas/mod.rs b/crates/feos/src/ideal_gas/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/lib.rs b/crates/feos/src/lib.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/pcsaft/dft/dispersion.rs b/crates/feos/src/pcsaft/dft/dispersion.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/pcsaft/dft/hard_chain.rs b/crates/feos/src/pcsaft/dft/hard_chain.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/pcsaft/dft/mod.rs b/crates/feos/src/pcsaft/dft/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/pcsaft/dft/polar.rs b/crates/feos/src/pcsaft/dft/polar.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/pcsaft/dft/pure_saft_functional.rs b/crates/feos/src/pcsaft/dft/pure_saft_functional.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/pcsaft/eos/dispersion.rs b/crates/feos/src/pcsaft/eos/dispersion.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/pcsaft/eos/hard_chain.rs b/crates/feos/src/pcsaft/eos/hard_chain.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/pcsaft/eos/mod.rs b/crates/feos/src/pcsaft/eos/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/pcsaft/eos/polar.rs b/crates/feos/src/pcsaft/eos/polar.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/pcsaft/mod.rs b/crates/feos/src/pcsaft/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/pcsaft/parameters.rs b/crates/feos/src/pcsaft/parameters.rs old mode 100644 new mode 100755 index 4edadf030..860f19e89 --- a/crates/feos/src/pcsaft/parameters.rs +++ b/crates/feos/src/pcsaft/parameters.rs @@ -468,7 +468,7 @@ impl Parameter for PcSaftParameters { let mut e_k_ij = Array::zeros((n, n)); for i in 0..n { for j in 0..n { - e_k_ij[[i, j]] = (epsilon_k[i] * epsilon_k[j]).sqrt(); + e_k_ij[[i, j]] = (epsilon_k[i] * epsilon_k[j]).sqrt; sigma_ij[[i, j]] = 0.5 * (sigma[i] + sigma[j]); } } diff --git a/crates/feos/src/pets/dft/dispersion.rs b/crates/feos/src/pets/dft/dispersion.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/pets/dft/mod.rs b/crates/feos/src/pets/dft/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/pets/dft/pure_pets_functional.rs b/crates/feos/src/pets/dft/pure_pets_functional.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/pets/eos/dispersion.rs b/crates/feos/src/pets/eos/dispersion.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/pets/eos/mod.rs b/crates/feos/src/pets/eos/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/pets/mod.rs b/crates/feos/src/pets/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/pets/parameters.rs b/crates/feos/src/pets/parameters.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/saftvrmie/eos/association.rs b/crates/feos/src/saftvrmie/eos/association.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/saftvrmie/eos/dispersion.rs b/crates/feos/src/saftvrmie/eos/dispersion.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/saftvrmie/eos/mod.rs b/crates/feos/src/saftvrmie/eos/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/saftvrmie/mod.rs b/crates/feos/src/saftvrmie/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/saftvrmie/parameters.rs b/crates/feos/src/saftvrmie/parameters.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/saftvrqmie/dft/dispersion.rs b/crates/feos/src/saftvrqmie/dft/dispersion.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/saftvrqmie/dft/mod.rs b/crates/feos/src/saftvrqmie/dft/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/saftvrqmie/dft/non_additive_hs.rs b/crates/feos/src/saftvrqmie/dft/non_additive_hs.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/saftvrqmie/eos/dispersion.rs b/crates/feos/src/saftvrqmie/eos/dispersion.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/saftvrqmie/eos/hard_sphere.rs b/crates/feos/src/saftvrqmie/eos/hard_sphere.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/saftvrqmie/eos/mod.rs b/crates/feos/src/saftvrqmie/eos/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/saftvrqmie/eos/non_additive_hs.rs b/crates/feos/src/saftvrqmie/eos/non_additive_hs.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/saftvrqmie/mod.rs b/crates/feos/src/saftvrqmie/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/saftvrqmie/parameters.rs b/crates/feos/src/saftvrqmie/parameters.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/uvtheory/eos/bh/attractive_perturbation.rs b/crates/feos/src/uvtheory/eos/bh/attractive_perturbation.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/uvtheory/eos/bh/hard_sphere.rs b/crates/feos/src/uvtheory/eos/bh/hard_sphere.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/uvtheory/eos/bh/mod.rs b/crates/feos/src/uvtheory/eos/bh/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/uvtheory/eos/bh/reference_perturbation.rs b/crates/feos/src/uvtheory/eos/bh/reference_perturbation.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/uvtheory/eos/mod.rs b/crates/feos/src/uvtheory/eos/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/uvtheory/eos/wca/attractive_perturbation.rs b/crates/feos/src/uvtheory/eos/wca/attractive_perturbation.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/uvtheory/eos/wca/attractive_perturbation_uvb3.rs b/crates/feos/src/uvtheory/eos/wca/attractive_perturbation_uvb3.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/uvtheory/eos/wca/hard_sphere.rs b/crates/feos/src/uvtheory/eos/wca/hard_sphere.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/uvtheory/eos/wca/mod.rs b/crates/feos/src/uvtheory/eos/wca/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/uvtheory/eos/wca/reference_perturbation.rs b/crates/feos/src/uvtheory/eos/wca/reference_perturbation.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/uvtheory/eos/wca/reference_perturbation_uvb3.rs b/crates/feos/src/uvtheory/eos/wca/reference_perturbation_uvb3.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/uvtheory/mod.rs b/crates/feos/src/uvtheory/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/src/uvtheory/parameters.rs b/crates/feos/src/uvtheory/parameters.rs old mode 100644 new mode 100755 diff --git a/crates/feos/tests/gc_pcsaft/binary.rs b/crates/feos/tests/gc_pcsaft/binary.rs old mode 100644 new mode 100755 diff --git a/crates/feos/tests/gc_pcsaft/dft.rs b/crates/feos/tests/gc_pcsaft/dft.rs old mode 100644 new mode 100755 diff --git a/crates/feos/tests/gc_pcsaft/mod.rs b/crates/feos/tests/gc_pcsaft/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/tests/main.rs b/crates/feos/tests/main.rs old mode 100644 new mode 100755 diff --git a/crates/feos/tests/pcsaft/critical_point.rs b/crates/feos/tests/pcsaft/critical_point.rs old mode 100644 new mode 100755 diff --git a/crates/feos/tests/pcsaft/dft.rs b/crates/feos/tests/pcsaft/dft.rs old mode 100644 new mode 100755 diff --git a/crates/feos/tests/pcsaft/mod.rs b/crates/feos/tests/pcsaft/mod.rs old mode 100644 new mode 100755 diff --git a/crates/feos/tests/pcsaft/properties.rs b/crates/feos/tests/pcsaft/properties.rs old mode 100644 new mode 100755 diff --git a/crates/feos/tests/pcsaft/stability_analysis.rs b/crates/feos/tests/pcsaft/stability_analysis.rs old mode 100644 new mode 100755 diff --git a/crates/feos/tests/pcsaft/state_creation_mixture.rs b/crates/feos/tests/pcsaft/state_creation_mixture.rs old mode 100644 new mode 100755 diff --git a/crates/feos/tests/pcsaft/state_creation_pure.rs b/crates/feos/tests/pcsaft/state_creation_pure.rs old mode 100644 new mode 100755 diff --git a/crates/feos/tests/pcsaft/test_parameters.json b/crates/feos/tests/pcsaft/test_parameters.json old mode 100644 new mode 100755 diff --git a/crates/feos/tests/pcsaft/test_parameters_joback.json b/crates/feos/tests/pcsaft/test_parameters_joback.json old mode 100644 new mode 100755 diff --git a/crates/feos/tests/pcsaft/tp_flash.rs b/crates/feos/tests/pcsaft/tp_flash.rs old mode 100644 new mode 100755 diff --git a/crates/feos/tests/pcsaft/vle_pure.rs b/crates/feos/tests/pcsaft/vle_pure.rs old mode 100644 new mode 100755 diff --git a/crates/feos/tests/saftvrmie/critical_properties.rs b/crates/feos/tests/saftvrmie/critical_properties.rs old mode 100644 new mode 100755 diff --git a/crates/feos/tests/saftvrmie/mod.rs b/crates/feos/tests/saftvrmie/mod.rs old mode 100644 new mode 100755 diff --git a/docs-header.html b/docs-header.html old mode 100644 new mode 100755 diff --git a/docs/Makefile b/docs/Makefile old mode 100644 new mode 100755 diff --git a/docs/_templates/autosummary/base.rst b/docs/_templates/autosummary/base.rst old mode 100644 new mode 100755 diff --git a/docs/_templates/autosummary/class.rst b/docs/_templates/autosummary/class.rst old mode 100644 new mode 100755 diff --git a/docs/api/dft.md b/docs/api/dft.md old mode 100644 new mode 100755 diff --git a/docs/api/dippr.md b/docs/api/dippr.md old mode 100644 new mode 100755 diff --git a/docs/api/eos.md b/docs/api/eos.md old mode 100644 new mode 100755 diff --git a/docs/api/epcsaft.md b/docs/api/epcsaft.md old mode 100644 new mode 100755 diff --git a/docs/api/gc_pcsaft.md b/docs/api/gc_pcsaft.md old mode 100644 new mode 100755 diff --git a/docs/api/index.md b/docs/api/index.md old mode 100644 new mode 100755 diff --git a/docs/api/joback.md b/docs/api/joback.md old mode 100644 new mode 100755 diff --git a/docs/api/pcsaft.md b/docs/api/pcsaft.md old mode 100644 new mode 100755 diff --git a/docs/api/peng_robinson.md b/docs/api/peng_robinson.md old mode 100644 new mode 100755 diff --git a/docs/api/pets.md b/docs/api/pets.md old mode 100644 new mode 100755 diff --git a/docs/api/saftvrmie.md b/docs/api/saftvrmie.md old mode 100644 new mode 100755 diff --git a/docs/api/saftvrqmie.md b/docs/api/saftvrqmie.md old mode 100644 new mode 100755 diff --git a/docs/api/uvtheory.md b/docs/api/uvtheory.md old mode 100644 new mode 100755 diff --git a/docs/conf.py b/docs/conf.py old mode 100644 new mode 100755 diff --git a/docs/help_and_feedback.md b/docs/help_and_feedback.md old mode 100644 new mode 100755 diff --git a/docs/index.md b/docs/index.md old mode 100644 new mode 100755 diff --git a/docs/installation.md b/docs/installation.md old mode 100644 new mode 100755 diff --git a/docs/recipes/index.md b/docs/recipes/index.md old mode 100644 new mode 100755 diff --git a/docs/recipes/recipes_critical_point_pure.ipynb b/docs/recipes/recipes_critical_point_pure.ipynb old mode 100644 new mode 100755 diff --git a/docs/recipes/recipes_p_sat_t_boil.ipynb b/docs/recipes/recipes_p_sat_t_boil.ipynb old mode 100644 new mode 100755 diff --git a/docs/recipes/recipes_phase_diagram_pure.ipynb b/docs/recipes/recipes_phase_diagram_pure.ipynb old mode 100644 new mode 100755 diff --git a/docs/recipes/recipes_phase_equilibrium_pure.ipynb b/docs/recipes/recipes_phase_equilibrium_pure.ipynb old mode 100644 new mode 100755 diff --git a/docs/recipes/recipes_surface_tension_diagram_pure.ipynb b/docs/recipes/recipes_surface_tension_diagram_pure.ipynb old mode 100644 new mode 100755 diff --git a/docs/recipes/recipes_surface_tension_pure.ipynb b/docs/recipes/recipes_surface_tension_pure.ipynb old mode 100644 new mode 100755 diff --git a/docs/rust_api.md b/docs/rust_api.md old mode 100644 new mode 100755 diff --git a/docs/rustguide/core/equation_of_state.rst b/docs/rustguide/core/equation_of_state.rst old mode 100644 new mode 100755 diff --git a/docs/rustguide/core/index.md b/docs/rustguide/core/index.md old mode 100644 new mode 100755 diff --git a/docs/rustguide/core/state.rst b/docs/rustguide/core/state.rst old mode 100644 new mode 100755 diff --git a/docs/rustguide/index.md b/docs/rustguide/index.md old mode 100644 new mode 100755 diff --git a/docs/theory/dft/derivatives.md b/docs/theory/dft/derivatives.md old mode 100644 new mode 100755 diff --git a/docs/theory/dft/enthalpy_of_adsorption.md b/docs/theory/dft/enthalpy_of_adsorption.md old mode 100644 new mode 100755 diff --git a/docs/theory/dft/euler_lagrange_equation.md b/docs/theory/dft/euler_lagrange_equation.md old mode 100644 new mode 100755 diff --git a/docs/theory/dft/functional_derivatives.md b/docs/theory/dft/functional_derivatives.md old mode 100644 new mode 100755 diff --git a/docs/theory/dft/ideal_gas.md b/docs/theory/dft/ideal_gas.md old mode 100644 new mode 100755 diff --git a/docs/theory/dft/index.md b/docs/theory/dft/index.md old mode 100644 new mode 100755 diff --git a/docs/theory/dft/solver.md b/docs/theory/dft/solver.md old mode 100644 new mode 100755 diff --git a/docs/theory/eos/critical_points.md b/docs/theory/eos/critical_points.md old mode 100644 new mode 100755 diff --git a/docs/theory/eos/index.md b/docs/theory/eos/index.md old mode 100644 new mode 100755 diff --git a/docs/theory/eos/properties.md b/docs/theory/eos/properties.md old mode 100644 new mode 100755 diff --git a/docs/theory/models/FeOs_Association.png b/docs/theory/models/FeOs_Association.png old mode 100644 new mode 100755 diff --git a/docs/theory/models/association.md b/docs/theory/models/association.md old mode 100644 new mode 100755 diff --git a/docs/theory/models/hard_spheres.md b/docs/theory/models/hard_spheres.md old mode 100644 new mode 100755 diff --git a/docs/theory/models/index.md b/docs/theory/models/index.md old mode 100644 new mode 100755 diff --git a/docs/tutorials/dft/index.md b/docs/tutorials/dft/index.md old mode 100644 new mode 100755 diff --git a/docs/tutorials/dft/pcsaft/index.md b/docs/tutorials/dft/pcsaft/index.md old mode 100644 new mode 100755 diff --git a/docs/tutorials/dft/pcsaft/pcsaft_surface_tension.ipynb b/docs/tutorials/dft/pcsaft/pcsaft_surface_tension.ipynb old mode 100644 new mode 100755 diff --git a/docs/tutorials/eos/index.md b/docs/tutorials/eos/index.md old mode 100644 new mode 100755 diff --git a/docs/tutorials/eos/pcsaft/index.md b/docs/tutorials/eos/pcsaft/index.md old mode 100644 new mode 100755 diff --git a/docs/tutorials/eos/pcsaft/pcsaft_entropy_scaling.ipynb b/docs/tutorials/eos/pcsaft/pcsaft_entropy_scaling.ipynb old mode 100644 new mode 100755 diff --git a/docs/tutorials/eos/pcsaft/pcsaft_phase_diagram.ipynb b/docs/tutorials/eos/pcsaft/pcsaft_phase_diagram.ipynb old mode 100644 new mode 100755 diff --git a/docs/tutorials/eos/pcsaft/pcsaft_working_with_parameters.ipynb b/docs/tutorials/eos/pcsaft/pcsaft_working_with_parameters.ipynb old mode 100644 new mode 100755 diff --git a/docs/tutorials/eos/python/core_user_defined_eos.ipynb b/docs/tutorials/eos/python/core_user_defined_eos.ipynb old mode 100644 new mode 100755 diff --git a/docs/tutorials/eos/python/index.md b/docs/tutorials/eos/python/index.md old mode 100644 new mode 100755 diff --git a/docs/tutorials/index.md b/docs/tutorials/index.md old mode 100644 new mode 100755 diff --git a/docs/tutorials/utility/core_dual_numbers.ipynb b/docs/tutorials/utility/core_dual_numbers.ipynb old mode 100644 new mode 100755 diff --git a/docs/tutorials/utility/core_working_with_units.ipynb b/docs/tutorials/utility/core_working_with_units.ipynb old mode 100644 new mode 100755 diff --git a/docs/tutorials/utility/index.md b/docs/tutorials/utility/index.md old mode 100644 new mode 100755 diff --git a/examples/core_dual_numbers.ipynb b/examples/core_dual_numbers.ipynb old mode 100644 new mode 100755 diff --git a/examples/core_user_defined_eos.ipynb b/examples/core_user_defined_eos.ipynb old mode 100644 new mode 100755 diff --git a/examples/core_working_with_units.ipynb b/examples/core_working_with_units.ipynb old mode 100644 new mode 100755 diff --git a/examples/data/hexane_nist.csv b/examples/data/hexane_nist.csv old mode 100644 new mode 100755 diff --git a/examples/data/lennard_jones_nist.csv b/examples/data/lennard_jones_nist.csv old mode 100644 new mode 100755 diff --git a/examples/data/water_vle_nist.csv b/examples/data/water_vle_nist.csv old mode 100644 new mode 100755 diff --git a/examples/gc_pcsaft_functional.ipynb b/examples/gc_pcsaft_functional.ipynb old mode 100644 new mode 100755 diff --git a/examples/lj_models.ipynb b/examples/lj_models.ipynb old mode 100644 new mode 100755 diff --git a/examples/pc_saft_phase_diagram_to_dict.ipynb b/examples/pc_saft_phase_diagram_to_dict.ipynb old mode 100644 new mode 100755 diff --git a/examples/pcsaft/Entropy Scaling.ipynb b/examples/pcsaft/Entropy Scaling.ipynb old mode 100644 new mode 100755 diff --git a/examples/pcsaft/PhaseDiagramBinary.ipynb b/examples/pcsaft/PhaseDiagramBinary.ipynb old mode 100644 new mode 100755 diff --git a/examples/pcsaft/adsorption_isotherms.ipynb b/examples/pcsaft/adsorption_isotherms.ipynb old mode 100644 new mode 100755 diff --git a/examples/pcsaft/fea_adsorption.ipynb b/examples/pcsaft/fea_adsorption.ipynb old mode 100644 new mode 100755 diff --git a/examples/pcsaft/hexane_nist.csv b/examples/pcsaft/hexane_nist.csv old mode 100644 new mode 100755 diff --git a/examples/pcsaft/parameter_adjustment/README.md b/examples/pcsaft/parameter_adjustment/README.md old mode 100644 new mode 100755 diff --git a/examples/pcsaft/parameter_adjustment/adjust_kij.ipynb b/examples/pcsaft/parameter_adjustment/adjust_kij.ipynb old mode 100644 new mode 100755 diff --git a/examples/pcsaft/parameter_adjustment/adjust_non_polar_non_asssociating.ipynb b/examples/pcsaft/parameter_adjustment/adjust_non_polar_non_asssociating.ipynb old mode 100644 new mode 100755 diff --git a/examples/pcsaft/parameter_adjustment/adjust_viscosity_correlation.ipynb b/examples/pcsaft/parameter_adjustment/adjust_viscosity_correlation.ipynb old mode 100644 new mode 100755 diff --git a/examples/pcsaft/parameter_adjustment/data/binary_vle.csv b/examples/pcsaft/parameter_adjustment/data/binary_vle.csv old mode 100644 new mode 100755 diff --git a/examples/pcsaft/parameter_adjustment/data/hexane_liquid_density.csv b/examples/pcsaft/parameter_adjustment/data/hexane_liquid_density.csv old mode 100644 new mode 100755 diff --git a/examples/pcsaft/parameter_adjustment/data/hexane_vapor_pressure.csv b/examples/pcsaft/parameter_adjustment/data/hexane_vapor_pressure.csv old mode 100644 new mode 100755 diff --git a/examples/pcsaft/parameter_adjustment/data/hexane_viscosity.csv b/examples/pcsaft/parameter_adjustment/data/hexane_viscosity.csv old mode 100644 new mode 100755 diff --git a/examples/pcsaft/pore_geometry.ipynb b/examples/pcsaft/pore_geometry.ipynb old mode 100644 new mode 100755 diff --git a/examples/pcsaft/structure_parameters/ZIF-8.cif b/examples/pcsaft/structure_parameters/ZIF-8.cif old mode 100644 new mode 100755 diff --git a/examples/pcsaft/structure_parameters/noble_gases.json b/examples/pcsaft/structure_parameters/noble_gases.json old mode 100644 new mode 100755 diff --git a/examples/pcsaft_entropy_scaling.ipynb b/examples/pcsaft_entropy_scaling.ipynb old mode 100644 new mode 100755 diff --git a/examples/pcsaft_phase_diagram.ipynb b/examples/pcsaft_phase_diagram.ipynb old mode 100644 new mode 100755 diff --git a/examples/pcsaft_surface_tension.ipynb b/examples/pcsaft_surface_tension.ipynb old mode 100644 new mode 100755 diff --git a/examples/pcsaft_working_with_parameters.ipynb b/examples/pcsaft_working_with_parameters.ipynb old mode 100644 new mode 100755 diff --git a/examples/peng-robinson.json b/examples/peng-robinson.json old mode 100644 new mode 100755 diff --git a/examples/pets_eos_binary_caseI.ipynb b/examples/pets_eos_binary_caseI.ipynb old mode 100644 new mode 100755 diff --git a/examples/saftvrmie/lafitte_critical_data.csv b/examples/saftvrmie/lafitte_critical_data.csv old mode 100644 new mode 100755 diff --git a/examples/saftvrmie/validate_lafitte.ipynb b/examples/saftvrmie/validate_lafitte.ipynb old mode 100644 new mode 100755 diff --git a/examples/saftvrqmie/data/deuterium_helium_exp_data.dat b/examples/saftvrqmie/data/deuterium_helium_exp_data.dat old mode 100644 new mode 100755 diff --git a/examples/saftvrqmie/data/hydrogen_deuterium_exp_data.dat b/examples/saftvrqmie/data/hydrogen_deuterium_exp_data.dat old mode 100644 new mode 100755 diff --git a/examples/saftvrqmie/data/hydrogen_helium_exp_data.dat b/examples/saftvrqmie/data/hydrogen_helium_exp_data.dat old mode 100644 new mode 100755 diff --git a/examples/saftvrqmie/deuterium_32K.table b/examples/saftvrqmie/deuterium_32K.table old mode 100644 new mode 100755 diff --git a/examples/saftvrqmie/deuterium_helium_binary.ipynb b/examples/saftvrqmie/deuterium_helium_binary.ipynb old mode 100644 new mode 100755 diff --git a/examples/saftvrqmie/deuterium_neon_32K.rdf b/examples/saftvrqmie/deuterium_neon_32K.rdf old mode 100644 new mode 100755 diff --git a/examples/saftvrqmie/deuterium_neon_32K.table b/examples/saftvrqmie/deuterium_neon_32K.table old mode 100644 new mode 100755 diff --git a/examples/saftvrqmie/hydrogen_deuterium_binary.ipynb b/examples/saftvrqmie/hydrogen_deuterium_binary.ipynb old mode 100644 new mode 100755 diff --git a/examples/saftvrqmie/hydrogen_fh1_vs_fh2.ipynb b/examples/saftvrqmie/hydrogen_fh1_vs_fh2.ipynb old mode 100644 new mode 100755 diff --git a/examples/saftvrqmie/hydrogen_helium_binary.ipynb b/examples/saftvrqmie/hydrogen_helium_binary.ipynb old mode 100644 new mode 100755 diff --git a/examples/saftvrqmie/hydrogen_neon_binary.ipynb b/examples/saftvrqmie/hydrogen_neon_binary.ipynb old mode 100644 new mode 100755 diff --git a/examples/saftvrqmie/in.binary_deuterium_neon b/examples/saftvrqmie/in.binary_deuterium_neon old mode 100644 new mode 100755 diff --git a/examples/saftvrqmie/mulero_2012_parameters.json b/examples/saftvrqmie/mulero_2012_parameters.json old mode 100644 new mode 100755 diff --git a/examples/saftvrqmie/neon_32K.table b/examples/saftvrqmie/neon_32K.table old mode 100644 new mode 100755 diff --git a/examples/saftvrqmie/quantum_fluid_dft.ipynb b/examples/saftvrqmie/quantum_fluid_dft.ipynb old mode 100644 new mode 100755 diff --git a/examples/saftvrqmie/radial_distribution_function.ipynb b/examples/saftvrqmie/radial_distribution_function.ipynb old mode 100644 new mode 100755 diff --git a/license-apache b/license-apache old mode 100644 new mode 100755 diff --git a/license-mit b/license-mit old mode 100644 new mode 100755 diff --git a/manuscript/README.md b/manuscript/README.md old mode 100644 new mode 100755 diff --git a/manuscript/manuscript.pdf b/manuscript/manuscript.pdf old mode 100644 new mode 100755 diff --git a/parameters/epcsaft/README.md b/parameters/epcsaft/README.md old mode 100644 new mode 100755 diff --git a/parameters/epcsaft/held2014_binary.json b/parameters/epcsaft/held2014_binary.json old mode 100644 new mode 100755 diff --git a/parameters/epcsaft/held2014_w_permittivity_added.json b/parameters/epcsaft/held2014_w_permittivity_added.json old mode 100644 new mode 100755 diff --git a/parameters/epcsaft/literature.bib b/parameters/epcsaft/literature.bib old mode 100644 new mode 100755 diff --git a/parameters/ideal_gas/README.md b/parameters/ideal_gas/README.md old mode 100644 new mode 100755 diff --git a/parameters/ideal_gas/joback1987.json b/parameters/ideal_gas/joback1987.json old mode 100644 new mode 100755 diff --git a/parameters/ideal_gas/literature.bib b/parameters/ideal_gas/literature.bib old mode 100644 new mode 100755 diff --git a/parameters/ideal_gas/poling2000.json b/parameters/ideal_gas/poling2000.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/README.md b/parameters/pcsaft/README.md old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/eller2022.json b/parameters/pcsaft/eller2022.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/esper2023.json b/parameters/pcsaft/esper2023.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/gc_substances.json b/parameters/pcsaft/gc_substances.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/gross2001.json b/parameters/pcsaft/gross2001.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/gross2002.json b/parameters/pcsaft/gross2002.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/gross2002_binary.json b/parameters/pcsaft/gross2002_binary.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/gross2005_fit.json b/parameters/pcsaft/gross2005_fit.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/gross2005_literature.json b/parameters/pcsaft/gross2005_literature.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/gross2006.json b/parameters/pcsaft/gross2006.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/literature.bib b/parameters/pcsaft/literature.bib old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/loetgeringlin2015_homo.json b/parameters/pcsaft/loetgeringlin2015_homo.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/loetgeringlin2018.json b/parameters/pcsaft/loetgeringlin2018.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/rehner2020.json b/parameters/pcsaft/rehner2020.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/rehner2023_binary.json b/parameters/pcsaft/rehner2023_binary.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/rehner2023_hetero.json b/parameters/pcsaft/rehner2023_hetero.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/rehner2023_hetero_binary.json b/parameters/pcsaft/rehner2023_hetero_binary.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/rehner2023_homo.json b/parameters/pcsaft/rehner2023_homo.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/rehner2023_homo_binary.json b/parameters/pcsaft/rehner2023_homo_binary.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/sauer2014_hetero.json b/parameters/pcsaft/sauer2014_hetero.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/sauer2014_homo.json b/parameters/pcsaft/sauer2014_homo.json old mode 100644 new mode 100755 diff --git a/parameters/pcsaft/sauer2014_smarts.json b/parameters/pcsaft/sauer2014_smarts.json old mode 100644 new mode 100755 diff --git a/parameters/saftvrmie/README.md b/parameters/saftvrmie/README.md old mode 100644 new mode 100755 diff --git a/parameters/saftvrmie/lafitte2013.json b/parameters/saftvrmie/lafitte2013.json old mode 100644 new mode 100755 diff --git a/parameters/saftvrmie/literature.bib b/parameters/saftvrmie/literature.bib old mode 100644 new mode 100755 diff --git a/parameters/saftvrqmie/README.md b/parameters/saftvrqmie/README.md old mode 100644 new mode 100755 diff --git a/parameters/saftvrqmie/aasen2019.json b/parameters/saftvrqmie/aasen2019.json old mode 100644 new mode 100755 diff --git a/parameters/saftvrqmie/aasen2019_fh2.json b/parameters/saftvrqmie/aasen2019_fh2.json old mode 100644 new mode 100755 diff --git a/parameters/saftvrqmie/aasen2020_binary.json b/parameters/saftvrqmie/aasen2020_binary.json old mode 100644 new mode 100755 diff --git a/parameters/saftvrqmie/aasen2020_binary_fh2.json b/parameters/saftvrqmie/aasen2020_binary_fh2.json old mode 100644 new mode 100755 diff --git a/parameters/saftvrqmie/hammer2023.json b/parameters/saftvrqmie/hammer2023.json old mode 100644 new mode 100755 diff --git a/parameters/saftvrqmie/literature.bib b/parameters/saftvrqmie/literature.bib old mode 100644 new mode 100755 diff --git a/py-feos/.python-version b/py-feos/.python-version old mode 100644 new mode 100755 diff --git a/py-feos/Cargo.toml b/py-feos/Cargo.toml old mode 100644 new mode 100755 diff --git a/py-feos/README.md b/py-feos/README.md old mode 100644 new mode 100755 diff --git a/py-feos/feos/__init__.py b/py-feos/feos/__init__.py old mode 100644 new mode 100755 diff --git a/py-feos/feos/dft.py b/py-feos/feos/dft.py old mode 100644 new mode 100755 diff --git a/py-feos/feos/dft.pyi b/py-feos/feos/dft.pyi old mode 100644 new mode 100755 diff --git a/py-feos/feos/estimator.py b/py-feos/feos/estimator.py old mode 100644 new mode 100755 diff --git a/py-feos/feos/estimator.pyi b/py-feos/feos/estimator.pyi old mode 100644 new mode 100755 diff --git a/py-feos/feos/feos.pyi b/py-feos/feos/feos.pyi old mode 100644 new mode 100755 diff --git a/py-feos/feos/parameters.py b/py-feos/feos/parameters.py old mode 100644 new mode 100755 diff --git a/py-feos/feos/parameters.pyi b/py-feos/feos/parameters.pyi old mode 100644 new mode 100755 diff --git a/py-feos/pyproject.toml b/py-feos/pyproject.toml old mode 100644 new mode 100755 diff --git a/py-feos/src/dft/adsorption/external_potential.rs b/py-feos/src/dft/adsorption/external_potential.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/dft/adsorption/mod.rs b/py-feos/src/dft/adsorption/mod.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/dft/adsorption/pore.rs b/py-feos/src/dft/adsorption/pore.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/dft/interface/mod.rs b/py-feos/src/dft/interface/mod.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/dft/interface/surface_tension_diagram.rs b/py-feos/src/dft/interface/surface_tension_diagram.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/dft/mod.rs b/py-feos/src/dft/mod.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/dft/profile.rs b/py-feos/src/dft/profile.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/dft/solvation.rs b/py-feos/src/dft/solvation.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/dft/solver.rs b/py-feos/src/dft/solver.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/eos/constructors.rs b/py-feos/src/eos/constructors.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/eos/epcsaft.rs b/py-feos/src/eos/epcsaft.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/eos/gc_pcsaft.rs b/py-feos/src/eos/gc_pcsaft.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/eos/mod.rs b/py-feos/src/eos/mod.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/eos/pcsaft.rs b/py-feos/src/eos/pcsaft.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/eos/pets.rs b/py-feos/src/eos/pets.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/eos/saftvrmie.rs b/py-feos/src/eos/saftvrmie.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/eos/saftvrqmie.rs b/py-feos/src/eos/saftvrqmie.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/eos/uvtheory.rs b/py-feos/src/eos/uvtheory.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/error.rs b/py-feos/src/error.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/estimator.rs b/py-feos/src/estimator.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/ideal_gas.rs b/py-feos/src/ideal_gas.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/lib.rs b/py-feos/src/lib.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/parameter/chemical_record.rs b/py-feos/src/parameter/chemical_record.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/parameter/fragmentation.rs b/py-feos/src/parameter/fragmentation.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/parameter/identifier.rs b/py-feos/src/parameter/identifier.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/parameter/mod.rs b/py-feos/src/parameter/mod.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/parameter/model_record.rs b/py-feos/src/parameter/model_record.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/parameter/segment.rs b/py-feos/src/parameter/segment.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/phase_equilibria.rs b/py-feos/src/phase_equilibria.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/residual.rs b/py-feos/src/residual.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/state.rs b/py-feos/src/state.rs old mode 100644 new mode 100755 diff --git a/py-feos/src/user_defined.rs b/py-feos/src/user_defined.rs old mode 100644 new mode 100755 diff --git a/py-feos/uv.lock b/py-feos/uv.lock old mode 100644 new mode 100755 From 962aef6dff563e07207a7f825cf18965b9ac33d8 Mon Sep 17 00:00:00 2001 From: JelleLagerweij Date: Sun, 6 Jul 2025 14:26:55 +0200 Subject: [PATCH 12/13] attempting to figure out update in parameter(s) --- .github/workflows/documentation.yml | 0 .github/workflows/release.yml | 0 .github/workflows/release_core.yml | 0 .github/workflows/release_derive.yml | 0 .github/workflows/release_dft.yml | 0 .github/workflows/test.yml | 0 .github/workflows/wheels.yml | 0 .gitignore | 0 .idea/.gitignore | 0 .idea/feos_cubics.iml | 1 + .idea/modules.xml | 0 .idea/vcs.xml | 0 CHANGELOG.md | 0 CITATION.bib | 0 Cargo.toml | 0 README.md | 0 crates/feos-ad/CHANGELOG.md | 0 crates/feos-ad/Cargo.toml | 0 crates/feos-ad/README.md | 0 crates/feos-ad/src/core/mod.rs | 0 crates/feos-ad/src/core/phase_equilibria.rs | 0 crates/feos-ad/src/core/residual.rs | 0 crates/feos-ad/src/core/state.rs | 0 crates/feos-ad/src/core/total.rs | 0 crates/feos-ad/src/eos/gc_pcsaft.rs | 0 crates/feos-ad/src/eos/ideal_gas.rs | 0 crates/feos-ad/src/eos/mod.rs | 0 crates/feos-ad/src/eos/pcsaft/mod.rs | 0 crates/feos-ad/src/eos/pcsaft/pcsaft_binary.rs | 0 crates/feos-ad/src/eos/pcsaft/pcsaft_pure.rs | 0 crates/feos-ad/src/lib.rs | 0 crates/feos-ad/src/parameter_fit/mod.rs | 0 crates/feos-core/CHANGELOG.md | 0 crates/feos-core/Cargo.toml | 0 crates/feos-core/README.md | 0 crates/feos-core/docs-header.html | 0 crates/feos-core/src/cubic.rs | 0 crates/feos-core/src/density_iteration.rs | 0 crates/feos-core/src/equation_of_state/ideal_gas.rs | 0 crates/feos-core/src/equation_of_state/mod.rs | 0 crates/feos-core/src/equation_of_state/residual.rs | 0 crates/feos-core/src/errors.rs | 0 crates/feos-core/src/lib.rs | 0 crates/feos-core/src/parameter/association.rs | 0 crates/feos-core/src/parameter/chemical_record.rs | 0 crates/feos-core/src/parameter/identifier.rs | 0 crates/feos-core/src/parameter/mod.rs | 0 crates/feos-core/src/parameter/model_record.rs | 0 crates/feos-core/src/parameter/segment.rs | 0 crates/feos-core/src/phase_equilibria/bubble_dew.rs | 0 crates/feos-core/src/phase_equilibria/mod.rs | 0 .../src/phase_equilibria/phase_diagram_binary.rs | 0 .../src/phase_equilibria/phase_diagram_pure.rs | 0 .../src/phase_equilibria/phase_envelope.rs | 0 .../src/phase_equilibria/stability_analysis.rs | 0 crates/feos-core/src/phase_equilibria/tp_flash.rs | 0 crates/feos-core/src/phase_equilibria/vle_pure.rs | 0 crates/feos-core/src/state/builder.rs | 0 crates/feos-core/src/state/cache.rs | 0 crates/feos-core/src/state/critical_point.rs | 0 crates/feos-core/src/state/mod.rs | 0 crates/feos-core/src/state/properties.rs | 0 crates/feos-core/src/state/residual_properties.rs | 0 crates/feos-core/src/state/statevec.rs | 0 crates/feos-core/tests/parameters.rs | 0 crates/feos-core/tests/test_parameters1.json | 0 crates/feos-core/tests/test_parameters2.json | 0 crates/feos-core/tests/test_parameters_binary.json | 0 crates/feos-derive/Cargo.toml | 0 crates/feos-derive/README.md | 0 crates/feos-derive/src/components.rs | 0 crates/feos-derive/src/dft.rs | 0 crates/feos-derive/src/functional_contribution.rs | 0 crates/feos-derive/src/ideal_gas.rs | 0 crates/feos-derive/src/lib.rs | 0 crates/feos-derive/src/residual.rs | 0 crates/feos-dft/CHANGELOG.md | 0 crates/feos-dft/Cargo.toml | 0 crates/feos-dft/README.md | 0 crates/feos-dft/docs-header.html | 0 .../feos-dft/src/adsorption/external_potential.rs | 0 crates/feos-dft/src/adsorption/fea_potential.rs | 0 crates/feos-dft/src/adsorption/mod.rs | 0 crates/feos-dft/src/adsorption/pore.rs | 0 crates/feos-dft/src/adsorption/pore2d.rs | 0 crates/feos-dft/src/adsorption/pore3d.rs | 0 crates/feos-dft/src/convolver/mod.rs | 0 crates/feos-dft/src/convolver/periodic_convolver.rs | 0 crates/feos-dft/src/convolver/transform.rs | 0 crates/feos-dft/src/functional.rs | 0 crates/feos-dft/src/functional_contribution.rs | 0 crates/feos-dft/src/geometry.rs | 0 crates/feos-dft/src/ideal_chain_contribution.rs | 0 crates/feos-dft/src/interface/mod.rs | 0 .../src/interface/surface_tension_diagram.rs | 0 crates/feos-dft/src/lib.rs | 0 crates/feos-dft/src/pdgt.rs | 0 crates/feos-dft/src/profile/mod.rs | 0 crates/feos-dft/src/profile/properties.rs | 0 crates/feos-dft/src/solvation/mod.rs | 0 crates/feos-dft/src/solvation/pair_correlation.rs | 0 crates/feos-dft/src/solvation/solvation_profile.rs | 0 crates/feos-dft/src/solver.rs | 0 crates/feos-dft/src/weight_functions.rs | 0 crates/feos/Cargo.toml | 3 ++- crates/feos/benches/README.md | 0 crates/feos/benches/contributions.rs | 0 crates/feos/benches/dft_pore.rs | 0 crates/feos/benches/dual_numbers.rs | 0 crates/feos/benches/dual_numbers_saftvrmie.rs | 0 crates/feos/benches/state_creation.rs | 0 crates/feos/benches/state_properties.rs | 0 crates/feos/src/association/dft.rs | 0 crates/feos/src/association/mod.rs | 0 crates/feos/src/cubic/alpha/mathias_copeman.rs | 0 crates/feos/src/cubic/alpha/mod.rs | 0 crates/feos/src/cubic/alpha/soave.rs | 0 crates/feos/src/cubic/alpha/twu.rs | 0 crates/feos/src/cubic/mixing_rules.rs | 0 crates/feos/src/cubic/mod.rs | 2 +- crates/feos/src/cubic/parameters.rs | 0 crates/feos/src/epcsaft/eos/born.rs | 0 crates/feos/src/epcsaft/eos/dispersion.rs | 0 crates/feos/src/epcsaft/eos/hard_chain.rs | 0 crates/feos/src/epcsaft/eos/ionic.rs | 0 crates/feos/src/epcsaft/eos/mod.rs | 0 crates/feos/src/epcsaft/eos/permittivity.rs | 0 crates/feos/src/epcsaft/mod.rs | 0 crates/feos/src/epcsaft/parameters.rs | 0 crates/feos/src/estimator/binary_vle.rs | 0 crates/feos/src/estimator/dataset.rs | 0 crates/feos/src/estimator/diffusion.rs | 0 crates/feos/src/estimator/estimator.rs | 0 crates/feos/src/estimator/impl_dataset.rs | 0 crates/feos/src/estimator/liquid_density.rs | 0 crates/feos/src/estimator/loss.rs | 0 crates/feos/src/estimator/mod.rs | 0 crates/feos/src/estimator/pt_data.rs | 0 crates/feos/src/estimator/strategy.rs | 0 crates/feos/src/estimator/thermal_conductivity.rs | 0 crates/feos/src/estimator/vapor_pressure.rs | 0 crates/feos/src/estimator/viscosity.rs | 0 crates/feos/src/gc_pcsaft/dft/dispersion.rs | 0 crates/feos/src/gc_pcsaft/dft/hard_chain.rs | 0 crates/feos/src/gc_pcsaft/dft/mod.rs | 0 crates/feos/src/gc_pcsaft/dft/parameter.rs | 0 crates/feos/src/gc_pcsaft/eos/dispersion.rs | 0 crates/feos/src/gc_pcsaft/eos/hard_chain.rs | 0 crates/feos/src/gc_pcsaft/eos/mod.rs | 0 crates/feos/src/gc_pcsaft/eos/parameter.rs | 0 crates/feos/src/gc_pcsaft/eos/polar.rs | 0 crates/feos/src/gc_pcsaft/micelles.rs | 0 crates/feos/src/gc_pcsaft/mod.rs | 0 crates/feos/src/gc_pcsaft/record.rs | 0 crates/feos/src/hard_sphere/dft.rs | 0 crates/feos/src/hard_sphere/mod.rs | 0 crates/feos/src/ideal_gas/dippr.rs | 0 crates/feos/src/ideal_gas/joback.rs | 0 crates/feos/src/ideal_gas/mod.rs | 0 crates/feos/src/lib.rs | 0 crates/feos/src/pcsaft/dft/dispersion.rs | 0 crates/feos/src/pcsaft/dft/hard_chain.rs | 0 crates/feos/src/pcsaft/dft/mod.rs | 0 crates/feos/src/pcsaft/dft/polar.rs | 0 crates/feos/src/pcsaft/dft/pure_saft_functional.rs | 0 crates/feos/src/pcsaft/eos/dispersion.rs | 0 crates/feos/src/pcsaft/eos/hard_chain.rs | 0 crates/feos/src/pcsaft/eos/mod.rs | 0 crates/feos/src/pcsaft/eos/polar.rs | 0 crates/feos/src/pcsaft/mod.rs | 0 crates/feos/src/pcsaft/parameters.rs | 0 crates/feos/src/pets/dft/dispersion.rs | 0 crates/feos/src/pets/dft/mod.rs | 0 crates/feos/src/pets/dft/pure_pets_functional.rs | 0 crates/feos/src/pets/eos/dispersion.rs | 0 crates/feos/src/pets/eos/mod.rs | 0 crates/feos/src/pets/mod.rs | 0 crates/feos/src/pets/parameters.rs | 0 crates/feos/src/saftvrmie/eos/association.rs | 0 crates/feos/src/saftvrmie/eos/dispersion.rs | 0 crates/feos/src/saftvrmie/eos/mod.rs | 0 crates/feos/src/saftvrmie/mod.rs | 0 crates/feos/src/saftvrmie/parameters.rs | 0 crates/feos/src/saftvrqmie/dft/dispersion.rs | 0 crates/feos/src/saftvrqmie/dft/mod.rs | 0 crates/feos/src/saftvrqmie/dft/non_additive_hs.rs | 0 crates/feos/src/saftvrqmie/eos/dispersion.rs | 0 crates/feos/src/saftvrqmie/eos/hard_sphere.rs | 0 crates/feos/src/saftvrqmie/eos/mod.rs | 0 crates/feos/src/saftvrqmie/eos/non_additive_hs.rs | 0 crates/feos/src/saftvrqmie/mod.rs | 0 crates/feos/src/saftvrqmie/parameters.rs | 0 .../src/uvtheory/eos/bh/attractive_perturbation.rs | 0 crates/feos/src/uvtheory/eos/bh/hard_sphere.rs | 0 crates/feos/src/uvtheory/eos/bh/mod.rs | 0 .../src/uvtheory/eos/bh/reference_perturbation.rs | 0 crates/feos/src/uvtheory/eos/mod.rs | 0 .../src/uvtheory/eos/wca/attractive_perturbation.rs | 0 .../eos/wca/attractive_perturbation_uvb3.rs | 0 crates/feos/src/uvtheory/eos/wca/hard_sphere.rs | 0 crates/feos/src/uvtheory/eos/wca/mod.rs | 0 .../src/uvtheory/eos/wca/reference_perturbation.rs | 0 .../uvtheory/eos/wca/reference_perturbation_uvb3.rs | 0 crates/feos/src/uvtheory/mod.rs | 0 crates/feos/src/uvtheory/parameters.rs | 0 crates/feos/tests/gc_pcsaft/binary.rs | 0 crates/feos/tests/gc_pcsaft/dft.rs | 0 crates/feos/tests/gc_pcsaft/mod.rs | 0 crates/feos/tests/main.rs | 0 crates/feos/tests/pcsaft/critical_point.rs | 0 crates/feos/tests/pcsaft/dft.rs | 0 crates/feos/tests/pcsaft/mod.rs | 0 crates/feos/tests/pcsaft/properties.rs | 0 crates/feos/tests/pcsaft/stability_analysis.rs | 0 crates/feos/tests/pcsaft/state_creation_mixture.rs | 0 crates/feos/tests/pcsaft/state_creation_pure.rs | 0 crates/feos/tests/pcsaft/test_parameters.json | 0 .../feos/tests/pcsaft/test_parameters_joback.json | 0 crates/feos/tests/pcsaft/tp_flash.rs | 0 crates/feos/tests/pcsaft/vle_pure.rs | 0 crates/feos/tests/saftvrmie/critical_properties.rs | 0 crates/feos/tests/saftvrmie/mod.rs | 0 docs-header.html | 0 docs/Makefile | 0 docs/_templates/autosummary/base.rst | 0 docs/_templates/autosummary/class.rst | 0 docs/api/dft.md | 0 docs/api/dippr.md | 0 docs/api/eos.md | 0 docs/api/epcsaft.md | 0 docs/api/gc_pcsaft.md | 0 docs/api/index.md | 0 docs/api/joback.md | 0 docs/api/pcsaft.md | 0 docs/api/peng_robinson.md | 0 docs/api/pets.md | 0 docs/api/saftvrmie.md | 0 docs/api/saftvrqmie.md | 0 docs/api/uvtheory.md | 0 docs/conf.py | 0 docs/help_and_feedback.md | 0 docs/index.md | 0 docs/installation.md | 0 docs/recipes/index.md | 0 docs/recipes/recipes_critical_point_pure.ipynb | 0 docs/recipes/recipes_p_sat_t_boil.ipynb | 0 docs/recipes/recipes_phase_diagram_pure.ipynb | 0 docs/recipes/recipes_phase_equilibrium_pure.ipynb | 0 .../recipes_surface_tension_diagram_pure.ipynb | 0 docs/recipes/recipes_surface_tension_pure.ipynb | 0 docs/rust_api.md | 0 docs/rustguide/core/equation_of_state.rst | 0 docs/rustguide/core/index.md | 0 docs/rustguide/core/state.rst | 0 docs/rustguide/index.md | 0 docs/theory/dft/derivatives.md | 0 docs/theory/dft/enthalpy_of_adsorption.md | 0 docs/theory/dft/euler_lagrange_equation.md | 0 docs/theory/dft/functional_derivatives.md | 0 docs/theory/dft/ideal_gas.md | 0 docs/theory/dft/index.md | 0 docs/theory/dft/pdgt.md | 0 docs/theory/dft/solver.md | 0 docs/theory/eos/critical_points.md | 0 docs/theory/eos/index.md | 0 docs/theory/eos/properties.md | 0 docs/theory/models/FeOs_Association.png | Bin docs/theory/models/association.md | 0 docs/theory/models/hard_spheres.md | 0 docs/theory/models/index.md | 0 docs/tutorials/dft/index.md | 0 docs/tutorials/dft/pcsaft/index.md | 0 .../dft/pcsaft/pcsaft_surface_tension.ipynb | 0 docs/tutorials/eos/index.md | 0 docs/tutorials/eos/pcsaft/index.md | 0 .../eos/pcsaft/pcsaft_entropy_scaling.ipynb | 0 .../tutorials/eos/pcsaft/pcsaft_phase_diagram.ipynb | 0 .../eos/pcsaft/pcsaft_working_with_parameters.ipynb | 0 .../eos/python/core_user_defined_eos.ipynb | 0 docs/tutorials/eos/python/index.md | 0 docs/tutorials/index.md | 0 docs/tutorials/utility/core_dual_numbers.ipynb | 0 .../tutorials/utility/core_working_with_units.ipynb | 0 docs/tutorials/utility/index.md | 0 examples/core_dual_numbers.ipynb | 0 examples/core_user_defined_eos.ipynb | 0 examples/core_working_with_units.ipynb | 0 examples/data/hexane_nist.csv | 0 examples/data/lennard_jones_nist.csv | 0 examples/data/water_vle_nist.csv | 0 examples/gc_pcsaft_functional.ipynb | 0 examples/lj_models.ipynb | 0 examples/pc_saft_phase_diagram_to_dict.ipynb | 0 examples/pcsaft/Entropy Scaling.ipynb | 0 examples/pcsaft/PhaseDiagramBinary.ipynb | 0 examples/pcsaft/adsorption_isotherms.ipynb | 0 examples/pcsaft/fea_adsorption.ipynb | 0 examples/pcsaft/hexane_nist.csv | 0 examples/pcsaft/parameter_adjustment/README.md | 0 .../pcsaft/parameter_adjustment/adjust_kij.ipynb | 0 .../adjust_non_polar_non_asssociating.ipynb | 0 .../adjust_viscosity_correlation.ipynb | 0 .../pcsaft/parameter_adjustment/data/binary_vle.csv | 0 .../data/hexane_liquid_density.csv | 0 .../data/hexane_vapor_pressure.csv | 0 .../parameter_adjustment/data/hexane_viscosity.csv | 0 examples/pcsaft/pore_geometry.ipynb | 0 examples/pcsaft/structure_parameters/DREIDING.dat | 0 examples/pcsaft/structure_parameters/Dha.dat | 0 examples/pcsaft/structure_parameters/LTA.dat | 0 examples/pcsaft/structure_parameters/MFI.nml | 0 examples/pcsaft/structure_parameters/PASCUAL.dat | 0 examples/pcsaft/structure_parameters/TpPA.dat | 0 examples/pcsaft/structure_parameters/ZIF-8.cif | 0 .../pcsaft/structure_parameters/noble_gases.json | 0 .../pcsaft/structure_parameters/solid_database.json | 0 examples/pcsaft_entropy_scaling.ipynb | 0 examples/pcsaft_phase_diagram.ipynb | 0 examples/pcsaft_surface_tension.ipynb | 0 examples/pcsaft_working_with_parameters.ipynb | 0 examples/peng-robinson.json | 0 examples/pets_eos_binary_caseI.ipynb | 0 examples/saftvrmie/lafitte_critical_data.csv | 0 examples/saftvrmie/validate_lafitte.ipynb | 0 .../saftvrqmie/data/deuterium_helium_exp_data.dat | 0 .../saftvrqmie/data/hydrogen_deuterium_exp_data.dat | 0 .../saftvrqmie/data/hydrogen_helium_exp_data.dat | 0 examples/saftvrqmie/deuterium_32K.table | 0 examples/saftvrqmie/deuterium_helium_binary.ipynb | 0 examples/saftvrqmie/deuterium_neon_32K.rdf | 0 examples/saftvrqmie/deuterium_neon_32K.table | 0 examples/saftvrqmie/hydrogen_deuterium_binary.ipynb | 0 examples/saftvrqmie/hydrogen_fh1_vs_fh2.ipynb | 0 examples/saftvrqmie/hydrogen_helium_binary.ipynb | 0 examples/saftvrqmie/hydrogen_neon_binary.ipynb | 0 examples/saftvrqmie/in.binary_deuterium_neon | 0 examples/saftvrqmie/mulero_2012_parameters.json | 0 examples/saftvrqmie/neon_32K.table | 0 examples/saftvrqmie/quantum_fluid_dft.ipynb | 0 .../saftvrqmie/radial_distribution_function.ipynb | 0 license-apache | 0 license-mit | 0 manuscript/README.md | 0 manuscript/manuscript.pdf | Bin parameters/epcsaft/README.md | 0 parameters/epcsaft/held2014_binary.json | 0 .../epcsaft/held2014_w_permittivity_added.json | 0 parameters/epcsaft/literature.bib | 0 parameters/ideal_gas/README.md | 0 parameters/ideal_gas/joback1987.json | 0 parameters/ideal_gas/literature.bib | 0 parameters/ideal_gas/poling2000.json | 0 parameters/pcsaft/README.md | 0 parameters/pcsaft/eller2022.json | 0 parameters/pcsaft/esper2023.json | 0 parameters/pcsaft/gc_substances.json | 0 parameters/pcsaft/gross2001.json | 0 parameters/pcsaft/gross2002.json | 0 parameters/pcsaft/gross2002_binary.json | 0 parameters/pcsaft/gross2005_fit.json | 0 parameters/pcsaft/gross2005_literature.json | 0 parameters/pcsaft/gross2006.json | 0 parameters/pcsaft/literature.bib | 0 parameters/pcsaft/loetgeringlin2015_homo.json | 0 parameters/pcsaft/loetgeringlin2018.json | 0 parameters/pcsaft/rehner2020.json | 0 parameters/pcsaft/rehner2023_binary.json | 0 parameters/pcsaft/rehner2023_hetero.json | 0 parameters/pcsaft/rehner2023_hetero_binary.json | 0 parameters/pcsaft/rehner2023_homo.json | 0 parameters/pcsaft/rehner2023_homo_binary.json | 0 parameters/pcsaft/sauer2014_hetero.json | 0 parameters/pcsaft/sauer2014_homo.json | 0 parameters/pcsaft/sauer2014_smarts.json | 0 parameters/saftvrmie/README.md | 0 parameters/saftvrmie/lafitte2013.json | 0 parameters/saftvrmie/literature.bib | 0 parameters/saftvrqmie/README.md | 0 parameters/saftvrqmie/aasen2019.json | 0 parameters/saftvrqmie/aasen2019_fh2.json | 0 parameters/saftvrqmie/aasen2020_binary.json | 0 parameters/saftvrqmie/aasen2020_binary_fh2.json | 0 parameters/saftvrqmie/hammer2023.json | 0 parameters/saftvrqmie/literature.bib | 0 parameters_old/README.md | 0 parameters_old/epcsaft/README.md | 0 parameters_old/epcsaft/held2014_binary.json | 0 .../epcsaft/held2014_w_permittivity_added.json | 0 parameters_old/epcsaft/literature.bib | 0 parameters_old/ideal_gas/README.md | 0 parameters_old/ideal_gas/joback1987.json | 0 parameters_old/ideal_gas/literature.bib | 0 parameters_old/ideal_gas/poling2000.json | 0 parameters_old/pcsaft/README.md | 0 parameters_old/pcsaft/eller2022.json | 0 parameters_old/pcsaft/esper2023.json | 0 parameters_old/pcsaft/gc_substances.json | 0 parameters_old/pcsaft/gross2001.json | 0 parameters_old/pcsaft/gross2002.json | 0 parameters_old/pcsaft/gross2002_binary.json | 0 parameters_old/pcsaft/gross2005_fit.json | 0 parameters_old/pcsaft/gross2005_literature.json | 0 parameters_old/pcsaft/gross2006.json | 0 parameters_old/pcsaft/literature.bib | 0 parameters_old/pcsaft/loetgeringlin2015_homo.json | 0 parameters_old/pcsaft/loetgeringlin2018.json | 0 parameters_old/pcsaft/rehner2020.json | 0 parameters_old/pcsaft/rehner2023_binary.json | 0 parameters_old/pcsaft/rehner2023_hetero.json | 0 parameters_old/pcsaft/rehner2023_hetero_binary.json | 0 parameters_old/pcsaft/rehner2023_homo.json | 0 parameters_old/pcsaft/rehner2023_homo_binary.json | 0 parameters_old/pcsaft/sauer2014_hetero.json | 0 parameters_old/pcsaft/sauer2014_homo.json | 0 parameters_old/pcsaft/sauer2014_smarts.json | 0 parameters_old/saftvrmie/README.md | 0 parameters_old/saftvrmie/lafitte2013.json | 0 parameters_old/saftvrmie/literature.bib | 0 parameters_old/saftvrqmie/README.md | 0 parameters_old/saftvrqmie/aasen2019.json | 0 parameters_old/saftvrqmie/aasen2019_fh2.json | 0 parameters_old/saftvrqmie/aasen2020_binary.json | 0 parameters_old/saftvrqmie/aasen2020_binary_fh2.json | 0 parameters_old/saftvrqmie/hammer2023.json | 0 parameters_old/saftvrqmie/literature.bib | 0 py-feos/.python-version | 0 py-feos/Cargo.toml | 0 py-feos/README.md | 0 py-feos/feos/__init__.py | 0 py-feos/feos/dft.py | 0 py-feos/feos/dft.pyi | 0 py-feos/feos/estimator.py | 0 py-feos/feos/estimator.pyi | 0 py-feos/feos/feos.pyi | 0 py-feos/feos/parameters.py | 0 py-feos/feos/parameters.pyi | 0 py-feos/pyproject.toml | 0 py-feos/src/dft/adsorption/external_potential.rs | 0 py-feos/src/dft/adsorption/mod.rs | 0 py-feos/src/dft/adsorption/pore.rs | 0 py-feos/src/dft/interface/mod.rs | 0 .../src/dft/interface/surface_tension_diagram.rs | 0 py-feos/src/dft/mod.rs | 0 py-feos/src/dft/profile.rs | 0 py-feos/src/dft/solvation.rs | 0 py-feos/src/dft/solver.rs | 0 py-feos/src/eos/constructors.rs | 0 py-feos/src/eos/epcsaft.rs | 0 py-feos/src/eos/gc_pcsaft.rs | 0 py-feos/src/eos/mod.rs | 0 py-feos/src/eos/pcsaft.rs | 0 py-feos/src/eos/pets.rs | 0 py-feos/src/eos/saftvrmie.rs | 0 py-feos/src/eos/saftvrqmie.rs | 0 py-feos/src/eos/uvtheory.rs | 0 py-feos/src/error.rs | 0 py-feos/src/estimator.rs | 0 py-feos/src/ideal_gas.rs | 0 py-feos/src/lib.rs | 0 py-feos/src/parameter/chemical_record.rs | 0 py-feos/src/parameter/fragmentation.rs | 0 py-feos/src/parameter/identifier.rs | 0 py-feos/src/parameter/mod.rs | 0 py-feos/src/parameter/model_record.rs | 0 py-feos/src/parameter/segment.rs | 0 py-feos/src/phase_equilibria.rs | 0 py-feos/src/residual.rs | 0 py-feos/src/state.rs | 0 py-feos/src/user_defined.rs | 0 py-feos/uv.lock | 0 470 files changed, 4 insertions(+), 2 deletions(-) mode change 100755 => 100644 .github/workflows/documentation.yml mode change 100755 => 100644 .github/workflows/release.yml mode change 100755 => 100644 .github/workflows/release_core.yml mode change 100755 => 100644 .github/workflows/release_derive.yml mode change 100755 => 100644 .github/workflows/release_dft.yml mode change 100755 => 100644 .github/workflows/test.yml mode change 100755 => 100644 .github/workflows/wheels.yml mode change 100755 => 100644 .gitignore mode change 100755 => 100644 .idea/.gitignore mode change 100755 => 100644 .idea/feos_cubics.iml mode change 100755 => 100644 .idea/modules.xml mode change 100755 => 100644 .idea/vcs.xml mode change 100755 => 100644 CHANGELOG.md mode change 100755 => 100644 CITATION.bib mode change 100755 => 100644 Cargo.toml mode change 100755 => 100644 README.md mode change 100755 => 100644 crates/feos-ad/CHANGELOG.md mode change 100755 => 100644 crates/feos-ad/Cargo.toml mode change 100755 => 100644 crates/feos-ad/README.md mode change 100755 => 100644 crates/feos-ad/src/core/mod.rs mode change 100755 => 100644 crates/feos-ad/src/core/phase_equilibria.rs mode change 100755 => 100644 crates/feos-ad/src/core/residual.rs mode change 100755 => 100644 crates/feos-ad/src/core/state.rs mode change 100755 => 100644 crates/feos-ad/src/core/total.rs mode change 100755 => 100644 crates/feos-ad/src/eos/gc_pcsaft.rs mode change 100755 => 100644 crates/feos-ad/src/eos/ideal_gas.rs mode change 100755 => 100644 crates/feos-ad/src/eos/mod.rs mode change 100755 => 100644 crates/feos-ad/src/eos/pcsaft/mod.rs mode change 100755 => 100644 crates/feos-ad/src/eos/pcsaft/pcsaft_binary.rs mode change 100755 => 100644 crates/feos-ad/src/eos/pcsaft/pcsaft_pure.rs mode change 100755 => 100644 crates/feos-ad/src/lib.rs mode change 100755 => 100644 crates/feos-ad/src/parameter_fit/mod.rs mode change 100755 => 100644 crates/feos-core/CHANGELOG.md mode change 100755 => 100644 crates/feos-core/Cargo.toml mode change 100755 => 100644 crates/feos-core/README.md mode change 100755 => 100644 crates/feos-core/docs-header.html mode change 100755 => 100644 crates/feos-core/src/cubic.rs mode change 100755 => 100644 crates/feos-core/src/density_iteration.rs mode change 100755 => 100644 crates/feos-core/src/equation_of_state/ideal_gas.rs mode change 100755 => 100644 crates/feos-core/src/equation_of_state/mod.rs mode change 100755 => 100644 crates/feos-core/src/equation_of_state/residual.rs mode change 100755 => 100644 crates/feos-core/src/errors.rs mode change 100755 => 100644 crates/feos-core/src/lib.rs mode change 100755 => 100644 crates/feos-core/src/parameter/association.rs mode change 100755 => 100644 crates/feos-core/src/parameter/chemical_record.rs mode change 100755 => 100644 crates/feos-core/src/parameter/identifier.rs mode change 100755 => 100644 crates/feos-core/src/parameter/mod.rs mode change 100755 => 100644 crates/feos-core/src/parameter/model_record.rs mode change 100755 => 100644 crates/feos-core/src/parameter/segment.rs mode change 100755 => 100644 crates/feos-core/src/phase_equilibria/bubble_dew.rs mode change 100755 => 100644 crates/feos-core/src/phase_equilibria/mod.rs mode change 100755 => 100644 crates/feos-core/src/phase_equilibria/phase_diagram_binary.rs mode change 100755 => 100644 crates/feos-core/src/phase_equilibria/phase_diagram_pure.rs mode change 100755 => 100644 crates/feos-core/src/phase_equilibria/phase_envelope.rs mode change 100755 => 100644 crates/feos-core/src/phase_equilibria/stability_analysis.rs mode change 100755 => 100644 crates/feos-core/src/phase_equilibria/tp_flash.rs mode change 100755 => 100644 crates/feos-core/src/phase_equilibria/vle_pure.rs mode change 100755 => 100644 crates/feos-core/src/state/builder.rs mode change 100755 => 100644 crates/feos-core/src/state/cache.rs mode change 100755 => 100644 crates/feos-core/src/state/critical_point.rs mode change 100755 => 100644 crates/feos-core/src/state/mod.rs mode change 100755 => 100644 crates/feos-core/src/state/properties.rs mode change 100755 => 100644 crates/feos-core/src/state/residual_properties.rs mode change 100755 => 100644 crates/feos-core/src/state/statevec.rs mode change 100755 => 100644 crates/feos-core/tests/parameters.rs mode change 100755 => 100644 crates/feos-core/tests/test_parameters1.json mode change 100755 => 100644 crates/feos-core/tests/test_parameters2.json mode change 100755 => 100644 crates/feos-core/tests/test_parameters_binary.json mode change 100755 => 100644 crates/feos-derive/Cargo.toml mode change 100755 => 100644 crates/feos-derive/README.md mode change 100755 => 100644 crates/feos-derive/src/components.rs mode change 100755 => 100644 crates/feos-derive/src/dft.rs mode change 100755 => 100644 crates/feos-derive/src/functional_contribution.rs mode change 100755 => 100644 crates/feos-derive/src/ideal_gas.rs mode change 100755 => 100644 crates/feos-derive/src/lib.rs mode change 100755 => 100644 crates/feos-derive/src/residual.rs mode change 100755 => 100644 crates/feos-dft/CHANGELOG.md mode change 100755 => 100644 crates/feos-dft/Cargo.toml mode change 100755 => 100644 crates/feos-dft/README.md mode change 100755 => 100644 crates/feos-dft/docs-header.html mode change 100755 => 100644 crates/feos-dft/src/adsorption/external_potential.rs mode change 100755 => 100644 crates/feos-dft/src/adsorption/fea_potential.rs mode change 100755 => 100644 crates/feos-dft/src/adsorption/mod.rs mode change 100755 => 100644 crates/feos-dft/src/adsorption/pore.rs mode change 100755 => 100644 crates/feos-dft/src/adsorption/pore2d.rs mode change 100755 => 100644 crates/feos-dft/src/adsorption/pore3d.rs mode change 100755 => 100644 crates/feos-dft/src/convolver/mod.rs mode change 100755 => 100644 crates/feos-dft/src/convolver/periodic_convolver.rs mode change 100755 => 100644 crates/feos-dft/src/convolver/transform.rs mode change 100755 => 100644 crates/feos-dft/src/functional.rs mode change 100755 => 100644 crates/feos-dft/src/functional_contribution.rs mode change 100755 => 100644 crates/feos-dft/src/geometry.rs mode change 100755 => 100644 crates/feos-dft/src/ideal_chain_contribution.rs mode change 100755 => 100644 crates/feos-dft/src/interface/mod.rs mode change 100755 => 100644 crates/feos-dft/src/interface/surface_tension_diagram.rs mode change 100755 => 100644 crates/feos-dft/src/lib.rs mode change 100755 => 100644 crates/feos-dft/src/pdgt.rs mode change 100755 => 100644 crates/feos-dft/src/profile/mod.rs mode change 100755 => 100644 crates/feos-dft/src/profile/properties.rs mode change 100755 => 100644 crates/feos-dft/src/solvation/mod.rs mode change 100755 => 100644 crates/feos-dft/src/solvation/pair_correlation.rs mode change 100755 => 100644 crates/feos-dft/src/solvation/solvation_profile.rs mode change 100755 => 100644 crates/feos-dft/src/solver.rs mode change 100755 => 100644 crates/feos-dft/src/weight_functions.rs mode change 100755 => 100644 crates/feos/Cargo.toml mode change 100755 => 100644 crates/feos/benches/README.md mode change 100755 => 100644 crates/feos/benches/contributions.rs mode change 100755 => 100644 crates/feos/benches/dft_pore.rs mode change 100755 => 100644 crates/feos/benches/dual_numbers.rs mode change 100755 => 100644 crates/feos/benches/dual_numbers_saftvrmie.rs mode change 100755 => 100644 crates/feos/benches/state_creation.rs mode change 100755 => 100644 crates/feos/benches/state_properties.rs mode change 100755 => 100644 crates/feos/src/association/dft.rs mode change 100755 => 100644 crates/feos/src/association/mod.rs mode change 100755 => 100644 crates/feos/src/cubic/alpha/mathias_copeman.rs mode change 100755 => 100644 crates/feos/src/cubic/alpha/mod.rs mode change 100755 => 100644 crates/feos/src/cubic/alpha/soave.rs mode change 100755 => 100644 crates/feos/src/cubic/alpha/twu.rs mode change 100755 => 100644 crates/feos/src/cubic/mixing_rules.rs mode change 100755 => 100644 crates/feos/src/cubic/mod.rs mode change 100755 => 100644 crates/feos/src/cubic/parameters.rs mode change 100755 => 100644 crates/feos/src/epcsaft/eos/born.rs mode change 100755 => 100644 crates/feos/src/epcsaft/eos/dispersion.rs mode change 100755 => 100644 crates/feos/src/epcsaft/eos/hard_chain.rs mode change 100755 => 100644 crates/feos/src/epcsaft/eos/ionic.rs mode change 100755 => 100644 crates/feos/src/epcsaft/eos/mod.rs mode change 100755 => 100644 crates/feos/src/epcsaft/eos/permittivity.rs mode change 100755 => 100644 crates/feos/src/epcsaft/mod.rs mode change 100755 => 100644 crates/feos/src/epcsaft/parameters.rs mode change 100755 => 100644 crates/feos/src/estimator/binary_vle.rs mode change 100755 => 100644 crates/feos/src/estimator/dataset.rs mode change 100755 => 100644 crates/feos/src/estimator/diffusion.rs mode change 100755 => 100644 crates/feos/src/estimator/estimator.rs mode change 100755 => 100644 crates/feos/src/estimator/impl_dataset.rs mode change 100755 => 100644 crates/feos/src/estimator/liquid_density.rs mode change 100755 => 100644 crates/feos/src/estimator/loss.rs mode change 100755 => 100644 crates/feos/src/estimator/mod.rs mode change 100755 => 100644 crates/feos/src/estimator/pt_data.rs mode change 100755 => 100644 crates/feos/src/estimator/strategy.rs mode change 100755 => 100644 crates/feos/src/estimator/thermal_conductivity.rs mode change 100755 => 100644 crates/feos/src/estimator/vapor_pressure.rs mode change 100755 => 100644 crates/feos/src/estimator/viscosity.rs mode change 100755 => 100644 crates/feos/src/gc_pcsaft/dft/dispersion.rs mode change 100755 => 100644 crates/feos/src/gc_pcsaft/dft/hard_chain.rs mode change 100755 => 100644 crates/feos/src/gc_pcsaft/dft/mod.rs mode change 100755 => 100644 crates/feos/src/gc_pcsaft/dft/parameter.rs mode change 100755 => 100644 crates/feos/src/gc_pcsaft/eos/dispersion.rs mode change 100755 => 100644 crates/feos/src/gc_pcsaft/eos/hard_chain.rs mode change 100755 => 100644 crates/feos/src/gc_pcsaft/eos/mod.rs mode change 100755 => 100644 crates/feos/src/gc_pcsaft/eos/parameter.rs mode change 100755 => 100644 crates/feos/src/gc_pcsaft/eos/polar.rs mode change 100755 => 100644 crates/feos/src/gc_pcsaft/micelles.rs mode change 100755 => 100644 crates/feos/src/gc_pcsaft/mod.rs mode change 100755 => 100644 crates/feos/src/gc_pcsaft/record.rs mode change 100755 => 100644 crates/feos/src/hard_sphere/dft.rs mode change 100755 => 100644 crates/feos/src/hard_sphere/mod.rs mode change 100755 => 100644 crates/feos/src/ideal_gas/dippr.rs mode change 100755 => 100644 crates/feos/src/ideal_gas/joback.rs mode change 100755 => 100644 crates/feos/src/ideal_gas/mod.rs mode change 100755 => 100644 crates/feos/src/lib.rs mode change 100755 => 100644 crates/feos/src/pcsaft/dft/dispersion.rs mode change 100755 => 100644 crates/feos/src/pcsaft/dft/hard_chain.rs mode change 100755 => 100644 crates/feos/src/pcsaft/dft/mod.rs mode change 100755 => 100644 crates/feos/src/pcsaft/dft/polar.rs mode change 100755 => 100644 crates/feos/src/pcsaft/dft/pure_saft_functional.rs mode change 100755 => 100644 crates/feos/src/pcsaft/eos/dispersion.rs mode change 100755 => 100644 crates/feos/src/pcsaft/eos/hard_chain.rs mode change 100755 => 100644 crates/feos/src/pcsaft/eos/mod.rs mode change 100755 => 100644 crates/feos/src/pcsaft/eos/polar.rs mode change 100755 => 100644 crates/feos/src/pcsaft/mod.rs mode change 100755 => 100644 crates/feos/src/pcsaft/parameters.rs mode change 100755 => 100644 crates/feos/src/pets/dft/dispersion.rs mode change 100755 => 100644 crates/feos/src/pets/dft/mod.rs mode change 100755 => 100644 crates/feos/src/pets/dft/pure_pets_functional.rs mode change 100755 => 100644 crates/feos/src/pets/eos/dispersion.rs mode change 100755 => 100644 crates/feos/src/pets/eos/mod.rs mode change 100755 => 100644 crates/feos/src/pets/mod.rs mode change 100755 => 100644 crates/feos/src/pets/parameters.rs mode change 100755 => 100644 crates/feos/src/saftvrmie/eos/association.rs mode change 100755 => 100644 crates/feos/src/saftvrmie/eos/dispersion.rs mode change 100755 => 100644 crates/feos/src/saftvrmie/eos/mod.rs mode change 100755 => 100644 crates/feos/src/saftvrmie/mod.rs mode change 100755 => 100644 crates/feos/src/saftvrmie/parameters.rs mode change 100755 => 100644 crates/feos/src/saftvrqmie/dft/dispersion.rs mode change 100755 => 100644 crates/feos/src/saftvrqmie/dft/mod.rs mode change 100755 => 100644 crates/feos/src/saftvrqmie/dft/non_additive_hs.rs mode change 100755 => 100644 crates/feos/src/saftvrqmie/eos/dispersion.rs mode change 100755 => 100644 crates/feos/src/saftvrqmie/eos/hard_sphere.rs mode change 100755 => 100644 crates/feos/src/saftvrqmie/eos/mod.rs mode change 100755 => 100644 crates/feos/src/saftvrqmie/eos/non_additive_hs.rs mode change 100755 => 100644 crates/feos/src/saftvrqmie/mod.rs mode change 100755 => 100644 crates/feos/src/saftvrqmie/parameters.rs mode change 100755 => 100644 crates/feos/src/uvtheory/eos/bh/attractive_perturbation.rs mode change 100755 => 100644 crates/feos/src/uvtheory/eos/bh/hard_sphere.rs mode change 100755 => 100644 crates/feos/src/uvtheory/eos/bh/mod.rs mode change 100755 => 100644 crates/feos/src/uvtheory/eos/bh/reference_perturbation.rs mode change 100755 => 100644 crates/feos/src/uvtheory/eos/mod.rs mode change 100755 => 100644 crates/feos/src/uvtheory/eos/wca/attractive_perturbation.rs mode change 100755 => 100644 crates/feos/src/uvtheory/eos/wca/attractive_perturbation_uvb3.rs mode change 100755 => 100644 crates/feos/src/uvtheory/eos/wca/hard_sphere.rs mode change 100755 => 100644 crates/feos/src/uvtheory/eos/wca/mod.rs mode change 100755 => 100644 crates/feos/src/uvtheory/eos/wca/reference_perturbation.rs mode change 100755 => 100644 crates/feos/src/uvtheory/eos/wca/reference_perturbation_uvb3.rs mode change 100755 => 100644 crates/feos/src/uvtheory/mod.rs mode change 100755 => 100644 crates/feos/src/uvtheory/parameters.rs mode change 100755 => 100644 crates/feos/tests/gc_pcsaft/binary.rs mode change 100755 => 100644 crates/feos/tests/gc_pcsaft/dft.rs mode change 100755 => 100644 crates/feos/tests/gc_pcsaft/mod.rs mode change 100755 => 100644 crates/feos/tests/main.rs mode change 100755 => 100644 crates/feos/tests/pcsaft/critical_point.rs mode change 100755 => 100644 crates/feos/tests/pcsaft/dft.rs mode change 100755 => 100644 crates/feos/tests/pcsaft/mod.rs mode change 100755 => 100644 crates/feos/tests/pcsaft/properties.rs mode change 100755 => 100644 crates/feos/tests/pcsaft/stability_analysis.rs mode change 100755 => 100644 crates/feos/tests/pcsaft/state_creation_mixture.rs mode change 100755 => 100644 crates/feos/tests/pcsaft/state_creation_pure.rs mode change 100755 => 100644 crates/feos/tests/pcsaft/test_parameters.json mode change 100755 => 100644 crates/feos/tests/pcsaft/test_parameters_joback.json mode change 100755 => 100644 crates/feos/tests/pcsaft/tp_flash.rs mode change 100755 => 100644 crates/feos/tests/pcsaft/vle_pure.rs mode change 100755 => 100644 crates/feos/tests/saftvrmie/critical_properties.rs mode change 100755 => 100644 crates/feos/tests/saftvrmie/mod.rs mode change 100755 => 100644 docs-header.html mode change 100755 => 100644 docs/Makefile mode change 100755 => 100644 docs/_templates/autosummary/base.rst mode change 100755 => 100644 docs/_templates/autosummary/class.rst mode change 100755 => 100644 docs/api/dft.md mode change 100755 => 100644 docs/api/dippr.md mode change 100755 => 100644 docs/api/eos.md mode change 100755 => 100644 docs/api/epcsaft.md mode change 100755 => 100644 docs/api/gc_pcsaft.md mode change 100755 => 100644 docs/api/index.md mode change 100755 => 100644 docs/api/joback.md mode change 100755 => 100644 docs/api/pcsaft.md mode change 100755 => 100644 docs/api/peng_robinson.md mode change 100755 => 100644 docs/api/pets.md mode change 100755 => 100644 docs/api/saftvrmie.md mode change 100755 => 100644 docs/api/saftvrqmie.md mode change 100755 => 100644 docs/api/uvtheory.md mode change 100755 => 100644 docs/conf.py mode change 100755 => 100644 docs/help_and_feedback.md mode change 100755 => 100644 docs/index.md mode change 100755 => 100644 docs/installation.md mode change 100755 => 100644 docs/recipes/index.md mode change 100755 => 100644 docs/recipes/recipes_critical_point_pure.ipynb mode change 100755 => 100644 docs/recipes/recipes_p_sat_t_boil.ipynb mode change 100755 => 100644 docs/recipes/recipes_phase_diagram_pure.ipynb mode change 100755 => 100644 docs/recipes/recipes_phase_equilibrium_pure.ipynb mode change 100755 => 100644 docs/recipes/recipes_surface_tension_diagram_pure.ipynb mode change 100755 => 100644 docs/recipes/recipes_surface_tension_pure.ipynb mode change 100755 => 100644 docs/rust_api.md mode change 100755 => 100644 docs/rustguide/core/equation_of_state.rst mode change 100755 => 100644 docs/rustguide/core/index.md mode change 100755 => 100644 docs/rustguide/core/state.rst mode change 100755 => 100644 docs/rustguide/index.md mode change 100755 => 100644 docs/theory/dft/derivatives.md mode change 100755 => 100644 docs/theory/dft/enthalpy_of_adsorption.md mode change 100755 => 100644 docs/theory/dft/euler_lagrange_equation.md mode change 100755 => 100644 docs/theory/dft/functional_derivatives.md mode change 100755 => 100644 docs/theory/dft/ideal_gas.md mode change 100755 => 100644 docs/theory/dft/index.md mode change 100755 => 100644 docs/theory/dft/pdgt.md mode change 100755 => 100644 docs/theory/dft/solver.md mode change 100755 => 100644 docs/theory/eos/critical_points.md mode change 100755 => 100644 docs/theory/eos/index.md mode change 100755 => 100644 docs/theory/eos/properties.md mode change 100755 => 100644 docs/theory/models/FeOs_Association.png mode change 100755 => 100644 docs/theory/models/association.md mode change 100755 => 100644 docs/theory/models/hard_spheres.md mode change 100755 => 100644 docs/theory/models/index.md mode change 100755 => 100644 docs/tutorials/dft/index.md mode change 100755 => 100644 docs/tutorials/dft/pcsaft/index.md mode change 100755 => 100644 docs/tutorials/dft/pcsaft/pcsaft_surface_tension.ipynb mode change 100755 => 100644 docs/tutorials/eos/index.md mode change 100755 => 100644 docs/tutorials/eos/pcsaft/index.md mode change 100755 => 100644 docs/tutorials/eos/pcsaft/pcsaft_entropy_scaling.ipynb mode change 100755 => 100644 docs/tutorials/eos/pcsaft/pcsaft_phase_diagram.ipynb mode change 100755 => 100644 docs/tutorials/eos/pcsaft/pcsaft_working_with_parameters.ipynb mode change 100755 => 100644 docs/tutorials/eos/python/core_user_defined_eos.ipynb mode change 100755 => 100644 docs/tutorials/eos/python/index.md mode change 100755 => 100644 docs/tutorials/index.md mode change 100755 => 100644 docs/tutorials/utility/core_dual_numbers.ipynb mode change 100755 => 100644 docs/tutorials/utility/core_working_with_units.ipynb mode change 100755 => 100644 docs/tutorials/utility/index.md mode change 100755 => 100644 examples/core_dual_numbers.ipynb mode change 100755 => 100644 examples/core_user_defined_eos.ipynb mode change 100755 => 100644 examples/core_working_with_units.ipynb mode change 100755 => 100644 examples/data/hexane_nist.csv mode change 100755 => 100644 examples/data/lennard_jones_nist.csv mode change 100755 => 100644 examples/data/water_vle_nist.csv mode change 100755 => 100644 examples/gc_pcsaft_functional.ipynb mode change 100755 => 100644 examples/lj_models.ipynb mode change 100755 => 100644 examples/pc_saft_phase_diagram_to_dict.ipynb mode change 100755 => 100644 examples/pcsaft/Entropy Scaling.ipynb mode change 100755 => 100644 examples/pcsaft/PhaseDiagramBinary.ipynb mode change 100755 => 100644 examples/pcsaft/adsorption_isotherms.ipynb mode change 100755 => 100644 examples/pcsaft/fea_adsorption.ipynb mode change 100755 => 100644 examples/pcsaft/hexane_nist.csv mode change 100755 => 100644 examples/pcsaft/parameter_adjustment/README.md mode change 100755 => 100644 examples/pcsaft/parameter_adjustment/adjust_kij.ipynb mode change 100755 => 100644 examples/pcsaft/parameter_adjustment/adjust_non_polar_non_asssociating.ipynb mode change 100755 => 100644 examples/pcsaft/parameter_adjustment/adjust_viscosity_correlation.ipynb mode change 100755 => 100644 examples/pcsaft/parameter_adjustment/data/binary_vle.csv mode change 100755 => 100644 examples/pcsaft/parameter_adjustment/data/hexane_liquid_density.csv mode change 100755 => 100644 examples/pcsaft/parameter_adjustment/data/hexane_vapor_pressure.csv mode change 100755 => 100644 examples/pcsaft/parameter_adjustment/data/hexane_viscosity.csv mode change 100755 => 100644 examples/pcsaft/pore_geometry.ipynb mode change 100755 => 100644 examples/pcsaft/structure_parameters/DREIDING.dat mode change 100755 => 100644 examples/pcsaft/structure_parameters/Dha.dat mode change 100755 => 100644 examples/pcsaft/structure_parameters/LTA.dat mode change 100755 => 100644 examples/pcsaft/structure_parameters/MFI.nml mode change 100755 => 100644 examples/pcsaft/structure_parameters/PASCUAL.dat mode change 100755 => 100644 examples/pcsaft/structure_parameters/TpPA.dat mode change 100755 => 100644 examples/pcsaft/structure_parameters/ZIF-8.cif mode change 100755 => 100644 examples/pcsaft/structure_parameters/noble_gases.json mode change 100755 => 100644 examples/pcsaft/structure_parameters/solid_database.json mode change 100755 => 100644 examples/pcsaft_entropy_scaling.ipynb mode change 100755 => 100644 examples/pcsaft_phase_diagram.ipynb mode change 100755 => 100644 examples/pcsaft_surface_tension.ipynb mode change 100755 => 100644 examples/pcsaft_working_with_parameters.ipynb mode change 100755 => 100644 examples/peng-robinson.json mode change 100755 => 100644 examples/pets_eos_binary_caseI.ipynb mode change 100755 => 100644 examples/saftvrmie/lafitte_critical_data.csv mode change 100755 => 100644 examples/saftvrmie/validate_lafitte.ipynb mode change 100755 => 100644 examples/saftvrqmie/data/deuterium_helium_exp_data.dat mode change 100755 => 100644 examples/saftvrqmie/data/hydrogen_deuterium_exp_data.dat mode change 100755 => 100644 examples/saftvrqmie/data/hydrogen_helium_exp_data.dat mode change 100755 => 100644 examples/saftvrqmie/deuterium_32K.table mode change 100755 => 100644 examples/saftvrqmie/deuterium_helium_binary.ipynb mode change 100755 => 100644 examples/saftvrqmie/deuterium_neon_32K.rdf mode change 100755 => 100644 examples/saftvrqmie/deuterium_neon_32K.table mode change 100755 => 100644 examples/saftvrqmie/hydrogen_deuterium_binary.ipynb mode change 100755 => 100644 examples/saftvrqmie/hydrogen_fh1_vs_fh2.ipynb mode change 100755 => 100644 examples/saftvrqmie/hydrogen_helium_binary.ipynb mode change 100755 => 100644 examples/saftvrqmie/hydrogen_neon_binary.ipynb mode change 100755 => 100644 examples/saftvrqmie/in.binary_deuterium_neon mode change 100755 => 100644 examples/saftvrqmie/mulero_2012_parameters.json mode change 100755 => 100644 examples/saftvrqmie/neon_32K.table mode change 100755 => 100644 examples/saftvrqmie/quantum_fluid_dft.ipynb mode change 100755 => 100644 examples/saftvrqmie/radial_distribution_function.ipynb mode change 100755 => 100644 license-apache mode change 100755 => 100644 license-mit mode change 100755 => 100644 manuscript/README.md mode change 100755 => 100644 manuscript/manuscript.pdf mode change 100755 => 100644 parameters/epcsaft/README.md mode change 100755 => 100644 parameters/epcsaft/held2014_binary.json mode change 100755 => 100644 parameters/epcsaft/held2014_w_permittivity_added.json mode change 100755 => 100644 parameters/epcsaft/literature.bib mode change 100755 => 100644 parameters/ideal_gas/README.md mode change 100755 => 100644 parameters/ideal_gas/joback1987.json mode change 100755 => 100644 parameters/ideal_gas/literature.bib mode change 100755 => 100644 parameters/ideal_gas/poling2000.json mode change 100755 => 100644 parameters/pcsaft/README.md mode change 100755 => 100644 parameters/pcsaft/eller2022.json mode change 100755 => 100644 parameters/pcsaft/esper2023.json mode change 100755 => 100644 parameters/pcsaft/gc_substances.json mode change 100755 => 100644 parameters/pcsaft/gross2001.json mode change 100755 => 100644 parameters/pcsaft/gross2002.json mode change 100755 => 100644 parameters/pcsaft/gross2002_binary.json mode change 100755 => 100644 parameters/pcsaft/gross2005_fit.json mode change 100755 => 100644 parameters/pcsaft/gross2005_literature.json mode change 100755 => 100644 parameters/pcsaft/gross2006.json mode change 100755 => 100644 parameters/pcsaft/literature.bib mode change 100755 => 100644 parameters/pcsaft/loetgeringlin2015_homo.json mode change 100755 => 100644 parameters/pcsaft/loetgeringlin2018.json mode change 100755 => 100644 parameters/pcsaft/rehner2020.json mode change 100755 => 100644 parameters/pcsaft/rehner2023_binary.json mode change 100755 => 100644 parameters/pcsaft/rehner2023_hetero.json mode change 100755 => 100644 parameters/pcsaft/rehner2023_hetero_binary.json mode change 100755 => 100644 parameters/pcsaft/rehner2023_homo.json mode change 100755 => 100644 parameters/pcsaft/rehner2023_homo_binary.json mode change 100755 => 100644 parameters/pcsaft/sauer2014_hetero.json mode change 100755 => 100644 parameters/pcsaft/sauer2014_homo.json mode change 100755 => 100644 parameters/pcsaft/sauer2014_smarts.json mode change 100755 => 100644 parameters/saftvrmie/README.md mode change 100755 => 100644 parameters/saftvrmie/lafitte2013.json mode change 100755 => 100644 parameters/saftvrmie/literature.bib mode change 100755 => 100644 parameters/saftvrqmie/README.md mode change 100755 => 100644 parameters/saftvrqmie/aasen2019.json mode change 100755 => 100644 parameters/saftvrqmie/aasen2019_fh2.json mode change 100755 => 100644 parameters/saftvrqmie/aasen2020_binary.json mode change 100755 => 100644 parameters/saftvrqmie/aasen2020_binary_fh2.json mode change 100755 => 100644 parameters/saftvrqmie/hammer2023.json mode change 100755 => 100644 parameters/saftvrqmie/literature.bib mode change 100755 => 100644 parameters_old/README.md mode change 100755 => 100644 parameters_old/epcsaft/README.md mode change 100755 => 100644 parameters_old/epcsaft/held2014_binary.json mode change 100755 => 100644 parameters_old/epcsaft/held2014_w_permittivity_added.json mode change 100755 => 100644 parameters_old/epcsaft/literature.bib mode change 100755 => 100644 parameters_old/ideal_gas/README.md mode change 100755 => 100644 parameters_old/ideal_gas/joback1987.json mode change 100755 => 100644 parameters_old/ideal_gas/literature.bib mode change 100755 => 100644 parameters_old/ideal_gas/poling2000.json mode change 100755 => 100644 parameters_old/pcsaft/README.md mode change 100755 => 100644 parameters_old/pcsaft/eller2022.json mode change 100755 => 100644 parameters_old/pcsaft/esper2023.json mode change 100755 => 100644 parameters_old/pcsaft/gc_substances.json mode change 100755 => 100644 parameters_old/pcsaft/gross2001.json mode change 100755 => 100644 parameters_old/pcsaft/gross2002.json mode change 100755 => 100644 parameters_old/pcsaft/gross2002_binary.json mode change 100755 => 100644 parameters_old/pcsaft/gross2005_fit.json mode change 100755 => 100644 parameters_old/pcsaft/gross2005_literature.json mode change 100755 => 100644 parameters_old/pcsaft/gross2006.json mode change 100755 => 100644 parameters_old/pcsaft/literature.bib mode change 100755 => 100644 parameters_old/pcsaft/loetgeringlin2015_homo.json mode change 100755 => 100644 parameters_old/pcsaft/loetgeringlin2018.json mode change 100755 => 100644 parameters_old/pcsaft/rehner2020.json mode change 100755 => 100644 parameters_old/pcsaft/rehner2023_binary.json mode change 100755 => 100644 parameters_old/pcsaft/rehner2023_hetero.json mode change 100755 => 100644 parameters_old/pcsaft/rehner2023_hetero_binary.json mode change 100755 => 100644 parameters_old/pcsaft/rehner2023_homo.json mode change 100755 => 100644 parameters_old/pcsaft/rehner2023_homo_binary.json mode change 100755 => 100644 parameters_old/pcsaft/sauer2014_hetero.json mode change 100755 => 100644 parameters_old/pcsaft/sauer2014_homo.json mode change 100755 => 100644 parameters_old/pcsaft/sauer2014_smarts.json mode change 100755 => 100644 parameters_old/saftvrmie/README.md mode change 100755 => 100644 parameters_old/saftvrmie/lafitte2013.json mode change 100755 => 100644 parameters_old/saftvrmie/literature.bib mode change 100755 => 100644 parameters_old/saftvrqmie/README.md mode change 100755 => 100644 parameters_old/saftvrqmie/aasen2019.json mode change 100755 => 100644 parameters_old/saftvrqmie/aasen2019_fh2.json mode change 100755 => 100644 parameters_old/saftvrqmie/aasen2020_binary.json mode change 100755 => 100644 parameters_old/saftvrqmie/aasen2020_binary_fh2.json mode change 100755 => 100644 parameters_old/saftvrqmie/hammer2023.json mode change 100755 => 100644 parameters_old/saftvrqmie/literature.bib mode change 100755 => 100644 py-feos/.python-version mode change 100755 => 100644 py-feos/Cargo.toml mode change 100755 => 100644 py-feos/README.md mode change 100755 => 100644 py-feos/feos/__init__.py mode change 100755 => 100644 py-feos/feos/dft.py mode change 100755 => 100644 py-feos/feos/dft.pyi mode change 100755 => 100644 py-feos/feos/estimator.py mode change 100755 => 100644 py-feos/feos/estimator.pyi mode change 100755 => 100644 py-feos/feos/feos.pyi mode change 100755 => 100644 py-feos/feos/parameters.py mode change 100755 => 100644 py-feos/feos/parameters.pyi mode change 100755 => 100644 py-feos/pyproject.toml mode change 100755 => 100644 py-feos/src/dft/adsorption/external_potential.rs mode change 100755 => 100644 py-feos/src/dft/adsorption/mod.rs mode change 100755 => 100644 py-feos/src/dft/adsorption/pore.rs mode change 100755 => 100644 py-feos/src/dft/interface/mod.rs mode change 100755 => 100644 py-feos/src/dft/interface/surface_tension_diagram.rs mode change 100755 => 100644 py-feos/src/dft/mod.rs mode change 100755 => 100644 py-feos/src/dft/profile.rs mode change 100755 => 100644 py-feos/src/dft/solvation.rs mode change 100755 => 100644 py-feos/src/dft/solver.rs mode change 100755 => 100644 py-feos/src/eos/constructors.rs mode change 100755 => 100644 py-feos/src/eos/epcsaft.rs mode change 100755 => 100644 py-feos/src/eos/gc_pcsaft.rs mode change 100755 => 100644 py-feos/src/eos/mod.rs mode change 100755 => 100644 py-feos/src/eos/pcsaft.rs mode change 100755 => 100644 py-feos/src/eos/pets.rs mode change 100755 => 100644 py-feos/src/eos/saftvrmie.rs mode change 100755 => 100644 py-feos/src/eos/saftvrqmie.rs mode change 100755 => 100644 py-feos/src/eos/uvtheory.rs mode change 100755 => 100644 py-feos/src/error.rs mode change 100755 => 100644 py-feos/src/estimator.rs mode change 100755 => 100644 py-feos/src/ideal_gas.rs mode change 100755 => 100644 py-feos/src/lib.rs mode change 100755 => 100644 py-feos/src/parameter/chemical_record.rs mode change 100755 => 100644 py-feos/src/parameter/fragmentation.rs mode change 100755 => 100644 py-feos/src/parameter/identifier.rs mode change 100755 => 100644 py-feos/src/parameter/mod.rs mode change 100755 => 100644 py-feos/src/parameter/model_record.rs mode change 100755 => 100644 py-feos/src/parameter/segment.rs mode change 100755 => 100644 py-feos/src/phase_equilibria.rs mode change 100755 => 100644 py-feos/src/residual.rs mode change 100755 => 100644 py-feos/src/state.rs mode change 100755 => 100644 py-feos/src/user_defined.rs mode change 100755 => 100644 py-feos/uv.lock diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml old mode 100755 new mode 100644 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml old mode 100755 new mode 100644 diff --git a/.github/workflows/release_core.yml b/.github/workflows/release_core.yml old mode 100755 new mode 100644 diff --git a/.github/workflows/release_derive.yml b/.github/workflows/release_derive.yml old mode 100755 new mode 100644 diff --git a/.github/workflows/release_dft.yml b/.github/workflows/release_dft.yml old mode 100755 new mode 100644 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml old mode 100755 new mode 100644 diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml old mode 100755 new mode 100644 diff --git a/.gitignore b/.gitignore old mode 100755 new mode 100644 diff --git a/.idea/.gitignore b/.idea/.gitignore old mode 100755 new mode 100644 diff --git a/.idea/feos_cubics.iml b/.idea/feos_cubics.iml old mode 100755 new mode 100644 index 9c0ca1484..eeff0533e --- a/.idea/feos_cubics.iml +++ b/.idea/feos_cubics.iml @@ -10,6 +10,7 @@ + diff --git a/.idea/modules.xml b/.idea/modules.xml old mode 100755 new mode 100644 diff --git a/.idea/vcs.xml b/.idea/vcs.xml old mode 100755 new mode 100644 diff --git a/CHANGELOG.md b/CHANGELOG.md old mode 100755 new mode 100644 diff --git a/CITATION.bib b/CITATION.bib old mode 100755 new mode 100644 diff --git a/Cargo.toml b/Cargo.toml old mode 100755 new mode 100644 diff --git a/README.md b/README.md old mode 100755 new mode 100644 diff --git a/crates/feos-ad/CHANGELOG.md b/crates/feos-ad/CHANGELOG.md old mode 100755 new mode 100644 diff --git a/crates/feos-ad/Cargo.toml b/crates/feos-ad/Cargo.toml old mode 100755 new mode 100644 diff --git a/crates/feos-ad/README.md b/crates/feos-ad/README.md old mode 100755 new mode 100644 diff --git a/crates/feos-ad/src/core/mod.rs b/crates/feos-ad/src/core/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos-ad/src/core/phase_equilibria.rs b/crates/feos-ad/src/core/phase_equilibria.rs old mode 100755 new mode 100644 diff --git a/crates/feos-ad/src/core/residual.rs b/crates/feos-ad/src/core/residual.rs old mode 100755 new mode 100644 diff --git a/crates/feos-ad/src/core/state.rs b/crates/feos-ad/src/core/state.rs old mode 100755 new mode 100644 diff --git a/crates/feos-ad/src/core/total.rs b/crates/feos-ad/src/core/total.rs old mode 100755 new mode 100644 diff --git a/crates/feos-ad/src/eos/gc_pcsaft.rs b/crates/feos-ad/src/eos/gc_pcsaft.rs old mode 100755 new mode 100644 diff --git a/crates/feos-ad/src/eos/ideal_gas.rs b/crates/feos-ad/src/eos/ideal_gas.rs old mode 100755 new mode 100644 diff --git a/crates/feos-ad/src/eos/mod.rs b/crates/feos-ad/src/eos/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos-ad/src/eos/pcsaft/mod.rs b/crates/feos-ad/src/eos/pcsaft/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos-ad/src/eos/pcsaft/pcsaft_binary.rs b/crates/feos-ad/src/eos/pcsaft/pcsaft_binary.rs old mode 100755 new mode 100644 diff --git a/crates/feos-ad/src/eos/pcsaft/pcsaft_pure.rs b/crates/feos-ad/src/eos/pcsaft/pcsaft_pure.rs old mode 100755 new mode 100644 diff --git a/crates/feos-ad/src/lib.rs b/crates/feos-ad/src/lib.rs old mode 100755 new mode 100644 diff --git a/crates/feos-ad/src/parameter_fit/mod.rs b/crates/feos-ad/src/parameter_fit/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/CHANGELOG.md b/crates/feos-core/CHANGELOG.md old mode 100755 new mode 100644 diff --git a/crates/feos-core/Cargo.toml b/crates/feos-core/Cargo.toml old mode 100755 new mode 100644 diff --git a/crates/feos-core/README.md b/crates/feos-core/README.md old mode 100755 new mode 100644 diff --git a/crates/feos-core/docs-header.html b/crates/feos-core/docs-header.html old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/cubic.rs b/crates/feos-core/src/cubic.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/density_iteration.rs b/crates/feos-core/src/density_iteration.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/equation_of_state/ideal_gas.rs b/crates/feos-core/src/equation_of_state/ideal_gas.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/equation_of_state/mod.rs b/crates/feos-core/src/equation_of_state/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/equation_of_state/residual.rs b/crates/feos-core/src/equation_of_state/residual.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/errors.rs b/crates/feos-core/src/errors.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/lib.rs b/crates/feos-core/src/lib.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/parameter/association.rs b/crates/feos-core/src/parameter/association.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/parameter/chemical_record.rs b/crates/feos-core/src/parameter/chemical_record.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/parameter/identifier.rs b/crates/feos-core/src/parameter/identifier.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/parameter/mod.rs b/crates/feos-core/src/parameter/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/parameter/model_record.rs b/crates/feos-core/src/parameter/model_record.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/parameter/segment.rs b/crates/feos-core/src/parameter/segment.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/phase_equilibria/bubble_dew.rs b/crates/feos-core/src/phase_equilibria/bubble_dew.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/phase_equilibria/mod.rs b/crates/feos-core/src/phase_equilibria/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/phase_equilibria/phase_diagram_binary.rs b/crates/feos-core/src/phase_equilibria/phase_diagram_binary.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/phase_equilibria/phase_diagram_pure.rs b/crates/feos-core/src/phase_equilibria/phase_diagram_pure.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/phase_equilibria/phase_envelope.rs b/crates/feos-core/src/phase_equilibria/phase_envelope.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/phase_equilibria/stability_analysis.rs b/crates/feos-core/src/phase_equilibria/stability_analysis.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/phase_equilibria/tp_flash.rs b/crates/feos-core/src/phase_equilibria/tp_flash.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/phase_equilibria/vle_pure.rs b/crates/feos-core/src/phase_equilibria/vle_pure.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/state/builder.rs b/crates/feos-core/src/state/builder.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/state/cache.rs b/crates/feos-core/src/state/cache.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/state/critical_point.rs b/crates/feos-core/src/state/critical_point.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/state/mod.rs b/crates/feos-core/src/state/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/state/properties.rs b/crates/feos-core/src/state/properties.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/state/residual_properties.rs b/crates/feos-core/src/state/residual_properties.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/src/state/statevec.rs b/crates/feos-core/src/state/statevec.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/tests/parameters.rs b/crates/feos-core/tests/parameters.rs old mode 100755 new mode 100644 diff --git a/crates/feos-core/tests/test_parameters1.json b/crates/feos-core/tests/test_parameters1.json old mode 100755 new mode 100644 diff --git a/crates/feos-core/tests/test_parameters2.json b/crates/feos-core/tests/test_parameters2.json old mode 100755 new mode 100644 diff --git a/crates/feos-core/tests/test_parameters_binary.json b/crates/feos-core/tests/test_parameters_binary.json old mode 100755 new mode 100644 diff --git a/crates/feos-derive/Cargo.toml b/crates/feos-derive/Cargo.toml old mode 100755 new mode 100644 diff --git a/crates/feos-derive/README.md b/crates/feos-derive/README.md old mode 100755 new mode 100644 diff --git a/crates/feos-derive/src/components.rs b/crates/feos-derive/src/components.rs old mode 100755 new mode 100644 diff --git a/crates/feos-derive/src/dft.rs b/crates/feos-derive/src/dft.rs old mode 100755 new mode 100644 diff --git a/crates/feos-derive/src/functional_contribution.rs b/crates/feos-derive/src/functional_contribution.rs old mode 100755 new mode 100644 diff --git a/crates/feos-derive/src/ideal_gas.rs b/crates/feos-derive/src/ideal_gas.rs old mode 100755 new mode 100644 diff --git a/crates/feos-derive/src/lib.rs b/crates/feos-derive/src/lib.rs old mode 100755 new mode 100644 diff --git a/crates/feos-derive/src/residual.rs b/crates/feos-derive/src/residual.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/CHANGELOG.md b/crates/feos-dft/CHANGELOG.md old mode 100755 new mode 100644 diff --git a/crates/feos-dft/Cargo.toml b/crates/feos-dft/Cargo.toml old mode 100755 new mode 100644 diff --git a/crates/feos-dft/README.md b/crates/feos-dft/README.md old mode 100755 new mode 100644 diff --git a/crates/feos-dft/docs-header.html b/crates/feos-dft/docs-header.html old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/adsorption/external_potential.rs b/crates/feos-dft/src/adsorption/external_potential.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/adsorption/fea_potential.rs b/crates/feos-dft/src/adsorption/fea_potential.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/adsorption/mod.rs b/crates/feos-dft/src/adsorption/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/adsorption/pore.rs b/crates/feos-dft/src/adsorption/pore.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/adsorption/pore2d.rs b/crates/feos-dft/src/adsorption/pore2d.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/adsorption/pore3d.rs b/crates/feos-dft/src/adsorption/pore3d.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/convolver/mod.rs b/crates/feos-dft/src/convolver/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/convolver/periodic_convolver.rs b/crates/feos-dft/src/convolver/periodic_convolver.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/convolver/transform.rs b/crates/feos-dft/src/convolver/transform.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/functional.rs b/crates/feos-dft/src/functional.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/functional_contribution.rs b/crates/feos-dft/src/functional_contribution.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/geometry.rs b/crates/feos-dft/src/geometry.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/ideal_chain_contribution.rs b/crates/feos-dft/src/ideal_chain_contribution.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/interface/mod.rs b/crates/feos-dft/src/interface/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/interface/surface_tension_diagram.rs b/crates/feos-dft/src/interface/surface_tension_diagram.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/lib.rs b/crates/feos-dft/src/lib.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/pdgt.rs b/crates/feos-dft/src/pdgt.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/profile/mod.rs b/crates/feos-dft/src/profile/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/profile/properties.rs b/crates/feos-dft/src/profile/properties.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/solvation/mod.rs b/crates/feos-dft/src/solvation/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/solvation/pair_correlation.rs b/crates/feos-dft/src/solvation/pair_correlation.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/solvation/solvation_profile.rs b/crates/feos-dft/src/solvation/solvation_profile.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/solver.rs b/crates/feos-dft/src/solver.rs old mode 100755 new mode 100644 diff --git a/crates/feos-dft/src/weight_functions.rs b/crates/feos-dft/src/weight_functions.rs old mode 100755 new mode 100644 diff --git a/crates/feos/Cargo.toml b/crates/feos/Cargo.toml old mode 100755 new mode 100644 index c923cc70b..c5a947e1b --- a/crates/feos/Cargo.toml +++ b/crates/feos/Cargo.toml @@ -13,7 +13,7 @@ description = "FeOs - A framework for equations of state and classical density f [dependencies] quantity = { workspace = true } num-dual = { workspace = true } -ndarray = { workspace = true} # updated without this feature?, features = ["serde"] } +ndarray = { workspace = true } # updated without this feature?, features = ["serde"] } petgraph = { workspace = true, optional = true } thiserror = { workspace = true } num-traits = { workspace = true } @@ -46,6 +46,7 @@ pets = [] saftvrqmie = [] saftvrmie = ["association"] rayon = ["dep:rayon", "ndarray/rayon", "feos-core/rayon", "feos-dft?/rayon"] +cubic = [] all_models = [ "dft", "pcsaft", diff --git a/crates/feos/benches/README.md b/crates/feos/benches/README.md old mode 100755 new mode 100644 diff --git a/crates/feos/benches/contributions.rs b/crates/feos/benches/contributions.rs old mode 100755 new mode 100644 diff --git a/crates/feos/benches/dft_pore.rs b/crates/feos/benches/dft_pore.rs old mode 100755 new mode 100644 diff --git a/crates/feos/benches/dual_numbers.rs b/crates/feos/benches/dual_numbers.rs old mode 100755 new mode 100644 diff --git a/crates/feos/benches/dual_numbers_saftvrmie.rs b/crates/feos/benches/dual_numbers_saftvrmie.rs old mode 100755 new mode 100644 diff --git a/crates/feos/benches/state_creation.rs b/crates/feos/benches/state_creation.rs old mode 100755 new mode 100644 diff --git a/crates/feos/benches/state_properties.rs b/crates/feos/benches/state_properties.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/association/dft.rs b/crates/feos/src/association/dft.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/association/mod.rs b/crates/feos/src/association/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/cubic/alpha/mathias_copeman.rs b/crates/feos/src/cubic/alpha/mathias_copeman.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/cubic/alpha/mod.rs b/crates/feos/src/cubic/alpha/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/cubic/alpha/soave.rs b/crates/feos/src/cubic/alpha/soave.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/cubic/alpha/twu.rs b/crates/feos/src/cubic/alpha/twu.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/cubic/mixing_rules.rs b/crates/feos/src/cubic/mixing_rules.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/cubic/mod.rs b/crates/feos/src/cubic/mod.rs old mode 100755 new mode 100644 index 2c738266c..a8247a7a5 --- a/crates/feos/src/cubic/mod.rs +++ b/crates/feos/src/cubic/mod.rs @@ -1,6 +1,6 @@ use alpha::{Alpha, AlphaFunction, PengRobinson1976, RedlichKwong1972}; use feos_core::FeosResult; -use feos_core::parameter::Parameter; +use feos_core::parameter::Parameters; use feos_core::{Components, Residual}; use feos_core::{Molarweight, StateHD}; use mixing_rules::{MixingRule, MixingRuleFunction, MixtureParameters, Quadratic}; diff --git a/crates/feos/src/cubic/parameters.rs b/crates/feos/src/cubic/parameters.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/epcsaft/eos/born.rs b/crates/feos/src/epcsaft/eos/born.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/epcsaft/eos/dispersion.rs b/crates/feos/src/epcsaft/eos/dispersion.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/epcsaft/eos/hard_chain.rs b/crates/feos/src/epcsaft/eos/hard_chain.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/epcsaft/eos/ionic.rs b/crates/feos/src/epcsaft/eos/ionic.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/epcsaft/eos/mod.rs b/crates/feos/src/epcsaft/eos/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/epcsaft/eos/permittivity.rs b/crates/feos/src/epcsaft/eos/permittivity.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/epcsaft/mod.rs b/crates/feos/src/epcsaft/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/epcsaft/parameters.rs b/crates/feos/src/epcsaft/parameters.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/estimator/binary_vle.rs b/crates/feos/src/estimator/binary_vle.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/estimator/dataset.rs b/crates/feos/src/estimator/dataset.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/estimator/diffusion.rs b/crates/feos/src/estimator/diffusion.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/estimator/estimator.rs b/crates/feos/src/estimator/estimator.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/estimator/impl_dataset.rs b/crates/feos/src/estimator/impl_dataset.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/estimator/liquid_density.rs b/crates/feos/src/estimator/liquid_density.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/estimator/loss.rs b/crates/feos/src/estimator/loss.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/estimator/mod.rs b/crates/feos/src/estimator/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/estimator/pt_data.rs b/crates/feos/src/estimator/pt_data.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/estimator/strategy.rs b/crates/feos/src/estimator/strategy.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/estimator/thermal_conductivity.rs b/crates/feos/src/estimator/thermal_conductivity.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/estimator/vapor_pressure.rs b/crates/feos/src/estimator/vapor_pressure.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/estimator/viscosity.rs b/crates/feos/src/estimator/viscosity.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/gc_pcsaft/dft/dispersion.rs b/crates/feos/src/gc_pcsaft/dft/dispersion.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/gc_pcsaft/dft/hard_chain.rs b/crates/feos/src/gc_pcsaft/dft/hard_chain.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/gc_pcsaft/dft/mod.rs b/crates/feos/src/gc_pcsaft/dft/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/gc_pcsaft/dft/parameter.rs b/crates/feos/src/gc_pcsaft/dft/parameter.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/gc_pcsaft/eos/dispersion.rs b/crates/feos/src/gc_pcsaft/eos/dispersion.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/gc_pcsaft/eos/hard_chain.rs b/crates/feos/src/gc_pcsaft/eos/hard_chain.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/gc_pcsaft/eos/mod.rs b/crates/feos/src/gc_pcsaft/eos/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/gc_pcsaft/eos/parameter.rs b/crates/feos/src/gc_pcsaft/eos/parameter.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/gc_pcsaft/eos/polar.rs b/crates/feos/src/gc_pcsaft/eos/polar.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/gc_pcsaft/micelles.rs b/crates/feos/src/gc_pcsaft/micelles.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/gc_pcsaft/mod.rs b/crates/feos/src/gc_pcsaft/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/gc_pcsaft/record.rs b/crates/feos/src/gc_pcsaft/record.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/hard_sphere/dft.rs b/crates/feos/src/hard_sphere/dft.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/hard_sphere/mod.rs b/crates/feos/src/hard_sphere/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/ideal_gas/dippr.rs b/crates/feos/src/ideal_gas/dippr.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/ideal_gas/joback.rs b/crates/feos/src/ideal_gas/joback.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/ideal_gas/mod.rs b/crates/feos/src/ideal_gas/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/lib.rs b/crates/feos/src/lib.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/pcsaft/dft/dispersion.rs b/crates/feos/src/pcsaft/dft/dispersion.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/pcsaft/dft/hard_chain.rs b/crates/feos/src/pcsaft/dft/hard_chain.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/pcsaft/dft/mod.rs b/crates/feos/src/pcsaft/dft/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/pcsaft/dft/polar.rs b/crates/feos/src/pcsaft/dft/polar.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/pcsaft/dft/pure_saft_functional.rs b/crates/feos/src/pcsaft/dft/pure_saft_functional.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/pcsaft/eos/dispersion.rs b/crates/feos/src/pcsaft/eos/dispersion.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/pcsaft/eos/hard_chain.rs b/crates/feos/src/pcsaft/eos/hard_chain.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/pcsaft/eos/mod.rs b/crates/feos/src/pcsaft/eos/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/pcsaft/eos/polar.rs b/crates/feos/src/pcsaft/eos/polar.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/pcsaft/mod.rs b/crates/feos/src/pcsaft/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/pcsaft/parameters.rs b/crates/feos/src/pcsaft/parameters.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/pets/dft/dispersion.rs b/crates/feos/src/pets/dft/dispersion.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/pets/dft/mod.rs b/crates/feos/src/pets/dft/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/pets/dft/pure_pets_functional.rs b/crates/feos/src/pets/dft/pure_pets_functional.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/pets/eos/dispersion.rs b/crates/feos/src/pets/eos/dispersion.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/pets/eos/mod.rs b/crates/feos/src/pets/eos/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/pets/mod.rs b/crates/feos/src/pets/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/pets/parameters.rs b/crates/feos/src/pets/parameters.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/saftvrmie/eos/association.rs b/crates/feos/src/saftvrmie/eos/association.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/saftvrmie/eos/dispersion.rs b/crates/feos/src/saftvrmie/eos/dispersion.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/saftvrmie/eos/mod.rs b/crates/feos/src/saftvrmie/eos/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/saftvrmie/mod.rs b/crates/feos/src/saftvrmie/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/saftvrmie/parameters.rs b/crates/feos/src/saftvrmie/parameters.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/saftvrqmie/dft/dispersion.rs b/crates/feos/src/saftvrqmie/dft/dispersion.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/saftvrqmie/dft/mod.rs b/crates/feos/src/saftvrqmie/dft/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/saftvrqmie/dft/non_additive_hs.rs b/crates/feos/src/saftvrqmie/dft/non_additive_hs.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/saftvrqmie/eos/dispersion.rs b/crates/feos/src/saftvrqmie/eos/dispersion.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/saftvrqmie/eos/hard_sphere.rs b/crates/feos/src/saftvrqmie/eos/hard_sphere.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/saftvrqmie/eos/mod.rs b/crates/feos/src/saftvrqmie/eos/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/saftvrqmie/eos/non_additive_hs.rs b/crates/feos/src/saftvrqmie/eos/non_additive_hs.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/saftvrqmie/mod.rs b/crates/feos/src/saftvrqmie/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/saftvrqmie/parameters.rs b/crates/feos/src/saftvrqmie/parameters.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/uvtheory/eos/bh/attractive_perturbation.rs b/crates/feos/src/uvtheory/eos/bh/attractive_perturbation.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/uvtheory/eos/bh/hard_sphere.rs b/crates/feos/src/uvtheory/eos/bh/hard_sphere.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/uvtheory/eos/bh/mod.rs b/crates/feos/src/uvtheory/eos/bh/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/uvtheory/eos/bh/reference_perturbation.rs b/crates/feos/src/uvtheory/eos/bh/reference_perturbation.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/uvtheory/eos/mod.rs b/crates/feos/src/uvtheory/eos/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/uvtheory/eos/wca/attractive_perturbation.rs b/crates/feos/src/uvtheory/eos/wca/attractive_perturbation.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/uvtheory/eos/wca/attractive_perturbation_uvb3.rs b/crates/feos/src/uvtheory/eos/wca/attractive_perturbation_uvb3.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/uvtheory/eos/wca/hard_sphere.rs b/crates/feos/src/uvtheory/eos/wca/hard_sphere.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/uvtheory/eos/wca/mod.rs b/crates/feos/src/uvtheory/eos/wca/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/uvtheory/eos/wca/reference_perturbation.rs b/crates/feos/src/uvtheory/eos/wca/reference_perturbation.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/uvtheory/eos/wca/reference_perturbation_uvb3.rs b/crates/feos/src/uvtheory/eos/wca/reference_perturbation_uvb3.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/uvtheory/mod.rs b/crates/feos/src/uvtheory/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/src/uvtheory/parameters.rs b/crates/feos/src/uvtheory/parameters.rs old mode 100755 new mode 100644 diff --git a/crates/feos/tests/gc_pcsaft/binary.rs b/crates/feos/tests/gc_pcsaft/binary.rs old mode 100755 new mode 100644 diff --git a/crates/feos/tests/gc_pcsaft/dft.rs b/crates/feos/tests/gc_pcsaft/dft.rs old mode 100755 new mode 100644 diff --git a/crates/feos/tests/gc_pcsaft/mod.rs b/crates/feos/tests/gc_pcsaft/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/tests/main.rs b/crates/feos/tests/main.rs old mode 100755 new mode 100644 diff --git a/crates/feos/tests/pcsaft/critical_point.rs b/crates/feos/tests/pcsaft/critical_point.rs old mode 100755 new mode 100644 diff --git a/crates/feos/tests/pcsaft/dft.rs b/crates/feos/tests/pcsaft/dft.rs old mode 100755 new mode 100644 diff --git a/crates/feos/tests/pcsaft/mod.rs b/crates/feos/tests/pcsaft/mod.rs old mode 100755 new mode 100644 diff --git a/crates/feos/tests/pcsaft/properties.rs b/crates/feos/tests/pcsaft/properties.rs old mode 100755 new mode 100644 diff --git a/crates/feos/tests/pcsaft/stability_analysis.rs b/crates/feos/tests/pcsaft/stability_analysis.rs old mode 100755 new mode 100644 diff --git a/crates/feos/tests/pcsaft/state_creation_mixture.rs b/crates/feos/tests/pcsaft/state_creation_mixture.rs old mode 100755 new mode 100644 diff --git a/crates/feos/tests/pcsaft/state_creation_pure.rs b/crates/feos/tests/pcsaft/state_creation_pure.rs old mode 100755 new mode 100644 diff --git a/crates/feos/tests/pcsaft/test_parameters.json b/crates/feos/tests/pcsaft/test_parameters.json old mode 100755 new mode 100644 diff --git a/crates/feos/tests/pcsaft/test_parameters_joback.json b/crates/feos/tests/pcsaft/test_parameters_joback.json old mode 100755 new mode 100644 diff --git a/crates/feos/tests/pcsaft/tp_flash.rs b/crates/feos/tests/pcsaft/tp_flash.rs old mode 100755 new mode 100644 diff --git a/crates/feos/tests/pcsaft/vle_pure.rs b/crates/feos/tests/pcsaft/vle_pure.rs old mode 100755 new mode 100644 diff --git a/crates/feos/tests/saftvrmie/critical_properties.rs b/crates/feos/tests/saftvrmie/critical_properties.rs old mode 100755 new mode 100644 diff --git a/crates/feos/tests/saftvrmie/mod.rs b/crates/feos/tests/saftvrmie/mod.rs old mode 100755 new mode 100644 diff --git a/docs-header.html b/docs-header.html old mode 100755 new mode 100644 diff --git a/docs/Makefile b/docs/Makefile old mode 100755 new mode 100644 diff --git a/docs/_templates/autosummary/base.rst b/docs/_templates/autosummary/base.rst old mode 100755 new mode 100644 diff --git a/docs/_templates/autosummary/class.rst b/docs/_templates/autosummary/class.rst old mode 100755 new mode 100644 diff --git a/docs/api/dft.md b/docs/api/dft.md old mode 100755 new mode 100644 diff --git a/docs/api/dippr.md b/docs/api/dippr.md old mode 100755 new mode 100644 diff --git a/docs/api/eos.md b/docs/api/eos.md old mode 100755 new mode 100644 diff --git a/docs/api/epcsaft.md b/docs/api/epcsaft.md old mode 100755 new mode 100644 diff --git a/docs/api/gc_pcsaft.md b/docs/api/gc_pcsaft.md old mode 100755 new mode 100644 diff --git a/docs/api/index.md b/docs/api/index.md old mode 100755 new mode 100644 diff --git a/docs/api/joback.md b/docs/api/joback.md old mode 100755 new mode 100644 diff --git a/docs/api/pcsaft.md b/docs/api/pcsaft.md old mode 100755 new mode 100644 diff --git a/docs/api/peng_robinson.md b/docs/api/peng_robinson.md old mode 100755 new mode 100644 diff --git a/docs/api/pets.md b/docs/api/pets.md old mode 100755 new mode 100644 diff --git a/docs/api/saftvrmie.md b/docs/api/saftvrmie.md old mode 100755 new mode 100644 diff --git a/docs/api/saftvrqmie.md b/docs/api/saftvrqmie.md old mode 100755 new mode 100644 diff --git a/docs/api/uvtheory.md b/docs/api/uvtheory.md old mode 100755 new mode 100644 diff --git a/docs/conf.py b/docs/conf.py old mode 100755 new mode 100644 diff --git a/docs/help_and_feedback.md b/docs/help_and_feedback.md old mode 100755 new mode 100644 diff --git a/docs/index.md b/docs/index.md old mode 100755 new mode 100644 diff --git a/docs/installation.md b/docs/installation.md old mode 100755 new mode 100644 diff --git a/docs/recipes/index.md b/docs/recipes/index.md old mode 100755 new mode 100644 diff --git a/docs/recipes/recipes_critical_point_pure.ipynb b/docs/recipes/recipes_critical_point_pure.ipynb old mode 100755 new mode 100644 diff --git a/docs/recipes/recipes_p_sat_t_boil.ipynb b/docs/recipes/recipes_p_sat_t_boil.ipynb old mode 100755 new mode 100644 diff --git a/docs/recipes/recipes_phase_diagram_pure.ipynb b/docs/recipes/recipes_phase_diagram_pure.ipynb old mode 100755 new mode 100644 diff --git a/docs/recipes/recipes_phase_equilibrium_pure.ipynb b/docs/recipes/recipes_phase_equilibrium_pure.ipynb old mode 100755 new mode 100644 diff --git a/docs/recipes/recipes_surface_tension_diagram_pure.ipynb b/docs/recipes/recipes_surface_tension_diagram_pure.ipynb old mode 100755 new mode 100644 diff --git a/docs/recipes/recipes_surface_tension_pure.ipynb b/docs/recipes/recipes_surface_tension_pure.ipynb old mode 100755 new mode 100644 diff --git a/docs/rust_api.md b/docs/rust_api.md old mode 100755 new mode 100644 diff --git a/docs/rustguide/core/equation_of_state.rst b/docs/rustguide/core/equation_of_state.rst old mode 100755 new mode 100644 diff --git a/docs/rustguide/core/index.md b/docs/rustguide/core/index.md old mode 100755 new mode 100644 diff --git a/docs/rustguide/core/state.rst b/docs/rustguide/core/state.rst old mode 100755 new mode 100644 diff --git a/docs/rustguide/index.md b/docs/rustguide/index.md old mode 100755 new mode 100644 diff --git a/docs/theory/dft/derivatives.md b/docs/theory/dft/derivatives.md old mode 100755 new mode 100644 diff --git a/docs/theory/dft/enthalpy_of_adsorption.md b/docs/theory/dft/enthalpy_of_adsorption.md old mode 100755 new mode 100644 diff --git a/docs/theory/dft/euler_lagrange_equation.md b/docs/theory/dft/euler_lagrange_equation.md old mode 100755 new mode 100644 diff --git a/docs/theory/dft/functional_derivatives.md b/docs/theory/dft/functional_derivatives.md old mode 100755 new mode 100644 diff --git a/docs/theory/dft/ideal_gas.md b/docs/theory/dft/ideal_gas.md old mode 100755 new mode 100644 diff --git a/docs/theory/dft/index.md b/docs/theory/dft/index.md old mode 100755 new mode 100644 diff --git a/docs/theory/dft/pdgt.md b/docs/theory/dft/pdgt.md old mode 100755 new mode 100644 diff --git a/docs/theory/dft/solver.md b/docs/theory/dft/solver.md old mode 100755 new mode 100644 diff --git a/docs/theory/eos/critical_points.md b/docs/theory/eos/critical_points.md old mode 100755 new mode 100644 diff --git a/docs/theory/eos/index.md b/docs/theory/eos/index.md old mode 100755 new mode 100644 diff --git a/docs/theory/eos/properties.md b/docs/theory/eos/properties.md old mode 100755 new mode 100644 diff --git a/docs/theory/models/FeOs_Association.png b/docs/theory/models/FeOs_Association.png old mode 100755 new mode 100644 diff --git a/docs/theory/models/association.md b/docs/theory/models/association.md old mode 100755 new mode 100644 diff --git a/docs/theory/models/hard_spheres.md b/docs/theory/models/hard_spheres.md old mode 100755 new mode 100644 diff --git a/docs/theory/models/index.md b/docs/theory/models/index.md old mode 100755 new mode 100644 diff --git a/docs/tutorials/dft/index.md b/docs/tutorials/dft/index.md old mode 100755 new mode 100644 diff --git a/docs/tutorials/dft/pcsaft/index.md b/docs/tutorials/dft/pcsaft/index.md old mode 100755 new mode 100644 diff --git a/docs/tutorials/dft/pcsaft/pcsaft_surface_tension.ipynb b/docs/tutorials/dft/pcsaft/pcsaft_surface_tension.ipynb old mode 100755 new mode 100644 diff --git a/docs/tutorials/eos/index.md b/docs/tutorials/eos/index.md old mode 100755 new mode 100644 diff --git a/docs/tutorials/eos/pcsaft/index.md b/docs/tutorials/eos/pcsaft/index.md old mode 100755 new mode 100644 diff --git a/docs/tutorials/eos/pcsaft/pcsaft_entropy_scaling.ipynb b/docs/tutorials/eos/pcsaft/pcsaft_entropy_scaling.ipynb old mode 100755 new mode 100644 diff --git a/docs/tutorials/eos/pcsaft/pcsaft_phase_diagram.ipynb b/docs/tutorials/eos/pcsaft/pcsaft_phase_diagram.ipynb old mode 100755 new mode 100644 diff --git a/docs/tutorials/eos/pcsaft/pcsaft_working_with_parameters.ipynb b/docs/tutorials/eos/pcsaft/pcsaft_working_with_parameters.ipynb old mode 100755 new mode 100644 diff --git a/docs/tutorials/eos/python/core_user_defined_eos.ipynb b/docs/tutorials/eos/python/core_user_defined_eos.ipynb old mode 100755 new mode 100644 diff --git a/docs/tutorials/eos/python/index.md b/docs/tutorials/eos/python/index.md old mode 100755 new mode 100644 diff --git a/docs/tutorials/index.md b/docs/tutorials/index.md old mode 100755 new mode 100644 diff --git a/docs/tutorials/utility/core_dual_numbers.ipynb b/docs/tutorials/utility/core_dual_numbers.ipynb old mode 100755 new mode 100644 diff --git a/docs/tutorials/utility/core_working_with_units.ipynb b/docs/tutorials/utility/core_working_with_units.ipynb old mode 100755 new mode 100644 diff --git a/docs/tutorials/utility/index.md b/docs/tutorials/utility/index.md old mode 100755 new mode 100644 diff --git a/examples/core_dual_numbers.ipynb b/examples/core_dual_numbers.ipynb old mode 100755 new mode 100644 diff --git a/examples/core_user_defined_eos.ipynb b/examples/core_user_defined_eos.ipynb old mode 100755 new mode 100644 diff --git a/examples/core_working_with_units.ipynb b/examples/core_working_with_units.ipynb old mode 100755 new mode 100644 diff --git a/examples/data/hexane_nist.csv b/examples/data/hexane_nist.csv old mode 100755 new mode 100644 diff --git a/examples/data/lennard_jones_nist.csv b/examples/data/lennard_jones_nist.csv old mode 100755 new mode 100644 diff --git a/examples/data/water_vle_nist.csv b/examples/data/water_vle_nist.csv old mode 100755 new mode 100644 diff --git a/examples/gc_pcsaft_functional.ipynb b/examples/gc_pcsaft_functional.ipynb old mode 100755 new mode 100644 diff --git a/examples/lj_models.ipynb b/examples/lj_models.ipynb old mode 100755 new mode 100644 diff --git a/examples/pc_saft_phase_diagram_to_dict.ipynb b/examples/pc_saft_phase_diagram_to_dict.ipynb old mode 100755 new mode 100644 diff --git a/examples/pcsaft/Entropy Scaling.ipynb b/examples/pcsaft/Entropy Scaling.ipynb old mode 100755 new mode 100644 diff --git a/examples/pcsaft/PhaseDiagramBinary.ipynb b/examples/pcsaft/PhaseDiagramBinary.ipynb old mode 100755 new mode 100644 diff --git a/examples/pcsaft/adsorption_isotherms.ipynb b/examples/pcsaft/adsorption_isotherms.ipynb old mode 100755 new mode 100644 diff --git a/examples/pcsaft/fea_adsorption.ipynb b/examples/pcsaft/fea_adsorption.ipynb old mode 100755 new mode 100644 diff --git a/examples/pcsaft/hexane_nist.csv b/examples/pcsaft/hexane_nist.csv old mode 100755 new mode 100644 diff --git a/examples/pcsaft/parameter_adjustment/README.md b/examples/pcsaft/parameter_adjustment/README.md old mode 100755 new mode 100644 diff --git a/examples/pcsaft/parameter_adjustment/adjust_kij.ipynb b/examples/pcsaft/parameter_adjustment/adjust_kij.ipynb old mode 100755 new mode 100644 diff --git a/examples/pcsaft/parameter_adjustment/adjust_non_polar_non_asssociating.ipynb b/examples/pcsaft/parameter_adjustment/adjust_non_polar_non_asssociating.ipynb old mode 100755 new mode 100644 diff --git a/examples/pcsaft/parameter_adjustment/adjust_viscosity_correlation.ipynb b/examples/pcsaft/parameter_adjustment/adjust_viscosity_correlation.ipynb old mode 100755 new mode 100644 diff --git a/examples/pcsaft/parameter_adjustment/data/binary_vle.csv b/examples/pcsaft/parameter_adjustment/data/binary_vle.csv old mode 100755 new mode 100644 diff --git a/examples/pcsaft/parameter_adjustment/data/hexane_liquid_density.csv b/examples/pcsaft/parameter_adjustment/data/hexane_liquid_density.csv old mode 100755 new mode 100644 diff --git a/examples/pcsaft/parameter_adjustment/data/hexane_vapor_pressure.csv b/examples/pcsaft/parameter_adjustment/data/hexane_vapor_pressure.csv old mode 100755 new mode 100644 diff --git a/examples/pcsaft/parameter_adjustment/data/hexane_viscosity.csv b/examples/pcsaft/parameter_adjustment/data/hexane_viscosity.csv old mode 100755 new mode 100644 diff --git a/examples/pcsaft/pore_geometry.ipynb b/examples/pcsaft/pore_geometry.ipynb old mode 100755 new mode 100644 diff --git a/examples/pcsaft/structure_parameters/DREIDING.dat b/examples/pcsaft/structure_parameters/DREIDING.dat old mode 100755 new mode 100644 diff --git a/examples/pcsaft/structure_parameters/Dha.dat b/examples/pcsaft/structure_parameters/Dha.dat old mode 100755 new mode 100644 diff --git a/examples/pcsaft/structure_parameters/LTA.dat b/examples/pcsaft/structure_parameters/LTA.dat old mode 100755 new mode 100644 diff --git a/examples/pcsaft/structure_parameters/MFI.nml b/examples/pcsaft/structure_parameters/MFI.nml old mode 100755 new mode 100644 diff --git a/examples/pcsaft/structure_parameters/PASCUAL.dat b/examples/pcsaft/structure_parameters/PASCUAL.dat old mode 100755 new mode 100644 diff --git a/examples/pcsaft/structure_parameters/TpPA.dat b/examples/pcsaft/structure_parameters/TpPA.dat old mode 100755 new mode 100644 diff --git a/examples/pcsaft/structure_parameters/ZIF-8.cif b/examples/pcsaft/structure_parameters/ZIF-8.cif old mode 100755 new mode 100644 diff --git a/examples/pcsaft/structure_parameters/noble_gases.json b/examples/pcsaft/structure_parameters/noble_gases.json old mode 100755 new mode 100644 diff --git a/examples/pcsaft/structure_parameters/solid_database.json b/examples/pcsaft/structure_parameters/solid_database.json old mode 100755 new mode 100644 diff --git a/examples/pcsaft_entropy_scaling.ipynb b/examples/pcsaft_entropy_scaling.ipynb old mode 100755 new mode 100644 diff --git a/examples/pcsaft_phase_diagram.ipynb b/examples/pcsaft_phase_diagram.ipynb old mode 100755 new mode 100644 diff --git a/examples/pcsaft_surface_tension.ipynb b/examples/pcsaft_surface_tension.ipynb old mode 100755 new mode 100644 diff --git a/examples/pcsaft_working_with_parameters.ipynb b/examples/pcsaft_working_with_parameters.ipynb old mode 100755 new mode 100644 diff --git a/examples/peng-robinson.json b/examples/peng-robinson.json old mode 100755 new mode 100644 diff --git a/examples/pets_eos_binary_caseI.ipynb b/examples/pets_eos_binary_caseI.ipynb old mode 100755 new mode 100644 diff --git a/examples/saftvrmie/lafitte_critical_data.csv b/examples/saftvrmie/lafitte_critical_data.csv old mode 100755 new mode 100644 diff --git a/examples/saftvrmie/validate_lafitte.ipynb b/examples/saftvrmie/validate_lafitte.ipynb old mode 100755 new mode 100644 diff --git a/examples/saftvrqmie/data/deuterium_helium_exp_data.dat b/examples/saftvrqmie/data/deuterium_helium_exp_data.dat old mode 100755 new mode 100644 diff --git a/examples/saftvrqmie/data/hydrogen_deuterium_exp_data.dat b/examples/saftvrqmie/data/hydrogen_deuterium_exp_data.dat old mode 100755 new mode 100644 diff --git a/examples/saftvrqmie/data/hydrogen_helium_exp_data.dat b/examples/saftvrqmie/data/hydrogen_helium_exp_data.dat old mode 100755 new mode 100644 diff --git a/examples/saftvrqmie/deuterium_32K.table b/examples/saftvrqmie/deuterium_32K.table old mode 100755 new mode 100644 diff --git a/examples/saftvrqmie/deuterium_helium_binary.ipynb b/examples/saftvrqmie/deuterium_helium_binary.ipynb old mode 100755 new mode 100644 diff --git a/examples/saftvrqmie/deuterium_neon_32K.rdf b/examples/saftvrqmie/deuterium_neon_32K.rdf old mode 100755 new mode 100644 diff --git a/examples/saftvrqmie/deuterium_neon_32K.table b/examples/saftvrqmie/deuterium_neon_32K.table old mode 100755 new mode 100644 diff --git a/examples/saftvrqmie/hydrogen_deuterium_binary.ipynb b/examples/saftvrqmie/hydrogen_deuterium_binary.ipynb old mode 100755 new mode 100644 diff --git a/examples/saftvrqmie/hydrogen_fh1_vs_fh2.ipynb b/examples/saftvrqmie/hydrogen_fh1_vs_fh2.ipynb old mode 100755 new mode 100644 diff --git a/examples/saftvrqmie/hydrogen_helium_binary.ipynb b/examples/saftvrqmie/hydrogen_helium_binary.ipynb old mode 100755 new mode 100644 diff --git a/examples/saftvrqmie/hydrogen_neon_binary.ipynb b/examples/saftvrqmie/hydrogen_neon_binary.ipynb old mode 100755 new mode 100644 diff --git a/examples/saftvrqmie/in.binary_deuterium_neon b/examples/saftvrqmie/in.binary_deuterium_neon old mode 100755 new mode 100644 diff --git a/examples/saftvrqmie/mulero_2012_parameters.json b/examples/saftvrqmie/mulero_2012_parameters.json old mode 100755 new mode 100644 diff --git a/examples/saftvrqmie/neon_32K.table b/examples/saftvrqmie/neon_32K.table old mode 100755 new mode 100644 diff --git a/examples/saftvrqmie/quantum_fluid_dft.ipynb b/examples/saftvrqmie/quantum_fluid_dft.ipynb old mode 100755 new mode 100644 diff --git a/examples/saftvrqmie/radial_distribution_function.ipynb b/examples/saftvrqmie/radial_distribution_function.ipynb old mode 100755 new mode 100644 diff --git a/license-apache b/license-apache old mode 100755 new mode 100644 diff --git a/license-mit b/license-mit old mode 100755 new mode 100644 diff --git a/manuscript/README.md b/manuscript/README.md old mode 100755 new mode 100644 diff --git a/manuscript/manuscript.pdf b/manuscript/manuscript.pdf old mode 100755 new mode 100644 diff --git a/parameters/epcsaft/README.md b/parameters/epcsaft/README.md old mode 100755 new mode 100644 diff --git a/parameters/epcsaft/held2014_binary.json b/parameters/epcsaft/held2014_binary.json old mode 100755 new mode 100644 diff --git a/parameters/epcsaft/held2014_w_permittivity_added.json b/parameters/epcsaft/held2014_w_permittivity_added.json old mode 100755 new mode 100644 diff --git a/parameters/epcsaft/literature.bib b/parameters/epcsaft/literature.bib old mode 100755 new mode 100644 diff --git a/parameters/ideal_gas/README.md b/parameters/ideal_gas/README.md old mode 100755 new mode 100644 diff --git a/parameters/ideal_gas/joback1987.json b/parameters/ideal_gas/joback1987.json old mode 100755 new mode 100644 diff --git a/parameters/ideal_gas/literature.bib b/parameters/ideal_gas/literature.bib old mode 100755 new mode 100644 diff --git a/parameters/ideal_gas/poling2000.json b/parameters/ideal_gas/poling2000.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/README.md b/parameters/pcsaft/README.md old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/eller2022.json b/parameters/pcsaft/eller2022.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/esper2023.json b/parameters/pcsaft/esper2023.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/gc_substances.json b/parameters/pcsaft/gc_substances.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/gross2001.json b/parameters/pcsaft/gross2001.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/gross2002.json b/parameters/pcsaft/gross2002.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/gross2002_binary.json b/parameters/pcsaft/gross2002_binary.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/gross2005_fit.json b/parameters/pcsaft/gross2005_fit.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/gross2005_literature.json b/parameters/pcsaft/gross2005_literature.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/gross2006.json b/parameters/pcsaft/gross2006.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/literature.bib b/parameters/pcsaft/literature.bib old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/loetgeringlin2015_homo.json b/parameters/pcsaft/loetgeringlin2015_homo.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/loetgeringlin2018.json b/parameters/pcsaft/loetgeringlin2018.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/rehner2020.json b/parameters/pcsaft/rehner2020.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/rehner2023_binary.json b/parameters/pcsaft/rehner2023_binary.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/rehner2023_hetero.json b/parameters/pcsaft/rehner2023_hetero.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/rehner2023_hetero_binary.json b/parameters/pcsaft/rehner2023_hetero_binary.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/rehner2023_homo.json b/parameters/pcsaft/rehner2023_homo.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/rehner2023_homo_binary.json b/parameters/pcsaft/rehner2023_homo_binary.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/sauer2014_hetero.json b/parameters/pcsaft/sauer2014_hetero.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/sauer2014_homo.json b/parameters/pcsaft/sauer2014_homo.json old mode 100755 new mode 100644 diff --git a/parameters/pcsaft/sauer2014_smarts.json b/parameters/pcsaft/sauer2014_smarts.json old mode 100755 new mode 100644 diff --git a/parameters/saftvrmie/README.md b/parameters/saftvrmie/README.md old mode 100755 new mode 100644 diff --git a/parameters/saftvrmie/lafitte2013.json b/parameters/saftvrmie/lafitte2013.json old mode 100755 new mode 100644 diff --git a/parameters/saftvrmie/literature.bib b/parameters/saftvrmie/literature.bib old mode 100755 new mode 100644 diff --git a/parameters/saftvrqmie/README.md b/parameters/saftvrqmie/README.md old mode 100755 new mode 100644 diff --git a/parameters/saftvrqmie/aasen2019.json b/parameters/saftvrqmie/aasen2019.json old mode 100755 new mode 100644 diff --git a/parameters/saftvrqmie/aasen2019_fh2.json b/parameters/saftvrqmie/aasen2019_fh2.json old mode 100755 new mode 100644 diff --git a/parameters/saftvrqmie/aasen2020_binary.json b/parameters/saftvrqmie/aasen2020_binary.json old mode 100755 new mode 100644 diff --git a/parameters/saftvrqmie/aasen2020_binary_fh2.json b/parameters/saftvrqmie/aasen2020_binary_fh2.json old mode 100755 new mode 100644 diff --git a/parameters/saftvrqmie/hammer2023.json b/parameters/saftvrqmie/hammer2023.json old mode 100755 new mode 100644 diff --git a/parameters/saftvrqmie/literature.bib b/parameters/saftvrqmie/literature.bib old mode 100755 new mode 100644 diff --git a/parameters_old/README.md b/parameters_old/README.md old mode 100755 new mode 100644 diff --git a/parameters_old/epcsaft/README.md b/parameters_old/epcsaft/README.md old mode 100755 new mode 100644 diff --git a/parameters_old/epcsaft/held2014_binary.json b/parameters_old/epcsaft/held2014_binary.json old mode 100755 new mode 100644 diff --git a/parameters_old/epcsaft/held2014_w_permittivity_added.json b/parameters_old/epcsaft/held2014_w_permittivity_added.json old mode 100755 new mode 100644 diff --git a/parameters_old/epcsaft/literature.bib b/parameters_old/epcsaft/literature.bib old mode 100755 new mode 100644 diff --git a/parameters_old/ideal_gas/README.md b/parameters_old/ideal_gas/README.md old mode 100755 new mode 100644 diff --git a/parameters_old/ideal_gas/joback1987.json b/parameters_old/ideal_gas/joback1987.json old mode 100755 new mode 100644 diff --git a/parameters_old/ideal_gas/literature.bib b/parameters_old/ideal_gas/literature.bib old mode 100755 new mode 100644 diff --git a/parameters_old/ideal_gas/poling2000.json b/parameters_old/ideal_gas/poling2000.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/README.md b/parameters_old/pcsaft/README.md old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/eller2022.json b/parameters_old/pcsaft/eller2022.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/esper2023.json b/parameters_old/pcsaft/esper2023.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/gc_substances.json b/parameters_old/pcsaft/gc_substances.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/gross2001.json b/parameters_old/pcsaft/gross2001.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/gross2002.json b/parameters_old/pcsaft/gross2002.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/gross2002_binary.json b/parameters_old/pcsaft/gross2002_binary.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/gross2005_fit.json b/parameters_old/pcsaft/gross2005_fit.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/gross2005_literature.json b/parameters_old/pcsaft/gross2005_literature.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/gross2006.json b/parameters_old/pcsaft/gross2006.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/literature.bib b/parameters_old/pcsaft/literature.bib old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/loetgeringlin2015_homo.json b/parameters_old/pcsaft/loetgeringlin2015_homo.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/loetgeringlin2018.json b/parameters_old/pcsaft/loetgeringlin2018.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/rehner2020.json b/parameters_old/pcsaft/rehner2020.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/rehner2023_binary.json b/parameters_old/pcsaft/rehner2023_binary.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/rehner2023_hetero.json b/parameters_old/pcsaft/rehner2023_hetero.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/rehner2023_hetero_binary.json b/parameters_old/pcsaft/rehner2023_hetero_binary.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/rehner2023_homo.json b/parameters_old/pcsaft/rehner2023_homo.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/rehner2023_homo_binary.json b/parameters_old/pcsaft/rehner2023_homo_binary.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/sauer2014_hetero.json b/parameters_old/pcsaft/sauer2014_hetero.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/sauer2014_homo.json b/parameters_old/pcsaft/sauer2014_homo.json old mode 100755 new mode 100644 diff --git a/parameters_old/pcsaft/sauer2014_smarts.json b/parameters_old/pcsaft/sauer2014_smarts.json old mode 100755 new mode 100644 diff --git a/parameters_old/saftvrmie/README.md b/parameters_old/saftvrmie/README.md old mode 100755 new mode 100644 diff --git a/parameters_old/saftvrmie/lafitte2013.json b/parameters_old/saftvrmie/lafitte2013.json old mode 100755 new mode 100644 diff --git a/parameters_old/saftvrmie/literature.bib b/parameters_old/saftvrmie/literature.bib old mode 100755 new mode 100644 diff --git a/parameters_old/saftvrqmie/README.md b/parameters_old/saftvrqmie/README.md old mode 100755 new mode 100644 diff --git a/parameters_old/saftvrqmie/aasen2019.json b/parameters_old/saftvrqmie/aasen2019.json old mode 100755 new mode 100644 diff --git a/parameters_old/saftvrqmie/aasen2019_fh2.json b/parameters_old/saftvrqmie/aasen2019_fh2.json old mode 100755 new mode 100644 diff --git a/parameters_old/saftvrqmie/aasen2020_binary.json b/parameters_old/saftvrqmie/aasen2020_binary.json old mode 100755 new mode 100644 diff --git a/parameters_old/saftvrqmie/aasen2020_binary_fh2.json b/parameters_old/saftvrqmie/aasen2020_binary_fh2.json old mode 100755 new mode 100644 diff --git a/parameters_old/saftvrqmie/hammer2023.json b/parameters_old/saftvrqmie/hammer2023.json old mode 100755 new mode 100644 diff --git a/parameters_old/saftvrqmie/literature.bib b/parameters_old/saftvrqmie/literature.bib old mode 100755 new mode 100644 diff --git a/py-feos/.python-version b/py-feos/.python-version old mode 100755 new mode 100644 diff --git a/py-feos/Cargo.toml b/py-feos/Cargo.toml old mode 100755 new mode 100644 diff --git a/py-feos/README.md b/py-feos/README.md old mode 100755 new mode 100644 diff --git a/py-feos/feos/__init__.py b/py-feos/feos/__init__.py old mode 100755 new mode 100644 diff --git a/py-feos/feos/dft.py b/py-feos/feos/dft.py old mode 100755 new mode 100644 diff --git a/py-feos/feos/dft.pyi b/py-feos/feos/dft.pyi old mode 100755 new mode 100644 diff --git a/py-feos/feos/estimator.py b/py-feos/feos/estimator.py old mode 100755 new mode 100644 diff --git a/py-feos/feos/estimator.pyi b/py-feos/feos/estimator.pyi old mode 100755 new mode 100644 diff --git a/py-feos/feos/feos.pyi b/py-feos/feos/feos.pyi old mode 100755 new mode 100644 diff --git a/py-feos/feos/parameters.py b/py-feos/feos/parameters.py old mode 100755 new mode 100644 diff --git a/py-feos/feos/parameters.pyi b/py-feos/feos/parameters.pyi old mode 100755 new mode 100644 diff --git a/py-feos/pyproject.toml b/py-feos/pyproject.toml old mode 100755 new mode 100644 diff --git a/py-feos/src/dft/adsorption/external_potential.rs b/py-feos/src/dft/adsorption/external_potential.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/dft/adsorption/mod.rs b/py-feos/src/dft/adsorption/mod.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/dft/adsorption/pore.rs b/py-feos/src/dft/adsorption/pore.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/dft/interface/mod.rs b/py-feos/src/dft/interface/mod.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/dft/interface/surface_tension_diagram.rs b/py-feos/src/dft/interface/surface_tension_diagram.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/dft/mod.rs b/py-feos/src/dft/mod.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/dft/profile.rs b/py-feos/src/dft/profile.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/dft/solvation.rs b/py-feos/src/dft/solvation.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/dft/solver.rs b/py-feos/src/dft/solver.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/eos/constructors.rs b/py-feos/src/eos/constructors.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/eos/epcsaft.rs b/py-feos/src/eos/epcsaft.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/eos/gc_pcsaft.rs b/py-feos/src/eos/gc_pcsaft.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/eos/mod.rs b/py-feos/src/eos/mod.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/eos/pcsaft.rs b/py-feos/src/eos/pcsaft.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/eos/pets.rs b/py-feos/src/eos/pets.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/eos/saftvrmie.rs b/py-feos/src/eos/saftvrmie.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/eos/saftvrqmie.rs b/py-feos/src/eos/saftvrqmie.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/eos/uvtheory.rs b/py-feos/src/eos/uvtheory.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/error.rs b/py-feos/src/error.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/estimator.rs b/py-feos/src/estimator.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/ideal_gas.rs b/py-feos/src/ideal_gas.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/lib.rs b/py-feos/src/lib.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/parameter/chemical_record.rs b/py-feos/src/parameter/chemical_record.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/parameter/fragmentation.rs b/py-feos/src/parameter/fragmentation.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/parameter/identifier.rs b/py-feos/src/parameter/identifier.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/parameter/mod.rs b/py-feos/src/parameter/mod.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/parameter/model_record.rs b/py-feos/src/parameter/model_record.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/parameter/segment.rs b/py-feos/src/parameter/segment.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/phase_equilibria.rs b/py-feos/src/phase_equilibria.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/residual.rs b/py-feos/src/residual.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/state.rs b/py-feos/src/state.rs old mode 100755 new mode 100644 diff --git a/py-feos/src/user_defined.rs b/py-feos/src/user_defined.rs old mode 100755 new mode 100644 diff --git a/py-feos/uv.lock b/py-feos/uv.lock old mode 100755 new mode 100644 From 8c9c1766221624b32cbeb39a7185e1695f6ffb3b Mon Sep 17 00:00:00 2001 From: JelleLagerweij Date: Sun, 6 Jul 2025 15:41:56 +0200 Subject: [PATCH 13/13] some struggle with the new parameters implementation --- crates/feos/Cargo.toml | 3 +- crates/feos/src/cubic/parameters.rs | 141 +++++++++++++++++----------- 2 files changed, 88 insertions(+), 56 deletions(-) diff --git a/crates/feos/Cargo.toml b/crates/feos/Cargo.toml index c5a947e1b..e3e7dc0bf 100644 --- a/crates/feos/Cargo.toml +++ b/crates/feos/Cargo.toml @@ -23,6 +23,7 @@ rayon = { workspace = true, optional = true } itertools = { workspace = true } typenum = { workspace = true } arrayvec = { workspace = true, features = ["serde"] } +enum_dispatch = {workspace = true, optional = true} feos-core = { workspace = true } feos-derive = { workspace = true } @@ -46,7 +47,7 @@ pets = [] saftvrqmie = [] saftvrmie = ["association"] rayon = ["dep:rayon", "ndarray/rayon", "feos-core/rayon", "feos-dft?/rayon"] -cubic = [] +cubic = ["enum_dispatch"] all_models = [ "dft", "pcsaft", diff --git a/crates/feos/src/cubic/parameters.rs b/crates/feos/src/cubic/parameters.rs index 87b412c7b..d78d00818 100644 --- a/crates/feos/src/cubic/parameters.rs +++ b/crates/feos/src/cubic/parameters.rs @@ -1,4 +1,4 @@ -use feos_core::parameter::{Identifier, Parameter, PureRecord}; +use feos_core::parameter::{Identifier, Parameters, PureRecord}; use feos_core::{FeosError, FeosResult}; use ndarray::{Array1, Array2}; use num_traits::Zero; @@ -109,8 +109,10 @@ impl std::fmt::Display for CubicBinaryRecord { } } -/// Cubic parameters for one ore more substances. -pub struct CubicParameters { +/// Cubic EoS parameters for one ore more substances. +pub type CubicParameters = Parameters; + +pub struct CubicPars { /// Critical temperature in Kelvin pub(super) tc: Array1, pub(super) pc: Array1, @@ -122,12 +124,12 @@ pub struct CubicParameters { /// Molar weight in units of g/mol pub(super) molarweight: Array1, /// List of pure component records - pub(super) pure_records: Vec>, + pub(super) pure_records: Vec>, /// List of binary records pub binary_records: Option>, } -impl std::fmt::Display for CubicParameters { +impl std::fmt::Display for CubicPars { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { self.pure_records .iter() @@ -136,7 +138,7 @@ impl std::fmt::Display for CubicParameters { } } -impl CubicParameters { +impl CubicPars { /// Build a simple parameter set without binary interaction parameters. pub fn new_simple( tc: &[f64], @@ -163,56 +165,85 @@ impl CubicParameters { PureRecord::new(id, molarweight[i], record) }) .collect(); - CubicParameters::from_records(records, None) + CubicPars::new(records, vec![]) } } -impl Parameter for CubicParameters { - type Pure = CubicRecord; - type Binary = CubicBinaryRecord; - - /// Creates parameters from pure component records. - fn from_records( - pure_records: Vec>, - binary_records: Option>, - ) -> FeosResult { - let n = pure_records.len(); - - let mut tc = Array1::zeros(n); - let mut pc = Array1::zeros(n); - let mut acentric_factor = Array1::zeros(n); - let mut molarweight = Array1::zeros(n); - - for (i, record) in pure_records.iter().enumerate() { - molarweight[i] = record.molarweight; - let r = &record.model_record; - tc[i] = r.tc; - pc[i] = r.pc; - acentric_factor[i] = r.acentric_factor; - } - - let br = binary_records.as_ref(); - let k_ij = br.map_or_else(|| Array2::zeros([n; 2]), |br| br.mapv(|br| br.k_ij)); - let l_ij = br.map_or_else(|| Array2::zeros([n; 2]), |br| br.mapv(|br| br.l_ij)); - - Ok(Self { - tc, - pc, - acentric_factor, - k_ij, - l_ij, - molarweight, - pure_records, - binary_records, - }) - } - fn records( - &self, - ) -> ( - &[PureRecord], - Option<&Array2>, - ) { - (&self.pure_records, self.binary_records.as_ref()) - } -} +//// Origional CubicParameters struct instead of the Parameters type implementation +// pub struct CubicParameters { +// /// Critical temperature in Kelvin +// pub(super) tc: Array1, +// pub(super) pc: Array1, +// pub(super) acentric_factor: Array1, +// /// Binary interaction parameter for a +// pub(super) k_ij: Array2, +// /// Binary interaction parameter for b +// pub(super) l_ij: Array2, +// /// Molar weight in units of g/mol +// pub(super) molarweight: Array1, +// /// List of pure component records +// pub(super) pure_records: Vec>, +// /// List of binary records +// pub binary_records: Option>, +// } + +// impl std::fmt::Display for CubicParameters { +// fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { +// self.pure_records +// .iter() +// .try_for_each(|pr| writeln!(f, "{}", pr))?; +// writeln!(f, "\nk_ij:\n{}", self.k_ij) +// } +// } + + +// impl Parameter for CubicParameters { +// type Pure = CubicRecord; +// type Binary = CubicBinaryRecord; +// +// /// Creates parameters from pure component records. +// fn from_records( +// pure_records: Vec>, +// binary_records: Option>, +// ) -> FeosResult { +// let n = pure_records.len(); +// +// let mut tc = Array1::zeros(n); +// let mut pc = Array1::zeros(n); +// let mut acentric_factor = Array1::zeros(n); +// let mut molarweight = Array1::zeros(n); +// +// for (i, record) in pure_records.iter().enumerate() { +// molarweight[i] = record.molarweight; +// let r = &record.model_record; +// tc[i] = r.tc; +// pc[i] = r.pc; +// acentric_factor[i] = r.acentric_factor; +// } +// +// let br = binary_records.as_ref(); +// let k_ij = br.map_or_else(|| Array2::zeros([n; 2]), |br| br.mapv(|br| br.k_ij)); +// let l_ij = br.map_or_else(|| Array2::zeros([n; 2]), |br| br.mapv(|br| br.l_ij)); +// +// Ok(Self { +// tc, +// pc, +// acentric_factor, +// k_ij, +// l_ij, +// molarweight, +// pure_records, +// binary_records, +// }) +// } +// +// fn records( +// &self, +// ) -> ( +// &[PureRecord], +// Option<&Array2>, +// ) { +// (&self.pure_records, self.binary_records.as_ref()) +// } +// }