From 182a5025560ca9261f729a3bbb50c021d74c22bd Mon Sep 17 00:00:00 2001 From: Philipp Rehner Date: Thu, 2 Dec 2021 16:22:04 +0100 Subject: [PATCH 1/2] Use Joback as ideal gas model for the PR eos --- src/cubic.rs | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/cubic.rs b/src/cubic.rs index 5491bd6..17a608b 100644 --- a/src/cubic.rs +++ b/src/cubic.rs @@ -1,5 +1,7 @@ -use crate::equation_of_state::{EquationOfState, HelmholtzEnergy, HelmholtzEnergyDual}; -use crate::joback::JobackRecord; +use crate::equation_of_state::{ + EquationOfState, HelmholtzEnergy, HelmholtzEnergyDual, IdealGasContribution, +}; +use crate::joback::{Joback, JobackRecord}; use crate::parameter::{Identifier, Parameter, ParameterError, PureRecord}; use crate::si::{GRAM, MOL}; use crate::state::StateHD; @@ -144,11 +146,19 @@ impl Parameter for PengRobinsonParameters { pub struct PengRobinson { parameters: Rc, + ideal_gas: Joback, } impl PengRobinson { pub fn new(parameters: Rc) -> Self { - Self { parameters } + let ideal_gas = parameters.joback_records.as_ref().map_or_else( + || Joback::default(parameters.tc.len()), + |j| Joback::new(j.clone()), + ); + Self { + parameters, + ideal_gas, + } } } @@ -204,6 +214,11 @@ impl EquationOfState for PengRobinson { { vec![("Peng-Robinson".into(), self.evaluate_residual(state))] } + + fn ideal_gas(&self) -> &dyn IdealGasContribution { + &self.ideal_gas + // &DefaultIdealGasContribution() + } } impl MolarWeight for PengRobinson { From 5b2b8b174353515e098afe8692860b80b17c8055 Mon Sep 17 00:00:00 2001 From: Philipp Rehner Date: Thu, 2 Dec 2021 16:48:49 +0100 Subject: [PATCH 2/2] Remove comment --- src/cubic.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/cubic.rs b/src/cubic.rs index 17a608b..1494aec 100644 --- a/src/cubic.rs +++ b/src/cubic.rs @@ -217,7 +217,6 @@ impl EquationOfState for PengRobinson { fn ideal_gas(&self) -> &dyn IdealGasContribution { &self.ideal_gas - // &DefaultIdealGasContribution() } }