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

This model implements a variant of the extended Richards' equation for quasi-twophase flow (see e.g. Vanderborght et al. 2017). More...

#include <dune/common/fvector.hh>
#include <dumux/common/properties.hh>
#include <dumux/porousmediumflow/immiscible/localresidual.hh>
#include <dumux/porousmediumflow/compositional/switchableprimaryvariables.hh>
#include <dumux/material/fluidmatrixinteractions/diffusivitymillingtonquirk.hh>
#include <dumux/material/fluidmatrixinteractions/2p/thermalconductivity/somerton.hh>
#include <dumux/material/components/simpleh2o.hh>
#include <dumux/material/fluidsystems/h2oair.hh>
#include <dumux/material/fluidstates/immiscible.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/richards/balanceequationopts.hh>
#include <dumux/porousmediumflow/richards/model.hh>
#include <dumux/porousmediumflow/richards/velocityoutput.hh>
#include "indices.hh"
#include "volumevariables.hh"
#include "iofields.hh"
#include "localresidual.hh"

Go to the source code of this file.

Description

This model implements a variant of the extended Richards' equation for quasi-twophase flow (see e.g. Vanderborght et al. 2017).

In the unsaturated zone, Richards' equation

\[ \frac{\partial\;\phi S_w \varrho_w}{\partial t} + \frac{\partial\;\phi (1-S_w)\varrho_n X_n^w}{\partial t} - \text{div} \left\lbrace \varrho_w \frac{k_{rw}}{\mu_w} \; \mathbf{K} \; \left( \text{\textbf{grad}} p_w - \varrho_w \textbf{g} \right) + {\bf D_{n, pm}^w} \varrho_n \text{grad}\, X^w_n \right\rbrace = q_w, \]

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

It can be derived from the two-phase equations, i.e.

\[ \phi\frac{\partial S_\alpha \varrho_\alpha}{\partial t} - \text{div} \left\lbrace \varrho_\alpha \frac{k_{r\alpha}}{\mu_\alpha}\; \mathbf{K} \; \left( \text{\textbf{grad}} p_\alpha - \varrho_\alpha \textbf{g} \right) \right\rbrace = q_\alpha, \]

where \(\alpha \in \{w, n\}\) is the fluid phase, \(\kappa \in \{ w, a \}\) are the components, \(\rho_\alpha\) is the fluid density, \(S_\alpha\) is the fluid saturation, \(\phi\) is the porosity of the soil, \(k_{r\alpha}\) is the relative permeability for the fluid, \(\mu_\alpha\) is the fluid's dynamic viscosity, \(\mathbf{K}\) is the intrinsic permeability, \(p_\alpha\) is the fluid pressure and \(g\) is the potential of the gravity field.

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::ExtendedRichardsModelTraits
 Specifies a number properties of the extended Richards model. More...
 
struct  Dumux::ExtendedRichardsVolumeVariablesTraits< PV, FSY, FST, SSY, SST, PT, MT, DT, EDM >
 Traits class for the Richards model. More...
 
struct  Dumux::Properties::TTag::ExtendedRichards
 
struct  Dumux::Properties::TTag::ExtendedRichardsNI
 
struct  Dumux::Properties::LocalResidual< TypeTag, TTag::ExtendedRichards >
 The local residual operator. More...
 
struct  Dumux::Properties::IOFields< TypeTag, TTag::ExtendedRichards >
 Set the vtk output fields specific to this model. More...
 
struct  Dumux::Properties::ModelTraits< TypeTag, TTag::ExtendedRichards >
 The model traits. More...
 
struct  Dumux::Properties::VolumeVariables< TypeTag, TTag::ExtendedRichards >
 Set the volume variables property. More...
 
struct  Dumux::Properties::EffectiveDiffusivityModel< TypeTag, TTag::ExtendedRichards >
 Use the model after Millington (1961) for the effective diffusivity. More...
 
struct  Dumux::Properties::PrimaryVariables< TypeTag, TTag::ExtendedRichards >
 The primary variables vector for the richards model. More...
 
struct  Dumux::Properties::ModelTraits< TypeTag, TTag::ExtendedRichardsNI >
 set non-isothermal model traits More...
 
struct  Dumux::Properties::IOFields< TypeTag, TTag::ExtendedRichardsNI >
 Set the vtk output fields specific to th non-isothermal model. More...
 
struct  Dumux::Properties::VolumeVariables< TypeTag, TTag::ExtendedRichardsNI >
 Set the volume variables property. More...
 
struct  Dumux::Properties::ThermalConductivityModel< TypeTag, TTag::ExtendedRichardsNI >
 Somerton is used as default model to compute the effective thermal heat conductivity. More...
 

Namespaces

namespace  Dumux
 Adaption of the non-isothermal two-phase two-component flow model to problems with CO2.
 
namespace  Dumux::Properties
 
namespace  Dumux::Properties::TTag
 Type tag for numeric models.
 
Include dependency graph for porousmediumflow/richardsextended/model.hh: