3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
mplinearmaterialparams.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 MP_LINEAR_MATERIAL_PARAMS_HH
26#define MP_LINEAR_MATERIAL_PARAMS_HH
27
28namespace Dumux {
29
35template<int numPhasesV, class ScalarT>
37{
38public:
39 using Scalar = ScalarT;
40 enum { numPhases = numPhasesV };
41
43 {
44 for (int i = 0; i < numPhases; ++i) {
45 setPcMinSat(i, 0.0);
46 setPcMaxSat(i, 0.0);
47 }
48 }
49
57 Scalar sReg(int phaseIdx) const
58 { return 0.10; }
59
64 Scalar pcMinSat(int phaseIdx) const
65 { return pcMinSat_[phaseIdx]; }
66
72 void setPcMinSat(int phaseIdx, Scalar val)
73 { pcMinSat_[phaseIdx] = val; }
74
79 Scalar pcMaxSat(int phaseIdx) const
80 { return pcMaxSat_[phaseIdx]; }
81
87 void setPcMaxSat(int phaseIdx, Scalar val)
88 { pcMaxSat_[phaseIdx] = val; }
89
98 Scalar krLowS(int phaseIdx) const
99 { return 0.05; }
100
109 Scalar krHighS(int phaseIdx) const
110 { return 0.95; }
111
112private:
113 Scalar pcMaxSat_[numPhases];
114 Scalar pcMinSat_[numPhases];
115};
116} // namespace Dumux
117
118#endif
make the local view function available whenever we use the grid geometry
Definition: adapt.hh:29
Reference implementation of params for the linear M-phase material material.
Definition: mplinearmaterialparams.hh:37
Scalar krHighS(int phaseIdx) const
Return the threshold saturation of the respective phase above which the relative permeability gets re...
Definition: mplinearmaterialparams.hh:109
Scalar pcMinSat(int phaseIdx) const
Return the capillary pressure in for a phase at .
Definition: mplinearmaterialparams.hh:64
Scalar krLowS(int phaseIdx) const
Return the threshold saturation respective phase below which the relative permeability gets regulariz...
Definition: mplinearmaterialparams.hh:98
@ numPhases
Definition: mplinearmaterialparams.hh:40
Scalar sReg(int phaseIdx) const
Return the threshold saturation at which the relative permeability starts to get regularized.
Definition: mplinearmaterialparams.hh:57
ScalarT Scalar
Definition: mplinearmaterialparams.hh:39
void setPcMaxSat(int phaseIdx, Scalar val)
Set the capillary pressure in for a phase at .
Definition: mplinearmaterialparams.hh:87
Scalar pcMaxSat(int phaseIdx) const
Return the capillary pressure in for a phase at .
Definition: mplinearmaterialparams.hh:79
void setPcMinSat(int phaseIdx, Scalar val)
Set the capillary pressure in for a phase at .
Definition: mplinearmaterialparams.hh:72
MpLinearMaterialParams()
Definition: mplinearmaterialparams.hh:42