Skip to content

Commit f84d3b3

Browse files
committed
Fix issues with isothermal compressibility and thermal expansion coefficient
Fixed return type of `RedlichKwongMFTP` functions Fixed sign errors in `PengRobinson` and `RedlichKwongMFTP` derivations
1 parent d830740 commit f84d3b3

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/thermo/PengRobinson.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -643,7 +643,7 @@ double PengRobinson::isothermalCompressibility() const
643643

644644
double dAdP = A / P;
645645
double dBdP = B / P;
646-
double dZdP = ((Z * Z + 3 * B * B + 2 * B - A - 2 * Z * (3 * B + 1)) * dBdP + (Z - B) * dAdP) /
646+
double dZdP = ((B - Z) * dAdP + (A - 2 * B - 3 * B * B + 2 * Z + 6 * B * Z - Z * Z) * dBdP) /
647647
(3 * Z * Z + 2 * Z * (B - 1) + A - 2 * B - 3 * B * B);
648648

649649
return 1 / P - dZdP / Z;
@@ -662,10 +662,10 @@ double PengRobinson::thermalExpansionCoeff() const
662662

663663
double dAdT = P / (RT_ * RT_) * (daAlpha_dT() - 2 * m_aAlpha_mix / T);
664664
double dBdT = -B / T;
665-
double dZdT = ((Z * Z + 3 * B * B + 2 * B - A - 2 * Z * (3 * B + 1)) * dBdT + (Z - B) * dAdT) /
665+
double dZdT = ((B - Z) * dAdT + (A - 2 * B - 3 * B * B + 2 * Z + 6 * B * Z - Z * Z) * dBdT) /
666666
(3 * Z * Z + 2 * Z * (B - 1) + A - 2 * B - 3 * B * B);
667667

668-
return -1 / T - dZdT / Z;
668+
return 1 / T + dZdT / Z;
669669
}
670670

671671
void PengRobinson::calculatePressureDerivatives() const

src/thermo/RedlichKwongMFTP.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -707,7 +707,7 @@ doublereal RedlichKwongMFTP::dpdVCalc(doublereal TKelvin, doublereal molarVol, d
707707
return dpdv;
708708
}
709709

710-
void RedlichKwongMFTP::isothermalCompressibility() const
710+
double RedlichKwongMFTP::isothermalCompressibility() const
711711
{
712712
double P = pressure();
713713
double mv = molarVolume();
@@ -725,7 +725,7 @@ void RedlichKwongMFTP::isothermalCompressibility() const
725725
return 1 / P - dZdP / Z;
726726
}
727727

728-
void RedlichKwongMFTP::thermalExpansionCoeff() const
728+
double RedlichKwongMFTP::thermalExpansionCoeff() const
729729
{
730730
double P = pressure();
731731
double mv = molarVolume();
@@ -740,7 +740,7 @@ void RedlichKwongMFTP::thermalExpansionCoeff() const
740740
double dBdT = -B / T;
741741
double dZdT = ((B - Z) * dAdT + (A + Z + 2 * B * Z) * dBdT) / (3 * Z * Z - 2 * Z + A - B - B * B);
742742

743-
return - 1 / T - dZdT / Z;
743+
return 1 / T + dZdT / Z;
744744
}
745745

746746
void RedlichKwongMFTP::pressureDerivatives() const

0 commit comments

Comments
 (0)