ncpmodel.hh File Reference #include <dune/common/fvector.hh> #include <opm/common/Exceptions.hpp> #include <opm/material/common/Valgrind.hpp> #include <opm/material/densead/Math.hpp> #include <opm/models/ncp/ncpproperties.hh> #include <opm/models/ncp/ncplocalresidual.hh> #include <opm/models/ncp/ncpextensivequantities.hh> #include <opm/models/ncp/ncpprimaryvariables.hh> #include <opm/models/ncp/ncpboundaryratevector.hh> #include <opm/models/ncp/ncpratevector.hh> #include <opm/models/ncp/ncpintensivequantities.hh> #include <opm/models/ncp/ncpnewtonmethod.hh> #include <opm/models/ncp/ncpindices.hh> #include <opm/models/common/diffusionmodule.hh> #include <opm/models/common/energymodule.hh> #include <opm/models/common/multiphasebasemodel.hh> #include <opm/models/io/vtkcompositionmodule.hpp> #include <opm/models/io/vtkdiffusionmodule.hpp> #include <opm/models/io/vtkenergymodule.hpp> #include <algorithm> #include <cassert> #include <cmath> #include <memory> #include <sstream> #include <string> #include <tuple> #include <vector>
Include dependency graph for ncpmodel.hh:
![]() Go to the source code of this file.
Detailed DescriptionA compositional multi-phase model based on non-linear complementarity functions. This model implements a By default, the standard multi-phase Darcy approach is used to determine the velocity, i.e.
although the actual approach which is used can be specified via the template<class TypeTag>
struct FluxModule<TypeTag, TTag::MyProblemTypeTag> { using type = ForchheimerFluxModule<TypeTag>; };
The core of the model is the conservation mass of each component by means of the equation
For the missing
Also, if a fluid phase may be present at a given spatial location its saturation must be non-negative:
Since at any given spatial location, a phase is always either present or not present, one of the strict equalities on the right hand side is always true, i.e.
always holds. These three equations constitute a non-linear complementarity problem, which can be solved using so-called non-linear complementarity functions
Several non-linear complementarity functions have been suggested, e.g. the Fischer-Burmeister function
This model uses
because of its piecewise linearity. The model assumes local thermodynamic equilibrium and uses the following primary variables:
|
||||||||||||||||