68#ifndef DUMUX_2P2C_MODEL_HH
69#define DUMUX_2P2C_MODEL_HH
107template<
class TypeTag>
108struct BaseModelTraits<TypeTag,
TTag::TwoPTwoC>
112 static_assert(FluidSystem::numComponents == 2,
"Only fluid systems with 2 components are supported by the 2p-2c model!");
113 static_assert(FluidSystem::numPhases == 2,
"Only fluid systems with 2 phases are supported by the 2p-2c model!");
122template<
class TypeTag>
126template<
class TypeTag>
127struct VolumeVariables<TypeTag,
TTag::TwoPTwoC>
139 static_assert(FSY::numComponents == 2,
"Only fluid systems with 2 components are supported by the 2p2c model!");
140 static_assert(FSY::numPhases == 2,
"Only fluid systems with 2 phases are supported by the 2p2c model!");
147 template<
class BaseTraits,
class DT,
class EDM>
148 struct NCTraits :
public BaseTraits
150 using DiffusionType = DT;
151 using EffectiveDiffusivityModel = EDM;
159template<
class TypeTag>
160struct UseConstraintSolver<TypeTag,
TTag::TwoPTwoC> {
static constexpr bool value =
true; };
167template<
class TypeTag>
168struct ModelTraits<TypeTag,
TTag::TwoPTwoCNI>
177template<
class TypeTag>
178struct VolumeVariables<TypeTag,
TTag::TwoPTwoCNI>
198 template<
class BaseTraits,
class DT,
class EDM,
class ETCM>
199 struct NCNITraits :
public BaseTraits
201 using DiffusionType = DT;
202 using EffectiveDiffusivityModel = EDM;
203 using EffectiveThermalConductivityModel = ETCM;
211template<
class TypeTag>
215template<
class TypeTag>
220template<
class TwoPTwoCModelTraits>
226namespace Properties {
238template<
class TypeTag>
242template<
class TypeTag>
245template<
class TypeTag>
246struct ModelTraits<TypeTag,
TTag::TwoPTwoCNonEquil>
263template<
class TypeTag>
264struct EquilibriumModelTraits<TypeTag,
TTag::TwoPTwoCNonEquil>
275template<
class TypeTag>
276struct ThermalConductivityModel<TypeTag,
TTag::TwoPTwoCNonEquil>
280template<
class TypeTag>
281struct VolumeVariables<TypeTag,
TTag::TwoPTwoCNonEquil>
299 template<
class BaseTraits,
class DT,
class EDM>
300 struct NCTraits :
public BaseTraits
302 using DiffusionType = DT;
303 using EffectiveDiffusivityModel = EDM;
321template<
class TypeTag>
322struct ModelTraits<TypeTag,
TTag::TwoPTwoCNINonEquil>
340template<
class TypeTag>
341struct EquilibriumIOFields<TypeTag,
TTag::TwoPTwoCNINonEquil>
346 using type = NonisothermalIOFields;
350template<
class TypeTag>
351struct VolumeVariables<TypeTag,
TTag::TwoPTwoCNINonEquil>
371 template<
class BaseTraits,
class DT,
class EDM,
class ETCM>
372 struct NCNITraits :
public BaseTraits
374 using DiffusionType = DT;
375 using EffectiveDiffusivityModel = EDM;
376 using EffectiveThermalConductivityModel = ETCM;
385template<
class TypeTag>
386struct ThermalConductivityModel<TypeTag,
TTag::TwoPTwoCNINonEquil>
Element-wise calculation of the local residual for problems using compositional fully implicit model.
Definition porousmediumflow/compositional/localresidual.hh:35
Adds I/O fields specific to non-isothermal models.
Definition porousmediumflow/nonisothermal/iofields.hh:27
Effective thermal conductivity based on weighted arithmetic average.
Definition thermalconductivityaverage.hh:49
Effective thermal conductivity after Somerton.
Definition somerton.hh:52
Adds I/O fields specific to the TwoPNC model.
Definition porousmediumflow/2pnc/iofields.hh:27
Class that computes the nonwetting saturation in an scv from the saturation at the global degree of f...
Definition saturationreconstruction.hh:31
Defines all properties used in Dumux.
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
TwoPTwoCVolumeVariablesImplementation< Traits, Traits::ModelTraits::enableChemicalNonEquilibrium(), useConstraintSolver > TwoPTwoCVolumeVariables
Contains the quantities which are constant within a finite volume in the two-phase two-component mode...
Definition porousmediumflow/2p2c/volumevariables.hh:41
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
Contains the quantities which are constant within a finite volume in the two-phase two-component mode...
Adaption of the fully implicit scheme to the two-phase n-component 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...
Adds I/O fields specific to non-isothermal models.
The implicit non-isothermal model.
Effective thermal conductivity after Somerton.
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
TwoPNCModelTraits< FluidSystem::numComponents, getPropValue< TypeTag, Properties::UseMoles >(), true, getPropValue< TypeTag, Properties::Formulation >(), getPropValue< TypeTag, Properties::ReplaceCompEqIdx >()> type
Definition porousmediumflow/2p2c/model.hh:116
NonisothermalIOFields type
Definition porousmediumflow/2p2c/model.hh:346
TwoPNCIOFields type
Definition porousmediumflow/2p2c/model.hh:243
CompositionalLocalResidual< TypeTag > type
Definition porousmediumflow/2p2c/model.hh:239
TwoPTwoCUnconstrainedModelTraits< EquilibriumTraits > type
Definition porousmediumflow/2p2c/model.hh:270
EnergyIOFields< TwoPNCIOFields > type
Definition porousmediumflow/2p2c/model.hh:212
GetPropType< TypeTag, Properties::BaseModelTraits > type
Definition porousmediumflow/2p2c/model.hh:123
PorousMediumFlowNIModelTraits< IsothermalTraits > type
Definition porousmediumflow/2p2c/model.hh:173
PorousMediumFlowNIModelTraits< IsothermalTraits > type
Definition porousmediumflow/2p2c/model.hh:336
NonEquilTraits type
Definition porousmediumflow/2p2c/model.hh:259
Definition porousmediumflow/2p2c/model.hh:96
std::tuple< TwoPNC > InheritsFrom
Definition porousmediumflow/2p2c/model.hh:96
Definition porousmediumflow/2p2c/model.hh:97
std::tuple< TwoPTwoC > InheritsFrom
Definition porousmediumflow/2p2c/model.hh:97
Definition porousmediumflow/2p2c/model.hh:317
std::tuple< TwoPTwoCNonEquil > InheritsFrom
Definition porousmediumflow/2p2c/model.hh:317
Definition porousmediumflow/2p2c/model.hh:231
std::tuple< NonEquilibrium, TwoPTwoC > InheritsFrom
Definition porousmediumflow/2p2c/model.hh:231
ThermalConductivitySomertonTwoP< GetPropType< TypeTag, Properties::Scalar > > type
Definition porousmediumflow/2p2c/model.hh:216
ThermalConductivitySomertonTwoP< GetPropType< TypeTag, Properties::Scalar > > type
Definition porousmediumflow/2p2c/model.hh:387
ThermalConductivityAverage< GetPropType< TypeTag, Properties::Scalar > > type
Definition porousmediumflow/2p2c/model.hh:277
static constexpr bool value
Definition porousmediumflow/2p2c/model.hh:160
TwoPTwoCVolumeVariables< NCTraits< BaseTraits, DT, EDM >, useConstraintSolver > type
Definition porousmediumflow/2p2c/model.hh:155
TwoPTwoCVolumeVariables< NCNITraits< BaseTraits, DT, EDM, ETCM > > type
Definition porousmediumflow/2p2c/model.hh:206
NonEquilibriumVolumeVariables< NCNITraits< BaseTraits, DT, EDM, ETCM >, EquilibriumVolVars > type
Definition porousmediumflow/2p2c/model.hh:381
NonEquilibriumVolumeVariables< NCTraits< BaseTraits, DT, EDM >, EquilibriumVolVars > type
Definition porousmediumflow/2p2c/model.hh:309
Specifies a number properties of two-phase n-component models.
Definition porousmediumflow/2pnc/model.hh:114
Definition porousmediumflow/2p2c/model.hh:222
static constexpr int numConstraintEq()
Definition porousmediumflow/2p2c/model.hh:223
Traits class for the two-phase model.
Definition porousmediumflow/2p/model.hh:107
Effective thermal conductivity based on weighted arithmetic average.