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 effective diffusion coefficient after Millington and Quirk.
Definition: diffusivitymillingtonquirk.hh:37
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
Effective thermal conductivity based on weighted arithmetic average.
Definition: thermalconductivityaverage.hh:43
Effective thermal conductivity after Somerton.
Definition: somerton.hh:46
Defines all properties used in Dumux.
Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system assum...
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)
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:76
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