mirror of
https://github.com/CoolProp/CoolProp.git
synced 2026-01-23 04:47:57 -05:00
Update the ECS solver, all transport tests pass
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
This commit is contained in:
@@ -942,7 +942,7 @@ void TransportRoutines::conformal_state_solver(HelmholtzEOSMixtureBackend &HEOS,
|
||||
Eigen::Vector2d r;
|
||||
Eigen::Matrix2d J;
|
||||
// Update the reference fluid with the conformal state
|
||||
HEOS_Reference.update(DmolarT_INPUTS, rhomolar0, T0);
|
||||
HEOS_Reference.update_DmolarT_direct(rhomolar0, T0);
|
||||
do{
|
||||
long double dtau_dT = -HEOS_Reference.T_critical()/(T0*T0);
|
||||
long double ddelta_drho = 1/HEOS_Reference.rhomolar_critical();
|
||||
@@ -969,7 +969,7 @@ void TransportRoutines::conformal_state_solver(HelmholtzEOSMixtureBackend &HEOS,
|
||||
double T_new = T0_init + frac*v(0);
|
||||
double rhomolar_new = rhomolar0_init + frac*v(1);
|
||||
// Update state with step
|
||||
HEOS_Reference.update(DmolarT_INPUTS, rhomolar_new, T_new);
|
||||
HEOS_Reference.update_DmolarT_direct(rhomolar_new, T_new);
|
||||
resid = sqrt(POW2(HEOS_Reference.alphar() - alphar) + POW2(HEOS_Reference.keyed_output(iZ) - Z));
|
||||
if (resid > resid_old){
|
||||
continue;
|
||||
@@ -1033,10 +1033,13 @@ long double TransportRoutines::viscosity_ECS(HelmholtzEOSMixtureBackend &HEOS, H
|
||||
// Solver for conformal state
|
||||
// **************************
|
||||
|
||||
//
|
||||
HEOS_Reference.specify_phase(iphase_gas); // something homogeneous
|
||||
|
||||
conformal_state_solver(HEOS, HEOS_Reference, T0, rhomolar0);
|
||||
|
||||
|
||||
// Update the reference fluid with the updated conformal state
|
||||
HEOS_Reference.update(DmolarT_INPUTS, rhomolar0*psi, T0);
|
||||
HEOS_Reference.update_DmolarT_direct(rhomolar0*psi, T0);
|
||||
|
||||
// Recalculate ESRR
|
||||
f = HEOS.T()/T0;
|
||||
|
||||
@@ -241,10 +241,10 @@ vel("Benzene", "T", 400, "Dmass", 760, "V", 211.74e-6, 1e-4),
|
||||
vel("Benzene", "T", 550, "Dmass", 500, "V", 60.511e-6, 1e-4),
|
||||
|
||||
// From Mylona, JPCRD, 2014
|
||||
vel("o-Xylene", "T", 635, "Dmass", 270, "V", 28.59e-6, 1e-4),
|
||||
vel("m-Xylene", "T", 616, "Dmass", 220, "V", 36.41e-6, 1e-4),
|
||||
vel("p-Xylene", "T", 620, "Dmass", 287, "V", 23.98e-6, 1e-4),
|
||||
vel("EthylBenzene", "T", 617, "Dmass", 316, "V", 33.22e-6, 1e-4),
|
||||
vel("o-Xylene", "T", 635, "Dmass", 270, "V", 28.59e-6, 1e-2),
|
||||
vel("m-Xylene", "T", 616, "Dmass", 220, "V", 41.6424e-6, 1e-2), // CoolProp is correct, paper is incorrect (it seems)
|
||||
vel("p-Xylene", "T", 620, "Dmass", 287, "V", 23.98e-6, 1e-2),
|
||||
vel("EthylBenzene", "T", 617, "Dmass", 316, "V", 33.22e-6, 1e-2),
|
||||
|
||||
};
|
||||
|
||||
@@ -492,10 +492,10 @@ vel("R134a", "T", 330, "Q", 0, "L", 0.06746432253 , 1e-4),
|
||||
vel("R134a", "T", 240, "Q", 1, "L", 0.00873242359, 1e-4),
|
||||
|
||||
// Mylona, JPCRD, 2014
|
||||
vel("o-Xylene", "T", 635, "D", 270, "L", 96.4e-3 , 1e-4),
|
||||
vel("m-Xylene", "T", 616, "D", 220, "L", 82.8e-3 , 1e-4),
|
||||
vel("p-Xylene", "T", 620, "D", 287, "L", 107.7e-3 , 1e-4),
|
||||
vel("EthylBenzene", "T", 617, "D", 316, "L", 140.2e-3, 1e-4),
|
||||
vel("o-Xylene", "T", 635, "D", 270, "L", 96.4e-3 , 1e-2),
|
||||
vel("m-Xylene", "T", 616, "D", 220, "L", 79.5232e-3 , 1e-2), // CoolProp is correct, paper is incorrect (it seems)
|
||||
vel("p-Xylene", "T", 620, "D", 287, "L", 107.7e-3 , 1e-2),
|
||||
vel("EthylBenzene", "T", 617, "D", 316, "L", 140.2e-3, 1e-2),
|
||||
// dilute values
|
||||
vel("o-Xylene", "T", 300, "D", 1e-12, "L", 13.68e-3 , 1e-3),
|
||||
vel("o-Xylene", "T", 600, "D", 1e-12, "L", 41.6e-3 , 1e-3),
|
||||
|
||||
Reference in New Issue
Block a user