diff --git a/Cantera/src/transport/AqueousTransport.cpp b/Cantera/src/transport/AqueousTransport.cpp index eccd0b8d2..ffce8683d 100644 --- a/Cantera/src/transport/AqueousTransport.cpp +++ b/Cantera/src/transport/AqueousTransport.cpp @@ -82,9 +82,8 @@ namespace Cantera { m_wratjk.resize(m_nsp, m_nsp, 0.0); m_wratkj1.resize(m_nsp, m_nsp, 0.0); - int j, k; - for (j = 0; j < m_nsp; j++) - for (k = j; k < m_nsp; k++) { + for (size_t j = 0; j < m_nsp; j++) + for (size_t k = j; k < m_nsp; k++) { m_wratjk(j,k) = sqrt(m_mw[j]/m_mw[k]); m_wratjk(k,j) = sqrt(m_wratjk(j,k)); m_wratkj1(j,k) = sqrt(1.0 + m_mw[k]/m_mw[j]); @@ -155,7 +154,7 @@ namespace Cantera { multiply(m_phi, DATA_PTR(m_molefracs), DATA_PTR(m_spwork)); m_viscmix = 0.0; - for (int k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { m_viscmix += m_molefracs[k] * m_visc[k]/m_spwork[k]; //denom; } return m_viscmix; @@ -167,8 +166,6 @@ namespace Cantera { //================================================================================================ void AqueousTransport::getBinaryDiffCoeffs(const size_t ld, doublereal* const d) { - int i,j; - update_T(); // if necessary, evaluate the binary diffusion coefficents @@ -177,8 +174,8 @@ namespace Cantera { doublereal pres = m_thermo->pressure(); doublereal rp = 1.0/pres; - for (i = 0; i < m_nsp; i++) - for (j = 0; j < m_nsp; j++) { + for (size_t i = 0; i < m_nsp; i++) + for (size_t j = 0; j < m_nsp; j++) { d[ld*j + i] = rp * m_bdiff(i,j); } } @@ -285,7 +282,7 @@ namespace Cantera { * \vec{j}_k = -n M_k D_k \nabla X_k. * \f] */ - void AqueousTransport::getSpeciesFluxes(int ndim, + void AqueousTransport::getSpeciesFluxes(size_t ndim, const doublereal* grad_T, int ldx, const doublereal* grad_X, int ldf, doublereal* fluxes) { @@ -304,7 +301,7 @@ namespace Cantera { * \vec{j}_k = -n M_k D_k \nabla X_k. * \f] */ - void AqueousTransport::getSpeciesFluxesExt(int ldf, doublereal* fluxes) { + void AqueousTransport::getSpeciesFluxesExt(size_t ldf, doublereal* fluxes) { update_T(); update_C(); diff --git a/Cantera/src/transport/AqueousTransport.h b/Cantera/src/transport/AqueousTransport.h index 022c93b03..1eb47ed51 100644 --- a/Cantera/src/transport/AqueousTransport.h +++ b/Cantera/src/transport/AqueousTransport.h @@ -279,7 +279,7 @@ namespace Cantera { * * */ - virtual void getSpeciesFluxes(int ndim, + virtual void getSpeciesFluxes(size_t ndim, const doublereal* grad_T, int ldx, const doublereal* grad_X, int ldf, doublereal* fluxes); @@ -292,7 +292,7 @@ namespace Cantera { * * */ - virtual void getSpeciesFluxesExt(int ldf, doublereal* fluxes); + virtual void getSpeciesFluxesExt(size_t ldf, doublereal* fluxes); //! Initialize the transport object @@ -638,7 +638,7 @@ namespace Cantera { /*! * Either 1, 2, or 3 */ - int m_nDim; + size_t m_nDim; }; } #endif diff --git a/Cantera/src/transport/DustyGasTransport.cpp b/Cantera/src/transport/DustyGasTransport.cpp index 658ede5fa..a82a1e56f 100644 --- a/Cantera/src/transport/DustyGasTransport.cpp +++ b/Cantera/src/transport/DustyGasTransport.cpp @@ -91,13 +91,12 @@ namespace Cantera { void DustyGasTransport::updateBinaryDiffCoeffs() { if (m_bulk_ok) return; - int n,m; // get the gaseous binary diffusion coefficients m_gastran->getBinaryDiffCoeffs(m_nsp, m_d.ptrColumn(0)); doublereal por2tort = m_porosity / m_tortuosity; - for (n = 0; n < m_nsp; n++) - for (m = 0; m < m_nsp; m++) + for (size_t n = 0; n < m_nsp; n++) + for (size_t m = 0; m < m_nsp; m++) m_d(n,m) *= por2tort; m_bulk_ok = true; } @@ -106,7 +105,7 @@ namespace Cantera { if (m_knudsen_ok) return; doublereal K_g = m_pore_radius * m_porosity / m_tortuosity; const doublereal TwoThirds = 2.0/3.0; - for (int k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { m_dk[k] = TwoThirds * K_g * sqrt((8.0 * GasConstant * m_temp)/ (Pi * m_mw[k])); } @@ -117,16 +116,15 @@ namespace Cantera { void DustyGasTransport::eval_H_matrix() { updateBinaryDiffCoeffs(); updateKnudsenDiffCoeffs(); - int k,l,j; doublereal sum; - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { // evaluate off-diagonal terms - for (l = 0; l < m_nsp; l++) m_multidiff(k,l) = -m_x[k]/m_d(k,l); + for (size_t l = 0; l < m_nsp; l++) m_multidiff(k,l) = -m_x[k]/m_d(k,l); // evaluate diagonal term sum = 0.0; - for (j = 0; j < m_nsp; j++) if (j != k) sum += m_x[j]/m_d(k,j); + for (size_t j = 0; j < m_nsp; j++) if (j != k) sum += m_x[j]/m_d(k,j); m_multidiff(k,k) = 1.0/m_dk[k] + sum; } } @@ -160,7 +158,6 @@ namespace Cantera { void DustyGasTransport::getMolarFluxes(const doublereal* state1, const doublereal* state2, double delta, double* fluxes) { - int k; doublereal conc1, conc2; doublereal* cbar = DATA_PTR(m_spwork); doublereal* gradc = DATA_PTR(m_spwork2); @@ -171,7 +168,7 @@ namespace Cantera { const doublereal* y1 = state1 + 2; const doublereal* y2 = state2 + 2; doublereal c1sum = 0.0, c2sum = 0.0; - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { conc1 = rho1*y1[k]/m_mw[k]; conc2 = rho2*y2[k]/m_mw[k]; cbar[k] = 0.5*(conc1 + conc2); @@ -230,10 +227,9 @@ namespace Cantera { } void DustyGasTransport::getMultiDiffCoeffs(const size_t ld, doublereal* const d) { - int i,j; updateMultiDiffCoeffs(); - for (i = 0; i < m_nsp; i++) { - for (j = 0; j < m_nsp; j++) { + for (size_t i = 0; i < m_nsp; i++) { + for (size_t j = 0; j < m_nsp; j++) { d[ld*j + i] = m_multidiff(i,j); } } @@ -257,8 +253,7 @@ namespace Cantera { // add an offset to avoid a pure species condition // (check - this may be unnecessary) - int k; - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { m_x[k] = fmaxx(MIN_X, m_x[k]); } } diff --git a/Cantera/src/transport/L_matrix.h b/Cantera/src/transport/L_matrix.h index a7312ae9e..d5013f69b 100755 --- a/Cantera/src/transport/L_matrix.h +++ b/Cantera/src/transport/L_matrix.h @@ -37,17 +37,16 @@ namespace Cantera { doublereal prefactor = 16.0*m_temp/25.0; doublereal sum; - int i, j, k; - for (i = 0; i < m_nsp; i++) + for (size_t i = 0; i < m_nsp; i++) { // subtract-off the k=i term to account for the first delta // function in Eq. (12.121) sum = -x[i]/m_bdiff(i,i); - for (k = 0; k < m_nsp; k++) sum += x[k]/m_bdiff(i,k); + for (size_t k = 0; k < m_nsp; k++) sum += x[k]/m_bdiff(i,k); sum /= m_mw[i]; - for (j = 0; j != m_nsp; ++j) { + for (size_t j = 0; j != m_nsp; ++j) { m_Lmatrix(i,j) = prefactor * x[j] * ( m_mw[j] * sum + x[i]/m_bdiff(i,j) ); } @@ -65,13 +64,12 @@ namespace Cantera { doublereal prefactor = 1.6*m_temp; doublereal sum, wj, xj; - int i, j; - for (j = 0; j < m_nsp; j++) { + for (size_t j = 0; j < m_nsp; j++) { //constant = prefactor * x[j]; xj = x[j]; wj = m_mw[j]; sum = 0.0; - for (i = 0; i < m_nsp; i++) { + for (size_t i = 0; i < m_nsp; i++) { m_Lmatrix(i,j + m_nsp) = - prefactor * x[i] * xj * m_mw[i] * (1.2 * m_cstar(j,i) - 1.0) / ( (wj + m_mw[i]) * m_bdiff(j,i) ); @@ -89,9 +87,8 @@ namespace Cantera { //////////////////////////////////////////////////////////////////////// void MultiTransport::eval_L1000() { - int i, j; - for (j = 0; j < m_nsp; j++) - for (i = 0; i < m_nsp; i++) + for (size_t j = 0; j < m_nsp; j++) + for (size_t i = 0; i < m_nsp; i++) m_Lmatrix(i+m_nsp,j) = m_Lmatrix(j,i+m_nsp); } @@ -103,12 +100,11 @@ namespace Cantera { const doublereal fiveover3pi = 5.0/(3.0*Pi); doublereal prefactor = (16.0*m_temp)/25.0; - int i, j; doublereal constant1, wjsq, constant2, constant3, constant4, fourmj, threemjsq, sum, sumwij;; doublereal term1, term2; - for (j = 0; j < m_nsp; j++) { + for (size_t j = 0; j < m_nsp; j++) { // get constant terms that depend on just species "j" @@ -120,7 +116,7 @@ namespace Cantera { fourmj = 4.0*m_mw[j]; threemjsq = 3.0*m_mw[j]*m_mw[j]; sum = 0.0; - for (i = 0; i < m_nsp; i++) { + for (size_t i = 0; i < m_nsp; i++) { sumwij = m_mw[i] + m_mw[j]; term1 = m_bdiff(i,j) * sumwij*sumwij; diff --git a/Cantera/src/transport/LiquidTransport.cpp b/Cantera/src/transport/LiquidTransport.cpp index 7aff5a091..af0587e09 100644 --- a/Cantera/src/transport/LiquidTransport.cpp +++ b/Cantera/src/transport/LiquidTransport.cpp @@ -170,7 +170,7 @@ namespace Cantera { //save logarithm of pre-exponential for easier computation m_visc_logA.resize(m_nsp); - for ( int i = 0; i < m_nsp; i++ ) + for (size_t i = 0; i < m_nsp; i++) m_visc_logA[i] = log( m_visc_A[i] ); m_thermCond_A = tr.thermCond_A ; @@ -261,8 +261,8 @@ namespace Cantera { // log_visc_mix = sum_i (X_i log_visc_i) + sum_i sum_j X_i X_j G_ij double interaction = dot_product(m_logViscSpecies, m_molefracs); - for ( int i = 0; i < m_nsp; i++ ) - for ( int j = 0; j < i; j++ ) + for (size_t i = 0; i < m_nsp; i++) + for (size_t j = 0; j < i; j++ ) interaction += m_molefracs[i] * m_molefracs[j] * ( m_visc_Sij(i,j) + m_visc_Eij(i,j) / m_temp ); m_viscmix = exp( interaction ); @@ -285,8 +285,6 @@ namespace Cantera { void LiquidTransport::getBinaryDiffCoeffs(size_t ld, doublereal* d) { - int i,j; - update_temp(); // if necessary, evaluate the binary diffusion coefficents @@ -295,8 +293,8 @@ namespace Cantera { doublereal pres = m_thermo->pressure(); doublereal rp = 1.0/pres; - for (i = 0; i < m_nsp; i++) - for (j = 0; j < m_nsp; j++) { + for (size_t i = 0; i < m_nsp; i++) + for (size_t j = 0; j < m_nsp; j++) { d[ld*j + i] = rp * m_bdiff(i,j); } } @@ -318,10 +316,9 @@ namespace Cantera { * dimensioned at least as large as the number of species. */ void LiquidTransport::getMobilities(doublereal* const mobil) { - int k; getMixDiffCoeffs(DATA_PTR(m_spwork)); doublereal c1 = ElectronCharge / (Boltzmann * m_temp); - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { mobil[k] = c1 * m_spwork[k]; } } @@ -428,7 +425,7 @@ namespace Cantera { * \vec{j}_k = -n M_k D_k \nabla X_k. * \f] */ - void LiquidTransport::getSpeciesFluxes(int ndim, + void LiquidTransport::getSpeciesFluxes(size_t ndim, const doublereal* grad_T, int ldx, const doublereal* grad_X, int ldf, doublereal* fluxes) { @@ -447,30 +444,26 @@ namespace Cantera { * \vec{j}_k = -n M_k D_k \nabla X_k. * \f] */ - void LiquidTransport::getSpeciesFluxesExt(int ldf, doublereal* fluxes) { - int n, k; - + void LiquidTransport::getSpeciesFluxesExt(size_t ldf, doublereal* fluxes) { update_temp(); update_conc(); - getMixDiffCoeffs(DATA_PTR(m_spwork)); - const array_fp& mw = m_thermo->molecularWeights(); const doublereal* y = m_thermo->massFractions(); doublereal rhon = m_thermo->molarDensity(); // Unroll wrt ndim vector_fp sum(m_nDim,0.0); - for (n = 0; n < m_nDim; n++) { - for (k = 0; k < m_nsp; k++) { + for (size_t n = 0; n < m_nDim; n++) { + for (size_t k = 0; k < m_nsp; k++) { fluxes[n*ldf + k] = -rhon * mw[k] * m_spwork[k] * m_Grad_X[n*m_nsp + k]; sum[n] += fluxes[n*ldf + k]; } } // add correction flux to enforce sum to zero - for (n = 0; n < m_nDim; n++) { - for (k = 0; k < m_nsp; k++) { + for (size_t n = 0; n < m_nDim; n++) { + for (size_t k = 0; k < m_nsp; k++) { fluxes[n*ldf + k] -= y[k]*sum[n]; } } @@ -494,7 +487,6 @@ namespace Cantera { updateDiff_temp(); } - int k, j; doublereal mmw = m_thermo->meanMolecularWeight(); doublereal sumxw_tran = 0.0; doublereal sum2; @@ -502,12 +494,12 @@ namespace Cantera { if (m_nsp == 1) { d[0] = m_bdiff(0,0); } else { - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { sumxw_tran += m_molefracs_tran[k] * m_mw[k]; } - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { sum2 = 0.0; - for (j = 0; j < m_nsp; j++) { + for (size_t j = 0; j < m_nsp; j++) { if (j != k) { sum2 += m_molefracs_tran[j] / m_bdiff(j,k); } @@ -597,7 +589,7 @@ namespace Cantera { m_thermo->getConcentrations(DATA_PTR(m_concentrations)); concTot_ = 0.0; concTot_tran_ = 0.0; - for (int k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { m_molefracs[k] = fmaxx(0.0, m_molefracs[k]); m_molefracs_tran[k] = fmaxx(MIN_X, m_molefracs[k]); concTot_tran_ += m_molefracs_tran[k]; @@ -631,25 +623,22 @@ namespace Cantera { * */ void LiquidTransport::update_Grad_lnAC() { - int k; - - - for (int a = 0; a < m_nDim; a++) { + for (size_t a = 0; a < m_nDim; a++) { // We form the directional derivative double * ma_Grad_X = &m_Grad_X[a*m_nsp]; double sum = 0.0; - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { sum += ma_Grad_X[k] * ma_Grad_X[k]; } if (sum == 0.0) { - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { m_Grad_lnAC[m_nsp * a + k] = 0.0; } continue; } double mag = 1.0E-7 / sum; - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { Xdelta_[k] = m_molefracs[k] + mag * ma_Grad_X[k]; if (Xdelta_[k] > 1.0) { Xdelta_[k] = 1.0; @@ -660,11 +649,11 @@ namespace Cantera { } m_thermo->setMoleFractions(DATA_PTR(Xdelta_)); m_thermo->getActivityCoefficients(DATA_PTR(lnActCoeffMolarDelta_)); - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { lnActCoeffMolarDelta_[k] = log(lnActCoeffMolarDelta_[k]); } - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { m_Grad_lnAC[m_nsp * a + k] = sum * (lnActCoeffMolarDelta_[k] - log(actCoeffMolar_[k])) / mag; } @@ -751,9 +740,7 @@ namespace Cantera { * The flag m_visc_ok is set to true. */ void LiquidTransport::updateViscosity_temp() { - int k; - - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { m_logViscSpecies[k] = m_visc_logA[k] + m_visc_n[k] * m_logt + m_visc_Tact[k] / m_temp ; m_viscSpecies[k] = exp( m_logViscSpecies[k] ); @@ -773,13 +760,11 @@ namespace Cantera { * */ void LiquidTransport::stefan_maxwell_solve() { - int i, j, a; doublereal tmp; size_t VIM = m_nDim; m_B.resize(m_nsp, VIM); //! grab a local copy of the molecular weights const vector_fp& M = m_thermo->molecularWeights(); - /* * Update the concentrations in the mixture. @@ -788,7 +773,6 @@ namespace Cantera { double T = m_thermo->temperature(); - m_thermo->getStandardVolumes(DATA_PTR(volume_specPM_)); m_thermo->getActivityCoefficients(DATA_PTR(actCoeffMolar_)); @@ -817,9 +801,9 @@ namespace Cantera { * consideratins involving species concentrations going to zero. * */ - for (i = 0; i < m_nsp; i++) { + for (size_t i = 0; i < m_nsp; i++) { double xi_denom = m_molefracs_tran[i]; - for (a = 0; a < VIM; a++) { + for (size_t a = 0; a < VIM; a++) { m_ck_Grad_mu[a*m_nsp + i] = m_chargeSpecies[i] * concTot_ * Faraday * m_Grad_V[a] + concTot_ * (volume_specPM_[i] - M[i]/dens_) * m_Grad_P[a] @@ -833,8 +817,8 @@ namespace Cantera { double mwSolvent = m_thermo->molecularWeight(iSolvent); double mnaught = mwSolvent/ 1000.; double lnmnaught = log(mnaught); - for (i = 1; i < m_nsp; i++) { - for (a = 0; a < VIM; a++) { + for (size_t i = 1; i < m_nsp; i++) { + for (size_t a = 0; a < VIM; a++) { m_ck_Grad_mu[a*m_nsp + i] -= m_concentrations[i] * GasConstant * m_Grad_T[a] * lnmnaught; } @@ -848,13 +832,13 @@ namespace Cantera { switch (VIM) { case 1: /* 1-D approximation */ m_B(0,0) = 0.0; - for (j = 0; j < m_nsp; j++) { + for (size_t j = 0; j < m_nsp; j++) { m_A(0,j) = M[j] * m_concentrations[j]; } - for (i = 1; i < m_nsp; i++){ + for (size_t i = 1; i < m_nsp; i++){ m_B(i,0) = m_ck_Grad_mu[i] / (GasConstant * T); m_A(i,i) = 0.0; - for (j = 0; j < m_nsp; j++){ + for (size_t j = 0; j < m_nsp; j++){ if (j != i) { tmp = m_concentrations[j] / m_DiffCoeff_StefMax(i,j); m_A(i,i) += tmp; @@ -870,14 +854,14 @@ namespace Cantera { case 2: /* 2-D approximation */ m_B(0,0) = 0.0; m_B(0,1) = 0.0; - for (j = 0; j < m_nsp; j++) { + for (size_t j = 0; j < m_nsp; j++) { m_A(0,j) = M[j] * m_concentrations[j]; } - for (i = 1; i < m_nsp; i++){ + for (size_t i = 1; i < m_nsp; i++){ m_B(i,0) = m_ck_Grad_mu[i] / (GasConstant * T); m_B(i,1) = m_ck_Grad_mu[m_nsp + i] / (GasConstant * T); m_A(i,i) = 0.0; - for (j = 0; j < m_nsp; j++) { + for (size_t j = 0; j < m_nsp; j++) { if (j != i) { tmp = m_concentrations[j] / m_DiffCoeff_StefMax(i,j); m_A(i,i) += tmp; @@ -896,15 +880,15 @@ namespace Cantera { m_B(0,0) = 0.0; m_B(0,1) = 0.0; m_B(0,2) = 0.0; - for (j = 0; j < m_nsp; j++) { + for (size_t j = 0; j < m_nsp; j++) { m_A(0,j) = M[j] * m_concentrations[j]; } - for (i = 1; i < m_nsp; i++){ + for (size_t i = 1; i < m_nsp; i++){ m_B(i,0) = m_ck_Grad_mu[i] / (GasConstant * T); m_B(i,1) = m_ck_Grad_mu[m_nsp + i] / (GasConstant * T); m_B(i,2) = m_ck_Grad_mu[2*m_nsp + i] / (GasConstant * T); m_A(i,i) = 0.0; - for (j = 0; j < m_nsp; j++) { + for (size_t j = 0; j < m_nsp; j++) { if (j != i) { tmp = m_concentrations[j] / m_DiffCoeff_StefMax(i,j); m_A(i,i) += tmp; @@ -923,8 +907,8 @@ namespace Cantera { break; } - for (a = 0; a < VIM; a++) { - for (j = 0; j < m_nsp; j++) { + for (size_t a = 0; a < VIM; a++) { + for (size_t j = 0; j < m_nsp; j++) { m_flux(j,a) = M[j] * m_concentrations[j] * m_B(j,a); } } diff --git a/Cantera/src/transport/LiquidTransport.h b/Cantera/src/transport/LiquidTransport.h index 5804f33c0..546f73003 100644 --- a/Cantera/src/transport/LiquidTransport.h +++ b/Cantera/src/transport/LiquidTransport.h @@ -347,7 +347,7 @@ namespace Cantera { * * */ - virtual void getSpeciesFluxes(int ndim, + virtual void getSpeciesFluxes(size_t ndim, const doublereal* grad_T, int ldx, const doublereal* grad_X, int ldf, doublereal* fluxes); @@ -361,7 +361,7 @@ namespace Cantera { * * */ - virtual void getSpeciesFluxesExt(int ldf, doublereal* fluxes); + virtual void getSpeciesFluxesExt(size_t ldf, doublereal* fluxes); //! Solve the stefan_maxell equations for the diffusive fluxes. diff --git a/Cantera/src/transport/MixTransport.cpp b/Cantera/src/transport/MixTransport.cpp index 62a5e9a36..d8ff0faf9 100755 --- a/Cantera/src/transport/MixTransport.cpp +++ b/Cantera/src/transport/MixTransport.cpp @@ -221,7 +221,7 @@ namespace Cantera { * \vec{j}_k = -n M_k D_k \nabla X_k. * \f] */ - void MixTransport::getSpeciesFluxes(int ndim, + void MixTransport::getSpeciesFluxes(size_t ndim, const doublereal* grad_T, int ldx, const doublereal* grad_X, int ldf, doublereal* fluxes) { update_T(); diff --git a/Cantera/src/transport/MixTransport.h b/Cantera/src/transport/MixTransport.h index 68520f759..2ad4159ca 100644 --- a/Cantera/src/transport/MixTransport.h +++ b/Cantera/src/transport/MixTransport.h @@ -92,7 +92,7 @@ namespace Cantera { * Flat vector with the m_nsp in the inner loop. * length = ldx * ndim */ - virtual void getSpeciesFluxes(int ndim, + virtual void getSpeciesFluxes(size_t ndim, const doublereal* grad_T, int ldx, const doublereal* grad_X, diff --git a/Cantera/src/transport/MultiTransport.cpp b/Cantera/src/transport/MultiTransport.cpp index 6874cd8cc..440fc6a49 100755 --- a/Cantera/src/transport/MultiTransport.cpp +++ b/Cantera/src/transport/MultiTransport.cpp @@ -161,8 +161,7 @@ namespace Cantera { m_eps = tr.eps; m_alpha = tr.alpha; m_dipoleDiag.resize(m_nsp); - int i; - for (i = 0; i < m_nsp; i++) { + for (size_t i = 0; i < m_nsp; i++) { m_dipoleDiag[i] = tr.dipole(i,i); } @@ -178,9 +177,8 @@ namespace Cantera { m_phi.resize(m_nsp, m_nsp, 0.0); m_wratjk.resize(m_nsp, m_nsp, 0.0); m_wratkj1.resize(m_nsp, m_nsp, 0.0); - int j, k; - for (j = 0; j < m_nsp; j++) - for (k = j; k < m_nsp; k++) { + for (size_t j = 0; j < m_nsp; j++) + for (size_t k = j; k < m_nsp; k++) { m_wratjk(j,k) = sqrt(m_mw[j]/m_mw[k]); m_wratjk(k,j) = sqrt(m_wratjk(j,k)); m_wratkj1(j,k) = sqrt(1.0 + m_mw[k]/m_mw[j]); @@ -231,8 +229,8 @@ namespace Cantera { // precompute and store log(epsilon_ij/k_B) m_log_eps_k.resize(m_nsp, m_nsp); // int j; - for (i = 0; i < m_nsp; i++) { - for (j = i; j < m_nsp; j++) { + for (size_t i = 0; i < m_nsp; i++) { + for (size_t j = i; j < m_nsp; j++) { m_log_eps_k(i,j) = log(tr.epsilon(i,j)/Boltzmann); m_log_eps_k(j,i) = m_log_eps_k(i,j); } @@ -244,8 +242,7 @@ namespace Cantera { const doublereal sq298 = sqrt(298.0); const doublereal kb298 = Boltzmann * 298.0; m_sqrt_eps_k.resize(m_nsp); - //int k; - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { m_sqrt_eps_k[k] = sqrt(tr.eps[k]/Boltzmann); m_frot_298[k] = Frot( tr.eps[k]/kb298, m_sqrt_eps_k[k]/sq298); @@ -273,7 +270,6 @@ namespace Cantera { doublereal MultiTransport::viscosity() { doublereal vismix = 0.0, denom; - int k, j; // update m_visc if necessary updateViscosity_T(); @@ -281,9 +277,9 @@ namespace Cantera { // update the mole fractions updateTransport_C(); - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { denom = 0.0; - for (j = 0; j < m_nsp; j++) { + for (size_t j = 0; j < m_nsp; j++) { denom += m_phi(k,j) * m_molefracs[j]; } vismix += m_molefracs[k] * m_visc[k]/denom; @@ -296,16 +292,14 @@ namespace Cantera { /******************* binary diffusion coefficients **************/ void MultiTransport::getBinaryDiffCoeffs(size_t ld, doublereal* d) { - int i,j; - // if necessary, evaluate the binary diffusion coefficents // from the polynomial fits updateDiff_T(); doublereal p = pressure_ig(); doublereal rp = 1.0/p; - for (i = 0; i < m_nsp; i++) - for (j = 0; j < m_nsp; j++) { + for (size_t i = 0; i < m_nsp; i++) + for (size_t j = 0; j < m_nsp; j++) { d[ld*j + i] = rp * m_bdiff(i,j); } } @@ -318,11 +312,9 @@ namespace Cantera { * @internal */ doublereal MultiTransport::thermalConductivity() { - solveLMatrixEquation(); doublereal sum = 0.0; - int k; - for (k = 0; k < 2*m_nsp; k++) { + for (size_t k = 0; k < 2*m_nsp; k++) { sum += m_b[k + m_nsp] * m_a[k + m_nsp]; } return -4.0*sum; @@ -335,11 +327,9 @@ namespace Cantera { * @internal */ void MultiTransport::getThermalDiffCoeffs(doublereal* const dt) { - solveLMatrixEquation(); const doublereal c = 1.6/GasConstant; - int k; - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { dt[k] = c * m_mw[k] * m_molefracs[k] * m_a[k]; } } @@ -360,8 +350,7 @@ namespace Cantera { // the right-hand-side vector m_b. The first block of m_b was // set to zero when it was created, and is not modified so // doesn't need to be reset to zero. - int k; - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { m_b[k] = 0.0; m_b[k + m_nsp] = m_molefracs[k]; m_b[k + 2*m_nsp] = m_molefracs[k]; @@ -383,7 +372,7 @@ namespace Cantera { // But if CHEMKIN_COMPATIBILITY_MODE is defined, then all // monatomic species are excluded. - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { if (!hasInternalModes(k)) m_b[2*m_nsp + k] = 0.0; } @@ -433,7 +422,7 @@ namespace Cantera { /** * */ - void MultiTransport::getSpeciesFluxes(int ndim, + void MultiTransport::getSpeciesFluxes(size_t ndim, const doublereal* grad_T, int ldx, const doublereal* grad_X, int ldf, doublereal* fluxes) { @@ -441,13 +430,12 @@ namespace Cantera { updateDiff_T(); doublereal sum; - int i, j; // If any component of grad_T is non-zero, then get the // thermal diffusion coefficients bool addThermalDiffusion = false; - for (i = 0; i < ndim; i++) { + for (size_t i = 0; i < ndim; i++) { if (grad_T[i] != 0.0) addThermalDiffusion = true; } if (addThermalDiffusion) getThermalDiffCoeffs(DATA_PTR(m_spwork)); @@ -455,9 +443,9 @@ namespace Cantera { const doublereal* y = m_thermo->massFractions(); doublereal rho = m_thermo->density(); - for (i = 0; i < m_nsp; i++) { + for (size_t i = 0; i < m_nsp; i++) { sum = 0.0; - for (j = 0; j < m_nsp; j++) { + for (size_t j = 0; j < m_nsp; j++) { m_aa(i,j) = m_molefracs[j]*m_molefracs[i]/m_bdiff(i,j); sum += m_aa(i,j); } @@ -467,9 +455,9 @@ namespace Cantera { // enforce the condition \sum Y_k V_k = 0. This is done by replacing // the flux equation with the largest gradx component in the first // coordinate direction with the flux balance condition. - int jmax = 0; + size_t jmax = 0; doublereal gradmax = -1.0; - for (j = 0; j < m_nsp; j++) { + for (size_t j = 0; j < m_nsp; j++) { if (fabs(grad_X[j]) > gradmax) { gradmax = fabs(grad_X[j]); jmax = j; @@ -479,12 +467,11 @@ namespace Cantera { // set the matrix elements in this row to the mass fractions, // and set the entry in gradx to zero - for (j = 0; j < m_nsp; j++) { + for (size_t j = 0; j < m_nsp; j++) { m_aa(jmax,j) = y[j]; } vector_fp gsave(ndim), grx(ldx*m_nsp); - int n; - for (n = 0; n < ldx*ndim; n++) { + for (size_t n = 0; n < ldx*ndim; n++) { grx[n] = grad_X[n]; } //for (n = 0; n < ndim; n++) { @@ -495,7 +482,7 @@ namespace Cantera { // copy grad_X to fluxes const doublereal* gx; - for (n = 0; n < ndim; n++) { + for (size_t n = 0; n < ndim; n++) { gx = grad_X + ldx*n; copy(gx, gx + m_nsp, fluxes + ldf*n); fluxes[jmax + n*ldf] = 0.0; @@ -522,15 +509,15 @@ namespace Cantera { "Error in DGETRS"); - int offset; + size_t offset; doublereal pp = pressure_ig(); // multiply diffusion velocities by rho * V to create // mass fluxes, and restore the gradx elements that were // modified - for (n = 0; n < ndim; n++) { + for (size_t n = 0; n < ndim; n++) { offset = n*ldf; - for (i = 0; i < m_nsp; i++) { + for (size_t i = 0; i < m_nsp; i++) { fluxes[i + offset] *= rho * y[i] / pp; } //grad_X[jmax + n*ldx] = gsave[n]; @@ -538,10 +525,10 @@ namespace Cantera { // thermal diffusion if (addThermalDiffusion) { - for (n = 0; n < ndim; n++) { + for (size_t n = 0; n < ndim; n++) { offset = n*ldf; doublereal grad_logt = grad_T[n]/m_temp; - for (i = 0; i < m_nsp; i++) + for (size_t i = 0; i < m_nsp; i++) fluxes[i + offset] -= m_spwork[i]*grad_logt; } } @@ -576,13 +563,9 @@ namespace Cantera { m_thermo->setState_TPX(t, p, x3); m_thermo->getMoleFractions(DATA_PTR(m_molefracs)); - // update the binary diffusion coefficients if necessary updateDiff_T(); - doublereal sum; - int i, j; - // If there is a temperature gadient, then get the // thermal diffusion coefficients @@ -595,9 +578,9 @@ namespace Cantera { const doublereal* y = m_thermo->massFractions(); doublereal rho = m_thermo->density(); - for (i = 0; i < m_nsp; i++) { - sum = 0.0; - for (j = 0; j < m_nsp; j++) { + for (size_t i = 0; i < m_nsp; i++) { + doublereal sum = 0.0; + for (size_t j = 0; j < m_nsp; j++) { m_aa(i,j) = m_molefracs[j]*m_molefracs[i]/m_bdiff(i,j); sum += m_aa(i,j); } @@ -607,9 +590,9 @@ namespace Cantera { // enforce the condition \sum Y_k V_k = 0. This is done by // replacing the flux equation with the largest gradx // component with the flux balance condition. - int jmax = 0; + size_t jmax = 0; doublereal gradmax = -1.0; - for (j = 0; j < m_nsp; j++) { + for (size_t j = 0; j < m_nsp; j++) { if (fabs(x2[j] - x1[j]) > gradmax) { gradmax = fabs(x1[j] - x2[j]); jmax = j; @@ -619,7 +602,7 @@ namespace Cantera { // set the matrix elements in this row to the mass fractions, // and set the entry in gradx to zero - for (j = 0; j < m_nsp; j++) { + for (size_t j = 0; j < m_nsp; j++) { m_aa(jmax,j) = y[j]; fluxes[j] = x2[j] - x1[j]; } @@ -648,14 +631,14 @@ namespace Cantera { // multiply diffusion velocities by rho * Y_k to create // mass fluxes, and divide by pressure - for (i = 0; i < m_nsp; i++) { + for (size_t i = 0; i < m_nsp; i++) { fluxes[i] *= rho * y[i] / pp; } // thermal diffusion if (addThermalDiffusion) { doublereal grad_logt = (t2 - t1)/m_temp; - for (i = 0; i < m_nsp; i++) { + for (size_t i = 0; i < m_nsp; i++) { fluxes[i] -= m_spwork[i]*grad_logt; } } @@ -665,15 +648,12 @@ namespace Cantera { const doublereal* state2, doublereal delta, doublereal* fluxes) { getMassFluxes(state1, state2, delta, fluxes); - size_t k, nsp = m_thermo->nSpecies(); - for (k = 0; k < nsp; k++) { + for (size_t k = 0; k < m_thermo->nSpecies(); k++) { fluxes[k] /= m_mw[k]; } } void MultiTransport::getMultiDiffCoeffs(const size_t ld, doublereal* const d) { - int i,j; - doublereal p = pressure_ig(); // update the mole fractions @@ -699,8 +679,8 @@ namespace Cantera { * m_thermo->meanMolecularWeight()/(25.0 * p); doublereal c; - for (i = 0; i < m_nsp; i++) { - for (j = 0; j < m_nsp; j++) { + for (size_t i = 0; i < m_nsp; i++) { + for (size_t j = 0; j < m_nsp; j++) { c = prefactor/m_mw[j]; d[ld*j + i] = c*m_molefracs[i]* (m_Lmatrix(i,j) - m_Lmatrix(i,i)); @@ -710,24 +690,22 @@ namespace Cantera { void MultiTransport::getMixDiffCoeffs(doublereal* const d) { - // update the mole fractions updateTransport_C(); // update the binary diffusion coefficients if necessary updateDiff_T(); - int k, j; doublereal mmw = m_thermo->meanMolecularWeight(); doublereal sumxw = 0.0, sum2; doublereal p = pressure_ig(); if (m_nsp == 1) { d[0] = m_bdiff(0,0) / p; } else { - for (k = 0; k < m_nsp; k++) sumxw += m_molefracs[k] * m_mw[k]; - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) sumxw += m_molefracs[k] * m_mw[k]; + for (size_t k = 0; k < m_nsp; k++) { sum2 = 0.0; - for (j = 0; j < m_nsp; j++) { + for (size_t j = 0; j < m_nsp; j++) { if (j != k) { sum2 += m_molefracs[j] / m_bdiff(j,k); } @@ -803,8 +781,7 @@ namespace Cantera { // add an offset to avoid a pure species condition // (check - this may be unnecessary) - int k; - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { m_molefracs[k] = fmaxx(MIN_X, m_molefracs[k]); } } @@ -829,15 +806,13 @@ namespace Cantera { } void MultiTransport::_update_diff_T() { - updateTransport_T(); // evaluate binary diffusion coefficients at unit pressure - int i,j; - int ic = 0; + size_t ic = 0; if (m_mode == CK_Mode) { - for (i = 0; i < m_nsp; i++) { - for (j = i; j < m_nsp; j++) { + for (size_t i = 0; i < m_nsp; i++) { + for (size_t j = i; j < m_nsp; j++) { m_bdiff(i,j) = exp(dot4(m_polytempvec, m_diffcoeffs[ic])); m_bdiff(j,i) = m_bdiff(i,j); ic++; @@ -845,8 +820,8 @@ namespace Cantera { } } else { - for (i = 0; i < m_nsp; i++) { - for (j = i; j < m_nsp; j++) { + for (size_t i = 0; i < m_nsp; i++) { + for (size_t j = i; j < m_nsp; j++) { m_bdiff(i,j) = m_temp * m_sqrt_t*dot5(m_polytempvec, m_diffcoeffs[ic]); m_bdiff(j,i) = m_bdiff(i,j); @@ -874,18 +849,16 @@ namespace Cantera { void MultiTransport::_update_species_visc_T() { - updateTransport_T(); - int k; if (m_mode == CK_Mode) { - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { m_visc[k] = exp(dot4(m_polytempvec, m_visccoeffs[k])); m_sqvisc[k] = sqrt(m_visc[k]); } } else { - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { //m_visc[k] = m_sqrt_t*dot5(m_polytempvec, m_visccoeffs[k]); // the polynomial fit is done for sqrt(visc/sqrt(T)) m_sqvisc[k] = m_t14*dot5(m_polytempvec, m_visccoeffs[k]); @@ -910,9 +883,8 @@ namespace Cantera { updateSpeciesViscosities_T(); // see Eq. (9-5.15) of Reid, Prausnitz, and Poling - int j, k; - for (j = 0; j < m_nsp; j++) { - for (k = j; k < m_nsp; k++) { + for (size_t j = 0; j < m_nsp; j++) { + for (size_t k = j; k < m_nsp; k++) { vratiokj = m_visc[k]/m_visc[j]; wratiojk = m_mw[j]/m_mw[k]; //rootwjk = sqrt(wratiojk); @@ -946,7 +918,6 @@ namespace Cantera { } void MultiTransport::_update_thermal_T() { - // we need species viscosities and binary diffusion // coefficients updateSpeciesViscosities_T(); @@ -955,9 +926,8 @@ namespace Cantera { // evaluate polynomial fits for A*, B*, C* doublereal z; int ipoly; - int i, j; - for (i = 0; i < m_nsp; i++) { - for (j = i; j < m_nsp; j++) { + for (size_t i = 0; i < m_nsp; i++) { + for (size_t j = i; j < m_nsp; j++) { z = m_logt - m_log_eps_k(i,j); ipoly = m_poly[i][j]; if (m_mode == CK_Mode) { @@ -983,9 +953,8 @@ namespace Cantera { // evaluate the temperature-dependent rotational relaxation // rate - int k; doublereal tr, sqtr; - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { tr = m_eps[k]/ m_kbt; sqtr = m_sqrt_eps_k[k] / m_sqrt_t; m_rotrelax[k] = fmaxx(1.0,m_zrot[k]) * m_frot_298[k]/Frot(tr, sqtr); @@ -993,14 +962,14 @@ namespace Cantera { doublereal d; doublereal c = 1.2*GasConstant*m_temp; - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { d = c * m_visc[k] * m_astar(k,k)/m_mw[k]; m_bdiff(k,k) = d; } // internal heat capacities const array_fp& cp = ((IdealGasPhase*)m_thermo)->cp_R_ref(); - for (k = 0; k < m_nsp; k++) m_cinternal[k] = cp[k] - 2.5; + for (size_t k = 0; k < m_nsp; k++) m_cinternal[k] = cp[k] - 2.5; } /** diff --git a/Cantera/src/transport/MultiTransport.h b/Cantera/src/transport/MultiTransport.h index 6fa289f3d..58b3e5d76 100644 --- a/Cantera/src/transport/MultiTransport.h +++ b/Cantera/src/transport/MultiTransport.h @@ -120,7 +120,7 @@ namespace Cantera { * Flat vector with the m_nsp in the inner loop. * length = ldx * ndim */ - virtual void getSpeciesFluxes(int ndim, + virtual void getSpeciesFluxes(size_t ndim, const doublereal* grad_T, int ldx, const doublereal* grad_X, diff --git a/Cantera/src/transport/SimpleTransport.cpp b/Cantera/src/transport/SimpleTransport.cpp index 60f492311..fe1d93be7 100644 --- a/Cantera/src/transport/SimpleTransport.cpp +++ b/Cantera/src/transport/SimpleTransport.cpp @@ -139,7 +139,6 @@ namespace Cantera { * This is where we dimension everything. */ bool SimpleTransport::initLiquid(LiquidTransportParams& tr) { - int k; // constant substance attributes m_thermo = tr.thermo; m_nsp = m_thermo->nSpecies(); @@ -207,7 +206,7 @@ namespace Cantera { "Viscosity Model for species " + spName0 + " is not handled by this object"); } - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { spName = m_thermo->speciesName(k); Cantera::LiquidTransportData <d = tr.LTData[k]; LiquidTR_Model vm = ltd.model_viscosity; @@ -235,7 +234,7 @@ namespace Cantera { "Conductivity model is not the same as the viscosity model for species " + spName0); } - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { spName = m_thermo->speciesName(k); Cantera::LiquidTransportData <d = tr.LTData[k]; LiquidTR_Model cm = ltd.model_thermalCond; @@ -272,7 +271,7 @@ namespace Cantera { } } - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { spName = m_thermo->speciesName(k); Cantera::LiquidTransportData <d = tr.LTData[k]; LiquidTR_Model dm = ltd.model_speciesDiffusivity; @@ -309,7 +308,7 @@ namespace Cantera { m_concentrations.resize(m_nsp); m_chargeSpecies.resize(m_nsp); - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { m_chargeSpecies[k] = m_thermo->charge(k); } m_spwork.resize(m_nsp); @@ -370,7 +369,7 @@ namespace Cantera { m_viscmix = m_viscSpecies[0]; } else if (compositionDepType_ == 1) { m_viscmix = 0.0; - for (int k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { m_viscmix += m_viscSpecies[k] * m_molefracs[k]; } } @@ -387,7 +386,6 @@ namespace Cantera { } //================================================================================================ void SimpleTransport::getBinaryDiffCoeffs(size_t ld, doublereal* d) { - int i, j; double bdiff; update_T(); @@ -395,8 +393,8 @@ namespace Cantera { // from the polynomial fits if (!m_diff_temp_ok) updateDiff_T(); - for (i = 0; i < m_nsp; i++) { - for (j = 0; j < m_nsp; j++) { + for (size_t i = 0; i < m_nsp; i++) { + for (size_t j = 0; j < m_nsp; j++) { bdiff = 0.5 * (m_diffSpecies[i] + m_diffSpecies[j]); d[i*m_nsp+j] = bdiff; } @@ -420,10 +418,9 @@ namespace Cantera { * dimensioned at least as large as the number of species. */ void SimpleTransport::getMobilities(doublereal* const mobil) { - int k; getMixDiffCoeffs(DATA_PTR(m_spwork)); doublereal c1 = ElectronCharge / (Boltzmann * m_temp); - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { mobil[k] = c1 * m_spwork[k]; } } @@ -447,10 +444,9 @@ namespace Cantera { * dimensioned at least as large as the number of species. */ void SimpleTransport::getFluidMobilities(doublereal* const mobil_f) { - int k; getMixDiffCoeffs(DATA_PTR(m_spwork)); doublereal c1 = 1.0 / (GasConstant * m_temp); - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { mobil_f[k] = c1 * m_spwork[k]; } } @@ -537,7 +533,7 @@ namespace Cantera { * \vec{j}_k = -n M_k D_k \nabla X_k. * \f] */ - void SimpleTransport::getSpeciesFluxes(int ndim, + void SimpleTransport::getSpeciesFluxes(size_t ndim, const doublereal* grad_T, int ldx, const doublereal* grad_X, int ldf, doublereal* fluxes) { @@ -573,8 +569,7 @@ namespace Cantera { * or greater than the number of species. * @param fluxes Vector of calculated fluxes */ - void SimpleTransport::getSpeciesFluxesExt(int ldf, doublereal* fluxes) { - int n, k; + void SimpleTransport::getSpeciesFluxesExt(size_t ldf, doublereal* fluxes) { AssertThrow(ldf >= m_nsp ,"SimpleTransport::getSpeciesFluxesExt: Stride must be greater than m_nsp"); update_T(); update_C(); @@ -590,16 +585,16 @@ namespace Cantera { if (doMigration_) { double FRT = ElectronCharge / (Boltzmann * m_temp); - for (n = 0; n < m_nDim; n++) { - for (k = 0; k < m_nsp; k++) { + for (size_t n = 0; n < m_nDim; n++) { + for (size_t k = 0; k < m_nsp; k++) { fluxes[n*ldf + k] = -conc * mw[k] * m_spwork[k] * ( m_Grad_X[n*m_nsp + k] + FRT * m_molefracs[k] * m_chargeSpecies[k] * m_Grad_V[n]); sum[n] += fluxes[n*ldf + k]; } } } else { - for (n = 0; n < m_nDim; n++) { - for (k = 0; k < m_nsp; k++) { + for (size_t n = 0; n < m_nDim; n++) { + for (size_t k = 0; k < m_nsp; k++) { fluxes[n*ldf + k] = -conc * mw[k] * m_spwork[k] * m_Grad_X[n*m_nsp + k]; sum[n] += fluxes[n*ldf + k]; } @@ -607,8 +602,8 @@ namespace Cantera { } // add correction flux to enforce sum to zero - for (n = 0; n < m_nDim; n++) { - for (k = 0; k < m_nsp; k++) { + for (size_t n = 0; n < m_nDim; n++) { + for (size_t k = 0; k < m_nsp; k++) { fluxes[n*ldf + k] -= y[k]*sum[n]; } } @@ -625,7 +620,7 @@ namespace Cantera { if (!m_diff_temp_ok) { updateDiff_T(); } - for (int k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { d[k] = m_diffSpecies[k]; } } @@ -658,7 +653,7 @@ namespace Cantera { m_thermo->getMoleFractions(DATA_PTR(m_molefracs)); m_thermo->getConcentrations(DATA_PTR(m_concentrations)); concTot_ = 0.0; - for (int k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { m_molefracs[k] = fmaxx(0.0, m_molefracs[k]); concTot_ += m_concentrations[k]; } @@ -684,14 +679,13 @@ namespace Cantera { * thermal conductivity. */ void SimpleTransport::updateCond_T() { - int k; if (tempDepType_ == 0) { - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { Coeff_T_ &coeff = m_coeffLambda_Ns[k]; m_condSpecies[k] = coeff[0]; } } else if (tempDepType_ == 1) { - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { Coeff_T_ &coeff = m_coeffLambda_Ns[k]; m_condSpecies[k] = coeff[0] * pow(m_temp,coeff[1]) * exp(-coeff[2]/m_temp); } @@ -704,23 +698,22 @@ namespace Cantera { * Update the species diffusion coefficients. */ void SimpleTransport::updateDiff_T() { - int k; if (useHydroRadius_) { double visc = viscosity(); double RT = GasConstant * m_temp; - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { Coeff_T_ &coeff = m_coeffHydroRadius_Ns[k]; double rad = coeff[0]; m_diffSpecies[k] = RT / (6.0 * Pi * visc * rad); } } else { if (tempDepType_ == 0) { - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { Coeff_T_ &coeff = m_coeffDiff_Ns[k]; m_diffSpecies[k] = coeff[0]; } } else if (tempDepType_ == 1) { - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { Coeff_T_ &coeff = m_coeffDiff_Ns[k]; m_diffSpecies[k] = coeff[0] * pow(m_temp,coeff[1]) * exp(-coeff[2]/m_temp); } @@ -745,14 +738,13 @@ namespace Cantera { * The flag m_visc_ok is set to true. */ void SimpleTransport::updateViscosity_T() { - int k; if (tempDepType_ == 0) { - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { Coeff_T_ &coeff = m_coeffVisc_Ns[k]; m_viscSpecies[k] = coeff[0]; } } else if (tempDepType_ == 1) { - for (k = 0; k < m_nsp; k++) { + for (size_t k = 0; k < m_nsp; k++) { Coeff_T_ &coeff = m_coeffVisc_Ns[k]; m_viscSpecies[k] = coeff[0] * pow(m_temp,coeff[1]) * exp(-coeff[2]/m_temp); } diff --git a/Cantera/src/transport/SimpleTransport.h b/Cantera/src/transport/SimpleTransport.h index fc88813b5..6e2bd46cb 100644 --- a/Cantera/src/transport/SimpleTransport.h +++ b/Cantera/src/transport/SimpleTransport.h @@ -335,7 +335,7 @@ namespace Cantera { * * */ - virtual void getSpeciesFluxes(int ndim, + virtual void getSpeciesFluxes(size_t ndim, const doublereal* grad_T, int ldx, const doublereal* grad_X, int ldf, doublereal* fluxes); @@ -367,7 +367,7 @@ namespace Cantera { * or greater than the number of species. * @param fluxes Vector of calculated fluxes */ - virtual void getSpeciesFluxesExt(int ldf, doublereal* fluxes); + virtual void getSpeciesFluxesExt(size_t ldf, doublereal* fluxes); protected: @@ -690,7 +690,7 @@ namespace Cantera { /*! * Either 1, 2, or 3 */ - int m_nDim; + size_t m_nDim; private: diff --git a/Cantera/src/transport/TransportBase.h b/Cantera/src/transport/TransportBase.h index 140899902..f93a84efe 100644 --- a/Cantera/src/transport/TransportBase.h +++ b/Cantera/src/transport/TransportBase.h @@ -253,7 +253,7 @@ namespace Cantera { * Flat vector with the m_nsp in the inner loop. * length = ldx * ndim */ - virtual void getSpeciesFluxes(int ndim, + virtual void getSpeciesFluxes(size_t ndim, const doublereal* grad_T, int ldx, const doublereal* grad_X, diff --git a/Cantera/src/transport/TransportFactory.cpp b/Cantera/src/transport/TransportFactory.cpp index 6770163c0..bee306131 100644 --- a/Cantera/src/transport/TransportFactory.cpp +++ b/Cantera/src/transport/TransportFactory.cpp @@ -416,8 +416,7 @@ namespace Cantera { getTransportData(transport_database, log, tr.thermo->speciesNames(), tr); - int i, j; - for (i = 0; i < nsp; i++) tr.poly[i].resize(nsp); + for (size_t i = 0; i < nsp; i++) tr.poly[i].resize(nsp); doublereal ts1, ts2, tstar_min = 1.e8, tstar_max = 0.0; doublereal f_eps, f_sigma; @@ -425,9 +424,9 @@ namespace Cantera { DenseMatrix& diam = tr.diam; DenseMatrix& epsilon = tr.epsilon; - for (i = 0; i < nsp; i++) + for (size_t i = 0; i < nsp; i++) { - for (j = i; j < nsp; j++) + for (size_t j = i; j < nsp; j++) { // the reduced mass tr.reducedMass(i,j) = @@ -715,7 +714,7 @@ namespace Cantera { std::map datatable; doublereal welldepth, diam, dipole, polar, rot; - int nsp = static_cast(xspecies.size()); + size_t nsp = xspecies.size(); // read all entries in database into 'datatable' and check for // errors. Note that this procedure validates all entries, not @@ -727,8 +726,7 @@ namespace Cantera { gindx["linear"] = 101; gindx["nonlinear"] = 102; int linenum = 0; - int i; - for (i = 0; i < nsp; i++) { + for (size_t i = 0; i < nsp; i++) { const XML_Node& sp = *xspecies[i]; name = sp["name"]; // std::cout << "Processing node for " << name << std::endl; @@ -777,7 +775,7 @@ namespace Cantera { } } - for (i = 0; i < tr.nsp_; i++) { + for (size_t i = 0; i < tr.nsp_; i++) { GasTransportData& trdat = datatable[names[i]]; @@ -843,7 +841,7 @@ namespace Cantera { doublereal A_thcond, n_thcond, Tact_thcond; doublereal A_spdiff, n_spdiff, Tact_spdiff; - int nsp = static_cast(xspecies.size()); + size_t nsp = xspecies.size(); std::cout << "Size of xspecies " << nsp << std::endl; // read all entries in database into 'datatable' and check for @@ -851,8 +849,7 @@ namespace Cantera { // only those for the species listed in 'names'. int linenum = 0; - int i; - for (i = 0; i < nsp; i++) { + for (size_t i = 0; i < nsp; i++) { const XML_Node& sp = *xspecies[i]; name = sp["name"]; vector_fp vCoeff; @@ -1038,7 +1035,7 @@ namespace Cantera { } trParam.LTData.clear(); - for (i = 0; i < trParam.nsp_; i++) { + for (size_t i = 0; i < trParam.nsp_; i++) { LiquidTransportData& trdat = datatable[names[i]]; @@ -1115,7 +1112,7 @@ namespace Cantera { void TransportFactory::fitProperties(GasTransportParams& tr, ostream& logfile) { doublereal tstar; - int k, j, n, ndeg = 0; + int ndeg = 0; #ifdef DEBUG_MODE char s[100]; #endif @@ -1133,7 +1130,7 @@ namespace Cantera { vector_fp w(np), w2(np); // generate array of log(t) values - for (n = 0; n < np; n++) { + for (size_t n = 0; n < np; n++) { t = tr.tmin + dt*n; tlog[n] = log(t); } @@ -1174,9 +1171,9 @@ namespace Cantera { c1, cv_rot, cv_int, f_rot, f_trans, om11; doublereal diffcoeff; - for (k = 0; k < tr.nsp_; k++) + for (size_t k = 0; k < tr.nsp_; k++) { - for (n = 0; n < np; n++) { + for (size_t n = 0; n < np; n++) { t = tr.tmin + dt*n; tr.thermo->setTemperature(t); @@ -1249,7 +1246,7 @@ namespace Cantera { DATA_PTR(w), degree, ndeg, 0.0, DATA_PTR(c2)); // evaluate max fit errors for viscosity - for (n = 0; n < np; n++) { + for (size_t n = 0; n < np; n++) { if (mode == CK_Mode) { val = exp(spvisc[n]); fit = exp(poly3(tlog[n], DATA_PTR(c))); @@ -1266,7 +1263,7 @@ namespace Cantera { } // evaluate max fit errors for conductivity - for (n = 0; n < np; n++) { + for (size_t n = 0; n < np; n++) { if (mode == CK_Mode) { val = exp(spcond[n]); fit = exp(poly3(tlog[n], DATA_PTR(c2))); @@ -1311,7 +1308,7 @@ namespace Cantera { tr.xml->XML_comment(logfile,s); } if (tr.log_level >= 2) - for (k = 0; k < tr.nsp_; k++) { + for (size_t k = 0; k < tr.nsp_; k++) { tr.xml->XML_writeVector(logfile, " ", tr.thermo->speciesName(k), degree+1, DATA_PTR(tr.condcoeffs[k])); } @@ -1339,12 +1336,12 @@ namespace Cantera { mxerr = 0.0, mxrelerr = 0.0; vector_fp diff(np + 1); doublereal eps, sigma; - for (k = 0; k < tr.nsp_; k++) + for (size_t k = 0; k < tr.nsp_; k++) { - for (j = k; j < tr.nsp_; j++) { + for (size_t j = k; j < tr.nsp_; j++) { ipoly = tr.poly[k][j]; - for (n = 0; n < np; n++) { + for (size_t n = 0; n < np; n++) { t = tr.tmin + dt*n; @@ -1379,7 +1376,7 @@ namespace Cantera { DATA_PTR(w), degree, ndeg, 0.0, DATA_PTR(c)); doublereal pre; - for (n = 0; n < np; n++) { + for (size_t n = 0; n < np; n++) { if (mode == CK_Mode) { val = exp(diff[n]); fit = exp(poly3(tlog[n], DATA_PTR(c)));