3.5-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Classes | Namespaces
porousmediumflow/richardsnc/model.hh File Reference

Base class for all models which use the Richards, n-component fully implicit model. More...

#include <dumux/common/properties.hh>
#include <dumux/material/fluidmatrixinteractions/diffusivitymillingtonquirk.hh>
#include <dumux/material/fluidmatrixinteractions/1p/thermalconductivityaverage.hh>
#include <dumux/material/components/simpleh2o.hh>
#include <dumux/material/components/constant.hh>
#include <dumux/material/fluidsystems/liquidphase2c.hh>
#include <dumux/material/fluidstates/compositional.hh>
#include <dumux/porousmediumflow/properties.hh>
#include <dumux/porousmediumflow/nonisothermal/model.hh>
#include <dumux/porousmediumflow/nonisothermal/indices.hh>
#include <dumux/porousmediumflow/nonisothermal/iofields.hh>
#include <dumux/porousmediumflow/compositional/localresidual.hh>
#include <dumux/porousmediumflow/richards/model.hh>
#include "volumevariables.hh"
#include "indices.hh"
#include "iofields.hh"

Go to the source code of this file.

Description

Base class for all models which use the Richards, n-component fully implicit model.

In the unsaturated zone, Richards' equation

\begin{eqnarray*} && \frac{\partial (\sum_w \varrho_w X_w^\kappa \phi S_w )} {\partial t} - \sum_w \text{div} \left\{ \varrho_w X_w^\kappa \frac{k_{rw}}{\mu_w} \mathbf{K} (\text{grad}\, p_w - \varrho_{w} \mathbf{g}) \right\} \nonumber \\ \nonumber \\ &-& \sum_w \text{div} \left\{{\bf D_{w, pm}^\kappa} \varrho_{w} \text{grad}\, X^\kappa_{w} \right\} - \sum_w q_w^\kappa = 0 \qquad \kappa \in \{w, a,\cdots \} \, , w \in \{w, g\} \end{eqnarray*}

is frequently used to approximate the water distribution above the groundwater level.

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 \(\frac{k_{r\alpha}}{\mu_\alpha}\) term typically is much larger for the gas phase than for the wetting phase. For this reason, the Richards model assumes that \(\frac{k_{rn}}{\mu_n}\) 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_n - p_w) \]

holds, where \(p_n\) is a given reference 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::RichardsNCModelTraits< nComp, useMol, repCompEqIdx >
 Specifies a number properties of the Richards n-components model. More...
 
struct  Dumux::Properties::TTag::RichardsNC
 
struct  Dumux::Properties::TTag::RichardsNCNI
 
struct  Dumux::Properties::BaseModelTraits< TypeTag, TTag::RichardsNC >
 Set the model traits class. More...
 
struct  Dumux::Properties::ModelTraits< TypeTag, TTag::RichardsNC >
 
struct  Dumux::Properties::UseMoles< TypeTag, TTag::RichardsNC >
 Define that per default mole fractions are used in the balance equations. More...
 
struct  Dumux::Properties::LocalResidual< TypeTag, TTag::RichardsNC >
 Use the dedicated local residual. More...
 
struct  Dumux::Properties::ReplaceCompEqIdx< TypeTag, TTag::RichardsNC >
 
struct  Dumux::Properties::VolumeVariables< TypeTag, TTag::RichardsNC >
 Set the volume variables property. More...
 
struct  Dumux::Properties::EnableWaterDiffusionInAir< TypeTag, TTag::RichardsNC >
 
struct  Dumux::Properties::FluidSystem< TypeTag, TTag::RichardsNC >
 The fluid system used by the model. More...
 
struct  Dumux::Properties::FluidState< TypeTag, TTag::RichardsNC >
 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::IOFields< TypeTag, TTag::RichardsNC >
 Set the vtk output fields specific to this model. More...
 
struct  Dumux::Properties::EffectiveDiffusivityModel< TypeTag, TTag::RichardsNC >
 The model after Millington (1961) is used for the effective diffusivity. More...
 
struct  Dumux::Properties::ThermalConductivityModel< TypeTag, TTag::RichardsNCNI >
 average is used as default model to compute the effective thermal heat conductivity More...
 
struct  Dumux::Properties::ModelTraits< TypeTag, TTag::RichardsNCNI >
 set non-isothermal model traits More...
 
struct  Dumux::Properties::VolumeVariables< TypeTag, TTag::RichardsNCNI >
 Set the volume variables property. More...
 

Namespaces

namespace  Dumux
 
namespace  Dumux::Properties
 
namespace  Dumux::Properties::TTag
 Type tag for numeric models.
 
Include dependency graph for porousmediumflow/richardsnc/model.hh: