|
opm-common
|
Collection of run's summary vectors. More...
#include <SummaryConfig.hpp>
Public Types | |
| using | keyword_list = std::vector<SummaryConfigNode> |
| Convenience type alias for a linear sequence of summary vector definitions. | |
Public Member Functions | |
| SummaryConfig ()=default | |
| Default constructor. | |
| SummaryConfig (const Deck &deck, const Schedule &schedule, const FieldPropsManager &field_props, const AquiferConfig &aquiferConfig, const ParseContext &parseContext, ErrorGuard &errors) | |
| Constructor. | |
| template<typename T> | |
| SummaryConfig (const Deck &deck, const Schedule &schedule, const FieldPropsManager &field_props, const AquiferConfig &aquiferConfig, const ParseContext &parseContext, T &&errors) | |
| Constructor. | |
| SummaryConfig (const Deck &deck, const Schedule &schedule, const FieldPropsManager &field_props, const AquiferConfig &aquiferConfig) | |
| Constructor. | |
| SummaryConfig (const keyword_list &keywords, const std::set< std::string > &shortKwds, const std::set< std::string > &smryKwds) | |
| Constructor. | |
| auto | begin () const |
| Beginning of sequence of summary vector definitions. | |
| auto | end () const |
| One past the end of the sequence of summary vector definitions. | |
| std::size_t | size () const |
| Number of summary vectors in current collection. | |
| SummaryConfig & | merge (const SummaryConfig &other) |
| Incorporate other vector collection into current. | |
| SummaryConfig & | merge (SummaryConfig &&other) |
| Incorporate other vector collection into current. | |
| keyword_list | registerRequisiteUDQorActionSummaryKeys (const std::vector< std::string > &extraKeys, const EclipseState &es, const Schedule &sched) |
| Form definitions from vectors used in UDQs and ACTIONX. | |
| bool | hasKeyword (const std::string &keyword) const |
| Query existence of summary vector name. | |
| bool | match (const std::string &keywordPattern) const |
| Query existence of summary vector name with pattern matching. | |
| keyword_list | keywords (const std::string &keywordPattern) const |
| Retrieve all vector definitions matching a vector name pattern. | |
| bool | hasSummaryKey (const std::string &key) const |
| Query existence of fully qualified summary vector key. | |
| bool | require3DField (const std::string &keyword) const |
| Query whether or not a 3D dynamic property is needed to evaluate some/all summary vectors. | |
| std::set< std::string > | fip_regions () const |
| Named region sets needed across all known region level vectors. | |
| std::set< std::string > | fip_regions_interreg_flow () const |
| Named region sets needed across all known inter-region vectors. | |
| bool | operator== (const SummaryConfig &data) const |
| Equality predicate. | |
| template<class Serializer> | |
| void | serializeOp (Serializer &serializer) |
| Convert between byte array and object representation. | |
| bool | createRunSummary () const |
| Whether or not to create a human-readable .RSM file at the end of the simulation run. | |
| const SummaryConfigNode & | operator[] (std::size_t index) const |
| Retrieve summary vector definition from linear index. | |
Static Public Member Functions | |
| static SummaryConfig | serializationTestObject () |
| Create a serialisation test object. | |
Collection of run's summary vectors.
| Opm::SummaryConfig::SummaryConfig | ( | const Deck & | deck, |
| const Schedule & | schedule, | ||
| const FieldPropsManager & | field_props, | ||
| const AquiferConfig & | aquiferConfig, | ||
| const ParseContext & | parseContext, | ||
| ErrorGuard & | errors ) |
Constructor.
Parses the SUMMARY section of the run's model description and configures the initial collection of summary vectors. Parse failures such as missing or incorrect well names are reported through the normal ErrorGuard mechanism.
| [in] | deck | Run's model description. |
| [in] | schedule | Run's collection of dynamic objects (wells, groups, &c). Needed to configure vectors for keywords that apply to "all" entities such as |
WOPR /
| [in] | field_props | Run's static property container. Needed to define region-level vectors, especially for those that use user-defined region sets such as FIPABC. |
| [in] | aquiferConfig | Run's collection of analytic and numerical aquifers. Needed to define aquifer level vectors that apply to "all" aquifers. |
| [in] | parseContext | Error handling controls. |
| [in,out] | errors | Collection of parse errors encountered thus far. Behaviour controlled by parseContext. |
| Opm::SummaryConfig::SummaryConfig | ( | const Deck & | deck, |
| const Schedule & | schedule, | ||
| const FieldPropsManager & | field_props, | ||
| const AquiferConfig & | aquiferConfig, | ||
| const ParseContext & | parseContext, | ||
| T && | errors ) |
Constructor.
Trampoline for expiring ErrorGuard objects. This constructor should arguably not exist.
Parses the SUMMARY section of the run's model description and configures the initial collection of summary vectors. Parse failures such as missing or incorrect well names are reported through the normal ErrorGuard mechanism, though the ErrorGuard object does not exist when the constructor completes.
| T | Error guard type. Must be ErrorGuard. |
| [in] | deck | Run's model description. |
| [in] | schedule | Run's collection of dynamic objects (wells, groups, &c). Needed to configure vectors for keywords that apply to "all" entities such as |
WOPR /
| [in] | field_props | Run's static property container. Needed to define region-level vectors, especially for those that use user-defined region sets such as FIPABC. |
| [in] | aquiferConfig | Run's collection of analytic and numerical aquifers. Needed to define aquifer level vectors that apply to "all" aquifers. |
| [in] | parseContext | Error handling controls. |
| [in,out] | errors | Collection of parse errors encountered thus far. Behaviour controlled by parseContext. |
| Opm::SummaryConfig::SummaryConfig | ( | const Deck & | deck, |
| const Schedule & | schedule, | ||
| const FieldPropsManager & | field_props, | ||
| const AquiferConfig & | aquiferConfig ) |
Constructor.
Parses the SUMMARY section of the run's model description and configures the initial collection of summary vectors. Parse failures such as missing or incorrect well names generate exceptions and stop the simulation run.
| [in] | deck | Run's model description. |
| [in] | schedule | Run's collection of dynamic objects (wells, groups, &c). Needed to configure vectors for keywords that apply to "all" entities such as |
WOPR /
| [in] | field_props | Run's static property container. Needed to define region-level vectors, especially for those that use user-defined region sets such as FIPABC. |
| [in] | aquiferConfig | Run's collection of analytic and numerical aquifers. Needed to define aquifer level vectors that apply to "all" aquifers. |
| Opm::SummaryConfig::SummaryConfig | ( | const keyword_list & | keywords, |
| const std::set< std::string > & | shortKwds, | ||
| const std::set< std::string > & | smryKwds ) |
Constructor.
Forms collection from existing set of summary vector definitions.
| [in] | keywords | Summary vector definitions. |
| [in] | shortKwds | Unique vector names in keywords. |
| [in] | smryKwds | Unique vector keys in keywords. |
|
inline |
Beginning of sequence of summary vector definitions.
Exists to support using standard algorithms and range-for.
|
inline |
One past the end of the sequence of summary vector definitions.
Exists to support using standard algorithms and range-for.
| bool Opm::SummaryConfig::hasKeyword | ( | const std::string & | keyword | ) | const |
Query existence of summary vector name.
| [in] | keyword | Summary vector name. Should be a regular summary keyword like "WWCT" or "FOPR" rather than a fully qualified vector key. |
keyword exists in the current collection. | bool Opm::SummaryConfig::hasSummaryKey | ( | const std::string & | key | ) | const |
Query existence of fully qualified summary vector key.
| [in] | key | Fully qualified summary key like "SOFR:P-123:42". |
key exists in the current collection. | keyword_list Opm::SummaryConfig::keywords | ( | const std::string & | keywordPattern | ) | const |
Retrieve all vector definitions matching a vector name pattern.
| [in] | keywordPattern | Shell-style pattern for summary vector names. Should be a regular summary keyword names like "WWCT" or "FOPR" rather than a fully qualified vector key. As an example, will retrieve all existing vector definitions for all inter-region cumulative oil flow. |
keywordPattern. | bool Opm::SummaryConfig::match | ( | const std::string & | keywordPattern | ) | const |
Query existence of summary vector name with pattern matching.
| [in] | keywordPattern | Shell-style pattern for summary vector names. Should be a regular summary keyword names like "WWCT" or "FOPR" rather than a fully qualified vector key. As an example, will query whether or not any well-level summary vectors have been defined. |
keywordPattern exist in the current collection. | SummaryConfig & Opm::SummaryConfig::merge | ( | const SummaryConfig & | other | ) |
Incorporate other vector collection into current.
| [in] | other | Collection of vector definitions. |
| SummaryConfig & Opm::SummaryConfig::merge | ( | SummaryConfig && | other | ) |
Incorporate other vector collection into current.
Assumes ownership over the vector definitions in the other collection.
| [in,out] | other | Collection of vector definitions. Will be empty on return. |
| bool Opm::SummaryConfig::operator== | ( | const SummaryConfig & | data | ) | const |
Equality predicate.
| [in] | data | Object against which will be tested for equality. |
data. | const SummaryConfigNode & Opm::SummaryConfig::operator[] | ( | std::size_t | index | ) | const |
Retrieve summary vector definition from linear index.
| [in] | index | Linear index in the range [0..size()). |
index in the internal collection. | keyword_list Opm::SummaryConfig::registerRequisiteUDQorActionSummaryKeys | ( | const std::vector< std::string > & | extraKeys, |
| const EclipseState & | es, | ||
| const Schedule & | sched ) |
Form definitions from vectors used in UDQs and ACTIONX.
| [in] | extraKeys | Vector names used in defining expressions for UDQs or in ACTIONX condition blocks. |
| [in] | es | Run's static objects such as property arrays, region definitions, and aquifers. Note that this function will create vector definitions for all applicable entities. In other words, we will create one vector for each well when processing a well level vector name and similarly for groups, connections, segments, and regions. Moreover, for the purpose of this function, FIELD is treated as a regular group name. This treatment enables using expressions such as "GOPR FIELD" in an ACTIONX condition block. |
| [in] | sched | Run's dynamic objects such as wells and groups. |
extraKeys that did not already exist. | bool Opm::SummaryConfig::require3DField | ( | const std::string & | keyword | ) | const |
Query whether or not a 3D dynamic property is needed to evaluate some/all summary vectors.
| [in] | keyword | Name of 3D dynamic property (e.g., "PRESSURE" or "OIP"). |
keyword property is needed to evaluate some or all of the summary vectors in this collection.
|
inline |
Convert between byte array and object representation.
| Serializer | Byte array conversion protocol. |
| [in,out] | serializer | Byte array conversion object. |
| bool Opm::SummaryConfig::narrow { false } |
Whether or not to output the .RSM file in "narrow" format.
Ignored.
| bool Opm::SummaryConfig::separate { true } |
Whether or not to create a separate .RSM file instead of placing the run summary at the end of the .PRT file.
Ignored.