Implements the Peng-Robinson equation of state for liquids and gases. More...
#include <dumux/material/eos/pengrobinson.hh>
Implements the Peng-Robinson equation of state for liquids and gases.
See:
D.-Y. Peng, D.B. Robinson (1976, pp. 59–64) [56]
R. Reid, et al. (1987, pp. 42-44, 82) [59]
Static Public Member Functions | |
static void | init (Scalar aMin, Scalar aMax, int na, Scalar bMin, Scalar bMax, int nb) |
template<class Params > | |
static Scalar | computeVaporPressure (const Params ¶ms, Scalar T) |
Predicts the vapor pressure \(\mathrm{[Pa]}\) for the temperature given in setTP(). More... | |
template<class FluidState , class Params > | |
static Scalar | computeMolarVolume (const FluidState &fs, Params ¶ms, int phaseIdx, bool isGasPhase) |
Computes molar volumes \(\mathrm{[m^3 / mol]}\) where the Peng-Robinson EOS is true. More... | |
template<class Params > | |
static Scalar | computeFugacityCoeffient (const Params ¶ms) |
Returns the fugacity coefficient \(\mathrm{[-]}\) for a given pressure and molar volume. More... | |
template<class Params > | |
static Scalar | computeFugacity (const Params ¶ms) |
Returns the fugacity coefficient \(\mathrm{[-]}\) for a given pressure and molar volume. More... | |
Static Protected Member Functions | |
template<class FluidState , class Params > | |
static void | handleCriticalFluid_ (Scalar &Vm, const FluidState &fs, const Params ¶ms, int phaseIdx, bool isGasPhase) |
static void | findCriticalPoint_ (Scalar &Tcrit, Scalar &pcrit, Scalar &Vcrit, Scalar a, Scalar b) |
static bool | findExtrema_ (Scalar &Vmin, Scalar &Vmax, Scalar &pMin, Scalar &pMax, Scalar a, Scalar b, Scalar T) |
template<class Params > | |
static Scalar | ambroseWalton_ (const Params ¶ms, Scalar T) |
The Ambrose-Walton method to estimate the vapor pressure. More... | |
template<class Params > | |
static Scalar | fugacityDifference_ (const Params ¶ms, Scalar T, Scalar p, Scalar VmLiquid, Scalar VmGas) |
Returns the difference between the liquid and the gas phase fugacities in [bar]. More... | |
Static Protected Attributes | |
static Tabulated2DFunction< Scalar > | criticalTemperature_ |
static Tabulated2DFunction< Scalar > | criticalPressure_ |
static Tabulated2DFunction< Scalar > | criticalMolarVolume_ |
|
inlinestaticprotected |
The Ambrose-Walton method to estimate the vapor pressure.
See:
D. Ambrose, J. Walton (1989, pp. 1395-1403) [5]
|
inlinestatic |
Returns the fugacity coefficient \(\mathrm{[-]}\) for a given pressure and molar volume.
This is the fugacity coefficient times the pressure. The mole fraction of a component in a pure fluid is obviously always 100%, so it is not required.
params | Parameters |
|
inlinestatic |
Returns the fugacity coefficient \(\mathrm{[-]}\) for a given pressure and molar volume.
This is the same value as computeFugacity() because the mole fraction of a component in a pure fluid is obviously always 100%.
params | Parameters |
|
inlinestatic |
Computes molar volumes \(\mathrm{[m^3 / mol]}\) where the Peng-Robinson EOS is true.
fs | Thermodynamic state of the fluids |
params | Parameters |
phaseIdx | The phase index |
isGasPhase | Specifies the phase state |
|
inlinestatic |
Predicts the vapor pressure \(\mathrm{[Pa]}\) for the temperature given in setTP().
T | temperature in \(\mathrm{[K]}\) |
params | Parameters |
Initially, the vapor pressure is roughly estimated by using the Ambrose-Walton method, then the Newton method is used to make difference between the gas and liquid phase fugacity zero.
|
inlinestaticprotected |
|
inlinestaticprotected |
|
inlinestaticprotected |
Returns the difference between the liquid and the gas phase fugacities in [bar].
params | Parameters |
T | Temperature [K] |
p | Pressure [bar] |
VmLiquid | Molar volume of the liquid phase [cm^3/mol] |
VmGas | Molar volume of the gas phase [cm^3/mol] |
|
inlinestaticprotected |
|
inlinestatic |
|
staticprotected |
|
staticprotected |
|
staticprotected |