My Project
|
Implementation of the regularized van Genuchten's capillary pressure / relative permeability <-> saturation relation. More...
#include "VanGenuchten.hpp"
#include "RegularizedVanGenuchtenParams.hpp"
#include <opm/material/common/Spline.hpp>
#include <algorithm>
Go to the source code of this file.
Classes | |
class | Opm::RegularizedVanGenuchten< TraitsT, ParamsT > |
Implementation of the regularized van Genuchten's capillary pressure / relative permeability <-> saturation relation. More... | |
Namespaces | |
namespace | Opm |
This class implements a small container which holds the transmissibility mulitpliers for all the faces in the grid. | |
Implementation of the regularized van Genuchten's capillary pressure / relative permeability <-> saturation relation.
This class bundles the "raw" curves as static members and doesn't concern itself converting absolute to effective saturations and vice versa.
In order to avoid very steep gradients the marginal values are "regularized". This means that in stead of following the curve of the material law in these regions, some linear approximation is used. Doing this is not worse than following the material law. E.g. for very low wetting phase values the material laws predict infinite values for
Regularizing has the additional benefit of being numerically friendly: Newton's method does not like infinite gradients.
The implementation is accomplished as follows:
An example of the regularization of the capillary pressure curve is shown below: