Update the ECS solver, all transport tests pass

Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
This commit is contained in:
Ian Bell
2014-12-10 23:00:28 -05:00
parent 4a76cb1d4b
commit bf3cd4a614
2 changed files with 15 additions and 12 deletions

View File

@@ -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;

View File

@@ -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),