diff --git a/opm/parser/eclipse/EclipseState/EclipseConfig.cpp b/opm/parser/eclipse/EclipseState/EclipseConfig.cpp index 29daf4276..5019bbd3c 100644 --- a/opm/parser/eclipse/EclipseState/EclipseConfig.cpp +++ b/opm/parser/eclipse/EclipseState/EclipseConfig.cpp @@ -39,13 +39,13 @@ namespace Opm { const GridDims& inputGrid, const Schedule& schedule, const ParseContext& parseContext) : - m_ioConfig( std::make_shared(deck)), + m_ioConfig( deck), m_initConfig( deck), m_simulationConfig(deck, eclipse3DProperties), m_summaryConfig( deck, schedule, eclipse3DProperties, parseContext , inputGrid.getNXYZ()), m_restartConfig( deck ) { - m_ioConfig->initFirstRFTOutput(schedule); + this->m_ioConfig.initFirstRFTOutput(schedule); } @@ -54,11 +54,11 @@ namespace Opm { } const IOConfig& EclipseConfig::io() const { - return *m_ioConfig; + return m_ioConfig; } IOConfig& EclipseConfig::io() { - return *m_ioConfig; + return m_ioConfig; } const SimulationConfig& EclipseConfig::simulation() const { @@ -83,14 +83,6 @@ namespace Opm { return this->restart(); } - IOConfigConstPtr EclipseConfig::getIOConfigConst() const { - return m_ioConfig; - } - - IOConfigPtr EclipseConfig::getIOConfig() const { - return m_ioConfig; - } - // [[deprecated]] --- use init() const InitConfig& EclipseConfig::getInitConfig() const { return init(); diff --git a/opm/parser/eclipse/EclipseState/EclipseConfig.hpp b/opm/parser/eclipse/EclipseState/EclipseConfig.hpp index 248c80511..a42bc641e 100644 --- a/opm/parser/eclipse/EclipseState/EclipseConfig.hpp +++ b/opm/parser/eclipse/EclipseState/EclipseConfig.hpp @@ -25,6 +25,7 @@ #include #include #include +#include #include namespace Opm { @@ -51,15 +52,13 @@ namespace Opm { const SummaryConfig& summary() const; const RestartConfig& restart() const; - std::shared_ptr getIOConfigConst() const; - std::shared_ptr getIOConfig() const; const InitConfig& getInitConfig() const; const SimulationConfig & getSimulationConfig() const; const SummaryConfig& getSummaryConfig() const; const RestartConfig& getRestartConfig() const; private: - std::shared_ptr m_ioConfig; + IOConfig m_ioConfig; const InitConfig m_initConfig; const SimulationConfig m_simulationConfig; SummaryConfig m_summaryConfig; diff --git a/opm/parser/eclipse/EclipseState/EclipseState.cpp b/opm/parser/eclipse/EclipseState/EclipseState.cpp index 898e1ca29..d09d6e476 100644 --- a/opm/parser/eclipse/EclipseState/EclipseState.cpp +++ b/opm/parser/eclipse/EclipseState/EclipseState.cpp @@ -145,13 +145,13 @@ namespace Opm { } /// [[deprecated]] --- use cfg().io() - IOConfigConstPtr EclipseState::getIOConfigConst() const { - return m_eclipseConfig.getIOConfigConst(); + const IOConfig& EclipseState::getIOConfig() const { + return m_eclipseConfig.io(); } /// [[deprecated]] --- use cfg().io() - IOConfigPtr EclipseState::getIOConfig() const { - return m_eclipseConfig.getIOConfig(); + IOConfig& EclipseState::getIOConfig() { + return m_eclipseConfig.io(); } /// [[deprecated]] --- use cfg().init() diff --git a/opm/parser/eclipse/EclipseState/EclipseState.hpp b/opm/parser/eclipse/EclipseState/EclipseState.hpp index 0e3c10384..45f7e16ca 100644 --- a/opm/parser/eclipse/EclipseState/EclipseState.hpp +++ b/opm/parser/eclipse/EclipseState/EclipseState.hpp @@ -71,8 +71,8 @@ namespace Opm { const ParseContext& getParseContext() const; const Schedule& getSchedule() const; - std::shared_ptr< const IOConfig > getIOConfigConst() const; - std::shared_ptr< IOConfig > getIOConfig() const; + const IOConfig& getIOConfig() const; + IOConfig& getIOConfig(); const InitConfig& getInitConfig() const; const SimulationConfig& getSimulationConfig() const; diff --git a/opm/parser/eclipse/EclipseState/IOConfig/IOConfig.cpp b/opm/parser/eclipse/EclipseState/IOConfig/IOConfig.cpp index 5a66b4be1..be398e0df 100644 --- a/opm/parser/eclipse/EclipseState/IOConfig/IOConfig.cpp +++ b/opm/parser/eclipse/EclipseState/IOConfig/IOConfig.cpp @@ -59,12 +59,13 @@ namespace Opm { IOConfig::IOConfig( const Deck& deck ) : IOConfig( GRIDSection( deck ), RUNSPECSection( deck ), - std::make_shared< const TimeMap >( deck ), + TimeMap( deck ), deck.hasKeyword("NOSIM"), deck.getDataFile() ) {} IOConfig::IOConfig( const std::string& input_path ) : + m_timemap( TimeMap{ Deck{} } ), m_deck_filename( input_path ), m_output_dir( outputdir( input_path ) ), m_base_name( basename( input_path ) ) @@ -97,10 +98,10 @@ namespace Opm { IOConfig::IOConfig( const GRIDSection& grid, const RUNSPECSection& runspec, - std::shared_ptr< const TimeMap > timemap, + TimeMap timemap, bool nosim, const std::string& input_path ) : - m_timemap( timemap ), + m_timemap( std::move( timemap ) ), m_write_INIT_file( grid.hasKeyword( "INIT" ) ), m_write_EGRID_file( write_egrid_file( grid ) ), m_UNIFIN( runspec.hasKeyword( "UNIFIN" ) ), @@ -170,7 +171,7 @@ namespace Opm { boost::gregorian::date IOConfig::getTimestepDate(size_t reportStep) const { - auto time = (*m_timemap)[reportStep]; + const auto& time = m_timemap[reportStep]; return time.date(); } diff --git a/opm/parser/eclipse/EclipseState/IOConfig/IOConfig.hpp b/opm/parser/eclipse/EclipseState/IOConfig/IOConfig.hpp index 44c8d0d3d..c1c4c61d3 100644 --- a/opm/parser/eclipse/EclipseState/IOConfig/IOConfig.hpp +++ b/opm/parser/eclipse/EclipseState/IOConfig/IOConfig.hpp @@ -22,15 +22,13 @@ #include +#include + namespace Opm { - template< typename > class DynamicState; - class Deck; - class DeckKeyword; class GRIDSection; class RUNSPECSection; - class TimeMap; class Schedule; /*The IOConfig class holds data about input / ouput configurations @@ -163,7 +161,7 @@ namespace Opm { void setWriteInitialRestartFile(bool writeInitialRestartFile); private: - std::shared_ptr< const TimeMap > m_timemap; + TimeMap m_timemap; bool m_write_INIT_file = false; bool m_write_EGRID_file = true; bool m_UNIFIN = false; @@ -180,16 +178,12 @@ namespace Opm { IOConfig( const GRIDSection&, const RUNSPECSection&, - std::shared_ptr< const TimeMap >, + TimeMap, bool nosim, const std::string& input_path ); }; - - typedef std::shared_ptr IOConfigPtr; - typedef std::shared_ptr IOConfigConstPtr; - } //namespace Opm