90#ifndef DUMUX_MPNC_MODEL_HH
91#define DUMUX_MPNC_MODEL_HH
125template<
int nPhases,
int nComp, MpNcPressureFormulation formulation,
bool useM,
int repCompEqIdx = nComp>
160template<
class NonEquilTraits>
166 using MpNcIndices =
MPNCIndices< NonEquilTraits::numFluidPhases(),
167 NonEquilTraits::numTransportEq()+NonEquilTraits::numConstraintEq() >;
170 NonEquilTraits::numEnergyEqFluid(),
171 NonEquilTraits::numEnergyEqSolid(),
172 NonEquilTraits::numEq() >;
186template<
class PV,
class FSY,
class FST,
class SSY,
class SST,
class PT,
class MT,
class DT,
class EDM>
219template<
class TypeTag>
223template<
class TypeTag>
224struct ModelTraits<TypeTag,
TTag::MPNC>
230 FluidSystem::numComponents,
237template<
class TypeTag>
238struct FluidState<TypeTag,
TTag::MPNC>
248template<
class TypeTag>
249struct VolumeVariables<TypeTag,
TTag::MPNC>
268template<
class TypeTag>
271template<
class TypeTag>
272struct UseMoles<TypeTag,
TTag::MPNC> {
static constexpr bool value =
true; };
274template<
class TypeTag>
277template<
class TypeTag>
278struct PressureFormulation<TypeTag,
TTag::MPNC>
285template<
class TypeTag>
293template<
class TypeTag>
294struct ModelTraits<TypeTag,
TTag::MPNCNI>
299 FluidSystem::numComponents,
308template<
class TypeTag>
309struct VolumeVariables<TypeTag,
TTag::MPNCNI>
324 template<
class BaseTraits,
class ETCM>
325 struct NITraits :
public BaseTraits {
using EffectiveThermalConductivityModel = ETCM; };
331template<
class TypeTag>
332struct ThermalConductivityModel<TypeTag,
TTag::MPNCNI>
339template<
class TypeTag>
343template<
class TypeTag>
348template<
class TypeTag>
349struct ModelTraits<TypeTag,
TTag::MPNCNonequil>
366template<
class TypeTag>
367struct EquilibriumModelTraits<TypeTag,
TTag::MPNCNonequil>
373 FluidSystem::numComponents,
380template<
class TypeTag>
381struct ThermalConductivityModel<TypeTag,
TTag::MPNCNonequil>
385template<
class TypeTag>
386struct VolumeVariables<TypeTag,
TTag::MPNCNonequil>
401 template<
class BaseTraits,
class ETCM>
402 struct NITraits :
public BaseTraits {
using EffectiveThermalConductivityModel = ETCM; };
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:43
Adds I/O fields specific to the mpnc model.
Definition porousmediumflow/mpnc/iofields.hh:28
MpNc specific details needed to approximately calculate the local defect in the fully implicit scheme...
Definition porousmediumflow/mpnc/localresidual.hh:34
The primary variable and equation indices for the MpNc model.
Definition porousmediumflow/nonequilibrium/indices.hh:24
Effective thermal conductivity based on weighted arithmetic average.
Definition thermalconductivityaverage.hh:49
Effective thermal conductivity after Somerton.
Definition somerton.hh:52
Defines all properties used in Dumux.
Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system assum...
Relation for the effective diffusion coefficient after Millington and Quirk.
MpNcPressureFormulation
Enumerates the formulations which the MpNc model accepts.
Definition pressureformulation.hh:24
MPNCVolumeVariablesImplementation< Traits, Traits::ModelTraits::enableChemicalNonEquilibrium()> MPNCVolumeVariables
Contains the quantities which are constant within a finite volume in the MpNc model.
Definition porousmediumflow/mpnc/volumevariables.hh:38
@ mostWettingFirst
Definition pressureformulation.hh:25
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:310
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition propertysystem.hh:296
@ SST
Definition turbulencemodel.hh:63
Type tag for numeric models.
Definition grid.hh:24
The energy balance equation for a porous solid.
Definition common/properties.hh:26
NonEquilibriumVolumeVariablesImplementation< Traits, EquilibriumVolumeVariables, Traits::ModelTraits::enableChemicalNonEquilibrium(), Traits::ModelTraits::enableThermalNonEquilibrium(), Traits::ModelTraits::numEnergyEqFluid()> NonEquilibriumVolumeVariables
Definition porousmediumflow/nonequilibrium/volumevariables.hh:40
Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system witho...
Element-wise calculation of the local residual for problems using compositional fully implicit model.
The primary variable and equation indices for the MpNc model.
Adds I/O fields specific to the mpnc model.
MpNc specific details needed to approximately calculate the local defect in the fully implicit scheme...
Contains the secondary variables (Quantities which are constant within a finite volume) of the MpNc m...
This specifies models which are able to capture non-equilibrium mass and / or energy transfer.
This class contains the volume variables required for the modules which require the specific interfac...
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.
Effective thermal conductivity after Somerton.
The primary variable and equation indices for the MpNc model.
Definition porousmediumflow/mpnc/indices.hh:27
Specifies a number properties of the m-phase n-component model.
Definition porousmediumflow/mpnc/model.hh:127
static constexpr int numConstraintEq()
Definition porousmediumflow/mpnc/model.hh:132
MPNCIndices< numFluidPhases(), numEq() > Indices
Per default, we use the indices without offset.
Definition porousmediumflow/mpnc/model.hh:147
static constexpr bool enableThermalNonEquilibrium()
Definition porousmediumflow/mpnc/model.hh:139
static constexpr bool enableThermalDispersion()
Definition porousmediumflow/mpnc/model.hh:142
static constexpr bool useMoles()
Definition porousmediumflow/mpnc/model.hh:135
static constexpr bool enableEnergyBalance()
Definition porousmediumflow/mpnc/model.hh:138
static constexpr bool enableMolecularDiffusion()
Definition porousmediumflow/mpnc/model.hh:137
static constexpr bool enableCompositionalDispersion()
Definition porousmediumflow/mpnc/model.hh:141
static constexpr int replaceCompEqIdx()
Definition porousmediumflow/mpnc/model.hh:133
static constexpr int numEq()
Definition porousmediumflow/mpnc/model.hh:128
static constexpr int numFluidPhases()
Definition porousmediumflow/mpnc/model.hh:129
static constexpr int numTransportEq()
Definition porousmediumflow/mpnc/model.hh:131
static constexpr bool enableChemicalNonEquilibrium()
Definition porousmediumflow/mpnc/model.hh:140
static constexpr bool enableAdvection()
Definition porousmediumflow/mpnc/model.hh:136
static constexpr MpNcPressureFormulation pressureFormulation()
Definition porousmediumflow/mpnc/model.hh:144
static constexpr int numFluidComponents()
Definition porousmediumflow/mpnc/model.hh:130
Specifies a number properties of the m-phase n-component model in conjunction with non-equilibrium....
Definition porousmediumflow/mpnc/model.hh:162
NonEquilbriumIndices< MpNcIndices, NonEquilTraits::numEnergyEqFluid(), NonEquilTraits::numEnergyEqSolid(), NonEquilTraits::numEq() > Indices
Definition porousmediumflow/mpnc/model.hh:169
Traits class for the mpnc volume variables.
Definition porousmediumflow/mpnc/model.hh:188
DT DiffusionType
Definition porousmediumflow/mpnc/model.hh:196
SSY SolidSystem
Definition porousmediumflow/mpnc/model.hh:192
EDM EffectiveDiffusivityModel
Definition porousmediumflow/mpnc/model.hh:197
SST SolidState
Definition porousmediumflow/mpnc/model.hh:193
FSY FluidSystem
Definition porousmediumflow/mpnc/model.hh:190
MT ModelTraits
Definition porousmediumflow/mpnc/model.hh:195
FST FluidState
Definition porousmediumflow/mpnc/model.hh:191
PT PermeabilityType
Definition porousmediumflow/mpnc/model.hh:194
PV PrimaryVariables
Definition porousmediumflow/mpnc/model.hh:189
Specifies a number properties of porous-medium flow non-equilibrium models.
Definition porousmediumflow/nonequilibrium/model.hh:45
Specifies a number properties of non-isothermal porous medium flow models based on the specifics of a...
Definition porousmediumflow/nonisothermal/model.hh:76
DiffusivityMillingtonQuirk< GetPropType< TypeTag, Properties::Scalar > > type
Definition porousmediumflow/mpnc/model.hh:275
MPNCIOFields type
Definition porousmediumflow/mpnc/model.hh:344
MPNCLocalResidual< TypeTag > type
Definition porousmediumflow/mpnc/model.hh:340
MPNCModelTraits< FluidSystem::numPhases, FluidSystem::numComponents, getPropValue< TypeTag, Properties::PressureFormulation >(), getPropValue< TypeTag, Properties::UseMoles >(), getPropValue< TypeTag, Properties::ReplaceCompEqIdx >()> type
Definition porousmediumflow/mpnc/model.hh:372
CompositionalFluidState< Scalar, FluidSystem > type
Definition porousmediumflow/mpnc/model.hh:244
MPNCIOFields type
Definition porousmediumflow/mpnc/model.hh:286
MPNCLocalResidual< TypeTag > type
Definition porousmediumflow/mpnc/model.hh:220
MPNCModelTraits< FluidSystem::numPhases, FluidSystem::numComponents, getPropValue< TypeTag, Properties::PressureFormulation >(), getPropValue< TypeTag, Properties::UseMoles >(), getPropValue< TypeTag, Properties::ReplaceCompEqIdx >()> type
Definition porousmediumflow/mpnc/model.hh:229
PorousMediumFlowNIModelTraits< IsothermalTraits > type
Definition porousmediumflow/mpnc/model.hh:304
MPNCNonequilibriumModelTraits< NonEquilTraits > type
Definition porousmediumflow/mpnc/model.hh:362
static constexpr int value
Definition porousmediumflow/mpnc/model.hh:269
Definition porousmediumflow/mpnc/model.hh:209
std::tuple< PorousMediumFlow > InheritsFrom
Definition porousmediumflow/mpnc/model.hh:209
Definition porousmediumflow/mpnc/model.hh:210
std::tuple< MPNC > InheritsFrom
Definition porousmediumflow/mpnc/model.hh:210
Definition porousmediumflow/mpnc/model.hh:211
std::tuple< NonEquilibrium, MPNC > InheritsFrom
Definition porousmediumflow/mpnc/model.hh:211
ThermalConductivitySomertonTwoP< GetPropType< TypeTag, Properties::Scalar > > type
Definition porousmediumflow/mpnc/model.hh:333
ThermalConductivityAverage< GetPropType< TypeTag, Properties::Scalar > > type
Definition porousmediumflow/mpnc/model.hh:382
static constexpr bool value
Definition porousmediumflow/mpnc/model.hh:272
MPNCVolumeVariables< Traits > type
Definition porousmediumflow/mpnc/model.hh:264
MPNCVolumeVariables< NITraits< BaseTraits, ETCM > > type
Definition porousmediumflow/mpnc/model.hh:327
NonEquilibriumVolumeVariables< NITraits< BaseTraits, ETCM >, EquilibriumVolVars > type
Definition porousmediumflow/mpnc/model.hh:405
Effective thermal conductivity based on weighted arithmetic average.