57#ifndef DUMUX_2P1C_MODEL_HH
58#define DUMUX_2P1C_MODEL_HH
60#include <dune/common/fvector.hh>
87template<TwoPFormulation f>
93 static constexpr int numEq() {
return 2; }
116template<
class PV,
class FSY,
class FST,
class SSY,
class SST,
class PT,
class MT>
128namespace Properties {
145template<
class TypeTag>
156template<
class TypeTag>
161template<
class TypeTag>
165template<
class TypeTag>
169template<
class TypeTag>
173template<
class TypeTag>
184 static_assert(FSY::numComponents == 1,
"Only fluid systems with 1 component are supported by the 2p1cni model!");
185 static_assert(FSY::numPhases == 2,
"Only fluid systems with 2 phases are supported by the 2p1cni model!");
189 template<
class BaseTraits,
class ETCM>
190 struct NITraits :
public BaseTraits {
using EffectiveThermalConductivityModel = ETCM; };
196template<
class TypeTag>
200 using PrimaryVariablesVector = Dune::FieldVector<GetPropType<TypeTag, Properties::Scalar>,
207template<
class TypeTag>
215template<
class TypeTag>
219template<
class TypeTag>
Relation for the saturation-dependent effective thermal conductivity.
Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system assum...
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
@ p1s0
first phase saturation and second phase pressure as primary variables
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:49
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
The secondary variables within a sub-control volume.
Definition: common/properties.hh:106
The type for the calculation the advective fluxes.
Definition: common/properties.hh:140
The type of the fluid state to use.
Definition: common/properties.hh:157
Model to be used for the calculation of the effective conductivity.
Definition: common/properties.hh:165
The formulation of the model.
Definition: common/properties.hh:169
Relation for the saturation-dependent effective thermal conductivity.
Definition: somerton.hh:60
Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system assum...
Definition: compositional.hh:47
Determines whether blocking of spurious flow is used or not.
Definition: porousmediumflow/2p1c/darcyslaw.hh:38
Specialization of Darcy's Law for the two-phase one-component model, including a the possibility to...
Definition: porousmediumflow/2p1c/darcyslaw.hh:49
The indices for the two-phase one-component model.
Definition: porousmediumflow/2p1c/indices.hh:35
Element-wise calculation of the residual for the fully implicit two-phase one-component flow model.
Definition: porousmediumflow/2p1c/localresidual.hh:38
Specifies a number properties of models considering two phases with water as a single component.
Definition: porousmediumflow/2p1c/model.hh:89
static constexpr int numFluidPhases()
Definition: porousmediumflow/2p1c/model.hh:96
static constexpr int numFluidComponents()
Definition: porousmediumflow/2p1c/model.hh:97
static constexpr bool enableEnergyBalance()
Definition: porousmediumflow/2p1c/model.hh:101
static constexpr bool enableMolecularDiffusion()
Definition: porousmediumflow/2p1c/model.hh:100
static constexpr TwoPFormulation priVarFormulation()
Definition: porousmediumflow/2p1c/model.hh:103
static constexpr int numEq()
We solve for one more equation, i.e. the energy balance.
Definition: porousmediumflow/2p1c/model.hh:93
static constexpr int numEnergyEq()
only one energy equation is needed when assuming thermal equilibrium
Definition: porousmediumflow/2p1c/model.hh:95
static constexpr bool enableAdvection()
Definition: porousmediumflow/2p1c/model.hh:99
Traits class for the two-phase model.
Definition: porousmediumflow/2p1c/model.hh:118
FST FluidState
Definition: porousmediumflow/2p1c/model.hh:121
PT PermeabilityType
Definition: porousmediumflow/2p1c/model.hh:124
MT ModelTraits
Definition: porousmediumflow/2p1c/model.hh:125
PV PrimaryVariables
Definition: porousmediumflow/2p1c/model.hh:119
SST SolidState
Definition: porousmediumflow/2p1c/model.hh:123
FSY FluidSystem
Definition: porousmediumflow/2p1c/model.hh:120
SSY SolidSystem
Definition: porousmediumflow/2p1c/model.hh:122
Definition: porousmediumflow/2p1c/model.hh:132
std::tuple< PorousMediumFlow > InheritsFrom
Definition: porousmediumflow/2p1c/model.hh:132
The volume variables (i.e. secondary variables) for the two-phase one-component model.
Definition: porousmediumflow/2p1c/volumevariables.hh:51
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: porousmediumflow/nonisothermal/iofields.hh:39
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 tracer 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.
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.