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; };
Enumeration of the formulations accepted by the MpNc model.
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...
Relation for the saturation-dependent effective diffusion coefficient.
Relation for the saturation-dependent effective thermal conductivity.
Relation for the saturation-dependent effective thermal conductivity.
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
This specifies models which are able to capture non-equilibrium mass and / or energy transfer.
The implicit non-isothermal 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.
Declares all properties used in Dumux.
Defines a type tag and some properties for models using the box scheme.
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.
Adds I/O fields specific to non-isothermal models.
Adds I/O fields specific to the 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)