78#ifndef DUMUX_2P2C_MODEL_HH
79#define DUMUX_2P2C_MODEL_HH
117template<
class TypeTag>
122 static_assert(FluidSystem::numComponents == 2,
"Only fluid systems with 2 components are supported by the 2p-2c model!");
123 static_assert(FluidSystem::numPhases == 2,
"Only fluid systems with 2 phases are supported by the 2p-2c model!");
132template<
class TypeTag>
136template<
class TypeTag>
149 static_assert(FSY::numComponents == 2,
"Only fluid systems with 2 components are supported by the 2p2c model!");
150 static_assert(FSY::numPhases == 2,
"Only fluid systems with 2 phases are supported by the 2p2c model!");
157 template<
class BaseTraits,
class DT,
class EDM>
158 struct NCTraits :
public BaseTraits
160 using DiffusionType = DT;
169template<
class TypeTag>
177template<
class TypeTag>
187template<
class TypeTag>
208 template<
class BaseTraits,
class DT,
class EDM,
class ETCM>
209 struct NCNITraits :
public BaseTraits
211 using DiffusionType = DT;
213 using EffectiveThermalConductivityModel = ETCM;
221template<
class TypeTag>
225template<
class TypeTag>
230template<
class TwoPTwoCModelTraits>
236namespace Properties {
248template<
class TypeTag>
252template<
class TypeTag>
255template<
class TypeTag>
273template<
class TypeTag>
285template<
class TypeTag>
290template<
class TypeTag>
309 template<
class BaseTraits,
class DT,
class EDM>
310 struct NCTraits :
public BaseTraits
312 using DiffusionType = DT;
331template<
class TypeTag>
350template<
class TypeTag>
356 using type = NonisothermalIOFields;
360template<
class TypeTag>
381 template<
class BaseTraits,
class DT,
class EDM,
class ETCM>
382 struct NCNITraits :
public BaseTraits
384 using DiffusionType = DT;
386 using EffectiveThermalConductivityModel = ETCM;
395template<
class TypeTag>
Relation for the saturation-dependent effective thermal conductivity.
Relation for the saturation-dependent effective thermal conductivity.
Defines an enumeration for the formulations accepted by the two-phase model.
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:53
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:153
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
NonEquilibriumVolumeVariablesImplementation< Traits, EquilibriumVolumeVariables, Traits::ModelTraits::enableChemicalNonEquilibrium(), Traits::ModelTraits::enableThermalNonEquilibrium(), Traits::ModelTraits::numEnergyEqFluid()> NonEquilibriumVolumeVariables
Definition porousmediumflow/nonequilibrium/volumevariables.hh:52
Definition common/properties.hh:48
Type tag for numeric models.
Definition grid.hh:36
Traits class encapsulating model specifications.
Definition common/properties.hh:66
Model traits to be used as a base for nonisothermal, mineralization ... models.
Definition common/properties.hh:68
A class helping models to define input and output fields.
Definition common/properties.hh:76
The secondary variables within a sub-control volume.
Definition common/properties.hh:118
The employed model for the computation of the effective diffusivity.
Definition common/properties.hh:175
Model to be used for the calculation of the effective conductivity.
Definition common/properties.hh:177
Whether to use a contraint solver for computing the secondary variables.
Definition common/properties.hh:184
the formulation of the pressure e.g most wetting first
Definition common/properties.hh:262
Definition common/properties.hh:264
Definition common/properties.hh:268
Relation for the saturation-dependent effective thermal conductivity.
Definition thermalconductivitysimplefluidlumping.hh:38
Relation for the saturation-dependent effective thermal conductivity.
Definition thermalconductivitysomerton.hh:60
Traits class for the two-phase model.
Definition porousmediumflow/2p/model.hh:118
Class that computes the non-wetting saturation in an scv from the saturation at the global degree of ...
Definition saturationreconstruction.hh:43
Definition porousmediumflow/2p2c/model.hh:106
std::tuple< TwoPNC > InheritsFrom
Definition porousmediumflow/2p2c/model.hh:106
Definition porousmediumflow/2p2c/model.hh:107
std::tuple< TwoPTwoC > InheritsFrom
Definition porousmediumflow/2p2c/model.hh:107
TwoPNCModelTraits< FluidSystem::numComponents, getPropValue< TypeTag, Properties::UseMoles >(), true, getPropValue< TypeTag, Properties::Formulation >(), getPropValue< TypeTag, Properties::ReplaceCompEqIdx >()> type
Definition porousmediumflow/2p2c/model.hh:126
GetPropType< TypeTag, Properties::BaseModelTraits > type
Definition porousmediumflow/2p2c/model.hh:133
TwoPTwoCVolumeVariables< NCTraits< BaseTraits, DT, EDM >, useConstraintSolver > type
Definition porousmediumflow/2p2c/model.hh:165
static constexpr bool value
Definition porousmediumflow/2p2c/model.hh:170
PorousMediumFlowNIModelTraits< IsothermalTraits > type
Definition porousmediumflow/2p2c/model.hh:183
TwoPTwoCVolumeVariables< NCNITraits< BaseTraits, DT, EDM, ETCM > > type
Definition porousmediumflow/2p2c/model.hh:216
EnergyIOFields< TwoPNCIOFields > type
Definition porousmediumflow/2p2c/model.hh:222
ThermalConductivitySomerton< GetPropType< TypeTag, Properties::Scalar > > type
Definition porousmediumflow/2p2c/model.hh:226
Definition porousmediumflow/2p2c/model.hh:232
static constexpr int numConstraintEq()
Definition porousmediumflow/2p2c/model.hh:233
Definition porousmediumflow/2p2c/model.hh:241
std::tuple< NonEquilibrium, TwoPTwoC > InheritsFrom
Definition porousmediumflow/2p2c/model.hh:241
CompositionalLocalResidual< TypeTag > type
Definition porousmediumflow/2p2c/model.hh:249
TwoPNCIOFields type
Definition porousmediumflow/2p2c/model.hh:253
NonEquilTraits type
Definition porousmediumflow/2p2c/model.hh:269
TwoPTwoCUnconstrainedModelTraits< EquilibriumTraits > type
Definition porousmediumflow/2p2c/model.hh:280
ThermalConductivitySimpleFluidLumping< GetPropType< TypeTag, Properties::Scalar > > type
Definition porousmediumflow/2p2c/model.hh:287
NonEquilibriumVolumeVariables< NCTraits< BaseTraits, DT, EDM >, EquilibriumVolVars > type
Definition porousmediumflow/2p2c/model.hh:319
Definition porousmediumflow/2p2c/model.hh:327
std::tuple< TwoPTwoCNonEquil > InheritsFrom
Definition porousmediumflow/2p2c/model.hh:327
PorousMediumFlowNIModelTraits< IsothermalTraits > type
Definition porousmediumflow/2p2c/model.hh:346
NonisothermalIOFields type
Definition porousmediumflow/2p2c/model.hh:356
NonEquilibriumVolumeVariables< NCNITraits< BaseTraits, DT, EDM, ETCM >, EquilibriumVolVars > type
Definition porousmediumflow/2p2c/model.hh:391
ThermalConductivitySomerton< GetPropType< TypeTag, Properties::Scalar > > type
Definition porousmediumflow/2p2c/model.hh:397
Adds I/O fields specific to the TwoPNC model.
Definition porousmediumflow/2pnc/iofields.hh:39
Specifies a number properties of two-phase n-component models.
Definition porousmediumflow/2pnc/model.hh:120
Element-wise calculation of the local residual for problems using compositional fully implicit model.
Definition porousmediumflow/compositional/localresidual.hh:43
Specifies a number properties of porous-medium flow non-equilibrium models.
Definition porousmediumflow/nonequilibrium/model.hh:57
Adds I/O fields specific to non-isothermal models.
Definition porousmediumflow/nonisothermal/iofields.hh:39
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.
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.
The implicit non-isothermal model.
Adds I/O fields specific to non-isothermal models.
Contains the quantities which are constant within a finite volume in the two-phase two-component mode...
This class contains the volume variables required for the modules which require the specific interfac...