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/Geochemistry/SpeciesConfig.hpp> 27 #include <opm/input/eclipse/EclipseState/Geochemistry/MineralConfig.hpp> 28 #include <opm/input/eclipse/EclipseState/Geochemistry/IonExchangeConfig.hpp> 29 #include <opm/input/eclipse/EclipseState/Grid/EclipseGrid.hpp> 30 #include <opm/input/eclipse/EclipseState/Grid/FIPRegionStatistics.hpp> 31 #include <opm/input/eclipse/EclipseState/Grid/FaultCollection.hpp> 32 #include <opm/input/eclipse/EclipseState/Grid/FieldPropsManager.hpp> 33 #include <opm/input/eclipse/EclipseState/Grid/LgrCollection.hpp> 34 #include <opm/input/eclipse/EclipseState/Grid/NNC.hpp> 35 #include <opm/input/eclipse/EclipseState/Grid/TransMult.hpp> 36 #include <opm/input/eclipse/EclipseState/Runspec.hpp> 37 #include <opm/input/eclipse/EclipseState/SimulationConfig/SimulationConfig.hpp> 38 #include <opm/input/eclipse/EclipseState/Tables/TableManager.hpp> 39 #include <opm/input/eclipse/EclipseState/TracerConfig.hpp> 40 #include <opm/input/eclipse/EclipseState/Co2StoreConfig.hpp> 41 #include <opm/input/eclipse/EclipseState/WagHysteresisConfig.hpp> 43 #include <opm/input/eclipse/Units/UnitSystem.hpp> 59 namespace Opm {
namespace RestartIO {
70 DoubleProperties = 0x02,
72 AllProperties = IntProperties | DoubleProperties
87 void set_lgr_refinement(
const std::string& lgr_label,
const std::vector<double>& coord,
const std::vector<double>& zcorn);
98 void appendInputNNC(
const std::vector<NNCdata>& nnc);
99 void setInputNNC(
const NNC& nnc);
102 bool hasInputNNC()
const;
103 bool hasPinchNNC()
const;
110 virtual void computeFipRegionStatistics();
119 bool hasInputLGR()
const;
127 const std::string& getTitle()
const;
129 void apply_schedule_keywords(
const std::vector<DeckKeyword>& keywords);
131 const Runspec& runspec()
const;
141 void prune_global_for_schedule_run();
142 void reset_actnum(
const std::vector<int>& new_actnum);
143 void set_active_indices(
const std::vector<int>& indices);
144 void pruneDeactivatedAquiferConnections(
const std::vector<std::size_t>& deactivated_cells);
150 void appendAqufluxSchedule(
const std::unordered_set<int>& ids);
153 const std::optional<std::map<std::string, double> >& getRestartNetworkPressures()
const {
return this->m_restart_network_pressures; }
155 template<
class Serializer>
160 serializer(m_tables);
161 serializer(m_runspec);
162 serializer(m_eclipseConfig);
163 serializer(m_deckUnitSystem);
164 serializer(m_inputNnc);
165 serializer(m_pinchNnc);
166 serializer(m_gridDims);
168 serializer(m_simulationConfig);
169 serializer(aquifer_config);
170 serializer(compositional_config),
171 serializer(m_transMult);
172 serializer(m_faults);
174 serializer(species_config);
175 serializer(mineral_config);
176 serializer(ionex_config);
177 serializer(tracer_config);
178 serializer(wag_hyst_config);
179 serializer(co2_store_config);
180 serializer(this->fipRegionStatistics_);
186 void initIOConfigPostSchedule(
const Deck& deck);
187 void assignRunTitle(
const Deck& deck);
188 void reportNumberOfActivePhases()
const;
189 void initLgrs(
const Deck& deck);
190 void conveyNumericalAquiferEffects();
192 void initFaults(
const Deck& deck);
193 void initPara(
const Deck& deck);
197 void complainAboutAmbiguousKeyword(
const Deck& deck,
198 const std::string& keywordName);
207 std::vector<NNCdata> m_pinchNnc;
222 std::string m_title{};
225 std::optional<std::map<std::string, double> > m_restart_network_pressures{std::nullopt};
227 std::optional<FIPRegionStatistics> fipRegionStatistics_{std::nullopt};
231 #endif // OPM_ECLIPSE_STATE_HPP const std::vector< NNCdata > & getPinchNNC() const
Get sorted vector of NNCs created by PINCH.
Definition: EclipseState.cpp:307
Definition: network.hpp:38
Definition: CompositionalConfig.hpp:34
void setPinchNNC(std::vector< NNCdata > &&nnc)
Set NNCs created by PINCH.
Definition: EclipseState.cpp:315
Definition: MineralConfig.hpp:28
Settings for model initialisation.
Definition: InitConfig.hpp:38
Definition: FieldPropsManager.hpp:42
const InitConfig & getInitConfig() const
[[deprecated]] — use cfg().init()
Definition: EclipseState.cpp:254
About cell information and dimension: The actual grid information is held in a pointer to an ERT ecl_...
Definition: EclipseGrid.hpp:62
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:30
Definition: Runspec.hpp:608
Definition: EclipseState.hpp:66
Basic descriptive statistics about a model's fluid-in-place regions.
Definition: FIPRegionStatistics.hpp:39
Definition: AquiferConfig.hpp:46
Definition: TransMult.hpp:52
Definition: IOConfig.hpp:142
Definition: TracerConfig.hpp:33
Definition: SimulationConfig.hpp:38
Definition: TableManager.hpp:66
Definition: WagHysteresisConfig.hpp:30
Definition: aquifer.hpp:44
Definition: IonExchangeConfig.hpp:28
Definition: UnitSystem.hpp:34
const IOConfig & getIOConfig() const
[[deprecated]] — use cfg().io()
Definition: EclipseState.cpp:244
const NNC & getInputNNC() const
non-neighboring connections the non-standard adjacencies as specified in input deck ...
Definition: EclipseState.cpp:303
Definition: LgrCollection.hpp:33
const EclipseConfig & getEclipseConfig() const
[[deprecated]] — use cfg()
Definition: EclipseState.cpp:263
Definition: GridDims.hpp:30
Definition: SpeciesConfig.hpp:28
Definition: FaultCollection.hpp:35
Definition: DeckSection.hpp:47
Definition: EclipseConfig.hpp:32
Definition: Co2StoreConfig.hpp:33
Class for (de-)serializing.
Definition: Serializer.hpp:94