From b72581b2227bda9442850d01e39e7f75bae469b2 Mon Sep 17 00:00:00 2001 From: Harry Moffat Date: Tue, 10 Aug 2010 21:06:42 +0000 Subject: [PATCH] Doxygen update --- Cantera/src/transport/MixTransport.cpp | 41 +++++---- Cantera/src/transport/MixTransport.h | 120 ++++++++++++++++++++----- 2 files changed, 123 insertions(+), 38 deletions(-) diff --git a/Cantera/src/transport/MixTransport.cpp b/Cantera/src/transport/MixTransport.cpp index 016fec4a9..5eebd68f1 100644 --- a/Cantera/src/transport/MixTransport.cpp +++ b/Cantera/src/transport/MixTransport.cpp @@ -54,11 +54,9 @@ namespace Cantera { m_cond(0), m_molefracs(0), m_poly(0), - m_astar_poly(0), m_bstar_poly(0), m_cstar_poly(0), m_om22_poly(0), - m_astar(0, 0), m_bstar(0, 0), m_cstar(0, 0), m_om22(0, 0), @@ -116,11 +114,9 @@ namespace Cantera { m_cond(0), m_molefracs(0), m_poly(0), - m_astar_poly(0), m_bstar_poly(0), m_cstar_poly(0), m_om22_poly(0), - m_astar(0, 0), m_bstar(0, 0), m_cstar(0, 0), m_om22(0, 0), @@ -191,11 +187,9 @@ namespace Cantera { m_cond = right.m_cond; m_molefracs = right.m_molefracs; m_poly = right.m_poly; - m_astar_poly = right.m_astar_poly; m_bstar_poly = right.m_bstar_poly; m_cstar_poly = right.m_cstar_poly; m_om22_poly = right.m_om22_poly; - m_astar = right.m_astar; m_bstar = right.m_bstar; m_cstar = right.m_cstar; m_om22 = right.m_om22; @@ -425,6 +419,7 @@ namespace Cantera { sum2 += m_molefracs[k] / m_cond[k]; } m_lambda = 0.5*(sum1 + 1.0/sum2); + m_condmix_ok = true; } return m_lambda; } @@ -443,14 +438,30 @@ namespace Cantera { } } //=================================================================================================================== - /** - * @param ndim The number of spatial dimensions (1, 2, or 3). - * @param grad_T The temperature gradient (ignored in this model). - * @param ldx Leading dimension of the grad_X array. + // Get the species diffusive mass fluxes wrt to the mass averaged velocity, + // given the gradients in mole fraction and temperature + /* + * Units for the returned fluxes are kg m-2 s-1. + * + * * The diffusive mass flux of species \e k is computed from * \f[ - * \vec{j}_k = -n M_k D_k \nabla X_k. + * \vec{j}_k = -n M_k D_k \nabla X_k. * \f] + * + * @param ndim Number of dimensions in the flux expressions + * @param grad_T Gradient of the temperature + * (length = ndim) + * @param ldx Leading dimension of the grad_X array + * (usually equal to m_nsp but not always) + * @param grad_X Gradients of the mole fraction + * Flat vector with the m_nsp in the inner loop. + * length = ldx * ndim + * @param ldf Leading dimension of the fluxes array + * (usually equal to m_nsp but not always) + * @param fluxes Output of the diffusive mass fluxes + * Flat vector with the m_nsp in the inner loop. + * length = ldx * ndim */ void MixTransport::getSpeciesFluxes(int ndim, const doublereal* grad_T, int ldx, const doublereal* grad_X, @@ -608,7 +619,7 @@ namespace Cantera { } else { for (k = 0; k < m_nsp; k++) { - m_cond[k] = m_sqrt_t*dot5(m_polytempvec, m_condcoeffs[k]); + m_cond[k] = m_sqrt_t * dot5(m_polytempvec, m_condcoeffs[k]); } } m_spcond_ok = true; @@ -653,7 +664,6 @@ namespace Cantera { * Update the pure-species viscosities. */ void MixTransport::updateSpeciesViscosities() { - int k; if (m_mode == CK_Mode) { for (k = 0; k < m_nsp; k++) { @@ -664,13 +674,12 @@ namespace Cantera { else { for (k = 0; k < m_nsp; k++) { // the polynomial fit is done for sqrt(visc/sqrt(T)) - m_sqvisc[k] = m_t14*dot5(m_polytempvec, m_visccoeffs[k]); - m_visc[k] = (m_sqvisc[k]*m_sqvisc[k]); + m_sqvisc[k] = m_t14 * dot5(m_polytempvec, m_visccoeffs[k]); + m_visc[k] = (m_sqvisc[k] * m_sqvisc[k]); } } m_spvisc_ok = true; } - //==================================================================================================================== /* * Update the temperature-dependent viscosity terms. diff --git a/Cantera/src/transport/MixTransport.h b/Cantera/src/transport/MixTransport.h index 3ede840f5..e901a61eb 100644 --- a/Cantera/src/transport/MixTransport.h +++ b/Cantera/src/transport/MixTransport.h @@ -37,11 +37,44 @@ namespace Cantera { class GasTransportParams; - /** - * Class MixTransport implements mixture-averaged transport - * properties for ideal gas mixtures. The model is based on that - * described by Kee, Coltrin, and Glarborg, "Theoretical and - * Practical Aspects of Chemically Reacting Flow Modeling." + + //! Class MixTransport implements mixture-averaged transport properties for ideal gas mixtures. + /*! + * The model is based on that described by Kee, Coltrin, and Glarborg, "Theoretical and + * Practical Aspects of Chemically Reacting Flow Modeling." + * + * + * The viscosity is computed using the Wilke mixture rule (kg /m /s) + * + * \f[ + * \mu = \sum_k \frac{\mu_k X_k}{\sum_j \Phi_{k,j} X_j}. + * \f] + * + * Here \f$ \mu_k \f$ is the viscosity of pure species \e k, and + * + * \f[ + * \Phi_{k,j} = \frac{\left[1 + * + \sqrt{\left(\frac{\mu_k}{\mu_j}\sqrt{\frac{M_j}{M_k}}\right)}\right]^2} + * {\sqrt{8}\sqrt{1 + M_k/M_j}} + * \f] + * + * + * The thermal conductivity is computed from the following mixture rule: + * \f[ + * \lambda = 0.5 \left( \sum_k X_k \lambda_k + \frac{1}{\sum_k X_k/\lambda_k} \right) + * \f] + * + * It's used to compute the flux of energy due to a thermal gradient + * + * \f[ + * j_T = - \lambda \nabla T + * \f] + * + * The flux of energy has units of energy (kg m2 /s2) per second per area. + * + * The units of lambda are W / m K which is equivalent to kg m / s^3 K. + * + * */ class MixTransport : public Transport { @@ -53,6 +86,7 @@ namespace Cantera { MixTransport(); public: + //!Copy Constructor for the %MixTransport object. /*! * @param right %LiquidTransport to be copied @@ -92,9 +126,25 @@ namespace Cantera { return cMixtureAveraged; } - //! Viscosity of the mixture + //! Viscosity of the mixture (kg /m /s) /*! + * The viscosity is computed using the Wilke mixture rule (kg /m /s) * + * \f[ + * \mu = \sum_k \frac{\mu_k X_k}{\sum_j \Phi_{k,j} X_j}. + * \f] + * + * Here \f$ \mu_k \f$ is the viscosity of pure species \e k, and + * + * \f[ + * \Phi_{k,j} = \frac{\left[1 + * + \sqrt{\left(\frac{\mu_k}{\mu_j}\sqrt{\frac{M_j}{M_k}}\right)}\right]^2} + * {\sqrt{8}\sqrt{1 + M_k/M_j}} + * \f] + * + * @return Returns the viscosity of the mixture ( units = Pa s = kg /m /s) + * + * @see updateViscosity_T(); */ virtual doublereal viscosity(); @@ -161,20 +211,25 @@ namespace Cantera { virtual void update_T(); virtual void update_C(); - //! Get the species diffusive mass fluxes wrt to - //! the mass averaged velocity, + //! Get the species diffusive mass fluxes wrt to the mass averaged velocity, //! given the gradients in mole fraction and temperature /*! * Units for the returned fluxes are kg m-2 s-1. - * - * @param ndim Number of dimensions in the flux expressions - * @param grad_T Gradient of the temperature - * (length = ndim) - * @param ldx Leading dimension of the grad_X array - * (usually equal to m_nsp but not always) - * @param grad_X Gradients of the mole fraction - * Flat vector with the m_nsp in the inner loop. - * length = ldx * ndim + * + * + * The diffusive mass flux of species \e k is computed from + * \f[ + * \vec{j}_k = -n M_k D_k \nabla X_k. + * \f] + * + * @param ndim Number of dimensions in the flux expressions + * @param grad_T Gradient of the temperature + * (length = ndim) + * @param ldx Leading dimension of the grad_X array + * (usually equal to m_nsp but not always) + * @param grad_X Gradients of the mole fraction + * Flat vector with the m_nsp in the inner loop. + * length = ldx * ndim * @param ldf Leading dimension of the fluxes array * (usually equal to m_nsp but not always) * @param fluxes Output of the diffusive mass fluxes @@ -250,20 +305,41 @@ namespace Cantera { // property values DenseMatrix m_bdiff; - //! vector of species viscosities + //! vector of species viscosities (kg /m /s) + /*! + * These are used in wilke's rule to calculate the viscosity of the solution + * length = m_kk + */ vector_fp m_visc; + + //! vector of square root of species viscosities sqrt(kg /m /s) + /*! + * These are used in wilke's rule to calculate the viscosity of the solution + * length = m_kk + */ vector_fp m_sqvisc; - vector_fp m_cond; + + //! vector of species thermal conductivities (W/m /K) + /*! + * These are used in wilke's rule to calculate the viscosity of the solution + * units = W /m /K = kg m /s^3 /K. + * length = m_kk + */ + vector_fp m_cond; //! Vector of species molefractions - array_fp m_molefracs; + /*! + * These are processed so that all mole fractions are >= MIN_X + * Length = m_kk + */ + vector_fp m_molefracs; std::vector > m_poly; - std::vector m_astar_poly; + std::vector m_bstar_poly; std::vector m_cstar_poly; std::vector m_om22_poly; - DenseMatrix m_astar; + DenseMatrix m_bstar; DenseMatrix m_cstar; DenseMatrix m_om22;