My Project
|
Determines the phase compositions, pressures and saturations given the total mass of all components. More...
#include <NcpFlash.hpp>
Static Public Member Functions | |
template<class FluidState , class Evaluation = typename FluidState::Scalar> | |
static void | guessInitial (FluidState &fluidState, const Dune::FieldVector< Evaluation, numComponents > &globalMolarities) |
Guess initial values for all quantities. | |
template<class MaterialLaw , class FluidState > | |
static void | solve (FluidState &fluidState, const typename MaterialLaw::Params &matParams, typename FluidSystem::template ParameterCache< typename FluidState::Scalar > ¶mCache, const Dune::FieldVector< typename FluidState::Scalar, numComponents > &globalMolarities, Scalar tolerance=-1.0) |
Calculates the chemical equilibrium from the component fugacities in a phase. | |
template<class FluidState , class ComponentVector > | |
static void | solve (FluidState &fluidState, const ComponentVector &globalMolarities, Scalar tolerance=0.0) |
Calculates the chemical equilibrium from the component fugacities in a phase. | |
Determines the phase compositions, pressures and saturations given the total mass of all components.
In a M-phase, N-component context, we have the following unknowns:
This sums up to M*(N + 2). On the equations side of things, we have:
This also sums up to M*(N + 2).
The following assumptions apply: Capillary pressures are taken into account explicitly, so only the pressure of the first phase is implicitly solved for. Also, the closure condition for the saturations is taken into account explicitly, i.e., we don't need to implicitly solve for the last saturation. These two assumptions reduce the number of unknowns to the following M*(N + 1):
|
inlinestatic |
Calculates the chemical equilibrium from the component fugacities in a phase.
This is a convenience method which assumes that the capillary pressure is zero...
|
inlinestatic |
Calculates the chemical equilibrium from the component fugacities in a phase.
The phase's fugacities must already be set.