96#ifndef DUMUX_MPNC_MODEL_HH
97#define DUMUX_MPNC_MODEL_HH
132template<
int nPhases,
int nComp, MpNcPressureFormulation formulation,
bool useM,
int repCompEqIdx = nComp>
164template<
class NonEquilTraits>
171 NonEquilTraits::numTransportEq()+NonEquilTraits::numConstraintEq() >;
174 NonEquilTraits::numEnergyEqFluid(),
175 NonEquilTraits::numEnergyEqSolid(),
176 NonEquilTraits::numEq() >;
190template<
class PV,
class FSY,
class FST,
class SSY,
class SST,
class PT,
class MT,
class DT,
class EDM>
223template<
class TypeTag>
227template<
class TypeTag>
234 FluidSystem::numComponents,
235 getPropValue<TypeTag, Properties::PressureFormulation>(),
236 getPropValue<TypeTag, Properties::UseMoles>(),
237 getPropValue<TypeTag, Properties::ReplaceCompEqIdx>()>;
241template<
class TypeTag>
252template<
class TypeTag>
272template<
class TypeTag>
275template<
class TypeTag>
276struct UseMoles<TypeTag, TTag::MPNC> {
static constexpr bool value =
true; };
278template<
class TypeTag>
281template<
class TypeTag>
289template<
class TypeTag>
297template<
class TypeTag>
303 FluidSystem::numComponents,
304 getPropValue<TypeTag, Properties::PressureFormulation>(),
305 getPropValue<TypeTag, Properties::UseMoles>(),
306 getPropValue<TypeTag, Properties::ReplaceCompEqIdx>()>;
312template<
class TypeTag>
328 template<
class BaseTraits,
class ETCM>
329 struct NITraits :
public BaseTraits {
using EffectiveThermalConductivityModel = ETCM; };
335template<
class TypeTag>
343template<
class TypeTag>
347template<
class TypeTag>
352template<
class TypeTag>
357 static constexpr bool enableTNE = getPropValue<TypeTag, Properties::EnableThermalNonEquilibrium>();
358 static constexpr bool enableCNE = getPropValue<TypeTag, Properties::EnableChemicalNonEquilibrium>();
359 static constexpr int numEF = getPropValue<TypeTag, Properties::NumEnergyEqFluid>();
360 static constexpr int numES = getPropValue<TypeTag, Properties::NumEnergyEqSolid>();
361 static constexpr auto nf = getPropValue<TypeTag, Properties::NusseltFormulation>();
362 static constexpr auto ns = getPropValue<TypeTag, Properties::SherwoodFormulation>();
370template<
class TypeTag>
377 FluidSystem::numComponents,
378 getPropValue<TypeTag, Properties::PressureFormulation>(),
379 getPropValue<TypeTag, Properties::UseMoles>(),
380 getPropValue<TypeTag, Properties::ReplaceCompEqIdx>()>;
384template<
class TypeTag>
389template<
class TypeTag>
405 template<
class BaseTraits,
class ETCM>
406 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...
The base class for spatial parameters of multi-phase problems using a fully implicit discretization m...
Enumeration of the formulations accepted by the MpNc model.
MpNcPressureFormulation
Enumerates the formulations which the MpNc model accepts.
Definition: pressureformulation.hh:36
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property (equivalent to old macro GET_PROP_TYPE(....
Definition: propertysystem.hh:149
Traits class encapsulating model specifications.
Definition: common/properties.hh:53
A class helping models to define input and output fields.
Definition: common/properties.hh:63
Definition: common/properties.hh:77
Property whether to use moles or kg as amount unit for balance equations.
Definition: common/properties.hh:88
The component balance index that should be replaced by the total mass/mole balance.
Definition: common/properties.hh:90
The secondary variables within a sub-control volume.
Definition: common/properties.hh:106
The type of the fluid state to use.
Definition: common/properties.hh:157
The employed model for the computation of the effective diffusivity.
Definition: common/properties.hh:163
Model to be used for the calculation of the effective conductivity.
Definition: common/properties.hh:165
Definition: common/properties.hh:244
the formulation of the pressure e.g most wetting first
Definition: common/properties.hh:250
Definition: common/properties.hh:252
Definition: common/properties.hh:256
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:51
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:134
static constexpr int numConstraintEq()
Definition: porousmediumflow/mpnc/model.hh:139
static constexpr bool enableThermalNonEquilibrium()
Definition: porousmediumflow/mpnc/model.hh:146
static constexpr bool useMoles()
Definition: porousmediumflow/mpnc/model.hh:142
static constexpr bool enableEnergyBalance()
Definition: porousmediumflow/mpnc/model.hh:145
static constexpr bool enableMolecularDiffusion()
Definition: porousmediumflow/mpnc/model.hh:144
static constexpr int replaceCompEqIdx()
Definition: porousmediumflow/mpnc/model.hh:140
static constexpr int numEq()
Definition: porousmediumflow/mpnc/model.hh:135
static constexpr int numFluidPhases()
Definition: porousmediumflow/mpnc/model.hh:136
static constexpr int numTransportEq()
Definition: porousmediumflow/mpnc/model.hh:138
static constexpr bool enableChemicalNonEquilibrium()
Definition: porousmediumflow/mpnc/model.hh:147
static constexpr bool enableAdvection()
Definition: porousmediumflow/mpnc/model.hh:143
static constexpr MpNcPressureFormulation pressureFormulation()
Definition: porousmediumflow/mpnc/model.hh:149
static constexpr int numFluidComponents()
Definition: porousmediumflow/mpnc/model.hh:137
Specifies a number properties of the m-phase n-component model in conjunction with non-equilibrium....
Definition: porousmediumflow/mpnc/model.hh:166
Traits class for the mpnc volume variables.
Definition: porousmediumflow/mpnc/model.hh:192
DT DiffusionType
Definition: porousmediumflow/mpnc/model.hh:200
SSY SolidSystem
Definition: porousmediumflow/mpnc/model.hh:196
EDM EffectiveDiffusivityModel
Definition: porousmediumflow/mpnc/model.hh:201
SST SolidState
Definition: porousmediumflow/mpnc/model.hh:197
FSY FluidSystem
Definition: porousmediumflow/mpnc/model.hh:194
MT ModelTraits
Definition: porousmediumflow/mpnc/model.hh:199
FST FluidState
Definition: porousmediumflow/mpnc/model.hh:195
PT PermeabilityType
Definition: porousmediumflow/mpnc/model.hh:198
PV PrimaryVariables
Definition: porousmediumflow/mpnc/model.hh:193
Definition: porousmediumflow/mpnc/model.hh:213
std::tuple< PorousMediumFlow > InheritsFrom
Definition: porousmediumflow/mpnc/model.hh:213
Definition: porousmediumflow/mpnc/model.hh:214
std::tuple< MPNC > InheritsFrom
Definition: porousmediumflow/mpnc/model.hh:214
Definition: porousmediumflow/mpnc/model.hh:215
std::tuple< NonEquilibrium, MPNC > InheritsFrom
Definition: porousmediumflow/mpnc/model.hh:215
Definition: porousmediumflow/mpnc/volumevariables.hh:43
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:51
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.
Base class for the model specific class which provides access to all volume averaged quantities.
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.
Defines the primary variable and equation indices used by the isothermal tracer model.