Opm::RichardsModel< TypeTag > Class Template Reference This model implements a variant of the Richards equation for quasi-twophase flow. More...
Inheritance diagram for Opm::RichardsModel< TypeTag >:
Detailed Descriptiontemplate<class TypeTag> class Opm::RichardsModel< TypeTag > This model implements a variant of the Richards equation for quasi-twophase flow. In the unsaturated zone, Richards' equation is frequently used to approximate the water distribution above the groundwater level. It can be derived from the two-phase equations, i.e.
where is the index of the fluid phase, is the fluid density, is the fluid saturation, is the porosity of the soil, is the relative permeability for the fluid, is the fluid's dynamic viscosity, is the intrinsic permeability tensor, is the fluid phase pressure and is the potential of the gravity field. In contrast to the "full" two-phase model, the Richards model assumes that the non-wetting fluid is gas and that it thus exhibits a much lower viscosity than the (liquid) wetting phase. (This assumption is quite realistic in many applications: For example, at atmospheric pressure and at room temperature, the viscosity of air is only about of the viscosity of liquid water.) As a consequence, the term typically is much larger for the gas phase than for the wetting phase. Using this reasoning, the Richards model assumes that is infinitely large compared to the same term of the liquid phase. 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 liquid phase. The model thus choses the absolute pressure of the wetting phase as its only primary variable. The wetting phase saturation is calculated using the inverse of the capillary pressure, i.e.
holds, where is a reference pressure given by the problem's Constructor & Destructor Documentation◆ RichardsModel()
template<class TypeTag >
Member Function Documentation◆ eqName()
template<class TypeTag >
Given an equation index, return a human readable name.
◆ eqWeight()
template<class TypeTag >
Returns the relative weight of an equation.
◆ globalPhaseStorage()
template<class TypeTag >
Compute the total storage inside one phase of all conservation quantities.
References Opm::ThreadedEntityIterator< GridView, codim >::beginParallel(), Opm::ThreadedEntityIterator< GridView, codim >::increment(), Opm::ThreadedEntityIterator< GridView, codim >::isFinished(), and Opm::ThreadManager< TypeTag >::threadId(). ◆ name()
template<class TypeTag >
◆ phaseIsConsidered()
template<class TypeTag >
◆ primaryVarName()
template<class TypeTag >
Given an primary variable index, return a human readable name.
◆ primaryVarWeight()
template<class TypeTag >
Returns the relative weight of a primary variable for calculating relative errors.
References Opm::RichardsModel< TypeTag >::referencePressure_. ◆ registerOutputModules_()
template<class TypeTag >
◆ registerParameters()
template<class TypeTag >
Register all run-time parameters for the model. References Opm::MultiPhaseBaseModel< TypeTag >::registerParameters(). ◆ updateBegin()
template<class TypeTag >
Called by the update() method before it tries to apply the newton method. This is primary a hook which the actual model can overload. References Opm::RichardsModel< TypeTag >::referencePressure_. Member Data Documentation◆ referencePressure_
template<class TypeTag >
The documentation for this class was generated from the following file: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||