Loading...
Searching...
No Matches
NcpFlash.hpp File Reference

Determines the phase compositions, pressures and saturations given the total mass of all components. More...

`#include <opm/common/Exceptions.hpp>`
`#include <opm/material/fluidmatrixinteractions/NullMaterial.hpp>`
`#include <opm/material/fluidmatrixinteractions/MaterialTraits.hpp>`
`#include <opm/material/fluidstates/CompositionalFluidState.hpp>`
`#include <opm/material/densead/Evaluation.hpp>`
`#include <opm/material/densead/Math.hpp>`
`#include <opm/material/common/MathToolbox.hpp>`
`#include <opm/material/common/Valgrind.hpp>`
`#include <dune/common/fvector.hh>`
`#include <dune/common/fmatrix.hh>`
`#include <limits>`

Go to the source code of this file.

## Classes

class | Opm::NcpFlash< Scalar, FluidSystem >
| Determines the phase compositions, pressures and saturations given the total mass of all components. More...

## Namespaces

namespace | Opm
| This class implements a small container which holds the transmissibility mulitpliers for all the faces in the grid.

## Detailed Description

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:

- M pressures
- M saturations
- M*N mole fractions

This sums up to M*(N + 2). On the equations side of things, we have:

- (M - 1)*N equations stemming from the fact that the fugacity of any component is the same in all phases:
- 1 equation from the closure condition of all saturations:
- M - 1 constraints from the capillary pressures:
- N constraints from the fact that the total mass of each component is given:
- M model constraints. Here, we use the NCP constraints:

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):

- 1 pressure
- M - 1 saturations
- M*N mole fractions