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>
185 static_assert(FSY::numComponents == 1,
"Only fluid systems with 1 component are supported by the 2p1cni model!");
186 static_assert(FSY::numPhases == 2,
"Only fluid systems with 2 phases are supported by the 2p1cni model!");
194template<
class TypeTag>
198 using PrimaryVariablesVector = Dune::FieldVector<GetPropType<TypeTag, Properties::Scalar>,
205template<
class TypeTag>
213template<
class TypeTag>
217template<
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
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
A class helping models to define input and output fields.
Definition: common/properties.hh:78
Definition: common/properties.hh:91
The secondary variables within a sub-control volume.
Definition: common/properties.hh:174
The type for the calculation the advective fluxes.
Definition: common/properties.hh:208
The type of the fluid state to use.
Definition: common/properties.hh:225
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
Relation for the saturation-dependent effective thermal conductivity.
Definition: thermalconductivitysomerton.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
PT PermeabilityType
Definition: porousmediumflow/2p1c/model.hh:124
SSY SolidSystem
Definition: porousmediumflow/2p1c/model.hh:122
FST FluidState
Definition: porousmediumflow/2p1c/model.hh:121
PV PrimaryVariables
Definition: porousmediumflow/2p1c/model.hh:119
MT ModelTraits
Definition: porousmediumflow/2p1c/model.hh:125
SST SolidState
Definition: porousmediumflow/2p1c/model.hh:123
FSY FluidSystem
Definition: porousmediumflow/2p1c/model.hh:120
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:50
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
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 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.