version 3.10-dev
porousmediumflow/richards/model.hh File Reference

This model implements a variant of the Richards' equation for quasi-twophase flow. More...

Go to the source code of this file.

Description

In the unsaturated zone, Richards' equation is frequently used to approximate the water distribution above the groundwater level (in the unsaturated zone):

\[ \frac{\partial (\phi S_w \varrho_w)}{\partial t} - \nabla \cdot \left\lbrace \varrho_w \frac{k_{rw}}{\mu_w} \; \mathbf{K} \; \left( \nabla p_w - \varrho_w \textbf{g} \right) \right\rbrace = q_w, \]

where:

  • \( \phi \) is the porosity of the porous medium,
  • \( S_w \) represents the water saturation,
  • \( \varrho_w \) is the water density,
  • \( k_{rw} \) is the relative permeability of the water phase,
  • \( \mu_w \) is the dynamic viscosity of the water phase,
  • \( \mathbf{K} \) is the intrinsic permeability tensor,
  • \( p_w \) is the liquid water pressure,
  • \( \mathbf{g} \) is the gravitational acceleration vector,
  • \( q_w \) is a source or sink term.

It can be derived from the two-phase flow equations. In contrast to the full two-phase model, the Richards model assumes gas as the nonwetting fluid and that it exhibits a much lower viscosity than the (liquid) wetting phase. (For example at atmospheric pressure and at room temperature, the viscosity of air is only about \(1\%\) of the viscosity of liquid water.) As a consequence, the mobility ( \(\frac{k_{r}}{\mu}\)) is typically much larger for the gas phase than for the wetting phase. For this reason, the Richards model assumes that gas phase mobility is infinitely large. This implies that the pressure of the gas phase is equivalent to the static pressure distribution and that therefore, mass conservation only needs to be considered for the wetting phase.

The model thus chooses the absolute pressure of the wetting phase \(p_w\) as its only primary variable. The wetting phase saturation is calculated using the inverse of the capillary pressure, i.e.

\[ S_w = p_c^{-1}(p_g - p_w) \]

holds, where \(p_g\) is a given reference gas pressure. Nota bene, that the last step is assumes that the capillary pressure-saturation curve can be uniquely inverted, so it is not possible to set the capillary pressure to zero when using the Richards model!

Classes

struct  Dumux::RichardsModelTraits
 Specifies a number properties of the Richards model. More...
 
struct  Dumux::RichardsVolumeVariablesTraits< PV, FSY, FST, SSY, SST, PT, MT >
 Traits class for the Richards model. More...
 
struct  Dumux::Properties::TTag::Richards
 
struct  Dumux::Properties::TTag::RichardsNI
 
struct  Dumux::Properties::LocalResidual< TypeTag, TTag::Richards >
 The local residual operator. More...
 
struct  Dumux::Properties::IOFields< TypeTag, TTag::Richards >
 Set the vtk output fields specific to this model. More...
 
struct  Dumux::Properties::VelocityOutput< TypeTag, TTag::Richards >
 
struct  Dumux::Properties::ModelTraits< TypeTag, TTag::Richards >
 The model traits. More...
 
struct  Dumux::Properties::VolumeVariables< TypeTag, TTag::Richards >
 Set the volume variables property. More...
 
struct  Dumux::Properties::EffectiveDiffusivityModel< TypeTag, TTag::Richards >
 Use the model after Millington (1961) for the effective diffusivity. More...
 
struct  Dumux::Properties::FluidSystem< TypeTag, TTag::Richards >
 The fluid system used by the model. More...
 
struct  Dumux::Properties::FluidState< TypeTag, TTag::Richards >
 The fluid state which is used by the volume variables to store the thermodynamic state. This should be chosen appropriately for the model ((non-)isothermal, equilibrium, ...). This can be done in the problem. More...
 
struct  Dumux::Properties::BalanceEqOpts< TypeTag, TTag::Richards >
 Set a richards specific class for the balance equation options. More...
 
struct  Dumux::Properties::ThermalConductivityModel< TypeTag, TTag::RichardsNI >
 Somerton is used as default model to compute the effective thermal heat conductivity. More...
 
struct  Dumux::Properties::ModelTraits< TypeTag, TTag::RichardsNI >
 set non-isothermal model traits More...
 
struct  Dumux::Properties::IOFields< TypeTag, TTag::RichardsNI >
 Set the vtk output fields specific to th non-isothermal model. More...
 
struct  Dumux::Properties::VolumeVariables< TypeTag, TTag::RichardsNI >
 Set the volume variables property. More...
 

Namespaces

namespace  Dumux
 
namespace  Dumux::Properties
 The energy balance equation for a porous solid.
 
namespace  Dumux::Properties::TTag
 Type tag for numeric models.
 
Include dependency graph for porousmediumflow/richards/model.hh: