68#ifndef DUMUX_RICHARDS_MODEL_HH
69#define DUMUX_RICHARDS_MODEL_HH
73#include <dune/common/fvector.hh>
109 static constexpr int numEq() {
return 1; }
119 template<
class Flu
idSystem>
122 return !FluidSystem::isGas(FluidSystem::phase0Idx)
123 && FluidSystem::isGas(FluidSystem::phase1Idx);
128 template<
class Flu
idSystem>
131 struct FluidSystemCheck {
132 static_assert(fluidSystemIsCompatible<FluidSystem>(),
133 "Richards model currently assumes the first phase to be liquid and the second phase to be gaseous.");
135 return FluidSystemCheck{};
149template<
class PV,
class FSY,
class FST,
class SSY,
class SST,
class PT,
class MT>
165namespace Properties {
183template<
class TypeTag>
187template<
class TypeTag>
190template<
class TypeTag>
200template<
class TypeTag>
204template<
class TypeTag>
205struct VolumeVariables<TypeTag, TTag::Richards>
221template<
class TypeTag>
222struct EffectiveDiffusivityModel<TypeTag, TTag::Richards>
230template<
class TypeTag>
231struct FluidSystem<TypeTag, TTag::Richards>
245template<
class TypeTag>
246struct FluidState<TypeTag, TTag::Richards>
256template<
class TypeTag>
257struct BalanceEqOpts<TypeTag, TTag::Richards>
261template<
class TypeTag>
262struct ThermalConductivityModel<TypeTag, TTag::RichardsNI>
275template<
class TypeTag>
276struct ModelTraits<TypeTag, TTag::RichardsNI>
285template<
class TypeTag>
289template<
class TypeTag>
290struct VolumeVariables<TypeTag, TTag::RichardsNI>
303 template<
class BaseTraits,
class ETCM>
304 struct NITraits :
public BaseTraits {
using EffectiveThermalConductivityModel = ETCM; };
A simple implementation of pure water.
Definition: simpleh2o.hh:37
Relation for the effective diffusion coefficient after Millington and Quirk.
Definition: diffusivitymillingtonquirk.hh:37
Adds I/O fields specific to non-isothermal models.
Definition: porousmediumflow/nonisothermal/iofields.hh:27
A compositional two-phase fluid system with water and air as components in both, the liquid and the g...
Definition: h2oair.hh:62
Represents all relevant thermodynamic quantities of a multi-phase fluid system assuming immiscibility...
Definition: immiscible.hh:30
Adds I/O fields specific to the Richards model.
Definition: porousmediumflow/richards/iofields.hh:27
Element-wise calculation of the Jacobian matrix for problems using the Richards fully implicit models...
Definition: porousmediumflow/richards/localresidual.hh:46
Velocity output policy for the Richards model.
Definition: porousmediumflow/richards/velocityoutput.hh:26
Volume averaged quantities required by the Richards model.
Definition: porousmediumflow/richards/volumevariables.hh:40
Effective thermal conductivity after Somerton.
Definition: somerton.hh:46
Velocity output for implicit (porous media) models.
Definition: io/velocityoutput.hh:29
Defines all properties used in Dumux.
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:296
A compositional two-phase fluid system with water and air as components in both, the liquid and the g...
Represents all relevant thermodynamic quantities of a multi-phase fluid system assuming immiscibility...
Element-wise calculation of the residual for problems using the n-phase immiscible fully implicit mod...
Defines the indices used by the non-isothermal two-phase two-component model.
Adds I/O fields specific to non-isothermal models.
The implicit non-isothermal model.
Defines a type tag and some properties for models using the box scheme.
Traits class to set options used by the local residual when when evaluating the balance equations.
Defines the primary variable and equation indices used by the isothermal tracer model.
Adds I/O fields specific to the tracer model.
Element-wise calculation of the local residual for problems using fully implicit tracer model.
Python wrapper for volume variables (finite volume schemes)
A simple implementation of pure water.
Policy for the H2O-air fluid system.
Definition: h2oair.hh:39
Specifies a number properties of non-isothermal porous medium flow models based on the specifics of a...
Definition: porousmediumflow/nonisothermal/model.hh:76
GetPropType< TypeTag, Properties::Scalar > Scalar
Definition: porousmediumflow/richards/model.hh:233
Definition: porousmediumflow/richards/model.hh:174
std::tuple< PorousMediumFlow > InheritsFrom
Definition: porousmediumflow/richards/model.hh:174
Definition: porousmediumflow/richards/model.hh:175
std::tuple< Richards > InheritsFrom
Definition: porousmediumflow/richards/model.hh:175
Traits class to set options used by the local residual when when evaluating the balance equations.
Definition: porousmediumflow/richards/balanceequationopts.hh:25
Index names for the Richards model.
Definition: porousmediumflow/richards/indices.hh:24
Specifies a number properties of the Richards model.
Definition: porousmediumflow/richards/model.hh:106
static constexpr int numFluidComponents()
Definition: porousmediumflow/richards/model.hh:111
static constexpr bool enableMolecularDiffusion()
Definition: porousmediumflow/richards/model.hh:114
static constexpr auto checkFluidSystem(const FluidSystem &fs)
Definition: porousmediumflow/richards/model.hh:129
static constexpr int numFluidPhases()
Definition: porousmediumflow/richards/model.hh:110
static constexpr bool enableEnergyBalance()
Definition: porousmediumflow/richards/model.hh:115
static constexpr int numEq()
Definition: porousmediumflow/richards/model.hh:109
static constexpr bool fluidSystemIsCompatible()
Definition: porousmediumflow/richards/model.hh:120
static constexpr bool enableAdvection()
Definition: porousmediumflow/richards/model.hh:113
Traits class for the Richards model.
Definition: porousmediumflow/richards/model.hh:151
PV PrimaryVariables
Definition: porousmediumflow/richards/model.hh:152
FSY FluidSystem
Definition: porousmediumflow/richards/model.hh:153
PT PermeabilityType
Definition: porousmediumflow/richards/model.hh:157
SST SolidState
Definition: porousmediumflow/richards/model.hh:156
MT ModelTraits
Definition: porousmediumflow/richards/model.hh:158
SSY SolidSystem
Definition: porousmediumflow/richards/model.hh:155
FST FluidState
Definition: porousmediumflow/richards/model.hh:154
A primary variable vector with a state to allow variable switches.