|
My Project
|
Implements the Peng-Robinson equation of state for liquids and gases. More...
#include <PengRobinson.hpp>
Static Public Member Functions | |
| static void | init (Scalar, Scalar, unsigned, Scalar, Scalar, unsigned) |
| template<class Evaluation , class Params > | |
| static Evaluation | computeVaporPressure (const Params ¶ms, const Evaluation &T) |
| Predicts the vapor pressure for the temperature given in setTP(). More... | |
| template<class FluidState , class Params > | |
| static FluidState::Scalar | computeMolarVolume (const FluidState &fs, Params ¶ms, unsigned phaseIdx, bool isGasPhase) |
| Computes molar volumes where the Peng-Robinson EOS is true. | |
| template<class Evaluation , class Params > | |
| static Evaluation | computeFugacityCoeffient (const Params ¶ms) |
| Returns the fugacity coefficient for a given pressure and molar volume. More... | |
| template<class Evaluation , class Params > | |
| static Evaluation | computeFugacity (const Params ¶ms) |
| Returns the fugacity coefficient for a given pressure and molar volume. More... | |
Static Protected Member Functions | |
| template<class FluidState , class Params , class Evaluation = typename FluidState::Scalar> | |
| static void | handleCriticalFluid_ (Evaluation &Vm, const FluidState &, const Params ¶ms, unsigned phaseIdx, bool isGasPhase) |
| template<class Evaluation > | |
| static void | findCriticalPoint_ (Evaluation &Tcrit, Evaluation &pcrit, Evaluation &Vcrit, const Evaluation &a, const Evaluation &b) |
| template<class Evaluation > | |
| static bool | findExtrema_ (Evaluation &Vmin, Evaluation &Vmax, Evaluation &, Evaluation &, const Evaluation &a, const Evaluation &b, const Evaluation &T) |
| template<class Evaluation , class Params > | |
| static Evaluation | ambroseWalton_ (const Params &, const Evaluation &T) |
| The Ambrose-Walton method to estimate the vapor pressure. More... | |
| template<class Evaluation , class Params > | |
| static Evaluation | fugacityDifference_ (const Params ¶ms, const Evaluation &T, const Evaluation &p, const Evaluation &VmLiquid, const Evaluation &VmGas) |
| Returns the difference between the liquid and the gas phase fugacities in [bar]. More... | |
Implements the Peng-Robinson equation of state for liquids and gases.
See:
D.-Y. Peng, D.B. Robinson: A new two-constant equation of state, Industrial & Engineering Chemistry Fundamentals, 1976, 15 (1), pp. 59–64
R. Reid, et al.: The Properties of Gases and Liquids, 4th edition, McGraw-Hill, 1987, pp. 42-44, 82
|
inlinestaticprotected |
The Ambrose-Walton method to estimate the vapor pressure.
See:
D. Ambrose, J. Walton: "Vapor Pressures up to Their Critical Temperatures of Normal Alkanes and 1-Alkanols", Pure Appl. Chem., 61, 1395-1403, 1989
|
inlinestatic |
Returns the fugacity coefficient 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 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 |
Predicts the vapor pressure for the temperature given in setTP().
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 |
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] |