My Project
Loading...
Searching...
No Matches
blackoilnewtonmethodparams.hpp
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 This file is part of the Open Porous Media project (OPM).
5
6 OPM 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 2 of the License, or
9 (at your option) any later version.
10
11 OPM 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 OPM. If not, see <http://www.gnu.org/licenses/>.
18
19 Consult the COPYING file in the top-level source directory of this
20 module for the precise wording of the license and the list of
21 copyright holders.
22*/
28#ifndef EWOMS_BLACK_OIL_NEWTON_METHOD_PARAMETERS_HH
29#define EWOMS_BLACK_OIL_NEWTON_METHOD_PARAMETERS_HH
30
31namespace Opm::Parameters {
32
33template<class Scalar>
34struct DpMaxRel { static constexpr Scalar value = 0.3; };
35
36template<class Scalar>
37struct DsMax { static constexpr Scalar value = 0.2; };
38
39template<class Scalar>
40struct PriVarOscilationThreshold { static constexpr Scalar value = 1e-5; };
41
42struct ProjectSaturations { static constexpr bool value = false; };
43
44template<class Scalar>
45struct MaxTemperatureChange { static constexpr Scalar value = 5.0; }; // Kelvin
46
47template<class Scalar>
48struct TemperatureMax { static constexpr Scalar value = 1e9; }; // Kelvin
49
50template<class Scalar>
51struct TemperatureMin { static constexpr Scalar value = 0.0; }; // Kelvin
52
53template<class Scalar>
54struct PressureMax { static constexpr Scalar value = 1e99; };
55
56template<class Scalar>
57struct PressureMin { static constexpr Scalar value = -1e99; };
58
59template<class Scalar>
60struct MaximumWaterSaturation { static constexpr Scalar value = 1.0; };
61
62template<class Scalar>
63struct WaterOnlyThreshold { static constexpr Scalar value = 1.0; };
64
65} // namespace Opm::Parameters
66
67namespace Opm {
68
72template<class Scalar>
74{
76 static void registerParameters();
77
79 void read();
80
81 Scalar priVarOscilationThreshold_;
82 Scalar waterSaturationMax_;
83 Scalar waterOnlyThreshold_;
84
85 Scalar dpMaxRel_;
86 Scalar dsMax_;
87 bool projectSaturations_;
88 Scalar maxTempChange_;
89 Scalar tempMax_;
90 Scalar tempMin_;
91 Scalar pressMax_;
92 Scalar pressMin_;
93};
94
95} // namespace Opm
96
97#endif
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition blackoilboundaryratevector.hh:37
Struct holding the parameters for BlackoilNewtonMethod.
Definition blackoilnewtonmethodparams.hpp:74
static void registerParameters()
Registers the parameters in parameter system.
Definition blackoilnewtonmethodparams.cpp:32
void read()
Reads the parameter values from the parameter system.
Definition blackoilnewtonmethodparams.cpp:60
Definition blackoilnewtonmethodparams.hpp:34
Definition blackoilnewtonmethodparams.hpp:37
Definition blackoilnewtonmethodparams.hpp:45
Definition blackoilnewtonmethodparams.hpp:60
Definition blackoilnewtonmethodparams.hpp:54
Definition blackoilnewtonmethodparams.hpp:57
Definition blackoilnewtonmethodparams.hpp:40
Definition blackoilnewtonmethodparams.hpp:42
Definition blackoilnewtonmethodparams.hpp:48
Definition blackoilnewtonmethodparams.hpp:51
Definition blackoilnewtonmethodparams.hpp:63