85#ifndef DUMUX_2PNC_MODEL_HH
86#define DUMUX_2PNC_MODEL_HH
88#include <dune/common/fvector.hh>
118template<
int nComp,
bool useMol,
bool setMoleFractionForFP, TwoPFormulation formulation,
int repCompEqIdx = nComp>
123 static constexpr int numEq() {
return nComp; }
134 static constexpr bool useMoles() {
return useMol; }
150template<
class PV,
class FSY,
class FST,
class SSY,
class SST,
class PT,
class MT>
162namespace Properties {
176template<
class TypeTag>
180 using PrimaryVariablesVector = Dune::FieldVector<GetPropType<TypeTag, Properties::Scalar>,
187template<
class TypeTag>
205template<
class TypeTag>
211 static_assert(FluidSystem::numPhases == 2,
"Only fluid systems with 2 fluid phases are supported by the 2p-nc model!");
214 getPropValue<TypeTag, Properties::UseMoles>(),
215 getPropValue<TypeTag, Properties::SetMoleFractionsForFirstPhase>(),
216 getPropValue<TypeTag, Properties::Formulation>(), getPropValue<TypeTag, Properties::ReplaceCompEqIdx>()>;
218template<
class TypeTag>
222template<
class TypeTag>
225template<
class TypeTag>
228template<
class TypeTag>
232template<
class TypeTag>
236template<
class TypeTag>
238template<
class TypeTag>
239struct UseMoles<TypeTag, TTag::TwoPNC> {
static constexpr bool value =
true; };
242template<
class TypeTag>
246template<
class TypeTag>
261template<
class TypeTag>
271template<
class TypeTag>
275template<
class TypeTag>
Relation for the saturation-dependent effective thermal conductivity.
Relation for the saturation-dependent effective diffusion coefficient.
The base class for spatial parameters of multi-phase problems using a fully implicit discretization m...
Defines an enumeration for the formulations accepted by the two-phase model.
A primary variable vector with a state to allow variable switches.
TwoPFormulation
Enumerates the formulations which the two-phase model accepts.
Definition: formulation.hh:35
@ p0s1
first phase pressure and second phase saturation as primary variables
make the local view function available whenever we use the grid geometry
Definition: adapt.hh:29
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
A vector of primary variables.
Definition: common/properties.hh:59
Traits class encapsulating model specifications.
Definition: common/properties.hh:65
Model traits to be used as a base for nonisothermal, mineralization ... models.
Definition: common/properties.hh:67
A class helping models to define input and output fields.
Definition: common/properties.hh:78
Definition: common/properties.hh:91
Property whether to use moles or kg as amount unit for balance equations.
Definition: common/properties.hh:102
The component balance index that should be replaced by the total mass/mole balance.
Definition: common/properties.hh:104
The secondary variables within a sub-control volume.
Definition: common/properties.hh:174
The type of the fluid state to use.
Definition: common/properties.hh:225
The employed model for the computation of the effective diffusivity.
Definition: common/properties.hh:231
Model to be used for the calculation of the effective conductivity.
Definition: common/properties.hh:233
The formulation of the model.
Definition: common/properties.hh:237
Set the mole fraction in the wetting or non-wetting phase.
Definition: common/properties.hh:252
Relation for the saturation-dependent effective thermal conductivity.
Definition: thermalconductivitysomerton.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 indices for the isothermal two-phase n-component model.
Definition: porousmediumflow/2pnc/indices.hh:35
Adds I/O fields specific to the TwoPNC model.
Definition: dumux/porousmediumflow/2pnc/iofields.hh:39
Specifies a number properties of two-phase n-component models.
Definition: porousmediumflow/2pnc/model.hh:120
static constexpr int numFluidPhases()
Definition: porousmediumflow/2pnc/model.hh:124
static constexpr int numEq()
Definition: porousmediumflow/2pnc/model.hh:123
static constexpr int replaceCompEqIdx()
Definition: porousmediumflow/2pnc/model.hh:126
static constexpr bool enableAdvection()
Definition: porousmediumflow/2pnc/model.hh:128
static constexpr bool enableMolecularDiffusion()
Definition: porousmediumflow/2pnc/model.hh:129
static constexpr bool enableThermalNonEquilibrium()
Definition: porousmediumflow/2pnc/model.hh:131
static constexpr int numFluidComponents()
Definition: porousmediumflow/2pnc/model.hh:125
static constexpr bool useMoles()
Definition: porousmediumflow/2pnc/model.hh:134
static constexpr bool enableChemicalNonEquilibrium()
Definition: porousmediumflow/2pnc/model.hh:132
static constexpr TwoPFormulation priVarFormulation()
Definition: porousmediumflow/2pnc/model.hh:137
static constexpr bool setMoleFractionsForFirstPhase()
Definition: porousmediumflow/2pnc/model.hh:135
static constexpr bool enableEnergyBalance()
Definition: porousmediumflow/2pnc/model.hh:130
Traits class for the volume variables of the single-phase model.
Definition: porousmediumflow/2pnc/model.hh:152
SST SolidState
Definition: porousmediumflow/2pnc/model.hh:157
PT PermeabilityType
Definition: porousmediumflow/2pnc/model.hh:158
PV PrimaryVariables
Definition: porousmediumflow/2pnc/model.hh:153
FSY FluidSystem
Definition: porousmediumflow/2pnc/model.hh:154
SSY SolidSystem
Definition: porousmediumflow/2pnc/model.hh:156
FST FluidState
Definition: porousmediumflow/2pnc/model.hh:155
MT ModelTraits
Definition: porousmediumflow/2pnc/model.hh:159
Definition: porousmediumflow/2pnc/model.hh:168
std::tuple< PorousMediumFlow > InheritsFrom
Definition: porousmediumflow/2pnc/model.hh:168
Definition: porousmediumflow/2pnc/model.hh:169
std::tuple< TwoPNC > InheritsFrom
Definition: porousmediumflow/2pnc/model.hh:169
GetPropType< TypeTag, Properties::BaseModelTraits > type
Definition: porousmediumflow/2pnc/model.hh:219
Contains the quantities which are are constant within a finite volume in the two-phase,...
Definition: porousmediumflow/2pnc/volumevariables.hh:58
Element-wise calculation of the local residual for problems using compositional fully implicit model.
Definition: porousmediumflow/compositional/localresidual.hh:43
A primary variable vector with a state to allow variable switches.
Definition: switchableprimaryvariables.hh:38
Adds I/O fields specific to non-isothermal models.
Definition: dumux/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.
Defines a type tag and some properties for models using the box scheme.
The implicit non-isothermal model.
Adds I/O fields specific to non-isothermal models.
Adds I/O fields specific to the twop model.
Element-wise calculation of the local residual for problems using compositional fully implicit model.
Base class for the model specific class which provides access to all volume averaged quantities.
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.