94#ifndef DUMUX_RICHARDSEXTENDED_MODEL_HH
95#define DUMUX_RICHARDSEXTENDED_MODEL_HH
97#include <dune/common/fvector.hh>
132 static constexpr int numEq() {
return 1; }
142 template<
class Flu
idSystem>
145 return !FluidSystem::isGas(FluidSystem::phase0Idx)
146 && FluidSystem::isGas(FluidSystem::phase1Idx);
151 template<
class Flu
idSystem>
154 struct FluidSystemCheck {
155 static_assert(fluidSystemIsCompatible<FluidSystem>(),
156 "Richards model currently assumes the first phase to be liquid and the second phase to be gaseous.");
158 return FluidSystemCheck{};
172template<
class PV,
class FSY,
class FST,
class SSY,
class SST,
class PT,
class MT,
class DT,
class EDM>
190namespace Properties {
208template<
class TypeTag>
212template<
class TypeTag>
219template<
class TypeTag>
223template<
class TypeTag>
242template<
class TypeTag>
247template<
class TypeTag>
251 using PrimaryVariablesVector = Dune::FieldVector<GetPropType<TypeTag, Properties::Scalar>,
262template<
class TypeTag>
272template<
class TypeTag>
279template<
class TypeTag>
295 template<
class BaseTraits,
class ETCM>
296 struct NITraits :
public BaseTraits {
using EffectiveThermalConductivityModel = ETCM; };
303template<
class TypeTag>
A simple implementation of pure water.
Relation for the saturation-dependent effective thermal conductivity.
Relation for the saturation-dependent effective diffusion coefficient.
Represents all relevant thermodynamic quantities of a multi-phase fluid system assuming immiscibility...
A compositional two-phase fluid system with water and air as components in both, the liquid and the g...
A primary variable vector with a state to allow variable switches.
Adaption of the non-isothermal two-phase two-component flow model to problems with CO2.
Definition: adapt.hh:29
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:180
A vector of primary variables.
Definition: common/properties.hh:49
Traits class encapsulating model specifications.
Definition: common/properties.hh:51
A class helping models to define input and output fields.
Definition: common/properties.hh:61
Definition: common/properties.hh:72
The secondary variables within a sub-control volume.
Definition: common/properties.hh:105
The employed model for the computation of the effective diffusivity.
Definition: common/properties.hh:168
Model to be used for the calculation of the effective conductivity.
Definition: common/properties.hh:170
Relation for the saturation-dependent effective thermal conductivity.
Definition: somerton.hh:60
Relation for the saturation-dependent effective diffusion coefficient.
Definition: diffusivitymillingtonquirk.hh:52
A primary variable vector with a state to allow variable switches.
Definition: switchableprimaryvariables.hh:40
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
Specifies a number properties of the Richards model.
Definition: porousmediumflow/richards/model.hh:130
Index names for the extended Richards model.
Definition: porousmediumflow/richardsextended/indices.hh:36
Adds I/O fields specific to the extended Richards model.
Definition: porousmediumflow/richardsextended/iofields.hh:38
Element-wise calculation of the Jacobian matrix for problems using the extended Richards fully implic...
Definition: porousmediumflow/richardsextended/localresidual.hh:46
Specifies a number properties of the extended Richards model.
Definition: porousmediumflow/richardsextended/model.hh:129
static constexpr int numFluidComponents()
Definition: porousmediumflow/richardsextended/model.hh:134
static constexpr bool enableEnergyBalance()
Definition: porousmediumflow/richardsextended/model.hh:138
static constexpr int numEq()
Definition: porousmediumflow/richardsextended/model.hh:132
static constexpr int numFluidPhases()
Definition: porousmediumflow/richardsextended/model.hh:133
static constexpr auto checkFluidSystem(const FluidSystem &fs)
Definition: porousmediumflow/richardsextended/model.hh:152
static constexpr bool fluidSystemIsCompatible()
Definition: porousmediumflow/richardsextended/model.hh:143
static constexpr bool enableAdvection()
Definition: porousmediumflow/richardsextended/model.hh:136
static constexpr bool enableMolecularDiffusion()
Definition: porousmediumflow/richardsextended/model.hh:137
Traits class for the Richards model.
Definition: porousmediumflow/richardsextended/model.hh:174
FSY FluidSystem
Definition: porousmediumflow/richardsextended/model.hh:176
PT PermeabilityType
Definition: porousmediumflow/richardsextended/model.hh:180
SSY SolidSystem
Definition: porousmediumflow/richardsextended/model.hh:178
PV PrimaryVariables
Definition: porousmediumflow/richardsextended/model.hh:175
FST FluidState
Definition: porousmediumflow/richardsextended/model.hh:177
DT DiffusionType
Definition: porousmediumflow/richardsextended/model.hh:182
EDM EffectiveDiffusivityModel
Definition: porousmediumflow/richardsextended/model.hh:183
MT ModelTraits
Definition: porousmediumflow/richardsextended/model.hh:181
SST SolidState
Definition: porousmediumflow/richardsextended/model.hh:179
Definition: porousmediumflow/richardsextended/model.hh:199
std::tuple< Richards > InheritsFrom
Definition: porousmediumflow/richardsextended/model.hh:199
Definition: porousmediumflow/richardsextended/model.hh:200
std::tuple< ExtendedRichards > InheritsFrom
Definition: porousmediumflow/richardsextended/model.hh:200
Volume averaged quantities required by the extended Richards model.
Definition: porousmediumflow/richardsextended/volumevariables.hh:53
Traits class to set options used by the local residual when when evaluating the balance equations.
Declares all properties used in Dumux.
Defines a type tag and some properties for models using the box scheme.
The implicit non-isothermal model.
This model implements a variant of the Richards' equation for quasi-twophase flow.
Velocity output for the Richards model.
Adds I/O fields specific to non-isothermal models.
Adds I/O fields specific to the tracer model.
Element-wise calculation of the residual for problems using the n-phase immiscible fully implicit mod...
Element-wise calculation of the local residual for problems using fully implicit tracer model.
Python wrapper for volume variables (finite volume schemes)
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.