Fixed signed/unsigned comparison warnings in Thermo
This commit is contained in:
parent
e8d895ac26
commit
9439615c71
38 changed files with 292 additions and 313 deletions
|
|
@ -167,9 +167,8 @@ namespace ctml {
|
|||
const int* const vals, const std::string units, const std::string type,
|
||||
const doublereal minval, const doublereal maxval) {
|
||||
std::string fmt = "%8d";
|
||||
int i;
|
||||
std::string v = "";
|
||||
for (i = 0; i < n; i++) {
|
||||
for (size_t i = 0; i < n; i++) {
|
||||
v += int2str(vals[i],fmt);
|
||||
if (i == n-1) v += "\n";
|
||||
else if (i > 0 && (i+1) % 3 == 0) v += ",\n";
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ namespace Cantera {
|
|||
doublereal refPressure) {
|
||||
m_be = c[1];
|
||||
m_nFreqs = int(c[0]);
|
||||
for (int n = 0; n < m_nFreqs; n++) {
|
||||
for (size_t n = 0; n < m_nFreqs; n++) {
|
||||
m_freq[n] = c[n+2];
|
||||
}
|
||||
m_index = index;
|
||||
|
|
@ -179,7 +179,7 @@ namespace Cantera {
|
|||
//! species index
|
||||
int m_index;
|
||||
//
|
||||
int m_nFreqs;
|
||||
size_t m_nFreqs;
|
||||
//! array of vib frequencies
|
||||
array_fp m_freq;
|
||||
//
|
||||
|
|
@ -189,8 +189,7 @@ namespace Cantera {
|
|||
doublereal _energy_RT(double T) const {
|
||||
doublereal x, hnu_kt, hnu, sum = 0.0;
|
||||
doublereal kt = T*Boltzmann;
|
||||
int i;
|
||||
for (i = 0; i < m_nFreqs; i++) {
|
||||
for (size_t i = 0; i < m_nFreqs; i++) {
|
||||
hnu = Planck * m_freq[i];
|
||||
hnu_kt = hnu/kt;
|
||||
x = exp(-hnu_kt);
|
||||
|
|
@ -202,8 +201,7 @@ namespace Cantera {
|
|||
doublereal _free_energy_RT(double T) const {
|
||||
doublereal x, hnu_kt, sum = 0.0;
|
||||
doublereal kt = T*Boltzmann;
|
||||
int i;
|
||||
for (i = 0; i < m_nFreqs; i++) {
|
||||
for (size_t i = 0; i < m_nFreqs; i++) {
|
||||
hnu_kt = Planck * m_freq[i] / kt;
|
||||
x = exp(-hnu_kt);
|
||||
sum += log(1.0 - x);
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ namespace Cantera {
|
|||
}
|
||||
|
||||
void ConstDensityThermo::getActivityCoefficients(doublereal* ac) const {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
ac[k] = 1.0;
|
||||
}
|
||||
}
|
||||
|
|
@ -114,7 +114,7 @@ namespace Cantera {
|
|||
doublereal xx;
|
||||
doublereal rt = temperature() * GasConstant;
|
||||
const array_fp& g_RT = gibbs_RT();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
xx = fmaxx(SmallNumber, moleFraction(k));
|
||||
mu[k] = rt*(g_RT[k] + log(xx)) + vdp;
|
||||
}
|
||||
|
|
@ -154,8 +154,7 @@ namespace Cantera {
|
|||
m_spthermo->update(tnow, &m_cp0_R[0], &m_h0_RT[0],
|
||||
&m_s0_R[0]);
|
||||
m_tlast = tnow;
|
||||
int k;
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_g0_RT[k] = m_h0_RT[k] - m_s0_R[k];
|
||||
}
|
||||
m_tlast = tnow;
|
||||
|
|
|
|||
|
|
@ -307,7 +307,7 @@ namespace Cantera {
|
|||
m_speciesComp.resize(m_kk*m_mm, 0.0);
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
size_t m_old = m_mm - 1;
|
||||
for (int m = 0; m < m_old; m++) {
|
||||
for (size_t m = 0; m < m_old; m++) {
|
||||
m_speciesComp[k * m_mm + m] = old[k * (m_old) + m];
|
||||
}
|
||||
m_speciesComp[k * (m_mm) + (m_mm-1)] = 0.0;
|
||||
|
|
|
|||
|
|
@ -370,7 +370,7 @@ namespace Cantera {
|
|||
double *x = &m_tmpV[0];
|
||||
getMoleFractions(x);
|
||||
doublereal vtotal = 0.0;
|
||||
for (int i = 0; i < m_kk; i++) {
|
||||
for (size_t i = 0; i < m_kk; i++) {
|
||||
vtotal += vbar[i] * x[i];
|
||||
}
|
||||
doublereal dd = meanMolecularWeight() / vtotal;
|
||||
|
|
@ -482,7 +482,7 @@ namespace Cantera {
|
|||
void DebyeHuckel::getActivityConcentrations(doublereal* c) const {
|
||||
double c_solvent = standardConcentration();
|
||||
getActivities(c);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
c[k] *= c_solvent;
|
||||
}
|
||||
}
|
||||
|
|
@ -566,7 +566,7 @@ namespace Cantera {
|
|||
* This requires an update due to mole fractions
|
||||
*/
|
||||
s_update_lnMolalityActCoeff();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (k != m_indexSolvent) {
|
||||
ac[k] = m_molalities[k] * exp(m_lnActCoeffMolal[k]);
|
||||
}
|
||||
|
|
@ -593,7 +593,7 @@ namespace Cantera {
|
|||
A_Debye_TP(-1.0, -1.0);
|
||||
s_update_lnMolalityActCoeff();
|
||||
copy(m_lnActCoeffMolal.begin(), m_lnActCoeffMolal.end(), acMolality);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
acMolality[k] = exp(acMolality[k]);
|
||||
}
|
||||
}
|
||||
|
|
@ -636,7 +636,7 @@ namespace Cantera {
|
|||
*/
|
||||
doublereal RT = GasConstant * temperature();
|
||||
double xmolSolvent = moleFraction(m_indexSolvent);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (m_indexSolvent != k) {
|
||||
xx = MAX(m_molalities[k], xxSmall);
|
||||
mu[k] += RT * (log(xx) + m_lnActCoeffMolal[k]);
|
||||
|
|
@ -670,7 +670,7 @@ namespace Cantera {
|
|||
*/
|
||||
double T = temperature();
|
||||
double RT = GasConstant * T;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
hbar[k] *= RT;
|
||||
}
|
||||
/*
|
||||
|
|
@ -687,7 +687,7 @@ namespace Cantera {
|
|||
s_update_lnMolalityActCoeff();
|
||||
s_update_dlnMolalityActCoeff_dT();
|
||||
double RTT = GasConstant * T * T;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
hbar[k] -= RTT * m_dlnActCoeffMolaldT[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -724,7 +724,6 @@ namespace Cantera {
|
|||
*/
|
||||
void DebyeHuckel::
|
||||
getPartialMolarEntropies(doublereal* sbar) const {
|
||||
int k;
|
||||
/*
|
||||
* Get the standard state entropies at the temperature
|
||||
* and pressure of the solution.
|
||||
|
|
@ -734,7 +733,7 @@ namespace Cantera {
|
|||
* Dimensionalize the entropies
|
||||
*/
|
||||
doublereal R = GasConstant;
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
sbar[k] *= R;
|
||||
}
|
||||
/*
|
||||
|
|
@ -747,7 +746,7 @@ namespace Cantera {
|
|||
* term out front of the log activity term
|
||||
*/
|
||||
doublereal mm;
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (k != m_indexSolvent) {
|
||||
mm = fmaxx(SmallNumber, m_molalities[k]);
|
||||
sbar[k] -= R * (log(mm) + m_lnActCoeffMolal[k]);
|
||||
|
|
@ -765,7 +764,7 @@ namespace Cantera {
|
|||
if (dAdT != 0.0) {
|
||||
s_update_dlnMolalityActCoeff_dT();
|
||||
double RT = R * temperature();
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
sbar[k] -= RT * m_dlnActCoeffMolaldT[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -799,7 +798,7 @@ namespace Cantera {
|
|||
s_update_dlnMolalityActCoeff_dP();
|
||||
double T = temperature();
|
||||
double RT = GasConstant * T;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
vbar[k] += RT * m_dlnActCoeffMolaldP[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -820,7 +819,7 @@ namespace Cantera {
|
|||
*/
|
||||
getCp_R(cpbar);
|
||||
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
cpbar[k] *= GasConstant;
|
||||
}
|
||||
|
||||
|
|
@ -841,7 +840,7 @@ namespace Cantera {
|
|||
double T = temperature();
|
||||
double RT = GasConstant * T;
|
||||
double RTT = RT * T;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
cpbar[k] -= (2.0 * RT * m_dlnActCoeffMolaldT[k] +
|
||||
RTT * m_d2lnActCoeffMolaldT2[k]);
|
||||
}
|
||||
|
|
@ -1090,7 +1089,6 @@ namespace Cantera {
|
|||
*/
|
||||
void DebyeHuckel::
|
||||
initThermoXML(XML_Node& phaseNode, std::string id) {
|
||||
int k;
|
||||
std::string stemp;
|
||||
/*
|
||||
* Find the Thermo XML node
|
||||
|
|
@ -1147,7 +1145,7 @@ namespace Cantera {
|
|||
}
|
||||
solventName = nameSolventa[0];
|
||||
}
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
std::string sname = speciesName(k);
|
||||
if (solventName == sname) {
|
||||
m_indexSolvent = k;
|
||||
|
|
@ -1215,7 +1213,7 @@ namespace Cantera {
|
|||
&phaseNode.root());
|
||||
const vector<string>&sss = speciesNames();
|
||||
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
XML_Node* s = speciesDB->findByAttr("name", sss[k]);
|
||||
if (!s) {
|
||||
throw CanteraError("DebyeHuckel::initThermoXML",
|
||||
|
|
@ -1352,7 +1350,7 @@ namespace Cantera {
|
|||
/*
|
||||
* Set B_dot parameters for charged species
|
||||
*/
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
double z_k = charge(k);
|
||||
if (fabs (z_k) > 0.0001) {
|
||||
m_B_Dot[k] = bdot_common;
|
||||
|
|
@ -1398,7 +1396,7 @@ namespace Cantera {
|
|||
if (irNode.hasAttrib("default")) {
|
||||
std::string ads = irNode.attrib("default");
|
||||
double ad = fpValue(ads);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_Aionic[k] = ad * Afactor;
|
||||
}
|
||||
}
|
||||
|
|
@ -1464,7 +1462,7 @@ namespace Cantera {
|
|||
* regular charge.
|
||||
*/
|
||||
m_speciesCharge_Stoich.resize(m_kk, 0.0);
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_speciesCharge_Stoich[k] = m_speciesCharge[k];
|
||||
}
|
||||
/*
|
||||
|
|
@ -1475,7 +1473,7 @@ namespace Cantera {
|
|||
std::vector<const XML_Node *> xspecies= speciesData();
|
||||
std::string kname, jname;
|
||||
size_t jj = xspecies.size();
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
size_t jmap = -1;
|
||||
kname = speciesName(k);
|
||||
for (size_t j = 0; j < jj; j++) {
|
||||
|
|
@ -1521,7 +1519,7 @@ namespace Cantera {
|
|||
* First fill in default values. Everthing is either
|
||||
* a charge species, a nonpolar neutral, or the solvent.
|
||||
*/
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (fabs(m_speciesCharge[k]) > 0.0001) {
|
||||
m_electrolyteSpeciesType[k] = cEST_chargedSpecies;
|
||||
if (fabs(m_speciesCharge_Stoich[k] - m_speciesCharge[k])
|
||||
|
|
@ -1543,7 +1541,7 @@ namespace Cantera {
|
|||
std::vector<const XML_Node *> xspecies= speciesData();
|
||||
const XML_Node *spPtr = 0;
|
||||
std::string kname;
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
kname = speciesName(k);
|
||||
spPtr = xspecies[k];
|
||||
if (!spPtr) {
|
||||
|
|
@ -1884,7 +1882,7 @@ namespace Cantera {
|
|||
calcMolalities();
|
||||
double oc = _osmoticCoeffHelgesonFixedForm();
|
||||
double sum = 0.0;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (k != m_indexSolvent) {
|
||||
sum += MAX(m_molalities[k], 0.0);
|
||||
}
|
||||
|
|
@ -1923,7 +1921,7 @@ namespace Cantera {
|
|||
* are ignorred in calculating the ionic strength.
|
||||
*/
|
||||
m_IionicMolality = 0.0;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
z_k = m_speciesCharge[k];
|
||||
m_IionicMolality += m_molalities[k] * z_k * z_k;
|
||||
}
|
||||
|
|
@ -1937,7 +1935,7 @@ namespace Cantera {
|
|||
* Calculate the stoichiometric ionic charge
|
||||
*/
|
||||
m_IionicMolalityStoich = 0.0;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
z_k = m_speciesCharge[k];
|
||||
zs_k1 = m_speciesCharge_Stoich[k];
|
||||
if (z_k == zs_k1) {
|
||||
|
|
@ -1983,7 +1981,7 @@ namespace Cantera {
|
|||
double y, yp1, sigma;
|
||||
switch (m_formDH) {
|
||||
case DHFORM_DILUTE_LIMIT:
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
z_k = m_speciesCharge[k];
|
||||
m_lnActCoeffMolal[k] = - z_k * z_k * numTmp;
|
||||
}
|
||||
|
|
@ -1995,7 +1993,7 @@ namespace Cantera {
|
|||
|
||||
case DHFORM_BDOT_AK:
|
||||
ac_nonPolar = _nonpolarActCoeff(m_IionicMolality);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
est = m_electrolyteSpeciesType[k];
|
||||
if (est == cEST_nonpolarNeutral) {
|
||||
m_lnActCoeffMolal[k] = log(ac_nonPolar);
|
||||
|
|
@ -2012,7 +2010,7 @@ namespace Cantera {
|
|||
* sqrt(m_IionicMolality);
|
||||
tmp = 0.0;
|
||||
if (denomTmp > 0.0) {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (k != m_indexSolvent || m_Aionic[k] != 0.0) {
|
||||
y = denomTmp * m_Aionic[k];
|
||||
yp1 = y + 1.0;
|
||||
|
|
@ -2024,7 +2022,7 @@ namespace Cantera {
|
|||
}
|
||||
lnActivitySolvent += coeff * tmp;
|
||||
tmp = 0.0;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
z_k = m_speciesCharge[k];
|
||||
if ((k != m_indexSolvent) && (z_k != 0.0)) {
|
||||
tmp += m_B_Dot[k] * m_molalities[k];
|
||||
|
|
@ -2044,7 +2042,7 @@ namespace Cantera {
|
|||
|
||||
case DHFORM_BDOT_ACOMMON:
|
||||
denomTmp *= m_Aionic[0];
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
z_k = m_speciesCharge[k];
|
||||
m_lnActCoeffMolal[k] =
|
||||
- z_k * z_k * numTmp / (1.0 + denomTmp)
|
||||
|
|
@ -2062,7 +2060,7 @@ namespace Cantera {
|
|||
2.0 /3.0 * m_A_Debye * m_Mnaught *
|
||||
m_IionicMolality * sqrt(m_IionicMolality) * sigma;
|
||||
tmp = 0.0;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
z_k = m_speciesCharge[k];
|
||||
if ((k != m_indexSolvent) && (z_k != 0.0)) {
|
||||
tmp += m_B_Dot[k] * m_molalities[k];
|
||||
|
|
@ -2079,12 +2077,12 @@ namespace Cantera {
|
|||
lnActivitySolvent =
|
||||
(xmolSolvent - 1.0)/xmolSolvent;
|
||||
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (k != m_indexSolvent) {
|
||||
z_k = m_speciesCharge[k];
|
||||
m_lnActCoeffMolal[k] =
|
||||
- z_k * z_k * numTmp / (1.0 + denomTmp);
|
||||
for (int j = 0; j < m_kk; j++) {
|
||||
for (size_t j = 0; j < m_kk; j++) {
|
||||
double beta = m_Beta_ij.value(k, j);
|
||||
#ifdef DEBUG_HKM_NOT
|
||||
if (beta != 0.0) {
|
||||
|
|
@ -2108,8 +2106,8 @@ namespace Cantera {
|
|||
2.0 /3.0 * m_A_Debye * m_Mnaught *
|
||||
m_IionicMolality * sqrt(m_IionicMolality) * sigma;
|
||||
tmp = 0.0;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (int j = 0; j < m_kk; j++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
for (size_t j = 0; j < m_kk; j++) {
|
||||
tmp +=
|
||||
m_Beta_ij.value(k, j) * m_molalities[k] * m_molalities[j];
|
||||
}
|
||||
|
|
@ -2122,7 +2120,7 @@ namespace Cantera {
|
|||
denomTmp *= m_Aionic[0];
|
||||
numTmp = m_A_Debye * sqrt(m_IionicMolality);
|
||||
tmpLn = log(1.0 + denomTmp);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (k != m_indexSolvent) {
|
||||
z_k = m_speciesCharge[k];
|
||||
m_lnActCoeffMolal[k] =
|
||||
|
|
@ -2130,7 +2128,7 @@ namespace Cantera {
|
|||
m_lnActCoeffMolal[k] +=
|
||||
- 2.0 * z_k * z_k * m_A_Debye * tmpLn /
|
||||
(3.0 * m_B_Debye * m_Aionic[0]);
|
||||
for (int j = 0; j < m_kk; j++) {
|
||||
for (size_t j = 0; j < m_kk; j++) {
|
||||
m_lnActCoeffMolal[k] += 2.0 * m_molalities[j] *
|
||||
m_Beta_ij.value(k, j);
|
||||
}
|
||||
|
|
@ -2142,8 +2140,8 @@ namespace Cantera {
|
|||
2.0 /3.0 * m_A_Debye * m_Mnaught *
|
||||
m_IionicMolality * sqrt(m_IionicMolality) * sigma;
|
||||
tmp = 0.0;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (int j = 0; j < m_kk; j++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
for (size_t j = 0; j < m_kk; j++) {
|
||||
tmp +=
|
||||
m_Beta_ij.value(k, j) * m_molalities[k] * m_molalities[j];
|
||||
}
|
||||
|
|
@ -2180,11 +2178,10 @@ namespace Cantera {
|
|||
*/
|
||||
void DebyeHuckel::s_update_dlnMolalityActCoeff_dT() const {
|
||||
double z_k, coeff, tmp, y, yp1, sigma, tmpLn;
|
||||
int k;
|
||||
// First we store dAdT explicitly here
|
||||
double dAdT = dA_DebyedT_TP();
|
||||
if (dAdT == 0.0) {
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_dlnActCoeffMolaldT[k] = 0.0;
|
||||
}
|
||||
return;
|
||||
|
|
@ -2204,7 +2201,7 @@ namespace Cantera {
|
|||
|
||||
switch (m_formDH) {
|
||||
case DHFORM_DILUTE_LIMIT:
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
m_dlnActCoeffMolaldT[k] =
|
||||
m_lnActCoeffMolal[k] * dAdT / m_A_Debye;
|
||||
}
|
||||
|
|
@ -2214,7 +2211,7 @@ namespace Cantera {
|
|||
break;
|
||||
|
||||
case DHFORM_BDOT_AK:
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
z_k = m_speciesCharge[k];
|
||||
m_dlnActCoeffMolaldT[k] =
|
||||
- z_k * z_k * numdAdTTmp / (1.0 + denomTmp * m_Aionic[k]);
|
||||
|
|
@ -2225,7 +2222,7 @@ namespace Cantera {
|
|||
coeff = 2.0 / 3.0 * dAdT * m_Mnaught * sqrtI;
|
||||
tmp = 0.0;
|
||||
if (denomTmp > 0.0) {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
y = denomTmp * m_Aionic[k];
|
||||
yp1 = y + 1.0;
|
||||
sigma = 3.0 / (y * y * y) * (yp1 - 1.0/yp1 - 2.0*log(yp1));
|
||||
|
|
@ -2238,7 +2235,7 @@ namespace Cantera {
|
|||
|
||||
case DHFORM_BDOT_ACOMMON:
|
||||
denomTmp *= m_Aionic[0];
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
z_k = m_speciesCharge[k];
|
||||
m_dlnActCoeffMolaldT[k] =
|
||||
- z_k * z_k * numdAdTTmp / (1.0 + denomTmp);
|
||||
|
|
@ -2257,7 +2254,7 @@ namespace Cantera {
|
|||
|
||||
case DHFORM_BETAIJ:
|
||||
denomTmp *= m_Aionic[0];
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (k != m_indexSolvent) {
|
||||
z_k = m_speciesCharge[k];
|
||||
m_dlnActCoeffMolaldT[k] =
|
||||
|
|
@ -2279,7 +2276,7 @@ namespace Cantera {
|
|||
case DHFORM_PITZER_BETAIJ:
|
||||
denomTmp *= m_Aionic[0];
|
||||
tmpLn = log(1.0 + denomTmp);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (k != m_indexSolvent) {
|
||||
z_k = m_speciesCharge[k];
|
||||
m_dlnActCoeffMolaldT[k] =
|
||||
|
|
@ -2320,11 +2317,10 @@ namespace Cantera {
|
|||
*/
|
||||
void DebyeHuckel::s_update_d2lnMolalityActCoeff_dT2() const {
|
||||
double z_k, coeff, tmp, y, yp1, sigma, tmpLn;
|
||||
int k;
|
||||
double dAdT = dA_DebyedT_TP();
|
||||
double d2AdT2 = d2A_DebyedT2_TP();
|
||||
if (d2AdT2 == 0.0 && dAdT == 0.0) {
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_d2lnActCoeffMolaldT2[k] = 0.0;
|
||||
}
|
||||
return;
|
||||
|
|
@ -2344,14 +2340,14 @@ namespace Cantera {
|
|||
|
||||
switch (m_formDH) {
|
||||
case DHFORM_DILUTE_LIMIT:
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_d2lnActCoeffMolaldT2[k] =
|
||||
m_lnActCoeffMolal[k] * d2AdT2 / m_A_Debye;
|
||||
}
|
||||
break;
|
||||
|
||||
case DHFORM_BDOT_AK:
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
z_k = m_speciesCharge[k];
|
||||
m_d2lnActCoeffMolaldT2[k] =
|
||||
- z_k * z_k * numd2AdT2Tmp / (1.0 + denomTmp * m_Aionic[k]);
|
||||
|
|
@ -2362,7 +2358,7 @@ namespace Cantera {
|
|||
coeff = 2.0 / 3.0 * d2AdT2 * m_Mnaught * sqrtI;
|
||||
tmp = 0.0;
|
||||
if (denomTmp > 0.0) {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
y = denomTmp * m_Aionic[k];
|
||||
yp1 = y + 1.0;
|
||||
sigma = 3.0 / (y * y * y) * (yp1 - 1.0/yp1 - 2.0*log(yp1));
|
||||
|
|
@ -2375,7 +2371,7 @@ namespace Cantera {
|
|||
|
||||
case DHFORM_BDOT_ACOMMON:
|
||||
denomTmp *= m_Aionic[0];
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
z_k = m_speciesCharge[k];
|
||||
m_d2lnActCoeffMolaldT2[k] =
|
||||
- z_k * z_k * numd2AdT2Tmp / (1.0 + denomTmp);
|
||||
|
|
@ -2394,7 +2390,7 @@ namespace Cantera {
|
|||
|
||||
case DHFORM_BETAIJ:
|
||||
denomTmp *= m_Aionic[0];
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (k != m_indexSolvent) {
|
||||
z_k = m_speciesCharge[k];
|
||||
m_d2lnActCoeffMolaldT2[k] =
|
||||
|
|
@ -2416,7 +2412,7 @@ namespace Cantera {
|
|||
case DHFORM_PITZER_BETAIJ:
|
||||
denomTmp *= m_Aionic[0];
|
||||
tmpLn = log(1.0 + denomTmp);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (k != m_indexSolvent) {
|
||||
z_k = m_speciesCharge[k];
|
||||
m_d2lnActCoeffMolaldT2[k] =
|
||||
|
|
@ -2455,10 +2451,10 @@ namespace Cantera {
|
|||
*/
|
||||
void DebyeHuckel::s_update_dlnMolalityActCoeff_dP() const {
|
||||
double z_k, coeff, tmp, y, yp1, sigma, tmpLn;
|
||||
int k, est;
|
||||
int est;
|
||||
double dAdP = dA_DebyedP_TP();
|
||||
if (dAdP == 0.0) {
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_dlnActCoeffMolaldP[k] = 0.0;
|
||||
}
|
||||
return;
|
||||
|
|
@ -2477,14 +2473,14 @@ namespace Cantera {
|
|||
|
||||
switch (m_formDH) {
|
||||
case DHFORM_DILUTE_LIMIT:
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_dlnActCoeffMolaldP[k] =
|
||||
m_lnActCoeffMolal[k] * dAdP / m_A_Debye;
|
||||
}
|
||||
break;
|
||||
|
||||
case DHFORM_BDOT_AK:
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
est = m_electrolyteSpeciesType[k];
|
||||
if (est == cEST_nonpolarNeutral) {
|
||||
m_lnActCoeffMolal[k] = 0.0;
|
||||
|
|
@ -2500,7 +2496,7 @@ namespace Cantera {
|
|||
coeff = 2.0 / 3.0 * dAdP * m_Mnaught * sqrtI;
|
||||
tmp = 0.0;
|
||||
if (denomTmp > 0.0) {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
y = denomTmp * m_Aionic[k];
|
||||
yp1 = y + 1.0;
|
||||
sigma = 3.0 / (y * y * y) * (yp1 - 1.0/yp1 - 2.0*log(yp1));
|
||||
|
|
@ -2513,7 +2509,7 @@ namespace Cantera {
|
|||
|
||||
case DHFORM_BDOT_ACOMMON:
|
||||
denomTmp *= m_Aionic[0];
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
z_k = m_speciesCharge[k];
|
||||
m_dlnActCoeffMolaldP[k] =
|
||||
- z_k * z_k * numdAdPTmp / (1.0 + denomTmp);
|
||||
|
|
@ -2532,7 +2528,7 @@ namespace Cantera {
|
|||
|
||||
case DHFORM_BETAIJ:
|
||||
denomTmp *= m_Aionic[0];
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (k != m_indexSolvent) {
|
||||
z_k = m_speciesCharge[k];
|
||||
m_dlnActCoeffMolaldP[k] =
|
||||
|
|
@ -2554,7 +2550,7 @@ namespace Cantera {
|
|||
case DHFORM_PITZER_BETAIJ:
|
||||
denomTmp *= m_Aionic[0];
|
||||
tmpLn = log(1.0 + denomTmp);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (k != m_indexSolvent) {
|
||||
z_k = m_speciesCharge[k];
|
||||
m_dlnActCoeffMolaldP[k] =
|
||||
|
|
|
|||
|
|
@ -244,7 +244,7 @@ namespace Cantera {
|
|||
/******************************************************************/
|
||||
|
||||
//! Number of elements.
|
||||
int m_mm;
|
||||
size_t m_mm;
|
||||
|
||||
/* m_elementsFrozen: */
|
||||
/** boolean indicating completion of object
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ namespace Cantera {
|
|||
m_kk(b.m_kk)
|
||||
{
|
||||
m_sp.resize(m_kk, 0);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
SpeciesThermoInterpType *bk = b.m_sp[k];
|
||||
if (bk) {
|
||||
m_sp[k] = bk->duplMyselfAsSpeciesThermoInterpType();
|
||||
|
|
@ -59,7 +59,7 @@ namespace Cantera {
|
|||
m_tlow_max = b.m_tlow_max;
|
||||
m_thigh_min = b.m_thigh_min;
|
||||
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
SpeciesThermoInterpType *sp = m_sp[k];
|
||||
if (sp) {
|
||||
delete sp;
|
||||
|
|
@ -68,7 +68,7 @@ namespace Cantera {
|
|||
}
|
||||
m_kk = b.m_kk;
|
||||
m_sp.resize(m_kk, 0);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
SpeciesThermoInterpType *bk = b.m_sp[k];
|
||||
if (bk) {
|
||||
m_sp[k] = bk->duplMyselfAsSpeciesThermoInterpType();
|
||||
|
|
@ -79,7 +79,7 @@ namespace Cantera {
|
|||
}
|
||||
|
||||
GeneralSpeciesThermo::~GeneralSpeciesThermo() {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
SpeciesThermoInterpType *sp = m_sp[k];
|
||||
if (sp) {
|
||||
delete sp;
|
||||
|
|
|
|||
|
|
@ -158,7 +158,7 @@ namespace Cantera {
|
|||
getPartialMolarVolumes(vbar);
|
||||
|
||||
doublereal vtotal = 0.0;
|
||||
for (int i = 0; i < m_kk; i++) {
|
||||
for (size_t i = 0; i < m_kk; i++) {
|
||||
vtotal += vbar[i] * moleFractions_[i];
|
||||
}
|
||||
doublereal dd = meanMolecularWeight() / vtotal;
|
||||
|
|
@ -204,7 +204,7 @@ namespace Cantera {
|
|||
void GibbsExcessVPSSTP::getActivities(doublereal* ac) const {
|
||||
getActivityCoefficients(ac);
|
||||
getMoleFractions(DATA_PTR(moleFractions_));
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
ac[k] *= moleFractions_[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -213,7 +213,7 @@ namespace Cantera {
|
|||
void GibbsExcessVPSSTP::getElectrochemPotentials(doublereal* mu) const {
|
||||
getChemPotentials(mu);
|
||||
double ve = Faraday * electricPotential();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
mu[k] += ve*charge(k);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -640,7 +640,7 @@ namespace Cantera {
|
|||
double hbar = mean_X(DATA_PTR(m_tmpV));
|
||||
getEnthalpy_RT(DATA_PTR(m_gamma_tmp));
|
||||
double RT = GasConstant * temperature();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_gamma_tmp[k] *= RT;
|
||||
}
|
||||
double h0bar = mean_X(DATA_PTR(m_gamma_tmp));
|
||||
|
|
@ -657,7 +657,7 @@ namespace Cantera {
|
|||
double xcation = 0.0;
|
||||
int kanion = -1;
|
||||
const double *charge = DATA_PTR(m_speciesCharge);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (charge[k] > 0.0) {
|
||||
if (m_tmpV[k] > xanion) {
|
||||
xanion = m_tmpV[k];
|
||||
|
|
@ -769,7 +769,7 @@ namespace Cantera {
|
|||
double *x = &m_tmpV[0];
|
||||
getMoleFractions(x);
|
||||
doublereal vtotal = 0.0;
|
||||
for (int i = 0; i < m_kk; i++) {
|
||||
for (size_t i = 0; i < m_kk; i++) {
|
||||
vtotal += vbar[i] * x[i];
|
||||
}
|
||||
doublereal dd = meanMolecularWeight() / vtotal;
|
||||
|
|
@ -919,7 +919,7 @@ namespace Cantera {
|
|||
c[0] *= cs_solvent;
|
||||
if (m_kk > 1) {
|
||||
double cs_solute = standardConcentration(1);
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
c[k] *= cs_solute;
|
||||
}
|
||||
}
|
||||
|
|
@ -1015,7 +1015,7 @@ namespace Cantera {
|
|||
/*
|
||||
* Now calculate the array of activities.
|
||||
*/
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (k != m_indexSolvent) {
|
||||
ac[k] = m_molalities[k] * exp(m_lnActCoeffMolal_Scaled[k]);
|
||||
}
|
||||
|
|
@ -1046,7 +1046,7 @@ namespace Cantera {
|
|||
A_Debye_TP(-1.0, -1.0);
|
||||
s_update_lnMolalityActCoeff();
|
||||
std::copy(m_lnActCoeffMolal_Unscaled.begin(), m_lnActCoeffMolal_Unscaled.end(), acMolality);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
acMolality[k] = exp(acMolality[k]);
|
||||
}
|
||||
}
|
||||
|
|
@ -1089,7 +1089,7 @@ namespace Cantera {
|
|||
*/
|
||||
doublereal RT = GasConstant * temperature();
|
||||
double xmolSolvent = moleFraction(m_indexSolvent);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (m_indexSolvent != k) {
|
||||
xx = MAX(m_molalities[k], xxSmall);
|
||||
mu[k] += RT * (log(xx) + m_lnActCoeffMolal_Scaled[k]);
|
||||
|
|
@ -1130,7 +1130,7 @@ namespace Cantera {
|
|||
*/
|
||||
double T = temperature();
|
||||
double RT = GasConstant * T;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
hbar[k] *= RT;
|
||||
}
|
||||
/*
|
||||
|
|
@ -1140,7 +1140,7 @@ namespace Cantera {
|
|||
s_update_lnMolalityActCoeff();
|
||||
s_update_dlnMolalityActCoeff_dT();
|
||||
double RTT = RT * T;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
hbar[k] -= RTT * m_dlnActCoeffMolaldT_Scaled[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -1176,7 +1176,6 @@ namespace Cantera {
|
|||
*/
|
||||
void HMWSoln::
|
||||
getPartialMolarEntropies(doublereal* sbar) const {
|
||||
int k;
|
||||
/*
|
||||
* Get the standard state entropies at the temperature
|
||||
* and pressure of the solution.
|
||||
|
|
@ -1186,7 +1185,7 @@ namespace Cantera {
|
|||
* Dimensionalize the entropies
|
||||
*/
|
||||
doublereal R = GasConstant;
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
sbar[k] *= R;
|
||||
}
|
||||
/*
|
||||
|
|
@ -1199,7 +1198,7 @@ namespace Cantera {
|
|||
* term out front of the log activity term
|
||||
*/
|
||||
doublereal mm;
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (k != m_indexSolvent) {
|
||||
mm = fmaxx(SmallNumber, m_molalities[k]);
|
||||
sbar[k] -= R * (log(mm) + m_lnActCoeffMolal_Scaled[k]);
|
||||
|
|
@ -1215,7 +1214,7 @@ namespace Cantera {
|
|||
*/
|
||||
s_update_dlnMolalityActCoeff_dT();
|
||||
double RT = R * temperature();
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
sbar[k] -= RT * m_dlnActCoeffMolaldT_Scaled[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -1250,7 +1249,7 @@ namespace Cantera {
|
|||
s_update_dlnMolalityActCoeff_dP();
|
||||
double T = temperature();
|
||||
double RT = GasConstant * T;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
vbar[k] += RT * m_dlnActCoeffMolaldP_Scaled[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -1280,7 +1279,7 @@ namespace Cantera {
|
|||
*/
|
||||
getCp_R(cpbar);
|
||||
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
cpbar[k] *= GasConstant;
|
||||
}
|
||||
/*
|
||||
|
|
@ -1293,7 +1292,7 @@ namespace Cantera {
|
|||
double T = temperature();
|
||||
double RT = GasConstant * T;
|
||||
double RTT = RT * T;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
cpbar[k] -= (2.0 * RT * m_dlnActCoeffMolaldT_Scaled[k] +
|
||||
RTT * m_d2lnActCoeffMolaldT2_Scaled[k]);
|
||||
}
|
||||
|
|
@ -1804,7 +1803,7 @@ namespace Cantera {
|
|||
* Pitzer formulation.
|
||||
*/
|
||||
m_IionicMolalityStoich = 0.0;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
double z_k = m_speciesCharge[k];
|
||||
double zs_k1 = m_speciesCharge_Stoich[k];
|
||||
if (z_k == zs_k1) {
|
||||
|
|
@ -1838,7 +1837,7 @@ namespace Cantera {
|
|||
double lnActCoeffMolal0 = - log(xx) + (xx - 1.0)/xx;
|
||||
double lnxs = log(xx);
|
||||
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
CROP_speciesCropped_[k] = 0;
|
||||
m_lnActCoeffMolal_Unscaled[k] += IMS_lnActCoeffMolal_[k];
|
||||
if (m_lnActCoeffMolal_Unscaled[k] > (CROP_ln_gamma_k_max- 2.5 *lnxs)) {
|
||||
|
|
@ -1878,12 +1877,11 @@ namespace Cantera {
|
|||
* Calculate cropped molalities
|
||||
*/
|
||||
void HMWSoln::calcMolalitiesCropped() const {
|
||||
int i, j, k;
|
||||
doublereal Imax = 0.0, Itmp;
|
||||
doublereal Iac_max;
|
||||
m_molalitiesAreCropped = false;
|
||||
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_molalitiesCropped[k] = m_molalities[k];
|
||||
double charge = m_speciesCharge[k];
|
||||
Itmp = m_molalities[k] * charge * charge;
|
||||
|
|
@ -1906,13 +1904,13 @@ namespace Cantera {
|
|||
|
||||
m_molalitiesAreCropped = true;
|
||||
|
||||
for (i = 1; i < (m_kk - 1); i++) {
|
||||
for (size_t i = 1; i < (m_kk - 1); i++) {
|
||||
double charge_i = m_speciesCharge[i];
|
||||
double abs_charge_i = fabs(charge_i);
|
||||
if (charge_i == 0.0) {
|
||||
continue;
|
||||
}
|
||||
for (j = (i+1); j < m_kk; j++) {
|
||||
for (size_t j = (i+1); j < m_kk; j++) {
|
||||
double charge_j = m_speciesCharge[j];
|
||||
double abs_charge_j = fabs(charge_j);
|
||||
/*
|
||||
|
|
@ -1960,7 +1958,7 @@ namespace Cantera {
|
|||
double anion_contrib_max = -1.0;
|
||||
int cation_contrib_max_i = -1;
|
||||
double cation_contrib_max = -1.0;
|
||||
for (i = 0; i < m_kk; i++) {
|
||||
for (size_t i = 0; i < m_kk; i++) {
|
||||
double charge_i = m_speciesCharge[i];
|
||||
if (charge_i < 0.0) {
|
||||
double anion_contrib = - m_molalitiesCropped[i] * charge_i;
|
||||
|
|
@ -2017,7 +2015,7 @@ namespace Cantera {
|
|||
double p = xmolSolvent + MC_epCut_ + exp(- xmolSolvent/ MC_cpCut_) * poly;
|
||||
double denomInv = 1.0/ (m_Mnaught * p);
|
||||
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_molalitiesCropped[k] = molF[k] * denomInv ;
|
||||
}
|
||||
|
||||
|
|
@ -2025,13 +2023,13 @@ namespace Cantera {
|
|||
// Reduce the molalities to enforce this. Note, this algorithm preserves
|
||||
// the charge neutrality of the solution after cropping.
|
||||
Itmp = 0.0;
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
double charge = m_speciesCharge[k];
|
||||
Itmp += m_molalitiesCropped[k] * charge * charge;
|
||||
}
|
||||
if (Itmp > m_maxIionicStrength) {
|
||||
double ratio = Itmp / m_maxIionicStrength;
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
double charge = m_speciesCharge[k];
|
||||
if (charge != 0.0) {
|
||||
m_molalitiesCropped[k] *= ratio;
|
||||
|
|
@ -2320,7 +2318,7 @@ namespace Cantera {
|
|||
|
||||
for (i = 1; i < m_kk; i++) {
|
||||
for (j = 1; j < m_kk; j++) {
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
n = i * m_kk *m_kk + j * m_kk + k ;
|
||||
const double *Psi_coeff = m_Psi_ijk_coeff.ptrColumn(n);
|
||||
switch (m_formPitzerTemp) {
|
||||
|
|
@ -3427,7 +3425,7 @@ namespace Cantera {
|
|||
//double xx = MAX(m_xmolSolventMIN, xmolSolvent);
|
||||
// double lnxs = log(xx);
|
||||
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
if (CROP_speciesCropped_[k] == 2) {
|
||||
m_dlnActCoeffMolaldT_Unscaled[k] = 0.0;
|
||||
}
|
||||
|
|
@ -4294,7 +4292,7 @@ namespace Cantera {
|
|||
//double xx = MAX(m_xmolSolventMIN, xmolSolvent);
|
||||
//double lnxs = log(xx);
|
||||
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
if (CROP_speciesCropped_[k] == 2) {
|
||||
m_d2lnActCoeffMolaldT2_Unscaled[k] = 0.0;
|
||||
}
|
||||
|
|
@ -6174,7 +6172,6 @@ namespace Cantera {
|
|||
* gamma_o_molar = gamma_o_molal
|
||||
*/
|
||||
void HMWSoln::s_updateIMS_lnMolalityActCoeff() const {
|
||||
int k;
|
||||
double tmp;
|
||||
/*
|
||||
* Calculate the molalities. Currently, the molalities
|
||||
|
|
@ -6186,21 +6183,21 @@ namespace Cantera {
|
|||
double xmolSolvent = moleFraction(m_indexSolvent);
|
||||
double xx = MAX(m_xmolSolventMIN, xmolSolvent);
|
||||
if (IMS_typeCutoff_ == 0) {
|
||||
for (k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
IMS_lnActCoeffMolal_[k]= 0.0;
|
||||
}
|
||||
IMS_lnActCoeffMolal_[m_indexSolvent] = - log(xx) + (xx - 1.0)/xx;
|
||||
return;
|
||||
} else if (IMS_typeCutoff_ == 1) {
|
||||
if (xmolSolvent > 3.0 * IMS_X_o_cutoff_/2.0 ) {
|
||||
for (k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
IMS_lnActCoeffMolal_[k]= 0.0;
|
||||
}
|
||||
IMS_lnActCoeffMolal_[m_indexSolvent] = - log(xx) + (xx - 1.0)/xx;
|
||||
return;
|
||||
} else if (xmolSolvent < IMS_X_o_cutoff_/2.0) {
|
||||
tmp = log(xx * IMS_gamma_k_min_);
|
||||
for (k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
IMS_lnActCoeffMolal_[k]= tmp;
|
||||
}
|
||||
IMS_lnActCoeffMolal_[m_indexSolvent] = log(IMS_gamma_o_min_);
|
||||
|
|
@ -6239,7 +6236,7 @@ namespace Cantera {
|
|||
double lngammao =-log(g) - tmp * (1.0-xmolSolvent);
|
||||
|
||||
tmp = log(xmolSolvent) + lngammak;
|
||||
for (k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
IMS_lnActCoeffMolal_[k]= tmp;
|
||||
}
|
||||
IMS_lnActCoeffMolal_[m_indexSolvent] = lngammao;
|
||||
|
|
@ -6248,7 +6245,7 @@ namespace Cantera {
|
|||
// Exponentials - trial 2
|
||||
else if (IMS_typeCutoff_ == 2) {
|
||||
if (xmolSolvent > IMS_X_o_cutoff_) {
|
||||
for (k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
IMS_lnActCoeffMolal_[k]= 0.0;
|
||||
}
|
||||
IMS_lnActCoeffMolal_[m_indexSolvent] = - log(xx) + (xx - 1.0)/xx;
|
||||
|
|
@ -6275,7 +6272,7 @@ namespace Cantera {
|
|||
double lngammao =-log(g) - tmp * (1.0-xmolSolvent);
|
||||
|
||||
tmp = log(xx) + lngammak;
|
||||
for (k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
IMS_lnActCoeffMolal_[k]= tmp;
|
||||
}
|
||||
IMS_lnActCoeffMolal_[m_indexSolvent] = lngammao;
|
||||
|
|
@ -6423,7 +6420,7 @@ namespace Cantera {
|
|||
doublereal d2lnGammaClM_dT2_s2 = s_NBS_CLM_d2lnMolalityActCoeff_dT2();
|
||||
doublereal d2lnGammaCLM_dT2_s1 = m_d2lnActCoeffMolaldT2_Unscaled[m_indexCLM];
|
||||
doublereal afac = -1.0 *(d2lnGammaClM_dT2_s2 - d2lnGammaCLM_dT2_s1);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_d2lnActCoeffMolaldT2_Scaled[k] = m_d2lnActCoeffMolaldT2_Unscaled[k] + m_speciesCharge[k] * afac;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1259,7 +1259,6 @@ namespace Cantera {
|
|||
*/
|
||||
void HMWSoln::
|
||||
initThermoXML(XML_Node& phaseNode, std::string id) {
|
||||
int k;
|
||||
string stemp;
|
||||
/*
|
||||
* Find the Thermo XML node
|
||||
|
|
@ -1296,7 +1295,7 @@ namespace Cantera {
|
|||
/*
|
||||
* Reconcile the solvent name and index.
|
||||
*/
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
string sname = speciesName(k);
|
||||
if (solventName == sname) {
|
||||
setSolvent(k);
|
||||
|
|
@ -1331,7 +1330,7 @@ namespace Cantera {
|
|||
&phaseNode.root());
|
||||
const vector<string>&sss = speciesNames();
|
||||
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
XML_Node* s = speciesDB->findByAttr("name", sss[k]);
|
||||
if (!s) {
|
||||
throw CanteraError("HMWSoln::initThermoXML",
|
||||
|
|
@ -1415,7 +1414,7 @@ namespace Cantera {
|
|||
* The default is that stoich charge is the same as the
|
||||
* regular charge.
|
||||
*/
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_speciesCharge_Stoich[k] = m_speciesCharge[k];
|
||||
}
|
||||
|
||||
|
|
@ -1477,7 +1476,7 @@ namespace Cantera {
|
|||
if (irNode.hasAttrib("default")) {
|
||||
string ads = irNode.attrib("default");
|
||||
double ad = fpValue(ads);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_Aionic[k] = ad * Afactor;
|
||||
}
|
||||
}
|
||||
|
|
@ -1493,7 +1492,7 @@ namespace Cantera {
|
|||
|
||||
string kname, jname;
|
||||
size_t jj = xspecies.size();
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
size_t jmap = -1;
|
||||
kname = speciesName(k);
|
||||
for (size_t j = 0; j < jj; j++) {
|
||||
|
|
@ -1580,7 +1579,7 @@ namespace Cantera {
|
|||
* First fill in default values. Everthing is either
|
||||
* a charge species, a nonpolar neutral, or the solvent.
|
||||
*/
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (fabs(m_speciesCharge[k]) > 0.0001) {
|
||||
m_electrolyteSpeciesType[k] = cEST_chargedSpecies;
|
||||
if (fabs(m_speciesCharge_Stoich[k] - m_speciesCharge[k])
|
||||
|
|
@ -1602,7 +1601,7 @@ namespace Cantera {
|
|||
std::vector<const XML_Node *> xspecies = speciesData();
|
||||
const XML_Node *spPtr = 0;
|
||||
string kname;
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
kname = speciesName(k);
|
||||
spPtr = xspecies[k];
|
||||
if (!spPtr) {
|
||||
|
|
|
|||
|
|
@ -175,7 +175,7 @@ namespace Cantera {
|
|||
* Get the array of non-dimensional activity coefficients
|
||||
*/
|
||||
void IdealGasPhase::getActivityCoefficients(doublereal *ac) const {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
ac[k] = 1.0;
|
||||
}
|
||||
}
|
||||
|
|
@ -189,7 +189,7 @@ namespace Cantera {
|
|||
scale(gibbsrt.begin(), gibbsrt.end(), muStar, _RT());
|
||||
double tmp = log (pressure() /m_spthermo->refPressure());
|
||||
tmp *= GasConstant * temperature();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
muStar[k] += tmp; // add RT*ln(P/P_0)
|
||||
}
|
||||
}
|
||||
|
|
@ -202,7 +202,7 @@ namespace Cantera {
|
|||
doublereal xx;
|
||||
doublereal rt = temperature() * GasConstant;
|
||||
//const array_fp& g_RT = gibbs_RT_ref();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
xx = fmaxx(SmallNumber, moleFraction(k));
|
||||
mu[k] += rt*(log(xx));
|
||||
}
|
||||
|
|
@ -227,7 +227,7 @@ namespace Cantera {
|
|||
doublereal r = GasConstant;
|
||||
scale(_s.begin(), _s.end(), sbar, r);
|
||||
doublereal logp = log(pressure()/m_spthermo->refPressure());
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
doublereal xx = fmaxx(SmallNumber, moleFraction(k));
|
||||
sbar[k] += r * (- logp - log(xx));
|
||||
}
|
||||
|
|
@ -240,7 +240,7 @@ namespace Cantera {
|
|||
void IdealGasPhase::getPartialMolarIntEnergies(doublereal* ubar) const {
|
||||
const array_fp& _h = enthalpy_RT_ref();
|
||||
doublereal rt = GasConstant * temperature();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
ubar[k] = rt * (_h[k] - 1.0);
|
||||
}
|
||||
}
|
||||
|
|
@ -259,7 +259,7 @@ namespace Cantera {
|
|||
*/
|
||||
void IdealGasPhase::getPartialMolarVolumes(doublereal* vbar) const {
|
||||
double vol = 1.0 / molarDensity();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
vbar[k] = vol;
|
||||
}
|
||||
}
|
||||
|
|
@ -285,7 +285,7 @@ namespace Cantera {
|
|||
const array_fp& _s = entropy_R_ref();
|
||||
copy(_s.begin(), _s.end(), sr);
|
||||
double tmp = log (pressure() /m_spthermo->refPressure());
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
sr[k] -= tmp;
|
||||
}
|
||||
}
|
||||
|
|
@ -298,7 +298,7 @@ namespace Cantera {
|
|||
const array_fp& gibbsrt = gibbs_RT_ref();
|
||||
copy(gibbsrt.begin(), gibbsrt.end(), grt);
|
||||
double tmp = log (pressure() /m_spthermo->refPressure());
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
grt[k] += tmp;
|
||||
}
|
||||
}
|
||||
|
|
@ -313,7 +313,7 @@ namespace Cantera {
|
|||
scale(gibbsrt.begin(), gibbsrt.end(), gpure, _RT());
|
||||
double tmp = log (pressure() /m_spthermo->refPressure());
|
||||
tmp *= _RT();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
gpure[k] += tmp;
|
||||
}
|
||||
}
|
||||
|
|
@ -325,7 +325,7 @@ namespace Cantera {
|
|||
*/
|
||||
void IdealGasPhase::getIntEnergy_RT(doublereal *urt) const {
|
||||
const array_fp& _h = enthalpy_RT_ref();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
urt[k] = _h[k] - 1.0;
|
||||
}
|
||||
}
|
||||
|
|
@ -350,7 +350,7 @@ namespace Cantera {
|
|||
*/
|
||||
void IdealGasPhase::getStandardVolumes(doublereal *vol) const {
|
||||
double tmp = 1.0 / molarDensity();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
vol[k] = tmp;
|
||||
}
|
||||
}
|
||||
|
|
@ -405,7 +405,7 @@ namespace Cantera {
|
|||
*/
|
||||
void IdealGasPhase::getIntEnergy_RT_ref(doublereal *urt) const {
|
||||
const array_fp& _h = enthalpy_RT_ref();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
urt[k] = _h[k] - 1.0;
|
||||
}
|
||||
}
|
||||
|
|
@ -422,7 +422,7 @@ namespace Cantera {
|
|||
|
||||
void IdealGasPhase::getStandardVolumes_ref(doublereal *vol) const {
|
||||
doublereal tmp = _RT() / m_p0;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
vol[k] = tmp;
|
||||
}
|
||||
}
|
||||
|
|
@ -468,7 +468,7 @@ namespace Cantera {
|
|||
* by the elemental potential method.
|
||||
*/
|
||||
doublereal pres = 0.0;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
tmp = -grt[k] + mu_RT[k];
|
||||
if (tmp < -600.) {
|
||||
m_pp[k] = 0.0;
|
||||
|
|
@ -508,8 +508,7 @@ namespace Cantera {
|
|||
m_tlast = tnow;
|
||||
|
||||
// update the species Gibbs functions
|
||||
int k;
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_g0_RT[k] = m_h0_RT[k] - m_s0_R[k];
|
||||
}
|
||||
m_logc0 = log(m_p0/(GasConstant * tnow));
|
||||
|
|
|
|||
|
|
@ -291,7 +291,7 @@ namespace Cantera {
|
|||
double *x = &m_tmpV[0];
|
||||
getMoleFractions(x);
|
||||
doublereal vtotal = 0.0;
|
||||
for (int i = 0; i < m_kk; i++) {
|
||||
for (size_t i = 0; i < m_kk; i++) {
|
||||
vtotal += vbar[i] * x[i];
|
||||
}
|
||||
doublereal dd = meanMolecularWeight() / vtotal;
|
||||
|
|
@ -397,12 +397,12 @@ namespace Cantera {
|
|||
if (m_formGC != 1) {
|
||||
double c_solvent = standardConcentration();
|
||||
getActivities(c);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
c[k] *= c_solvent;
|
||||
}
|
||||
} else {
|
||||
getActivities(c);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
double c0 = standardConcentration(k);
|
||||
c[k] *= c0;
|
||||
}
|
||||
|
|
@ -502,7 +502,7 @@ namespace Cantera {
|
|||
*/
|
||||
if (IMS_typeCutoff_ == 0) {
|
||||
calcMolalities();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
ac[k] = m_molalities[k];
|
||||
}
|
||||
double xmolSolvent = moleFraction(m_indexSolvent);
|
||||
|
|
@ -515,7 +515,7 @@ namespace Cantera {
|
|||
/*
|
||||
* Now calculate the array of activities.
|
||||
*/
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
ac[k] = m_molalities[k] * exp(IMS_lnActCoeffMolal_[k]);
|
||||
}
|
||||
double xmolSolvent = moleFraction(m_indexSolvent);
|
||||
|
|
@ -539,7 +539,7 @@ namespace Cantera {
|
|||
void IdealMolalSoln::
|
||||
getMolalityActivityCoefficients(doublereal* acMolality) const {
|
||||
if (IMS_typeCutoff_ == 0) {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
acMolality[k] = 1.0;
|
||||
}
|
||||
double xmolSolvent = moleFraction(m_indexSolvent);
|
||||
|
|
@ -549,7 +549,7 @@ namespace Cantera {
|
|||
} else {
|
||||
s_updateIMS_lnMolalityActCoeff();
|
||||
std::copy(IMS_lnActCoeffMolal_.begin(), IMS_lnActCoeffMolal_.end(), acMolality);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
acMolality[k] = exp(acMolality[k]);
|
||||
}
|
||||
}
|
||||
|
|
@ -610,7 +610,7 @@ namespace Cantera {
|
|||
|
||||
if (IMS_typeCutoff_ == 0 || xmolSolvent > 3.* IMS_X_o_cutoff_/2.0) {
|
||||
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
xx = fmaxx(m_molalities[k], xxSmall);
|
||||
mu[k] += RT * log(xx);
|
||||
}
|
||||
|
|
@ -630,7 +630,7 @@ namespace Cantera {
|
|||
s_updateIMS_lnMolalityActCoeff();
|
||||
|
||||
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
xx = MAX(m_molalities[k], xxSmall);
|
||||
mu[k] += RT * (log(xx) + IMS_lnActCoeffMolal_[k]);
|
||||
}
|
||||
|
|
@ -649,7 +649,7 @@ namespace Cantera {
|
|||
void IdealMolalSoln::getPartialMolarEnthalpies(doublereal* hbar) const {
|
||||
getEnthalpy_RT(hbar);
|
||||
doublereal RT = _RT();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
hbar[k] *= RT;
|
||||
}
|
||||
}
|
||||
|
|
@ -687,7 +687,7 @@ namespace Cantera {
|
|||
doublereal mm;
|
||||
calcMolalities();
|
||||
if (IMS_typeCutoff_ == 0) {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (k != m_indexSolvent) {
|
||||
mm = fmaxx(SmallNumber, m_molalities[k]);
|
||||
sbar[k] -= R * log(mm);
|
||||
|
|
@ -706,7 +706,7 @@ namespace Cantera {
|
|||
* term out front of the log activity term
|
||||
*/
|
||||
doublereal mm;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (k != m_indexSolvent) {
|
||||
mm = fmaxx(SmallNumber, m_molalities[k]);
|
||||
sbar[k] -= R * (log(mm) + IMS_lnActCoeffMolal_[k]);
|
||||
|
|
@ -755,7 +755,7 @@ namespace Cantera {
|
|||
*/
|
||||
getCp_R(cpbar);
|
||||
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
cpbar[k] *= GasConstant;
|
||||
}
|
||||
}
|
||||
|
|
@ -1016,7 +1016,7 @@ namespace Cantera {
|
|||
/*
|
||||
* Reconcile the solvent name and index.
|
||||
*/
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
std::string sname = speciesName(k);
|
||||
if (solventName == sname) {
|
||||
m_indexSolvent = k;
|
||||
|
|
@ -1045,7 +1045,7 @@ namespace Cantera {
|
|||
&phaseNode.root());
|
||||
const std::vector<std::string> &sss = speciesNames();
|
||||
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
XML_Node* s = speciesDB->findByAttr("name", sss[k]);
|
||||
XML_Node *ss = s->findByName("standardState");
|
||||
m_speciesMolarVolume[k] = getFloat(*ss, "molarVolume", "toSI");
|
||||
|
|
@ -1132,7 +1132,6 @@ namespace Cantera {
|
|||
* gamma_o_molar = gamma_o_molal
|
||||
*/
|
||||
void IdealMolalSoln::s_updateIMS_lnMolalityActCoeff() const {
|
||||
int k;
|
||||
double tmp;
|
||||
/*
|
||||
* Calculate the molalities. Currently, the molalities
|
||||
|
|
@ -1145,21 +1144,21 @@ namespace Cantera {
|
|||
double xx = MAX(m_xmolSolventMIN, xmolSolvent);
|
||||
|
||||
if (IMS_typeCutoff_ == 0) {
|
||||
for (k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
IMS_lnActCoeffMolal_[k]= 0.0;
|
||||
}
|
||||
IMS_lnActCoeffMolal_[m_indexSolvent] = - log(xx) + (xx - 1.0)/xx;
|
||||
return;
|
||||
} else if (IMS_typeCutoff_ == 1) {
|
||||
if (xmolSolvent > 3.0 * IMS_X_o_cutoff_/2.0 ) {
|
||||
for (k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
IMS_lnActCoeffMolal_[k]= 0.0;
|
||||
}
|
||||
IMS_lnActCoeffMolal_[m_indexSolvent] = - log(xx) + (xx - 1.0)/xx;
|
||||
return;
|
||||
} else if (xmolSolvent < IMS_X_o_cutoff_/2.0) {
|
||||
tmp = log(xx * IMS_gamma_k_min_);
|
||||
for (k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
IMS_lnActCoeffMolal_[k]= tmp;
|
||||
}
|
||||
IMS_lnActCoeffMolal_[m_indexSolvent] = log(IMS_gamma_o_min_);
|
||||
|
|
@ -1199,7 +1198,7 @@ namespace Cantera {
|
|||
double lngammao =-log(g) - tmp * (1.0-xmolSolvent);
|
||||
|
||||
tmp = log(xmolSolvent) + lngammak;
|
||||
for (k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
IMS_lnActCoeffMolal_[k]= tmp;
|
||||
}
|
||||
IMS_lnActCoeffMolal_[m_indexSolvent] = lngammao;
|
||||
|
|
@ -1209,7 +1208,7 @@ namespace Cantera {
|
|||
// Exponentials - trial 2
|
||||
else if (IMS_typeCutoff_ == 2) {
|
||||
if (xmolSolvent > IMS_X_o_cutoff_) {
|
||||
for (k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
IMS_lnActCoeffMolal_[k]= 0.0;
|
||||
}
|
||||
IMS_lnActCoeffMolal_[m_indexSolvent] = - log(xx) + (xx - 1.0)/xx;
|
||||
|
|
@ -1234,7 +1233,7 @@ namespace Cantera {
|
|||
double lngammao =-log(g) - tmp * (1.0-xmolSolvent);
|
||||
|
||||
tmp = log(xx) + lngammak;
|
||||
for (k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
IMS_lnActCoeffMolal_[k]= tmp;
|
||||
}
|
||||
IMS_lnActCoeffMolal_[m_indexSolvent] = lngammao;
|
||||
|
|
|
|||
|
|
@ -451,18 +451,18 @@ namespace Cantera {
|
|||
const double mmw = meanMolecularWeight();
|
||||
switch (m_formGC) {
|
||||
case 0:
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
c[k] = dtmp[k] * mmw;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
c[k] = dtmp[k] * mmw / m_speciesMolarVolume[k];
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
double atmp = mmw / m_speciesMolarVolume[m_kk-1];
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
c[k] = dtmp[k] * atmp;
|
||||
}
|
||||
break;
|
||||
|
|
@ -593,7 +593,7 @@ namespace Cantera {
|
|||
*/
|
||||
void IdealSolidSolnPhase::
|
||||
getActivityCoefficients(doublereal *ac) const {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
ac[k] = 1.0;
|
||||
}
|
||||
}
|
||||
|
|
@ -620,7 +620,7 @@ namespace Cantera {
|
|||
doublereal xx;
|
||||
doublereal RT = temperature() * GasConstant;
|
||||
const array_fp& g_RT = gibbs_RT_ref();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
xx = fmaxx(SmallNumber, moleFraction(k));
|
||||
mu[k] = RT * (g_RT[k] + log(xx))
|
||||
+ delta_p * m_speciesMolarVolume[k];
|
||||
|
|
@ -650,7 +650,7 @@ namespace Cantera {
|
|||
doublereal delta_pdRT = (m_Pcurrent - m_Pref) / RT;
|
||||
doublereal xx;
|
||||
const array_fp& g_RT = gibbs_RT_ref();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
xx = fmaxx(SmallNumber, moleFraction(k));
|
||||
mu[k] = (g_RT[k] + log(xx))
|
||||
+ delta_pdRT * m_speciesMolarVolume[k];
|
||||
|
|
@ -705,7 +705,7 @@ namespace Cantera {
|
|||
const array_fp& _s = entropy_R_ref();
|
||||
doublereal r = GasConstant;
|
||||
doublereal xx;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
xx = fmaxx(SmallNumber, moleFraction(k));
|
||||
sbar[k] = r * (_s[k] - log(xx));
|
||||
}
|
||||
|
|
@ -722,7 +722,7 @@ namespace Cantera {
|
|||
void IdealSolidSolnPhase::
|
||||
getPartialMolarCp(doublereal* cpbar) const {
|
||||
getCp_R(cpbar);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
cpbar[k] *= GasConstant;
|
||||
}
|
||||
}
|
||||
|
|
@ -768,7 +768,7 @@ namespace Cantera {
|
|||
doublereal RT = _RT();
|
||||
const doublereal * const gk = DATA_PTR(gibbsrt);
|
||||
doublereal delta_p = (m_Pcurrent - m_Pref);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
gpure[k] = RT * gk[k] + delta_p * m_speciesMolarVolume[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -794,7 +794,7 @@ namespace Cantera {
|
|||
doublereal RT = _RT();
|
||||
const doublereal * const gk = DATA_PTR(gibbsrt);
|
||||
doublereal delta_prt = (m_Pcurrent - m_Pref)/ RT;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
grt[k] = gk[k] + delta_prt * m_speciesMolarVolume[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -819,7 +819,7 @@ namespace Cantera {
|
|||
const array_fp& _h = enthalpy_RT_ref();
|
||||
doublereal delta_prt = ((m_Pcurrent - m_Pref) /
|
||||
(GasConstant * temperature()));
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
hrt[k] = _h[k] + delta_prt * m_speciesMolarVolume[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -856,7 +856,7 @@ namespace Cantera {
|
|||
void IdealSolidSolnPhase::getIntEnergy_RT(doublereal *urt) const {
|
||||
const array_fp& _h = enthalpy_RT_ref();
|
||||
doublereal prefrt = m_Pref / (GasConstant * temperature());
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
urt[k] = _h[k] - prefrt * m_speciesMolarVolume[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -947,7 +947,7 @@ namespace Cantera {
|
|||
void IdealSolidSolnPhase::getIntEnergy_RT_ref(doublereal *urt) const {
|
||||
const array_fp& _h = enthalpy_RT_ref();
|
||||
doublereal prefrt = m_Pref / (GasConstant * temperature());
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
urt[k] = _h[k] - prefrt * m_speciesMolarVolume[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -1241,7 +1241,7 @@ namespace Cantera {
|
|||
&phaseNode.root());
|
||||
const vector<string>&sss = speciesNames();
|
||||
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
XML_Node* s = speciesDB->findByAttr("name", sss[k]);
|
||||
XML_Node *ss = s->findByName("standardState");
|
||||
m_speciesMolarVolume[k] = getFloat(*ss, "molarVolume", "toSI");
|
||||
|
|
@ -1305,9 +1305,9 @@ namespace Cantera {
|
|||
// set the pressure and composition to be consistent with
|
||||
// the temperature,
|
||||
doublereal pres = 0.0;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_pp[k] = -grt[k];
|
||||
for (int m = 0; m < m_mm; m++) {
|
||||
for (size_t m = 0; m < m_mm; m++) {
|
||||
m_pp[k] += nAtoms(k,m)*lambda_RT[m];
|
||||
}
|
||||
m_pp[k] = m_Pref * exp(m_pp[k]);
|
||||
|
|
@ -1366,9 +1366,8 @@ namespace Cantera {
|
|||
DATA_PTR(m_s0_R));
|
||||
m_tlast = tnow;
|
||||
doublereal rrt = 1.0 / (GasConstant * tnow);
|
||||
int k;
|
||||
doublereal deltaE;
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
deltaE = rrt * m_pe[k];
|
||||
m_h0_RT[k] += deltaE;
|
||||
m_g0_RT[k] = m_h0_RT[k] - m_s0_R[k];
|
||||
|
|
|
|||
|
|
@ -198,21 +198,20 @@ namespace Cantera {
|
|||
if (m_idealGas) {
|
||||
getConcentrations(c);
|
||||
} else {
|
||||
int k;
|
||||
const vector_fp& vss = m_VPSS_ptr->standardVolumes();
|
||||
switch (m_formGC) {
|
||||
case 0:
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
c[k] = moleFraction(k);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
c[k] = moleFraction(k) / vss[k];
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
c[k] = moleFraction(k) / vss[0];
|
||||
}
|
||||
break;
|
||||
|
|
@ -302,7 +301,7 @@ namespace Cantera {
|
|||
* Get the array of non-dimensional activity coefficients
|
||||
*/
|
||||
void IdealSolnGasVPSS::getActivityCoefficients(doublereal *ac) const {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
ac[k] = 1.0;
|
||||
}
|
||||
}
|
||||
|
|
@ -323,7 +322,7 @@ namespace Cantera {
|
|||
void IdealSolnGasVPSS::getChemPotentials_RT(doublereal* muRT) const{
|
||||
getChemPotentials(muRT);
|
||||
doublereal invRT = 1.0 / _RT();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
muRT[k] *= invRT;
|
||||
}
|
||||
}
|
||||
|
|
@ -332,7 +331,7 @@ namespace Cantera {
|
|||
getStandardChemPotentials(mu);
|
||||
doublereal xx;
|
||||
doublereal rt = temperature() * GasConstant;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
xx = fmaxx(SmallNumber, moleFraction(k));
|
||||
mu[k] += rt*(log(xx));
|
||||
}
|
||||
|
|
@ -349,7 +348,7 @@ namespace Cantera {
|
|||
getEntropy_R(sbar);
|
||||
doublereal r = GasConstant;
|
||||
scale(sbar, sbar+m_kk, sbar, r);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
doublereal xx = fmaxx(SmallNumber, moleFraction(k));
|
||||
sbar[k] += r * ( - log(xx));
|
||||
}
|
||||
|
|
@ -404,7 +403,7 @@ namespace Cantera {
|
|||
*/
|
||||
doublereal pres = 0.0;
|
||||
double m_p0 = m_VPSS_ptr->refPressure();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
tmp = -grt[k] + mu_RT[k];
|
||||
if (tmp < -600.) {
|
||||
m_pp[k] = 0.0;
|
||||
|
|
|
|||
|
|
@ -425,7 +425,7 @@ namespace Cantera {
|
|||
/*
|
||||
* take the exp of the internally storred coefficients.
|
||||
*/
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
ac[k] = exp(lnActCoeff_Scaled_[k]);
|
||||
}
|
||||
}
|
||||
|
|
@ -532,7 +532,7 @@ namespace Cantera {
|
|||
*/
|
||||
double T = temperature();
|
||||
double RT = GasConstant * T;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
hbar[k] *= RT;
|
||||
}
|
||||
/*
|
||||
|
|
@ -542,7 +542,7 @@ namespace Cantera {
|
|||
s_update_lnActCoeff();
|
||||
s_update_dlnActCoeffdT();
|
||||
double RTT = RT * T;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
hbar[k] -= RTT * dlnActCoeffdT_Scaled_[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -575,14 +575,14 @@ namespace Cantera {
|
|||
s_update_lnActCoeff();
|
||||
s_update_dlnActCoeffdT();
|
||||
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
xx = fmaxx(moleFractions_[k], xxSmall);
|
||||
sbar[k] += - lnActCoeff_Scaled_[k] -log(xx) - T * dlnActCoeffdT_Scaled_[k];
|
||||
}
|
||||
/*
|
||||
* dimensionalize it.
|
||||
*/
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
sbar[k] *= GasConstant;
|
||||
}
|
||||
}
|
||||
|
|
@ -611,7 +611,7 @@ namespace Cantera {
|
|||
s_update_lnActCoeff();
|
||||
s_update_dlnActCoeff_dlnX();
|
||||
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
dlnActCoeffdlnX[k] = dlnActCoeffdlnX_Scaled_[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -639,7 +639,7 @@ namespace Cantera {
|
|||
s_update_lnActCoeff();
|
||||
s_update_dlnActCoeff_dlnN();
|
||||
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
dlnActCoeffdlnN[k] = dlnActCoeffdlnN_Scaled_[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -686,7 +686,6 @@ namespace Cantera {
|
|||
* @param mf Dump the mole fractions into this vector.
|
||||
*/
|
||||
void IonsFromNeutralVPSSTP::calcIonMoleFractions(doublereal * const mf) const {
|
||||
int k;
|
||||
doublereal fmij;
|
||||
/*
|
||||
* Download the neutral mole fraction vector into the
|
||||
|
|
@ -700,8 +699,8 @@ namespace Cantera {
|
|||
/*
|
||||
* Use the formula matrix to calculate the relative mole numbers.
|
||||
*/
|
||||
for (int jNeut = 0; jNeut < numNeutralMoleculeSpecies_; jNeut++) {
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t jNeut = 0; jNeut < numNeutralMoleculeSpecies_; jNeut++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
fmij = fm_neutralMolec_ions_[k + jNeut * m_kk];
|
||||
mf[k] += fmij * NeutralMolecMoleFractions_[jNeut];
|
||||
}
|
||||
|
|
@ -711,10 +710,10 @@ namespace Cantera {
|
|||
* Normalize the new mole fractions
|
||||
*/
|
||||
doublereal sum = 0.0;
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
sum += mf[k];
|
||||
}
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
mf[k] /= sum;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -854,7 +854,7 @@ namespace Cantera {
|
|||
|
||||
//! Number of the species in this ThermoPhase which are passed
|
||||
//! through to the neutralMoleculePhase ThermoPhase
|
||||
int numPassThroughSpecies_;
|
||||
size_t numPassThroughSpecies_;
|
||||
|
||||
public:
|
||||
//! This is a pointer to the neutral Molecule Phase
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ namespace Cantera {
|
|||
}
|
||||
|
||||
void LatticePhase::getActivityCoefficients(doublereal* ac) const {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
ac[k] = 1.0;
|
||||
}
|
||||
}
|
||||
|
|
@ -139,7 +139,7 @@ namespace Cantera {
|
|||
doublereal xx;
|
||||
doublereal rt = temperature() * GasConstant;
|
||||
const array_fp& g_RT = gibbs_RT_ref();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
xx = fmaxx(SmallNumber, moleFraction(k));
|
||||
mu[k] = rt*(g_RT[k] + log(xx)) + vdp;
|
||||
}
|
||||
|
|
@ -163,7 +163,7 @@ namespace Cantera {
|
|||
const array_fp& _h = enthalpy_RT_ref();
|
||||
std::copy(_h.begin(), _h.end(), hrt);
|
||||
doublereal tmp = (pressure() - m_p0) / (molarDensity() * GasConstant * temperature());
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
hrt[k] += tmp;
|
||||
}
|
||||
}
|
||||
|
|
@ -185,7 +185,7 @@ namespace Cantera {
|
|||
|
||||
void LatticePhase::getStandardVolumes(doublereal* vbar) const {
|
||||
doublereal vv = 1.0/m_molar_density;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
vbar[k] = vv;
|
||||
}
|
||||
}
|
||||
|
|
@ -217,8 +217,7 @@ namespace Cantera {
|
|||
m_spthermo->update(tnow, &m_cp0_R[0], &m_h0_RT[0],
|
||||
&m_s0_R[0]);
|
||||
m_tlast = tnow;
|
||||
int k;
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_g0_RT[k] = m_h0_RT[k] - m_s0_R[k];
|
||||
}
|
||||
m_tlast = tnow;
|
||||
|
|
|
|||
|
|
@ -359,7 +359,7 @@ namespace Cantera {
|
|||
/*
|
||||
* take the exp of the internally storred coefficients.
|
||||
*/
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
ac[k] = exp(lnActCoeff_Scaled_[k]);
|
||||
}
|
||||
}
|
||||
|
|
@ -373,7 +373,7 @@ namespace Cantera {
|
|||
void MargulesVPSSTP::getElectrochemPotentials(doublereal* mu) const {
|
||||
getChemPotentials(mu);
|
||||
double ve = Faraday * electricPotential();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
mu[k] += ve*charge(k);
|
||||
}
|
||||
}
|
||||
|
|
@ -396,7 +396,7 @@ namespace Cantera {
|
|||
*
|
||||
*/
|
||||
doublereal RT = GasConstant * temperature();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
xx = fmaxx(moleFractions_[k], xxSmall);
|
||||
mu[k] += RT * (log(xx) + lnActCoeff_Scaled_[k]);
|
||||
}
|
||||
|
|
@ -427,7 +427,7 @@ namespace Cantera {
|
|||
*/
|
||||
double T = temperature();
|
||||
double RT = GasConstant * T;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
hbar[k] *= RT;
|
||||
}
|
||||
/*
|
||||
|
|
@ -437,7 +437,7 @@ namespace Cantera {
|
|||
s_update_lnActCoeff();
|
||||
s_update_dlnActCoeff_dT();
|
||||
double RTT = RT * T;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
hbar[k] -= RTT * dlnActCoeffdT_Scaled_[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -470,14 +470,14 @@ namespace Cantera {
|
|||
s_update_lnActCoeff();
|
||||
s_update_dlnActCoeff_dT();
|
||||
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
xx = fmaxx(moleFractions_[k], xxSmall);
|
||||
sbar[k] += - lnActCoeff_Scaled_[k] -log(xx) - T * dlnActCoeffdT_Scaled_[k];
|
||||
}
|
||||
/*
|
||||
* dimensionalize it.
|
||||
*/
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
sbar[k] *= GasConstant;
|
||||
}
|
||||
}
|
||||
|
|
@ -498,7 +498,7 @@ namespace Cantera {
|
|||
*/
|
||||
void MargulesVPSSTP::getPartialMolarVolumes(doublereal* vbar) const {
|
||||
|
||||
size_t iA, iB, iK, delAK, delBK;
|
||||
size_t iA, iB, delAK, delBK;
|
||||
double XA, XB, XK, g0 , g1;
|
||||
double T = temperature();
|
||||
|
||||
|
|
@ -510,7 +510,7 @@ namespace Cantera {
|
|||
//cout << "iA = " << speciesName(m_pSpecies_A_ij[0]) << endl;
|
||||
//cout << "iB = " << speciesName(m_pSpecies_B_ij[0]) << endl;
|
||||
|
||||
for ( iK = 0; iK < m_kk; iK++ ){
|
||||
for (size_t iK = 0; iK < m_kk; iK++) {
|
||||
delAK = 0;
|
||||
delBK = 0;
|
||||
XK = moleFractions_[iK];
|
||||
|
|
@ -782,7 +782,7 @@ namespace Cantera {
|
|||
|
||||
void MargulesVPSSTP::getdlnActCoeffdT(doublereal *dlnActCoeffdT) const {
|
||||
s_update_dlnActCoeff_dT();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
dlnActCoeffdT[k] = dlnActCoeffdT_Scaled_[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -922,19 +922,19 @@ namespace Cantera {
|
|||
|
||||
void MargulesVPSSTP::getdlnActCoeffdlnN(doublereal *dlnActCoeffdlnN) const {
|
||||
s_update_dlnActCoeff_dlnN();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
dlnActCoeffdlnN[k] = dlnActCoeffdlnN_Scaled_[k];
|
||||
}
|
||||
}
|
||||
void MargulesVPSSTP::getdlnActCoeffdlnX(doublereal *dlnActCoeffdlnX) const {
|
||||
s_update_dlnActCoeff_dlnX();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
dlnActCoeffdlnX[k] = dlnActCoeffdlnX_Scaled_[k];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MargulesVPSSTP::resizeNumInteractions(const int num) {
|
||||
void MargulesVPSSTP::resizeNumInteractions(const size_t num) {
|
||||
numBinaryInteractions_ = num;
|
||||
m_HE_b_ij.resize(num, 0.0);
|
||||
m_HE_c_ij.resize(num, 0.0);
|
||||
|
|
|
|||
|
|
@ -747,7 +747,7 @@ namespace Cantera {
|
|||
/*!
|
||||
* @param num Number of binary Margules interaction terms
|
||||
*/
|
||||
void resizeNumInteractions(const int num);
|
||||
void resizeNumInteractions(const size_t num);
|
||||
|
||||
|
||||
//! Initialize lengths of local variables after all species have
|
||||
|
|
@ -801,7 +801,7 @@ namespace Cantera {
|
|||
|
||||
|
||||
//! number of binary interaction expressions
|
||||
int numBinaryInteractions_;
|
||||
size_t numBinaryInteractions_;
|
||||
|
||||
//! Enthalpy term for the binary mole fraction interaction of the
|
||||
//! excess gibbs free energy expression
|
||||
|
|
|
|||
|
|
@ -155,8 +155,8 @@ namespace Cantera {
|
|||
* of the solvent and the m_Mnaught parameter.
|
||||
* @param k index of the solvent.
|
||||
*/
|
||||
void MolalityVPSSTP::setSolvent(int k) {
|
||||
if (k < 0 || k >= m_kk) {
|
||||
void MolalityVPSSTP::setSolvent(size_t k) {
|
||||
if (k >= m_kk) {
|
||||
throw CanteraError("MolalityVPSSTP::setSolute ",
|
||||
"bad value");
|
||||
}
|
||||
|
|
@ -217,7 +217,7 @@ namespace Cantera {
|
|||
xmolSolvent = m_xmolSolventMIN;
|
||||
}
|
||||
double denomInv = 1.0/ (m_Mnaught * xmolSolvent);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_molalities[k] *= denomInv;
|
||||
}
|
||||
}
|
||||
|
|
@ -239,7 +239,7 @@ namespace Cantera {
|
|||
*/
|
||||
void MolalityVPSSTP::getMolalities(doublereal * const molal) const {
|
||||
calcMolalities();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
molal[k] = m_molalities[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -262,20 +262,20 @@ namespace Cantera {
|
|||
void MolalityVPSSTP::setMolalities(const doublereal * const molal) {
|
||||
|
||||
double Lsum = 1.0 / m_Mnaught;
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
m_molalities[k] = molal[k];
|
||||
Lsum += molal[k];
|
||||
}
|
||||
double tmp = 1.0 / Lsum;
|
||||
m_molalities[m_indexSolvent] = tmp / m_Mnaught;
|
||||
double sum = m_molalities[m_indexSolvent];
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
m_molalities[k] = tmp * molal[k];
|
||||
sum += m_molalities[k];
|
||||
}
|
||||
if (sum != 1.0) {
|
||||
tmp = 1.0 / sum;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_molalities[k] *= tmp;
|
||||
}
|
||||
}
|
||||
|
|
@ -462,7 +462,7 @@ namespace Cantera {
|
|||
if (xmolSolvent < m_xmolSolventMIN) {
|
||||
xmolSolvent = m_xmolSolventMIN;
|
||||
}
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
ac[k] /= xmolSolvent;
|
||||
}
|
||||
}
|
||||
|
|
@ -508,7 +508,7 @@ namespace Cantera {
|
|||
* Then, we calculate the sum of the solvent molalities
|
||||
*/
|
||||
double sum = 0;
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
sum += fmaxx(m_molalities[k], 0.0);
|
||||
}
|
||||
double oc = 1.0;
|
||||
|
|
@ -523,7 +523,7 @@ namespace Cantera {
|
|||
void MolalityVPSSTP::getElectrochemPotentials(doublereal* mu) const {
|
||||
getChemPotentials(mu);
|
||||
double ve = Faraday * electricPotential();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
mu[k] += ve*charge(k);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -289,7 +289,7 @@ namespace Cantera {
|
|||
*
|
||||
* @param k the solvent index number
|
||||
*/
|
||||
void setSolvent(int k);
|
||||
void setSolvent(size_t k);
|
||||
|
||||
/**
|
||||
* Sets the minimum mole fraction in the molality formulation.
|
||||
|
|
|
|||
|
|
@ -121,9 +121,9 @@ namespace Cantera {
|
|||
void Mu0Poly::
|
||||
updateProperties(const doublereal* tt, doublereal* cp_R,
|
||||
doublereal* h_RT, doublereal* s_R) const {
|
||||
int j = m_numIntervals;
|
||||
size_t j = m_numIntervals;
|
||||
double T = *tt;
|
||||
for (int i = 0; i < m_numIntervals; i++) {
|
||||
for (size_t i = 0; i < m_numIntervals; i++) {
|
||||
double T2 = m_t0_int[i+1];
|
||||
if (T <=T2) {
|
||||
j = i;
|
||||
|
|
@ -162,10 +162,10 @@ namespace Cantera {
|
|||
tlow = m_lowT;
|
||||
thigh = m_highT;
|
||||
pref = m_Pref;
|
||||
coeffs[0] = m_numIntervals+1;
|
||||
coeffs[0] = int(m_numIntervals)+1;
|
||||
coeffs[1] = m_H298 * GasConstant;
|
||||
int j = 2;
|
||||
for (int i = 0; i < m_numIntervals+1; i++) {
|
||||
for (size_t i = 0; i < m_numIntervals+1; i++) {
|
||||
coeffs[j] = m_t0_int[i];
|
||||
coeffs[j+1] = m_mu0_R_int[i] * GasConstant;
|
||||
j += 2;
|
||||
|
|
@ -285,16 +285,16 @@ namespace Cantera {
|
|||
*/
|
||||
void Mu0Poly::processCoeffs(const doublereal* coeffs) {
|
||||
|
||||
int i, iindex;
|
||||
size_t i, iindex;
|
||||
double T1, T2;
|
||||
int nPoints = (int) coeffs[0];
|
||||
size_t nPoints = (size_t) coeffs[0];
|
||||
if (nPoints < 2) {
|
||||
throw CanteraError("Mu0Poly",
|
||||
"nPoints must be >= 2");
|
||||
}
|
||||
m_numIntervals = nPoints - 1;
|
||||
m_H298 = coeffs[1] / GasConstant;
|
||||
int iT298 = 0;
|
||||
size_t iT298 = 0;
|
||||
/*
|
||||
* Resize according to the number of points
|
||||
*/
|
||||
|
|
@ -360,12 +360,12 @@ namespace Cantera {
|
|||
/*
|
||||
* Starting from the interval with T298, we go down
|
||||
*/
|
||||
if (iT298 > 0) {
|
||||
if (iT298 != 0) {
|
||||
T2 = m_t0_int[iT298];
|
||||
mu2 = m_mu0_R_int[iT298];
|
||||
m_h0_R_int[iT298] = m_H298;
|
||||
m_s0_R_int[iT298] = - (mu2 - m_h0_R_int[iT298]) / T2;
|
||||
for (i = iT298 - 1; i >= 0; i--) {
|
||||
for (i = iT298 - 1; i != -1; i--) {
|
||||
T1 = m_t0_int[i];
|
||||
mu1 = m_mu0_R_int[i];
|
||||
T2 = m_t0_int[i+1];
|
||||
|
|
|
|||
|
|
@ -211,7 +211,7 @@ namespace Cantera {
|
|||
* approximation. Number of points is one more than the
|
||||
* number of intervals.
|
||||
*/
|
||||
int m_numIntervals;
|
||||
size_t m_numIntervals;
|
||||
|
||||
/**
|
||||
* Value of the enthalpy at T = 298.15.
|
||||
|
|
|
|||
|
|
@ -301,7 +301,7 @@ namespace Cantera {
|
|||
void Phase::getMoleFractionsByName(compositionMap& x) const {
|
||||
x.clear();
|
||||
size_t kk = nSpecies();
|
||||
for (int k = 0; k < kk; k++) {
|
||||
for (size_t k = 0; k < kk; k++) {
|
||||
x[speciesName(k)] = State::moleFraction(k);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -157,13 +157,13 @@ namespace Cantera {
|
|||
void PseudoBinaryVPSSTP::getElectrochemPotentials(doublereal* mu) const {
|
||||
getChemPotentials(mu);
|
||||
double ve = Faraday * electricPotential();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
mu[k] += ve*charge(k);
|
||||
}
|
||||
}
|
||||
|
||||
void PseudoBinaryVPSSTP::calcPseudoBinaryMoleFractions() const {
|
||||
int k;
|
||||
size_t k;
|
||||
doublereal sumCat;
|
||||
doublereal sumAnion;
|
||||
doublereal sum = 0.0;
|
||||
|
|
|
|||
|
|
@ -541,7 +541,7 @@ namespace Cantera {
|
|||
csvFile << setw(tabS+(tabM+1)*pNames.size()) << "-\n";
|
||||
csvFile.fill(' ');
|
||||
*/
|
||||
for (int k = 0; k < kk; k++) {
|
||||
for (size_t k = 0; k < kk; k++) {
|
||||
csvFile << setw(tabS) << speciesName(k) + ",";
|
||||
if (x[k] > SmallNumber) {
|
||||
for ( int i = 0; i < (int)pNames.size(); i++ ){
|
||||
|
|
|
|||
|
|
@ -445,7 +445,7 @@ namespace Cantera {
|
|||
/*!
|
||||
* This is less than or equal to the number of species in the phase.
|
||||
*/
|
||||
int m_nspData;
|
||||
size_t m_nspData;
|
||||
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -166,7 +166,7 @@ namespace Cantera {
|
|||
void SurfPhase::getPartialMolarEnthalpies(doublereal* hbar) const {
|
||||
getEnthalpy_RT(hbar);
|
||||
doublereal rt = GasConstant * temperature();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
hbar[k] *= rt;
|
||||
}
|
||||
}
|
||||
|
|
@ -179,7 +179,7 @@ namespace Cantera {
|
|||
*/
|
||||
void SurfPhase::getPartialMolarEntropies(doublereal* sbar) const {
|
||||
getEntropy_R(sbar);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
sbar[k] *= GasConstant;
|
||||
}
|
||||
}
|
||||
|
|
@ -192,7 +192,7 @@ namespace Cantera {
|
|||
*/
|
||||
void SurfPhase::getPartialMolarCp(doublereal* cpbar) const {
|
||||
getCp_R(cpbar);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
cpbar[k] *= GasConstant;
|
||||
}
|
||||
}
|
||||
|
|
@ -209,9 +209,8 @@ namespace Cantera {
|
|||
void SurfPhase::getChemPotentials(doublereal* mu) const {
|
||||
_updateThermo();
|
||||
copy(m_mu0.begin(), m_mu0.end(), mu);
|
||||
int k;
|
||||
getActivityConcentrations(DATA_PTR(m_work));
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
mu[k] += GasConstant * temperature() *
|
||||
(log(m_work[k]) - logStandardConc(k));
|
||||
}
|
||||
|
|
@ -270,7 +269,7 @@ namespace Cantera {
|
|||
|
||||
void SurfPhase::getStandardVolumes(doublereal* vol) const {
|
||||
_updateThermo();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
vol[k] = 1.0/standardConcentration(k);
|
||||
}
|
||||
}
|
||||
|
|
@ -341,18 +340,17 @@ namespace Cantera {
|
|||
void SurfPhase::
|
||||
setCoverages(const doublereal* theta) {
|
||||
double sum = 0.0;
|
||||
int k;
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
sum += theta[k];
|
||||
}
|
||||
if (sum <= 0.0) {
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
cout << "theta(" << k << ") = " << theta[k] << endl;
|
||||
}
|
||||
throw CanteraError("SurfPhase::setCoverages",
|
||||
"Sum of Coverage fractions is zero or negative");
|
||||
}
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_work[k] = m_n0*theta[k]/(sum*size(k));
|
||||
}
|
||||
/*
|
||||
|
|
@ -364,7 +362,7 @@ namespace Cantera {
|
|||
|
||||
void SurfPhase::
|
||||
setCoveragesNoNorm(const doublereal* theta) {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_work[k] = m_n0*theta[k]/(size(k));
|
||||
}
|
||||
/*
|
||||
|
|
@ -377,7 +375,7 @@ namespace Cantera {
|
|||
void SurfPhase::
|
||||
getCoverages(doublereal* theta) const {
|
||||
getConcentrations(theta);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
theta[k] *= size(k)/m_n0;
|
||||
}
|
||||
}
|
||||
|
|
@ -416,8 +414,7 @@ namespace Cantera {
|
|||
DATA_PTR(m_s0));
|
||||
m_tlast = tnow;
|
||||
doublereal rt = GasConstant * tnow;
|
||||
int k;
|
||||
for (k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_h0[k] *= rt;
|
||||
m_s0[k] *= GasConstant;
|
||||
m_cp0[k] *= GasConstant;
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ namespace Cantera {
|
|||
|
||||
ThermoPhase::~ThermoPhase()
|
||||
{
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (m_speciesData[k]) {
|
||||
delete m_speciesData[k];
|
||||
m_speciesData[k] = 0;
|
||||
|
|
@ -84,7 +84,7 @@ namespace Cantera {
|
|||
/*
|
||||
* We need to destruct first
|
||||
*/
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
if (m_speciesData[k]) {
|
||||
delete m_speciesData[k];
|
||||
m_speciesData[k] = 0;
|
||||
|
|
@ -109,7 +109,7 @@ namespace Cantera {
|
|||
* Do a deep copy of species Data, because we own this
|
||||
*/
|
||||
m_speciesData.resize(m_kk);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_speciesData[k] = new XML_Node(*(right.m_speciesData[k]));
|
||||
}
|
||||
|
||||
|
|
@ -884,14 +884,14 @@ namespace Cantera {
|
|||
void ThermoPhase::setReferenceComposition(const doublereal *const x) {
|
||||
xMol_Ref.resize(m_kk);
|
||||
if (x) {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
xMol_Ref[k] = x[k];
|
||||
}
|
||||
} else {
|
||||
getMoleFractions(DATA_PTR(xMol_Ref));
|
||||
}
|
||||
double sum = -1.0;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
sum += xMol_Ref[k];
|
||||
}
|
||||
if (fabs(sum) > 1.0E-11) {
|
||||
|
|
@ -902,7 +902,7 @@ namespace Cantera {
|
|||
}
|
||||
|
||||
void ThermoPhase::getReferenceComposition( doublereal *const x) const {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
x[k] = xMol_Ref[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -1008,7 +1008,7 @@ namespace Cantera {
|
|||
bool ThermoPhase::getElementPotentials(doublereal* lambda) const {
|
||||
doublereal rt = GasConstant* temperature();
|
||||
if (m_hasElementPotentials) {
|
||||
for (int m = 0; m < nElements(); m++) {
|
||||
for (size_t m = 0; m < nElements(); m++) {
|
||||
lambda[m] = m_lambdaRRT[m] * rt;
|
||||
}
|
||||
}
|
||||
|
|
@ -1231,7 +1231,7 @@ namespace Cantera {
|
|||
catch (CanteraError) {;}
|
||||
|
||||
csvFile << endl << setw(tabS) << "Species,";
|
||||
for ( int i = 0; i < (int)pNames.size(); i++ ){
|
||||
for (size_t i = 0; i < pNames.size(); i++) {
|
||||
csvFile << setw(tabM) << pNames[i] << ",";
|
||||
}
|
||||
csvFile << endl;
|
||||
|
|
@ -1240,15 +1240,15 @@ namespace Cantera {
|
|||
csvFile << setw(tabS+(tabM+1)*pNames.size()) << "-\n";
|
||||
csvFile.fill(' ');
|
||||
*/
|
||||
for (int k = 0; k < kk; k++) {
|
||||
for (size_t k = 0; k < kk; k++) {
|
||||
csvFile << setw(tabS) << speciesName(k) + ",";
|
||||
if (x[k] > SmallNumber) {
|
||||
for (int i = 0; i < (int)pNames.size(); i++) {
|
||||
for (size_t i = 0; i < pNames.size(); i++) {
|
||||
csvFile << setw(tabM) << data[i][k] << ",";
|
||||
}
|
||||
csvFile << endl;
|
||||
} else {
|
||||
for (int i = 0; i < (int)pNames.size(); i++) {
|
||||
for (size_t i = 0; i < pNames.size(); i++) {
|
||||
csvFile << setw(tabM) << 0 << ",";
|
||||
}
|
||||
csvFile << endl;
|
||||
|
|
|
|||
|
|
@ -1241,7 +1241,7 @@ namespace Cantera {
|
|||
void getElectrochemPotentials(doublereal* mu) const {
|
||||
getChemPotentials(mu);
|
||||
double ve = Faraday * electricPotential();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
mu[k] += ve*charge(k);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ namespace Cantera {
|
|||
// Go see if the SpeciesThermo type is a GeneralSpeciesThermo
|
||||
GeneralSpeciesThermo * gst = dynamic_cast<GeneralSpeciesThermo *>(sp_ptr);
|
||||
if (gst) {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
SpeciesThermoInterpType *st = gst->provideSTIT(k);
|
||||
STITbyPDSS * stpd = dynamic_cast<STITbyPDSS *>(st);
|
||||
if (stpd) {
|
||||
|
|
@ -193,7 +193,7 @@ namespace Cantera {
|
|||
if (m_useTmpStandardStateStorage) {
|
||||
std::copy(m_hss_RT.begin(), m_hss_RT.end(), urt);
|
||||
doublereal pRT = m_plast / (GasConstant * m_tlast);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
urt[k] -= pRT * m_Vss[k];
|
||||
}
|
||||
} else {
|
||||
|
|
@ -311,7 +311,7 @@ namespace Cantera {
|
|||
}
|
||||
|
||||
void VPSSMgr::_updateStandardStateThermo() {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
PDSS *kPDSS = m_vptp_ptr->providePDSS(k);
|
||||
kPDSS->setState_TP(m_tlast, m_plast);
|
||||
}
|
||||
|
|
@ -321,7 +321,7 @@ namespace Cantera {
|
|||
void VPSSMgr::_updateRefStateThermo() const {
|
||||
if (m_spthermo) {
|
||||
m_spthermo->update(m_tlast, &m_cp0_R[0], &m_h0_RT[0], &m_s0_R[0]);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_g0_RT[k] = m_h0_RT[k] - m_s0_R[k];
|
||||
}
|
||||
}
|
||||
|
|
@ -367,7 +367,7 @@ namespace Cantera {
|
|||
void VPSSMgr::initThermoXML(XML_Node& phaseNode, std::string id) {
|
||||
const PDSS *kPDSS = m_vptp_ptr->providePDSS(0);
|
||||
m_p0 = kPDSS->refPressure();
|
||||
for (int i = 0; i < m_kk; i++) {
|
||||
for (size_t i = 0; i < m_kk; i++) {
|
||||
const PDSS *kPDSS = m_vptp_ptr->providePDSS(i);
|
||||
doublereal mint = kPDSS->minTemp();
|
||||
if (mint > m_minTemp) {
|
||||
|
|
@ -382,7 +382,7 @@ namespace Cantera {
|
|||
// Add a check to see that all references pressures are the same
|
||||
double m_p0_k;
|
||||
if (m_spthermo) {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_p0_k = m_spthermo->refPressure(k);
|
||||
if (m_p0 != m_p0_k) {
|
||||
//throw CanteraError("VPSSMgr::initThermoXML",
|
||||
|
|
@ -395,7 +395,7 @@ namespace Cantera {
|
|||
}
|
||||
}
|
||||
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
const PDSS *kPDSS = m_vptp_ptr->providePDSS(k);
|
||||
m_p0_k = kPDSS->refPressure();
|
||||
if (m_p0 != m_p0_k) {
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ namespace Cantera {
|
|||
|
||||
doublereal del_pRT = (m_plast - m_p0) / (GasConstant * m_tlast);
|
||||
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_hss_RT[k] = m_h0_RT[k] + del_pRT * m_Vss[k];
|
||||
m_cpss_R[k] = m_cp0_R[k];
|
||||
m_sss_R[k] = m_s0_R[k];
|
||||
|
|
@ -127,7 +127,7 @@ namespace Cantera {
|
|||
&phaseNode.root());
|
||||
const vector<string>&sss = m_vptp_ptr->speciesNames();
|
||||
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
const XML_Node* s = speciesDB->findByAttr("name", sss[k]);
|
||||
if (!s) {
|
||||
throw CanteraError("VPSSMgr_ConstVol::initThermoXML",
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ namespace Cantera {
|
|||
* performed here is consistent with the assignment operator's general functionality.
|
||||
*/
|
||||
m_PDSS_ptrs.resize(m_kk);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_PDSS_ptrs[k] = m_vptp_ptr->providePDSS(k);
|
||||
}
|
||||
return *this;
|
||||
|
|
@ -92,7 +92,7 @@ namespace Cantera {
|
|||
* and storred in the owning VPStandardStateTP class.
|
||||
*/
|
||||
m_PDSS_ptrs.resize(m_kk);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_PDSS_ptrs[k] = m_vptp_ptr->providePDSS(k);
|
||||
}
|
||||
}
|
||||
|
|
@ -100,7 +100,7 @@ namespace Cantera {
|
|||
void VPSSMgr_General::_updateRefStateThermo() const
|
||||
{
|
||||
if (m_useTmpRefStateStorage) {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
PDSS *kPDSS = m_PDSS_ptrs[k];
|
||||
kPDSS->setState_TP(m_tlast, m_plast);
|
||||
m_h0_RT[k] = kPDSS->enthalpy_RT_ref();
|
||||
|
|
@ -114,7 +114,7 @@ namespace Cantera {
|
|||
|
||||
void VPSSMgr_General::_updateStandardStateThermo()
|
||||
{
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
PDSS *kPDSS = m_PDSS_ptrs[k];
|
||||
kPDSS->setState_TP(m_tlast, m_plast);
|
||||
m_hss_RT[k] = kPDSS->enthalpy_RT();
|
||||
|
|
@ -146,7 +146,7 @@ namespace Cantera {
|
|||
std::copy(m_g0_RT.begin(), m_g0_RT.end(), g);
|
||||
scale(g, g+m_kk, g, _rt);
|
||||
} else {
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
PDSS *kPDSS = m_PDSS_ptrs[k];
|
||||
kPDSS->setState_TP(m_tlast, m_plast);
|
||||
double h0_RT = kPDSS->enthalpy_RT_ref();
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ namespace Cantera {
|
|||
|
||||
void VPSSMgr_IdealGas::getIntEnergy_RT(doublereal* urt) const {
|
||||
getEnthalpy_RT(urt);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
urt[k] -= 1.0;
|
||||
}
|
||||
}
|
||||
|
|
@ -74,7 +74,7 @@ namespace Cantera {
|
|||
doublereal pp = log(m_plast / m_p0);
|
||||
doublereal v = temperature() *GasConstant /m_plast;
|
||||
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_hss_RT[k] = m_h0_RT[k];
|
||||
m_cpss_R[k] = m_cp0_R[k];
|
||||
m_sss_R[k] = m_s0_R[k] - pp;
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ namespace Cantera {
|
|||
VPSSMgr_Water_ConstVol::getGibbs_ref(doublereal *g) const{
|
||||
doublereal RT = GasConstant * m_tlast;
|
||||
getGibbs_RT_ref(g);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
g[k] *= RT;
|
||||
}
|
||||
}
|
||||
|
|
@ -156,7 +156,7 @@ namespace Cantera {
|
|||
void VPSSMgr_Water_ConstVol::_updateRefStateThermo() const {
|
||||
m_p0 = m_waterSS->pref_safe(m_tlast);
|
||||
m_spthermo->update(m_tlast, &m_cp0_R[0], &m_h0_RT[0], &m_s0_R[0]);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
m_g0_RT[k] = m_h0_RT[k] - m_s0_R[k];
|
||||
PDSS *kPDSS = m_vptp_ptr->providePDSS(k);
|
||||
kPDSS->setTemperature(m_tlast);
|
||||
|
|
@ -178,7 +178,7 @@ namespace Cantera {
|
|||
doublereal RT = GasConstant * m_tlast;
|
||||
doublereal del_pRT = (m_plast - OneAtm) / (RT);
|
||||
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
m_hss_RT[k] = m_h0_RT[k] + del_pRT * m_Vss[k];
|
||||
m_cpss_R[k] = m_cp0_R[k];
|
||||
m_sss_R[k] = m_s0_R[k];
|
||||
|
|
@ -219,7 +219,7 @@ namespace Cantera {
|
|||
m_waterSS->setState_TP(300., OneAtm);
|
||||
m_Vss[0] = (m_waterSS->density()) / m_vptp_ptr->molecularWeight(0);
|
||||
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
const XML_Node* s = speciesDB->findByAttr("name", sss[k]);
|
||||
if (!s) {
|
||||
throw CanteraError("VPSSMgr_Water_ConstVol::initThermoXML",
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ namespace Cantera {
|
|||
VPSSMgr_Water_HKFT::getGibbs_ref(doublereal *g) const{
|
||||
getGibbs_RT_ref(g);
|
||||
doublereal RT = GasConstant * m_tlast;
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
g[k] *= RT;
|
||||
}
|
||||
}
|
||||
|
|
@ -147,7 +147,7 @@ namespace Cantera {
|
|||
m_g0_RT[0] = (m_hss_RT[0] - m_sss_R[0]);
|
||||
m_V0[0] = (m_waterSS->density()) / m_vptp_ptr->molecularWeight(0);
|
||||
PDSS_HKFT *ps;
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
ps = (PDSS_HKFT *) m_vptp_ptr->providePDSS(k);
|
||||
ps->setState_TP(m_tlast, m_p0);
|
||||
m_cp0_R[k] = ps->cp_R();
|
||||
|
|
@ -164,7 +164,7 @@ namespace Cantera {
|
|||
|
||||
}
|
||||
m_waterSS->setState_TP(m_tlast, m_plast);
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
ps = (PDSS_HKFT *) m_vptp_ptr->providePDSS(k);
|
||||
ps->setState_TP(m_tlast, m_plast);
|
||||
}
|
||||
|
|
@ -180,7 +180,7 @@ namespace Cantera {
|
|||
m_gss_RT[0] = (m_hss_RT[0] - m_sss_R[0]);
|
||||
m_Vss[0] = (m_vptp_ptr->molecularWeight(0)) / (m_waterSS->density());
|
||||
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
PDSS_HKFT *ps = (PDSS_HKFT *) m_vptp_ptr->providePDSS(k);
|
||||
ps->setState_TP(m_tlast, m_plast);
|
||||
m_cpss_R[k] = ps->cp_R();
|
||||
|
|
@ -208,7 +208,7 @@ namespace Cantera {
|
|||
m_waterSS->setState_TP(300., OneAtm);
|
||||
m_Vss[0] = (m_waterSS->density()) / m_vptp_ptr->molecularWeight(0);
|
||||
|
||||
for (int k = 1; k < m_kk; k++) {
|
||||
for (size_t k = 1; k < m_kk; k++) {
|
||||
const XML_Node* s = speciesDB->findByAttr("name", sss[k]);
|
||||
if (!s) {
|
||||
throw CanteraError("VPSSMgr_Water_HKFT::initThermoXML",
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ namespace Cantera {
|
|||
}
|
||||
}
|
||||
m_PDSS_storage.resize(m_kk);
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
PDSS *ptmp = b.m_PDSS_storage[k];
|
||||
m_PDSS_storage[k] = ptmp->duplMyselfAsPDSS();
|
||||
}
|
||||
|
|
@ -109,7 +109,7 @@ namespace Cantera {
|
|||
* back to this ThermoPhase's properties. This function also sets m_VPSS_ptr
|
||||
* so it occurs after m_VPSS_ptr is set.
|
||||
*/
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
PDSS *ptmp = m_PDSS_storage[k];
|
||||
ptmp->initAllPtrs(this, m_VPSS_ptr, m_spthermo);
|
||||
}
|
||||
|
|
@ -187,7 +187,7 @@ namespace Cantera {
|
|||
void VPStandardStateTP::getChemPotentials_RT(doublereal* muRT) const{
|
||||
getChemPotentials(muRT);
|
||||
doublereal invRT = 1.0 / _RT();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
muRT[k] *= invRT;
|
||||
}
|
||||
}
|
||||
|
|
@ -198,7 +198,7 @@ namespace Cantera {
|
|||
void VPStandardStateTP::getStandardChemPotentials(doublereal* g) const {
|
||||
getGibbs_RT(g);
|
||||
doublereal RT = _RT();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
g[k] *= RT;
|
||||
}
|
||||
}
|
||||
|
|
@ -340,7 +340,7 @@ namespace Cantera {
|
|||
initLengths();
|
||||
ThermoPhase::initThermo();
|
||||
m_VPSS_ptr->initThermo();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
PDSS *kPDSS = m_PDSS_storage[k];
|
||||
if (kPDSS) {
|
||||
kPDSS->initThermo();
|
||||
|
|
@ -448,7 +448,7 @@ namespace Cantera {
|
|||
VPStandardStateTP::initLengths();
|
||||
|
||||
//m_VPSS_ptr->initThermo();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
PDSS *kPDSS = m_PDSS_storage[k];
|
||||
AssertTrace(kPDSS != 0);
|
||||
if (kPDSS) {
|
||||
|
|
|
|||
|
|
@ -401,7 +401,7 @@ namespace Cantera {
|
|||
void WaterSSTP::getGibbs_ref(doublereal *g) const {
|
||||
getGibbs_RT_ref(g);
|
||||
doublereal rt = _RT();
|
||||
for (int k = 0; k < m_kk; k++) {
|
||||
for (size_t k = 0; k < m_kk; k++) {
|
||||
g[k] *= rt;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue