diff --git a/include/cantera/transport/GasTransport.h b/include/cantera/transport/GasTransport.h index 997b0276a..e112b2935 100644 --- a/include/cantera/transport/GasTransport.h +++ b/include/cantera/transport/GasTransport.h @@ -18,6 +18,14 @@ class MMCollisionInt; //! Class GasTransport implements some functions and properties that are //! shared by the MixTransport and MultiTransport classes. +//! +//! ### References +//! +//! * [Kee2003] R. J. Kee, M. E. Coltrin, and P. Glarborg. Chemically Reacting +//! Flow: Theory and Practice. 1st Ed. John Wiley and Sons, 2003. +//! * [Kee2017] R. J. Kee, M. E. Coltrin, P. Glarborg, and H. Zhu. Chemically +//! Reacting Flow: Theory and Practice. 2nd Ed. John Wiley and Sons, 2017. +//! //! @ingroup tranprops class GasTransport : public Transport { diff --git a/interfaces/cython/cantera/test/test_onedim.py b/interfaces/cython/cantera/test/test_onedim.py index b0c7f8d46..5faac30b1 100644 --- a/interfaces/cython/cantera/test/test_onedim.py +++ b/interfaces/cython/cantera/test/test_onedim.py @@ -951,4 +951,4 @@ class TestIonFlame(utilities.CanteraTest): self.sim.solve(loglevel=0, stage=2, enable_energy=True) # Regression test - self.assertNear(max(self.sim.E), 131.9956, 1e-3) + self.assertNear(max(self.sim.E), 132.1922, 1e-3) diff --git a/src/transport/GasTransport.cpp b/src/transport/GasTransport.cpp index 277b4dbc9..f8447a884 100644 --- a/src/transport/GasTransport.cpp +++ b/src/transport/GasTransport.cpp @@ -537,13 +537,19 @@ void GasTransport::fitProperties(MMCollisionInt& integrals) double T_save = m_thermo->temperature(); const vector_fp& mw = m_thermo->molecularWeights(); for (size_t k = 0; k < m_nsp; k++) { + double tstar = Boltzmann * 298.0 / m_eps[k]; + // Scaling factor for temperature dependence of z_rot. [Kee2003] Eq. + // 12.112 or [Kee2017] Eq. 11.115 + double fz_298 = 1.0 + pow(Pi, 1.5) / sqrt(tstar) * (0.5 + 1.0 / tstar) + + (0.25 * Pi * Pi + 2) / tstar; + for (size_t n = 0; n < np; n++) { double t = m_thermo->minTemp() + dt*n; m_thermo->setTemperature(t); vector_fp cp_R_all(m_thermo->nSpecies()); m_thermo->getCp_R_ref(&cp_R_all[0]); double cp_R = cp_R_all[k]; - double tstar = Boltzmann * t/ m_eps[k]; + tstar = Boltzmann * t / m_eps[k]; double sqrt_T = sqrt(t); double om22 = integrals.omega22(tstar, m_delta(k,k)); double om11 = integrals.omega11(tstar, m_delta(k,k)); @@ -561,7 +567,9 @@ void GasTransport::fitProperties(MMCollisionInt& integrals) double f_int = mw[k]/(GasConstant * t) * diffcoeff/visc; double cv_rot = m_crot[k]; double A_factor = 2.5 - f_int; - double B_factor = m_zrot[k] + 2.0/Pi * (5.0/3.0 * cv_rot + f_int); + double fz_tstar = 1.0 + pow(Pi, 1.5) / sqrt(tstar) * (0.5 + 1.0 / tstar) + + (0.25 * Pi * Pi + 2) / tstar; + double B_factor = m_zrot[k] * fz_298 / fz_tstar + 2.0/Pi * (5.0/3.0 * cv_rot + f_int); double c1 = 2.0/Pi * A_factor/B_factor; double cv_int = cp_R - 2.5 - cv_rot; double f_rot = f_int * (1.0 + c1); diff --git a/test_problems/mixGasTransport/output_blessed.txt b/test_problems/mixGasTransport/output_blessed.txt index bf547fc83..0029ff053 100644 --- a/test_problems/mixGasTransport/output_blessed.txt +++ b/test_problems/mixGasTransport/output_blessed.txt @@ -161,16 +161,16 @@ CH2CHO 0 CH3CHO 0 Viscosity and thermal Cond vs. T - 400 1.976e-05 0.0641 - 500 2.357e-05 0.07635 - 600 2.714e-05 0.08832 - 700 3.049e-05 0.1002 - 800 3.368e-05 0.112 - 900 3.673e-05 0.1237 - 1000 3.966e-05 0.1355 - 1100 4.247e-05 0.1471 - 1200 4.52e-05 0.1586 - 1300 4.784e-05 0.1701 + 400 1.976e-05 0.06427 + 500 2.357e-05 0.07668 + 600 2.714e-05 0.0888 + 700 3.049e-05 0.1008 + 800 3.368e-05 0.1128 + 900 3.673e-05 0.1247 + 1000 3.966e-05 0.1365 + 1100 4.247e-05 0.1483 + 1200 4.52e-05 0.1599 + 1300 4.784e-05 0.1715 Binary Diffusion Coefficients H2 vs species H2 - H2 0.001688 0.001688 H2 - H 0.002572 0.002572