Determines the pressures and saturations of all fluid phases given the total mass of all components.
More...
template<class Scalar, class FluidSystem>
class Dumux::ImmiscibleFlash< Scalar, FluidSystem >
Determines the pressures and saturations of all fluid phases given the total mass of all components.
In a N-phase, N-component context, we have the following unknowns if assuming immiscibility:
- N pressures
- N saturations
This sums up to 2*N unknowns. On the equations side of things, we have:
- N total component molarities
- 1 The sum of all saturations is 1
- N-1 Relations from capillary pressure
this also sums up to 2*N. We include the capillary pressures and the sum of the saturations explicitly. This means that we only solve for the first pressure and N-1 saturations.
If a fluid phase is incompressible, the pressure cannot determined by this, though. In this case the original pressure is kept, and the saturation of the phase is calculated by dividing the global molarity of the component by the phase density.
|
template<class FluidState > |
void | printFluidState_ (const FluidState &fs) |
|
template<class MaterialLaw , class FluidState > |
void | linearize_ (Matrix &J, Vector &b, FluidState &fluidState, ParameterCache ¶mCache, const MaterialLaw &material, const ComponentVector &globalMolarities) |
|
template<class FluidState > |
void | calculateDefect_ (Vector &b, const FluidState &fluidStateEval, const FluidState &fluidState, const ComponentVector &globalMolarities) |
|
template<class MaterialLaw , class FluidState > |
Scalar | update_ (FluidState &fluidState, ParameterCache ¶mCache, const MaterialLaw &material, const Vector &deltaX) |
|
template<class MaterialLaw , class FluidState > |
void | completeFluidState_ (FluidState &fluidState, ParameterCache ¶mCache, const MaterialLaw &material) |
|
bool | isPressureIdx_ (int pvIdx) |
|
bool | isSaturationIdx_ (int pvIdx) |
|
template<class FluidState > |
Scalar | getQuantity_ (const FluidState &fs, int pvIdx) |
|
template<class MaterialLaw , class FluidState > |
void | setQuantity_ (FluidState &fs, ParameterCache ¶mCache, const MaterialLaw &material, int pvIdx, Scalar value) |
|
template<class FluidState > |
void | setQuantityRaw_ (FluidState &fs, int pvIdx, Scalar value) |
|
template<class FluidState > |
Scalar | quantityWeight_ (const FluidState &fs, int pvIdx) |
|