63#ifndef DUMUX_3P2CNI_MODEL_HH
64#define DUMUX_3P2CNI_MODEL_HH
66#include <dune/common/fvector.hh>
91template<
bool onlyGasPhase>
96 static constexpr int numEq() {
return 2; }
107namespace Properties {
119template<
class TypeTag>
120struct ModelTraits<TypeTag, TTag::ThreePWaterOilNI>
124 static_assert(FluidSystem::numComponents == 2,
"Only fluid systems with 2 components are supported by the 3p2cni model!");
125 static_assert(FluidSystem::numPhases == 3,
"Only fluid systems with 3 phases are supported by the 3p2cni model!");
136template<
class TypeTag>
137struct FluidState<TypeTag, TTag::ThreePWaterOilNI>{
146template<
class TypeTag>
150template<
class TypeTag>
154template<
class TypeTag>
155struct PrimaryVariables<TypeTag, TTag::ThreePWaterOilNI>
158 using PrimaryVariablesVector = Dune::FieldVector<GetPropType<TypeTag, Properties::Scalar>,
165template<
class TypeTag>
166struct OnlyGasPhaseCanDisappear<TypeTag, TTag::ThreePWaterOilNI> {
static constexpr bool value =
true; };
169template<
class TypeTag>
170struct VolumeVariables<TypeTag, TTag::ThreePWaterOilNI>
185 template<
class BaseTraits,
class DT,
class EDM,
class ETCM>
188 using DiffusionType = DT;
189 using EffectiveDiffusivityModel = EDM;
190 using EffectiveThermalConductivityModel = ETCM;
198template<
class TypeTag>
199struct EffectiveDiffusivityModel<TypeTag, TTag::ThreePWaterOilNI>
203template<
class TypeTag>
204struct UseMoles<TypeTag, TTag::ThreePWaterOilNI> {
static constexpr bool value =
true; };
207template<
class TypeTag>
211template<
class TypeTag>
Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system assum...
Definition: compositional.hh:35
Relation for the effective diffusion coefficient after Millington and Quirk.
Definition: diffusivitymillingtonquirk.hh:37
Adds I/O fields specific to non-isothermal models.
Definition: porousmediumflow/nonisothermal/iofields.hh:27
A primary variable vector with a state to allow variable switches.
Definition: switchableprimaryvariables.hh:28
Effective thermal conductivity after Somerton.
Definition: thermalconductivitysomerton3p.hh:46
The indices for the isothermal 3p2cni model.
Definition: porousmediumflow/3pwateroil/indices.hh:23
Element-wise calculation of the local residual for problems using the ThreePWaterOil fully implicit m...
Definition: porousmediumflow/3pwateroil/localresidual.hh:29
Contains the quantities which are are constant within a finite volume in the three-phase,...
Definition: porousmediumflow/3pwateroil/volumevariables.hh:57
Defines all properties used in Dumux.
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:296
Adaption of the fully implicit scheme to the three-phase flow model.
Defines the indices used by the non-isothermal two-phase two-component model.
Adds I/O fields specific to non-isothermal models.
The implicit non-isothermal model.
Defines a type tag and some properties for models using the box scheme.
Defines the primary variable and equation indices used by the isothermal tracer model.
Adds I/O fields specific to the tracer model.
Element-wise calculation of the local residual for problems using fully implicit tracer model.
Adaption of the fully implicit scheme to the tracer transport model.
Python wrapper for volume variables (finite volume schemes)
Specifies a number properties of non-isothermal porous medium flow models based on the specifics of a...
Definition: porousmediumflow/nonisothermal/model.hh:76
Definition: porousmediumflow/3pwateroil/model.hh:111
std::tuple< PorousMediumFlow > InheritsFrom
Definition: porousmediumflow/3pwateroil/model.hh:111
Traits class for the two-phase model.
Definition: porousmediumflow/3p/model.hh:96
Specifies a number properties of the three-phase two-component model.
Definition: porousmediumflow/3pwateroil/model.hh:93
static constexpr int numFluidComponents()
Definition: porousmediumflow/3pwateroil/model.hh:98
static constexpr int numFluidPhases()
Definition: porousmediumflow/3pwateroil/model.hh:97
static constexpr bool enableMolecularDiffusion()
Definition: porousmediumflow/3pwateroil/model.hh:101
static constexpr bool onlyGasPhaseCanDisappear()
Definition: porousmediumflow/3pwateroil/model.hh:104
static constexpr int numEq()
Definition: porousmediumflow/3pwateroil/model.hh:96
static constexpr bool enableEnergyBalance()
Definition: porousmediumflow/3pwateroil/model.hh:102
static constexpr bool enableAdvection()
Definition: porousmediumflow/3pwateroil/model.hh:100
A primary variable vector with a state to allow variable switches.