91#ifndef DUMUX_MPNC_MODEL_HH
92#define DUMUX_MPNC_MODEL_HH
126template<
int nPhases,
int nComp, MpNcPressureFormulation formulation,
bool useM,
int repCompEqIdx = nComp>
161template<
class NonEquilTraits>
168 NonEquilTraits::numTransportEq()+NonEquilTraits::numConstraintEq() >;
171 NonEquilTraits::numEnergyEqFluid(),
172 NonEquilTraits::numEnergyEqSolid(),
173 NonEquilTraits::numEq() >;
187template<
class PV,
class FSY,
class FST,
class SSY,
class SST,
class PT,
class MT,
class DT,
class EDM>
220template<
class TypeTag>
224template<
class TypeTag>
231 FluidSystem::numComponents,
232 getPropValue<TypeTag, Properties::PressureFormulation>(),
233 getPropValue<TypeTag, Properties::UseMoles>(),
234 getPropValue<TypeTag, Properties::ReplaceCompEqIdx>()>;
238template<
class TypeTag>
249template<
class TypeTag>
269template<
class TypeTag>
272template<
class TypeTag>
273struct UseMoles<TypeTag, TTag::MPNC> {
static constexpr bool value =
true; };
275template<
class TypeTag>
278template<
class TypeTag>
286template<
class TypeTag>
294template<
class TypeTag>
300 FluidSystem::numComponents,
301 getPropValue<TypeTag, Properties::PressureFormulation>(),
302 getPropValue<TypeTag, Properties::UseMoles>(),
303 getPropValue<TypeTag, Properties::ReplaceCompEqIdx>()>;
309template<
class TypeTag>
325 template<
class BaseTraits,
class ETCM>
326 struct NITraits :
public BaseTraits {
using EffectiveThermalConductivityModel = ETCM; };
332template<
class TypeTag>
340template<
class TypeTag>
344template<
class TypeTag>
349template<
class TypeTag>
354 static constexpr bool enableTNE = getPropValue<TypeTag, Properties::EnableThermalNonEquilibrium>();
355 static constexpr bool enableCNE = getPropValue<TypeTag, Properties::EnableChemicalNonEquilibrium>();
356 static constexpr int numEF = getPropValue<TypeTag, Properties::NumEnergyEqFluid>();
357 static constexpr int numES = getPropValue<TypeTag, Properties::NumEnergyEqSolid>();
358 static constexpr auto nf = getPropValue<TypeTag, Properties::NusseltFormulation>();
359 static constexpr auto ns = getPropValue<TypeTag, Properties::SherwoodFormulation>();
367template<
class TypeTag>
374 FluidSystem::numComponents,
375 getPropValue<TypeTag, Properties::PressureFormulation>(),
376 getPropValue<TypeTag, Properties::UseMoles>(),
377 getPropValue<TypeTag, Properties::ReplaceCompEqIdx>()>;
381template<
class TypeTag>
386template<
class TypeTag>
402 template<
class BaseTraits,
class ETCM>
403 struct NITraits :
public BaseTraits {
using EffectiveThermalConductivityModel = ETCM; };
Relation for the saturation-dependent effective thermal conductivity.
Relation for the saturation-dependent effective thermal conductivity.
Relation for the saturation-dependent effective diffusion coefficient.
Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system witho...
Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system assum...
Enumeration of the formulations accepted by the MpNc model.
MpNcPressureFormulation
Enumerates the formulations which the MpNc model accepts.
Definition: pressureformulation.hh:36
Adaption of the non-isothermal two-phase two-component flow model to problems with CO2.
Definition: adapt.hh:29
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:180
Traits class encapsulating model specifications.
Definition: common/properties.hh:51
A class helping models to define input and output fields.
Definition: common/properties.hh:61
Definition: common/properties.hh:72
Property whether to use moles or kg as amount unit for balance equations.
Definition: common/properties.hh:83
The component balance index that should be replaced by the total mass/mole balance.
Definition: common/properties.hh:85
The secondary variables within a sub-control volume.
Definition: common/properties.hh:105
The type of the fluid state to use.
Definition: common/properties.hh:162
The employed model for the computation of the effective diffusivity.
Definition: common/properties.hh:168
Model to be used for the calculation of the effective conductivity.
Definition: common/properties.hh:170
Definition: common/properties.hh:249
the formulation of the pressure e.g most wetting first
Definition: common/properties.hh:255
Definition: common/properties.hh:257
Definition: common/properties.hh:261
Relation for the saturation-dependent effective thermal conductivity.
Definition: simplefluidlumping.hh:38
Relation for the saturation-dependent effective thermal conductivity.
Definition: somerton.hh:60
Relation for the saturation-dependent effective diffusion coefficient.
Definition: diffusivitymillingtonquirk.hh:52
Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system assum...
Definition: compositional.hh:47
The primary variable and equation indices for the MpNc model.
Definition: porousmediumflow/mpnc/indices.hh:39
Adds I/O fields specific to the mpnc model.
Definition: porousmediumflow/mpnc/iofields.hh:40
MpNc specific details needed to approximately calculate the local defect in the fully implicit scheme...
Definition: porousmediumflow/mpnc/localresidual.hh:46
Specifies a number properties of the m-phase n-component model.
Definition: porousmediumflow/mpnc/model.hh:128
static constexpr int numConstraintEq()
Definition: porousmediumflow/mpnc/model.hh:133
static constexpr bool enableThermalNonEquilibrium()
Definition: porousmediumflow/mpnc/model.hh:140
static constexpr bool enableThermalDispersion()
Definition: porousmediumflow/mpnc/model.hh:143
static constexpr bool useMoles()
Definition: porousmediumflow/mpnc/model.hh:136
static constexpr bool enableEnergyBalance()
Definition: porousmediumflow/mpnc/model.hh:139
static constexpr bool enableMolecularDiffusion()
Definition: porousmediumflow/mpnc/model.hh:138
static constexpr bool enableCompositionalDispersion()
Definition: porousmediumflow/mpnc/model.hh:142
static constexpr int replaceCompEqIdx()
Definition: porousmediumflow/mpnc/model.hh:134
static constexpr int numEq()
Definition: porousmediumflow/mpnc/model.hh:129
static constexpr int numFluidPhases()
Definition: porousmediumflow/mpnc/model.hh:130
static constexpr int numTransportEq()
Definition: porousmediumflow/mpnc/model.hh:132
static constexpr bool enableChemicalNonEquilibrium()
Definition: porousmediumflow/mpnc/model.hh:141
static constexpr bool enableAdvection()
Definition: porousmediumflow/mpnc/model.hh:137
static constexpr MpNcPressureFormulation pressureFormulation()
Definition: porousmediumflow/mpnc/model.hh:145
static constexpr int numFluidComponents()
Definition: porousmediumflow/mpnc/model.hh:131
Specifies a number properties of the m-phase n-component model in conjunction with non-equilibrium....
Definition: porousmediumflow/mpnc/model.hh:163
Traits class for the mpnc volume variables.
Definition: porousmediumflow/mpnc/model.hh:189
DT DiffusionType
Definition: porousmediumflow/mpnc/model.hh:197
SSY SolidSystem
Definition: porousmediumflow/mpnc/model.hh:193
EDM EffectiveDiffusivityModel
Definition: porousmediumflow/mpnc/model.hh:198
SST SolidState
Definition: porousmediumflow/mpnc/model.hh:194
FSY FluidSystem
Definition: porousmediumflow/mpnc/model.hh:191
MT ModelTraits
Definition: porousmediumflow/mpnc/model.hh:196
FST FluidState
Definition: porousmediumflow/mpnc/model.hh:192
PT PermeabilityType
Definition: porousmediumflow/mpnc/model.hh:195
PV PrimaryVariables
Definition: porousmediumflow/mpnc/model.hh:190
Definition: porousmediumflow/mpnc/model.hh:210
std::tuple< PorousMediumFlow > InheritsFrom
Definition: porousmediumflow/mpnc/model.hh:210
Definition: porousmediumflow/mpnc/model.hh:211
std::tuple< MPNC > InheritsFrom
Definition: porousmediumflow/mpnc/model.hh:211
Definition: porousmediumflow/mpnc/model.hh:212
std::tuple< NonEquilibrium, MPNC > InheritsFrom
Definition: porousmediumflow/mpnc/model.hh:212
Definition: porousmediumflow/mpnc/volumevariables.hh:42
The primary variable and equation indices for the MpNc model.
Definition: porousmediumflow/nonequilibrium/indices.hh:36
Specifies a number properties of porous-medium flow non-equilibrium models.
Definition: porousmediumflow/nonequilibrium/model.hh:57
This class contains the volume variables required for the modules which require the specific interfac...
Definition: porousmediumflow/nonequilibrium/volumevariables.hh:49
Specifies a number properties of non-isothermal porous medium flow models based on the specifics of a...
Definition: porousmediumflow/nonisothermal/model.hh:70
Declares all properties used in Dumux.
Defines a type tag and some properties for models using the box scheme.
This specifies models which are able to capture non-equilibrium mass and / or energy transfer.
The implicit non-isothermal model.
Adds I/O fields specific to non-isothermal models.
Adds I/O fields specific to the tracer model.
Element-wise calculation of the local residual for problems using compositional fully implicit model.
Element-wise calculation of the local residual for problems using fully implicit tracer model.
This class contains the volume variables required for the modules which require the specific interfac...
Python wrapper for volume variables (finite volume schemes)
Defines the indices used by the non-isothermal two-phase two-component model.
Defines the primary variable and equation indices used by the isothermal tracer model.