3.3.0
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
regularizedvangenuchtenparams.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 REGULARIZED_VAN_GENUCHTEN_PARAMS_HH
26#define REGULARIZED_VAN_GENUCHTEN_PARAMS_HH
27
28#warning "This header is deprecated. Removal after 3.3. Use new material laws."
29
30#include <dune/common/float_cmp.hh>
31
32#include "vangenuchtenparams.hh"
33
34namespace Dumux {
35
41template<class ScalarT>
42class [[deprecated("Use new material laws! Removal after 3.3")]] RegularizedVanGenuchtenParams : public VanGenuchtenParams<ScalarT>
43{
44public:
45 using Scalar = ScalarT;
47
49 {
50 initialize();
51 }
52
54 : Parent(vgAlpha, vgN)
55 {
56 initialize();
57 }
58
62 template<class OtherParams>
63 bool operator== (const OtherParams& otherParams) const
64 {
65 return Dune::FloatCmp::eq(pcLowSw_, otherParams.pcLowSw(), /*eps*/1e-6*pcLowSw_)
66 && Dune::FloatCmp::eq(pcHighSw_, otherParams.pcHighSw(), /*eps*/1e-6*pcHighSw_)
67 && Dune::FloatCmp::eq(krnLowSw_, otherParams.krnLowSw(), /*eps*/1e-6*krnLowSw_)
68 && Dune::FloatCmp::eq(krwHighSw_, otherParams.krwHighSw(), /*eps*/1e-6*krwHighSw_)
69 && Parent::operator==(otherParams);
70 }
71
76 {
77 setPcLowSw(0.01);
78 setPcHighSw(0.99);
79 setKrnLowSw(0.1);
80 setKrwHighSw(0.9);
81 }
82
89 void setPcLowSw(Scalar pcLowSw)
90 {
91 pcLowSw_ = pcLowSw;
92 }
93
98 {
99 return pcLowSw_;
100 }
101
105 void setPcHighSw(Scalar pcHighSw)
106 {
107 pcHighSw_ = pcHighSw;
108 }
109
117 {
118 return pcHighSw_;
119 }
120
125 void setKrnLowSw(Scalar krnLowSw)
126 {
127 krnLowSw_ = krnLowSw;
128 }
129
135 {
136 return krnLowSw_;
137 }
138
143 void setKrwHighSw(Scalar krwHighSw)
144 {
145 krwHighSw_ = krwHighSw;
146 }
147
153 {
154 return krwHighSw_;
155 }
156
157private:
158 Scalar pcLowSw_;
159 Scalar pcHighSw_;
160 Scalar krnLowSw_;
161 Scalar krwHighSw_;
162};
163} // namespace Dumux
164
165#endif
Specification of the material parameters for the van Genuchten-Mualem constitutive relations.
Definition: adapt.hh:29
constexpr bool operator==(Tag< T1 >, Tag< T2 >)
Tags are equality comparable and return true if the tagged types are equal.
Definition: tag.hh:46
Parameters that are necessary for the regularization of VanGenuchten "material law".
Definition: regularizedvangenuchtenparams.hh:43
void setPcLowSw(Scalar pcLowSw)
Set the threshold saturation below which the capillary pressure is regularized.
Definition: regularizedvangenuchtenparams.hh:89
Scalar pcLowSw() const
Threshold saturation below which the capillary pressure is regularized.
Definition: regularizedvangenuchtenparams.hh:97
void initialize()
Sets some default regularization thresholds.
Definition: regularizedvangenuchtenparams.hh:75
void setPcHighSw(Scalar pcHighSw)
Set the threshold saturation above which the capillary pressure is regularized.
Definition: regularizedvangenuchtenparams.hh:105
RegularizedVanGenuchtenParams()
Definition: regularizedvangenuchtenparams.hh:48
Scalar krnLowSw() const
Threshold saturation below which the relative permeability of the nonwetting phase gets regularized.
Definition: regularizedvangenuchtenparams.hh:134
ScalarT Scalar
Definition: regularizedvangenuchtenparams.hh:45
void setKrwHighSw(Scalar krwHighSw)
Set the threshold saturation above which the relative permeability of the wetting phase gets regulari...
Definition: regularizedvangenuchtenparams.hh:143
void setKrnLowSw(Scalar krnLowSw)
Set the threshold saturation below which the relative permeability of the nonwetting phase gets regul...
Definition: regularizedvangenuchtenparams.hh:125
Scalar pcHighSw() const
Threshold saturation above which the capillary pressure is regularized.
Definition: regularizedvangenuchtenparams.hh:116
Scalar krwHighSw() const
Threshold saturation above which the relative permeability of the wetting phase gets regularized.
Definition: regularizedvangenuchtenparams.hh:152
RegularizedVanGenuchtenParams(Scalar vgAlpha, Scalar vgN)
Definition: regularizedvangenuchtenparams.hh:53
Specification of the material parameters for the van Genuchten-Mualem constitutive relations.
Definition: vangenuchtenparams.hh:44