Fixed Calculation of dlnActCoeffdlnN
This commit is contained in:
parent
e3c4a82dc9
commit
08a84b83a9
1 changed files with 25 additions and 20 deletions
|
|
@ -916,25 +916,25 @@ namespace Cantera {
|
|||
g0 = (m_HE_b_ij[i] - T * m_SE_b_ij[i]) / RT;
|
||||
g1 = (m_HE_c_ij[i] - T * m_SE_c_ij[i]) / RT;
|
||||
|
||||
// dlnActCoeffdlnN_diag_[iK] += 2*(delBK-XB)*(g0*(delAK-XA)+g1*(2*(delAK-XA)*XB+XA*(delBK-XB)));
|
||||
dlnActCoeffdlnN_diag_[iK] += 2*(delBK-XB)*(g0*(delAK-XA)+g1*(2*(delAK-XA)*XB+XA*(delBK-XB)));
|
||||
|
||||
double gfac = g0 + g1 * XB;
|
||||
double gggg = (delBK - XB) * g1;
|
||||
// double gfac = g0 + g1 * XB;
|
||||
// double gggg = (delBK - XB) * g1;
|
||||
|
||||
|
||||
dlnActCoeffdlnN_diag_[iK] += gfac * delAK * ( - XB + delBK);
|
||||
// dlnActCoeffdlnN_diag_[iK] += gfac * delAK * ( - XB + delBK);
|
||||
|
||||
dlnActCoeffdlnN_diag_[iK] += gfac * delBK * ( - XA + delAK);
|
||||
// dlnActCoeffdlnN_diag_[iK] += gfac * delBK * ( - XA + delAK);
|
||||
|
||||
dlnActCoeffdlnN_diag_[iK] += gfac * (2.0 * XA * XB - delAK * XB - XA * delBK);
|
||||
// dlnActCoeffdlnN_diag_[iK] += gfac * (2.0 * XA * XB - delAK * XB - XA * delBK);
|
||||
|
||||
dlnActCoeffdlnN_diag_[iK] += (delAK * XB + XA * delBK - XA * XB) * g1 * (-XB + delBK);
|
||||
// dlnActCoeffdlnN_diag_[iK] += (delAK * XB + XA * delBK - XA * XB) * g1 * (-XB + delBK);
|
||||
|
||||
dlnActCoeffdlnN_diag_[iK] += gggg * ( - 2.0 * XA * XB + delAK * XB + XA * delBK);
|
||||
// dlnActCoeffdlnN_diag_[iK] += gggg * ( - 2.0 * XA * XB + delAK * XB + XA * delBK);
|
||||
|
||||
dlnActCoeffdlnN_diag_[iK] += - g1 * XA * XB * (- XB + delBK);
|
||||
// dlnActCoeffdlnN_diag_[iK] += - g1 * XA * XB * (- XB + delBK);
|
||||
}
|
||||
// dlnActCoeffdlnN_diag_[iK] = XK*dlnActCoeffdlnN_diag_[iK]-XK;
|
||||
dlnActCoeffdlnN_diag_[iK] = XK*dlnActCoeffdlnN_diag_[iK];//-XK;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -949,7 +949,7 @@ namespace Cantera {
|
|||
void MargulesVPSSTP::s_update_dlnActCoeff_dlnN() const {
|
||||
int iA, iB;
|
||||
doublereal delAK, delBK;
|
||||
double XA, XB, g0 , g1;
|
||||
double XA, XB, g0 , g1, XK,XM;
|
||||
double T = temperature();
|
||||
double RT = GasConstant*T;
|
||||
|
||||
|
|
@ -961,8 +961,9 @@ namespace Cantera {
|
|||
* Loop over the activity coefficient gamma_k
|
||||
*/
|
||||
for (int iK = 0; iK < m_kk; iK++) {
|
||||
XK = moleFractions_[iK];
|
||||
for (int iM = 0; iM < m_kk; iM++) {
|
||||
|
||||
XM = moleFractions_[iM];
|
||||
for (int i = 0; i < numBinaryInteractions_; i++) {
|
||||
|
||||
iA = m_pSpecies_A_ij[i];
|
||||
|
|
@ -983,22 +984,26 @@ namespace Cantera {
|
|||
g0 = (m_HE_b_ij[i] - T * m_SE_b_ij[i]) / RT;
|
||||
g1 = (m_HE_c_ij[i] - T * m_SE_c_ij[i]) / RT;
|
||||
|
||||
double gfac = g0 + g1 * XB;
|
||||
double gggg = (delBK - XB) * g1;
|
||||
dlnActCoeffdlnN_(iK,iM) += g0*((delAM-XA)*(delBK-XB)+(delAK-XA)*(delBM-XB));
|
||||
dlnActCoeffdlnN_(iK,iM) += 2*g1*((delAM-XA)*(delBK-XB)*XB+(delAK-XA)*(delBM-XB)*XB+(delBM-XB)*(delBK-XB)*XA);
|
||||
|
||||
// double gfac = g0 + g1 * XB;
|
||||
// double gggg = (delBK - XB) * g1;
|
||||
|
||||
|
||||
dlnActCoeffdlnN_(iK, iM) += gfac * delAK * ( - XB + delBM);
|
||||
// dlnActCoeffdlnN_(iK, iM) += gfac * delAK * ( - XB + delBM);
|
||||
|
||||
dlnActCoeffdlnN_(iK, iM) += gfac * delBK * ( - XA + delAM);
|
||||
// dlnActCoeffdlnN_(iK, iM) += gfac * delBK * ( - XA + delAM);
|
||||
|
||||
dlnActCoeffdlnN_(iK, iM) += gfac * (2.0 * XA * XB - delAM * XB - XA * delBM);
|
||||
// dlnActCoeffdlnN_(iK, iM) += gfac * (2.0 * XA * XB - delAM * XB - XA * delBM);
|
||||
|
||||
dlnActCoeffdlnN_(iK, iM) += (delAK * XB + XA * delBK - XA * XB) * g1 * (-XB + delBM);
|
||||
// dlnActCoeffdlnN_(iK, iM) += (delAK * XB + XA * delBK - XA * XB) * g1 * (-XB + delBM);
|
||||
|
||||
dlnActCoeffdlnN_(iK, iM) += gggg * ( - 2.0 * XA * XB + delAM * XB + XA * delBM);
|
||||
// dlnActCoeffdlnN_(iK, iM) += gggg * ( - 2.0 * XA * XB + delAM * XB + XA * delBM);
|
||||
|
||||
dlnActCoeffdlnN_(iK, iM) += - g1 * XA * XB * (- XB + delBM);
|
||||
// dlnActCoeffdlnN_(iK, iM) += - g1 * XA * XB * (- XB + delBM);
|
||||
}
|
||||
dlnActCoeffdlnN_(iK,iM) = XM*dlnActCoeffdlnN_(iK,iM);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue