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>
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,
231 getPropValue<TypeTag, Properties::PressureFormulation>(),
232 getPropValue<TypeTag, Properties::UseMoles>(),
233 getPropValue<TypeTag, Properties::ReplaceCompEqIdx>()>;
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,
300 getPropValue<TypeTag, Properties::PressureFormulation>(),
301 getPropValue<TypeTag, Properties::UseMoles>(),
302 getPropValue<TypeTag, Properties::ReplaceCompEqIdx>()>;
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>
353 static constexpr bool enableTNE = getPropValue<TypeTag, Properties::EnableThermalNonEquilibrium>();
354 static constexpr bool enableCNE = getPropValue<TypeTag, Properties::EnableChemicalNonEquilibrium>();
355 static constexpr int numEF = getPropValue<TypeTag, Properties::NumEnergyEqFluid>();
356 static constexpr int numES = getPropValue<TypeTag, Properties::NumEnergyEqSolid>();
357 static constexpr auto nf = getPropValue<TypeTag, Properties::NusseltFormulation>();
358 static constexpr auto ns = getPropValue<TypeTag, Properties::SherwoodFormulation>();
366template<
class TypeTag>
367struct EquilibriumModelTraits<TypeTag, TTag::MPNCNonequil>
373 FluidSystem::numComponents,
374 getPropValue<TypeTag, Properties::PressureFormulation>(),
375 getPropValue<TypeTag, Properties::UseMoles>(),
376 getPropValue<TypeTag, Properties::ReplaceCompEqIdx>()>;
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 saturation-dependent effective diffusion coefficient.
Definition: diffusivitymillingtonquirk.hh:40
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
Definition: porousmediumflow/mpnc/volumevariables.hh:30
The primary variable and equation indices for the MpNc model.
Definition: porousmediumflow/nonequilibrium/indices.hh:24
This class contains the volume variables required for the modules which require the specific interfac...
Definition: porousmediumflow/nonequilibrium/volumevariables.hh:37
Relation for the saturation-dependent effective thermal conductivity.
Definition: simplefluidlumping.hh:26
Relation for the saturation-dependent effective thermal conductivity.
Definition: somerton.hh:48
Defines all properties used in Dumux.
Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system assum...
Relation for the saturation-dependent effective diffusion coefficient.
MpNcPressureFormulation
Enumerates the formulations which the MpNc model accepts.
Definition: pressureformulation.hh:24
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:296
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.
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.
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.
Python wrapper for volume variables (finite volume schemes)
Relation for the saturation-dependent effective thermal conductivity.
Relation for the saturation-dependent effective thermal conductivity.
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
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
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:71
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