opm-simulators
FlowUtils.hpp
1 /*
2  Copyright 2013, 2014, 2015 SINTEF ICT, Applied Mathematics.
3  Copyright 2014 Dr. Blatt - HPC-Simulation-Software & Services
4  Copyright 2015 IRIS AS
5  Copyright 2014 STATOIL ASA.
6 
7  This file is part of the Open Porous Media project (OPM).
8 
9  OPM is free software: you can redistribute it and/or modify
10  it under the terms of the GNU General Public License as published by
11  the Free Software Foundation, either version 3 of the License, or
12  (at your option) any later version.
13 
14  OPM is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  GNU General Public License for more details.
18 
19  You should have received a copy of the GNU General Public License
20  along with OPM. If not, see <http://www.gnu.org/licenses/>.
21 */
22 #ifndef OPM_FLOW_UTILS_HEADER_INCLUDED
23 #define OPM_FLOW_UTILS_HEADER_INCLUDED
24 
25 #include <functional>
26 #include <set>
27 #include <string_view>
28 
29 namespace Opm { struct SimulatorReport; }
30 
31 namespace Opm::detail {
32 
33 void checkAllMPIProcesses();
34 
35 void mergeParallelLogFiles(std::string_view output_dir,
36  std::string_view deck_filename,
37  bool enableLoggingFalloutWarning);
38 
39 void handleExtraConvergenceOutput(const SimulatorReport& report,
40  std::string_view option,
41  std::string_view optionName,
42  std::string_view output_dir,
43  std::string_view base_name);
44 
46 template<class Scalar>
47 void hideUnusedParameters();
48 
49 int eclPositionalParameter(std::function<void(const std::string&,
50  const std::string&)> addKey,
51  std::set<std::string>& seenParams,
52  std::string& errorMsg,
53  const char** argv,
54  int paramIdx);
55 
56 } // namespace Opm::detail
57 
58 #endif // OPM_FLOW_UTILS_HEADER_INCLUDED
Definition: alignedallocator.hh:32
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: blackoilbioeffectsmodules.hh:45