template<class Scalar, class FluidSystem>
class Dumux::CompositionalFlash< Scalar, FluidSystem >
Flash calculation routines for compositional sequential models.
Routines for isothermal and isobaric 2p2c and 1p2c flash, assuming an ideal mixture. The flash assumes that the fugacities of a component \( \kappa \) in each phase are the same. The fugacity is defined as:
\( f^\kappa = \Phi^\kappa_\alpha(T_\alpha, p_\alpha) p_\alpha x^\kappa_\alpha\; \),
where \( Phi^\kappa_\alpha \) is a fixed fugacity coefficient independent of the phase's composition (ideal mixture), \( T_\alpha \) is a fixed temperature, and \( p_\alpha \) a fixed phase pressure. From the equality of fugacities, the mole (and mass) fractions \( x^\kappa_\alpha \) in equilibrium are calculated.
|
template<class FluidState > |
static void | concentrationFlash2p2c (FluidState &fluidState, const Scalar &Z0, const PhaseVector &phasePressure, const Scalar &porosity, const Scalar &temperature) |
|
|
template<class FluidState > |
static void | concentrationFlash2p2c (FluidState &fluidState, const Scalar Z0, const PhaseVector &phasePressure, const Scalar temperature) |
| 2p2c Flash for constant p & T if concentration (feed mass fraction) is given. More...
|
|
static void | concentrationFlash1p2c (FluidState1p2c &fluidState, const Scalar &Z0, const Dune::FieldVector< Scalar, numPhases > phasePressure, const int presentPhaseIdx, const Scalar &temperature) |
| The simplest possible update routine for 1p2c "flash" calculations. More...
|
|
template<class FluidState > |
static void | saturationFlash2p2c (FluidState &fluidState, const Scalar &saturation, const PhaseVector &phasePressure, const Scalar &porosity, const Scalar &temperature) |
|
|
template<class FluidState > |
static void | saturationFlash2p2c (FluidState &fluidState, const Scalar saturation, const PhaseVector &phasePressure, const Scalar temperature) |
| 2p2c flash for constant p & T if the saturation instead of concentration (feed mass fraction) is known. More...
|
|
template<class Scalar , class FluidSystem >
template<class FluidState >
static void Dumux::CompositionalFlash< Scalar, FluidSystem >::concentrationFlash2p2c |
( |
FluidState & |
fluidState, |
|
|
const Scalar |
Z0, |
|
|
const PhaseVector & |
phasePressure, |
|
|
const Scalar |
temperature |
|
) |
| |
|
inlinestatic |
2p2c Flash for constant p & T if concentration (feed mass fraction) is given.
This flash uses the Rachford-Rice equation: Rachford Jr, H. H., & Rice, J. D. (1952). Procedure for use of electronic digital computers in calculating flash vaporization hydrocarbon equilibrium. Journal of Petroleum Technology, 4(10), 19-3.
Routine goes as follows:
- determination of the equilibrium constants from the fluid system
- determination of maximum solubilities (mole fractions) according to phase pressures
- comparison with phase mass fraction Nu (from Rachford-Rice equation) to determine phase presence => actual mole and mass fractions
- complete fluid state
- Parameters
-
fluidState | The sequential fluid State |
Z0 | Feed mass fraction: Mass of first component per total mass \(\mathrm{[-]}\) |
phasePressure | Vector holding the pressure \(\mathrm{[Pa]}\) |
temperature | Temperature \(\mathrm{[K]}\) |