My Project
UnsupportedFlowKeywords.hpp
1 /*
2  Copyright 2021 Equinor.
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 3 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 
20 #ifndef OPM_UNSUPPORTEDFLOWKEYWORDS_HEADER_INCLUDED
21 #define OPM_UNSUPPORTEDFLOWKEYWORDS_HEADER_INCLUDED
22 
23 
24 #include <opm/simulators/flow/KeywordValidation.hpp>
25 
26 /*
27  Here the keywords are defined that are not suppored by flow. When parsing
28  the deck, unsupported keywords will be flagged and reported. It is possible
29  to mark a keyword as 'critical'. In this case an error will be raised and
30  flow will not proceed when it encounters this keyword.
31 
32  The unsupported keywords are specified by a mapping from the keyword name to
33  a struct with properties of that keyword. The struct is defined in
34  KeywordValidation.hpp and contains the following fields:
35 
36  critical (bool) : set to true if the keywords is considered critical.
37  message (optional string): set to an optional message string that is added
38  to the error.
39 
40  Below is the std::map with the keywords that are not supported by flow.
41 
42  Most entries in the map below are not critical ('false') and do not have an
43  additional message. Set the first entry to 'true' to make a keyword
44  critical. A message can be added by replacing std::nullopt by a string
45  literal.
46 */
47 
48 
49 namespace Opm::FlowKeywordValidation
50 {
51 
52 const KeywordValidation::UnsupportedKeywords& unsupportedKeywords();
53 
54 } // namespace Opm::FlowKeywordValidation
55 
56 
57 #endif