Generalized multi-phase, multi-component Darcy flow. More...
A fully implicit model for MpNc flow using vertex centered finite volumes.
This model implements a
The momentum approximation can be selected via "BaseFluxVariables": Darcy (ImplicitDarcyFluxVariables) and Forchheimer (ImplicitForchheimerFluxVariables) relations are available for all Box models. For details on Darcy's law see dumux/flux/darcyslaw.hh.
By inserting this into the equations for the conservation of the mass of each component, one gets one mass-continuity equation for each component
with
Additionally:
For the missing
Also, if a fluid phase may be present at a given spatial location its saturation must be positive:
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:
Files | |
file | porousmediumflow/mpnc/indices.hh |
The primary variable and equation indices for the MpNc model. | |
file | initialconditionhelper.hh |
A helper function to get the correct initial conditions by updating the fluidstate and defining the primary variables needed for equilibrium mpnc models for the MPNC model. | |
file | porousmediumflow/mpnc/iofields.hh |
Adds I/O fields specific to the mpnc model. | |
file | porousmediumflow/mpnc/localresidual.hh |
MpNc specific details needed to approximately calculate the local defect in the fully implicit scheme. | |
file | porousmediumflow/mpnc/model.hh |
A fully implicit model for MpNc flow using vertex centered finite volumes. | |
file | pressureformulation.hh |
Enumeration of the formulations accepted by the MpNc model. | |
file | porousmediumflow/mpnc/volumevariables.hh |
Contains the secondary variables (Quantities which are constant within a finite volume) of the MpNc model. | |
Classes | |
struct | Dumux::MPNCIndices< numPhases, numEqBalance > |
The primary variable and equation indices for the MpNc model. More... | |
class | Dumux::MPNCIOFields |
Adds I/O fields specific to the mpnc model. More... | |
class | Dumux::MPNCLocalResidual< TypeTag > |
MpNc specific details needed to approximately calculate the local defect in the fully implicit scheme. More... | |
struct | Dumux::MPNCModelTraits< nPhases, nComp, formulation, useM, repCompEqIdx > |
Specifies a number properties of the m-phase n-component model. More... | |
struct | Dumux::MPNCNonequilibriumModelTraits< NonEquilTraits > |
Specifies a number properties of the m-phase n-component model in conjunction with non-equilibrium. This is necessary because the mpnc indices are affected by the non-equilibrium which can thus not be plugged on top of it that easily. More... | |
struct | Dumux::MPNCVolumeVariablesTraits< PV, FSY, FST, SSY, SST, PT, MT, DT, EDM > |
Traits class for the mpnc volume variables. More... | |
Typedefs | |
template<class Traits > | |
using | Dumux::MPNCVolumeVariables = MPNCVolumeVariablesImplementation< Traits, Traits::ModelTraits::enableChemicalNonEquilibrium()> |
Contains the quantities which are constant within a finite volume in the MpNc model. More... | |
Enumerations | |
enum class | Dumux::MpNcPressureFormulation { Dumux::MpNcPressureFormulation::mostWettingFirst , Dumux::MpNcPressureFormulation::leastWettingFirst } |
Enumerates the formulations which the MpNc model accepts. More... | |
using Dumux::MPNCVolumeVariables = typedef MPNCVolumeVariablesImplementation<Traits, Traits::ModelTraits::enableChemicalNonEquilibrium()> |
Traits | Class encapsulating types to be used by the vol vars |
|
strong |