opm-simulators
BlackoilModelConvergenceMonitor.hpp
1 /*
2  Copyright 2013, 2015 SINTEF ICT, Applied Mathematics.
3  Copyright 2014, 2015 Dr. Blatt - HPC-Simulation-Software & Services
4  Copyright 2014, 2015 Statoil ASA.
5  Copyright 2015 NTNU
6  Copyright 2015, 2016, 2017 IRIS AS
7 
8  This file is part of the Open Porous Media project (OPM).
9 
10  OPM is free software: you can redistribute it and/or modify
11  it under the terms of the GNU General Public License as published by
12  the Free Software Foundation, either version 3 of the License, or
13  (at your option) any later version.
14 
15  OPM is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  GNU General Public License for more details.
19 
20  You should have received a copy of the GNU General Public License
21  along with OPM. If not, see <http://www.gnu.org/licenses/>.
22 */
23 
24 #ifndef OPM_BLACKOILMODEL_CONV_MONITOR_HEADER_INCLUDED
25 #define OPM_BLACKOILMODEL_CONV_MONITOR_HEADER_INCLUDED
26 
27 #include <opm/simulators/flow/BlackoilModelParameters.hpp>
28 #include <opm/simulators/timestepping/ConvergenceReport.hpp>
29 
30 namespace Opm {
31 
33 template <class Scalar>
35 {
36 public:
37  using MonitorParams = typename BlackoilModelParameters<Scalar>::ConvergenceMonitorParams;
38  explicit BlackoilModelConvergenceMonitor(const MonitorParams& param);
39 
40  void checkPenaltyCard(ConvergenceReport& report, int iteration);
41 
42  void reset();
43 
44 private:
45  const MonitorParams& param_;
46  ConvergenceReport::PenaltyCard total_penaltyCard_;
47  double prev_distance_;
48  int prev_above_tolerance_;
49 };
50 
51 } // namespace Opm
52 
53 #endif
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: blackoilbioeffectsmodules.hh:45
Implementation of penalty cards for three-phase black oil.
Definition: BlackoilModelConvergenceMonitor.hpp:34
Struct holding convergence monitor params.
Definition: BlackoilModelParameters.hpp:386
Represents the convergence status of the whole simulator, to make it possible to query and store the ...
Definition: ConvergenceReport.hpp:37
Definition: ConvergenceReport.hpp:57