3.3.0
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
regularizedparkervangen3pparams.hh
Go to the documentation of this file.
1// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2// vi: set et ts=4 sw=4 sts=4:
3/*****************************************************************************
4 * See the file COPYING for full copying permissions. *
5 * *
6 * This program is free software: you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License as published by *
8 * the Free Software Foundation, either version 3 of the License, or *
9 * (at your option) any later version. *
10 * *
11 * This program is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU General Public License *
17 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
18 *****************************************************************************/
25#ifndef DUMUX_REGULARIZED_PARKERVANGEN_3P_PARAMS_HH
26#define DUMUX_REGULARIZED_PARKERVANGEN_3P_PARAMS_HH
27
28#warning "This header is deprecated. Removal after 3.3. Use new material laws."
29
31
32namespace Dumux {
33
39template <class ScalarT>
41{
43
44public:
45 using Scalar = ScalarT;
46
48 : ParkerVanGen3PParams(), constRegularization_(false)
49 {
50 pcLowS_ = 1e-2;
51 pcHighS_ = 99e-2;
52 }
53
55 Dune::FieldVector<Scalar, 4> residualSaturation, Scalar betaNw = 1.,
56 Scalar betaGn = 1., Scalar betaGw = 1., bool regardSnr=false)
58 residualSaturation, betaNw,
59 betaGn , betaGw, regardSnr), constRegularization_(false)
60 {
61 pcLowS_ = 1e-2;
62 pcHighS_ = 99e-2;
63 }
64
72 Scalar pcLowS() const
73 {
74 // Most problems are very sensitive to this value
75 // (e.g. making it smaller might result in negative
76 // pressures)
77 //
78 // If you want to use a different regularization threshold,
79 // overload this class and supply the new class as second
80 // template parameter for the RegularizedVanGenuchten law!
81 return pcLowS_;
82 }
83
92 {
93 // Most problems are very sensitive to this value
94 // (e.g. making it smaller might result in negative
95 // pressures)
96 //
97 // If you want to use a different regularization threshold,
98 // overload this class and supply the new class as second
99 // template parameter for the RegularizedVanGenuchten law!
100 return pcHighS_;
101 }
102
107 void setPcLowS(const Scalar input)
108 { pcLowS_ = input; }
109
114 void setPcHighS(const Scalar input)
115 { pcHighS_ = input; }
116
122 void useConstRegularization(const bool input)
123 {
124 constRegularization_ = input;
125 }
126
132 {
133 return constRegularization_;
134 }
135
136private:
137 Scalar pcLowS_;
138 Scalar pcHighS_;
139 bool constRegularization_;
140
141};
142} // namespace Dumux
143
144#endif
Specification of the material params for the van Genuchten capillary pressure model.
Definition: adapt.hh:29
Reference implementation of a van Genuchten params.
Definition: parkervangen3pparams.hh:44
ScalarT Scalar
Definition: parkervangen3pparams.hh:46
Scalar rhoBulk() const
Return the bulk density of the porous medium in .
Definition: parkervangen3pparams.hh:247
Scalar betaGn() const
Definition: parkervangen3pparams.hh:224
Scalar KdNAPL() const
Return the adsorption coefficient.
Definition: parkervangen3pparams.hh:260
Scalar betaNw() const
Return the values for the beta scaling parameters of capillary pressure between the phases.
Definition: parkervangen3pparams.hh:221
Scalar betaGw() const
Definition: parkervangen3pparams.hh:227
Scalar vgAlpha() const
Return the shape parameter of van Genuchten's curve.
Definition: parkervangen3pparams.hh:72
Scalar vgn() const
Return the shape parameter of van Genuchten's curve.
Definition: parkervangen3pparams.hh:104
Parameters that are necessary for the regularization of the Parker - van Genuchten capillary pressure...
Definition: regularizedparkervangen3pparams.hh:41
void setPcHighS(const Scalar input)
Set the upper saturation threshold value.
Definition: regularizedparkervangen3pparams.hh:114
RegularizedParkerVanGen3PParams()
Definition: regularizedparkervangen3pparams.hh:47
Scalar pcLowS() const
Threshold saturation below which the capillary pressure is regularized.
Definition: regularizedparkervangen3pparams.hh:72
Scalar pcHighS() const
Threshold saturation above which the capillary pressure is regularized.
Definition: regularizedparkervangen3pparams.hh:91
ScalarT Scalar
Definition: regularizedparkervangen3pparams.hh:45
void useConstRegularization(const bool input)
Choose whether to use a constant value for regularization of the pc-S curves or not.
Definition: regularizedparkervangen3pparams.hh:122
RegularizedParkerVanGen3PParams(Scalar vgAlpha, Scalar vgn, Scalar KdNAPL, Scalar rhoBulk, Dune::FieldVector< Scalar, 4 > residualSaturation, Scalar betaNw=1., Scalar betaGn=1., Scalar betaGw=1., bool regardSnr=false)
Definition: regularizedparkervangen3pparams.hh:54
void setPcLowS(const Scalar input)
Set the lower saturation threshold value.
Definition: regularizedparkervangen3pparams.hh:107
bool constRegularization() const
Returns whether to use a constant value for regularization of the pc-S curves or not.
Definition: regularizedparkervangen3pparams.hh:131