20#ifndef OPM_ECLIPSE_STATE_HPP
21#define OPM_ECLIPSE_STATE_HPP
23#include <opm/input/eclipse/EclipseState/Aquifer/AquiferConfig.hpp>
24#include <opm/input/eclipse/EclipseState/Compositional/CompositionalConfig.hpp>
25#include <opm/input/eclipse/EclipseState/EclipseConfig.hpp>
26#include <opm/input/eclipse/EclipseState/Grid/EclipseGrid.hpp>
27#include <opm/input/eclipse/EclipseState/Grid/FIPRegionStatistics.hpp>
28#include <opm/input/eclipse/EclipseState/Grid/FaultCollection.hpp>
29#include <opm/input/eclipse/EclipseState/Grid/FieldPropsManager.hpp>
30#include <opm/input/eclipse/EclipseState/Grid/LgrCollection.hpp>
31#include <opm/input/eclipse/EclipseState/Grid/NNC.hpp>
32#include <opm/input/eclipse/EclipseState/Grid/TransMult.hpp>
33#include <opm/input/eclipse/EclipseState/MICPpara.hpp>
34#include <opm/input/eclipse/EclipseState/Runspec.hpp>
35#include <opm/input/eclipse/EclipseState/SimulationConfig/SimulationConfig.hpp>
36#include <opm/input/eclipse/EclipseState/Tables/TableManager.hpp>
37#include <opm/input/eclipse/EclipseState/TracerConfig.hpp>
38#include <opm/input/eclipse/EclipseState/Co2StoreConfig.hpp>
39#include <opm/input/eclipse/EclipseState/WagHysteresisConfig.hpp>
41#include <opm/input/eclipse/Units/UnitSystem.hpp>
56namespace Opm {
namespace RestartIO {
67 DoubleProperties = 0x02,
69 AllProperties = IntProperties | DoubleProperties
94 void appendInputNNC(
const std::vector<NNCdata>& nnc);
95 void setInputNNC(
const NNC& nnc);
98 bool hasInputNNC()
const;
99 bool hasPinchNNC()
const;
106 virtual void computeFipRegionStatistics();
115 bool hasInputLGR()
const;
123 const std::string& getTitle()
const;
125 void apply_schedule_keywords(
const std::vector<DeckKeyword>& keywords);
127 const Runspec& runspec()
const;
131 const MICPpara& getMICPpara()
const;
135 void prune_global_for_schedule_run();
136 void reset_actnum(
const std::vector<int>& new_actnum);
137 void set_active_indices(
const std::vector<int>& indices);
138 void pruneDeactivatedAquiferConnections(
const std::vector<std::size_t>& deactivated_cells);
144 void appendAqufluxSchedule(
const std::unordered_set<int>& ids);
147 const std::optional<std::map<std::string, double> >& getRestartNetworkPressures()
const {
return this->m_restart_network_pressures; }
149 template<
class Serializer>
154 serializer(m_tables);
155 serializer(m_runspec);
156 serializer(m_eclipseConfig);
157 serializer(m_deckUnitSystem);
158 serializer(m_inputNnc);
159 serializer(m_pinchNnc);
160 serializer(m_gridDims);
162 serializer(m_simulationConfig);
163 serializer(aquifer_config);
164 serializer(compositional_config),
165 serializer(m_transMult);
166 serializer(m_faults);
168 serializer(tracer_config);
169 serializer(m_micppara);
170 serializer(wag_hyst_config);
171 serializer(co2_store_config);
172 serializer(this->fipRegionStatistics_);
178 void initIOConfigPostSchedule(
const Deck& deck);
179 void assignRunTitle(
const Deck& deck);
180 void reportNumberOfActivePhases()
const;
181 void initLgrs(
const Deck& deck);
182 void conveyNumericalAquiferEffects();
184 void initFaults(
const Deck& deck);
185 void initPara(
const Deck& deck);
189 void complainAboutAmbiguousKeyword(
const Deck& deck,
190 const std::string& keywordName);
199 std::vector<NNCdata> m_pinchNnc;
212 std::string m_title{};
215 std::optional<std::map<std::string, double> > m_restart_network_pressures{std::nullopt};
217 std::optional<FIPRegionStatistics> fipRegionStatistics_{std::nullopt};
Definition AquiferConfig.hpp:46
Definition Co2StoreConfig.hpp:33
Definition CompositionalConfig.hpp:34
Definition DeckSection.hpp:47
Definition EclipseConfig.hpp:32
About cell information and dimension: The actual grid information is held in a pointer to an ERT ecl_...
Definition EclipseGrid.hpp:62
Definition EclipseState.hpp:63
const EclipseConfig & getEclipseConfig() const
[[deprecated]] — use cfg()
Definition EclipseState.cpp:257
void setPinchNNC(std::vector< NNCdata > &&nnc)
Set NNCs created by PINCH.
Definition EclipseState.cpp:313
const std::vector< NNCdata > & getPinchNNC() const
Get sorted vector of NNCs created by PINCH.
Definition EclipseState.cpp:305
const IOConfig & getIOConfig() const
[[deprecated]] — use cfg().io()
Definition EclipseState.cpp:238
const NNC & getInputNNC() const
non-neighboring connections the non-standard adjacencies as specified in input deck
Definition EclipseState.cpp:301
const InitConfig & getInitConfig() const
[[deprecated]] — use cfg().init()
Definition EclipseState.cpp:248
Basic descriptive statistics about a model's fluid-in-place regions.
Definition FIPRegionStatistics.hpp:40
Definition FaultCollection.hpp:35
Definition FieldPropsManager.hpp:42
Definition GridDims.hpp:31
Definition IOConfig.hpp:143
Definition InitConfig.hpp:32
Definition LgrCollection.hpp:33
Definition MICPpara.hpp:26
Definition aquifer.hpp:45
Definition network.hpp:39
Definition Runspec.hpp:480
Class for (de-)serializing.
Definition Serializer.hpp:94
Definition SimulationConfig.hpp:38
Definition TableManager.hpp:66
Definition TracerConfig.hpp:33
Definition TransMult.hpp:52
Definition UnitSystem.hpp:34
Definition WagHysteresisConfig.hpp:30
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30