diff --git a/opm/parser/eclipse/EclipseState/Schedule/Group.hpp b/opm/parser/eclipse/EclipseState/Schedule/Group.hpp index 7531d7bb4..aea4def2a 100644 --- a/opm/parser/eclipse/EclipseState/Schedule/Group.hpp +++ b/opm/parser/eclipse/EclipseState/Schedule/Group.hpp @@ -34,7 +34,6 @@ namespace Opm { class TimeMap; - class Well; namespace GroupInjection { struct InjectionData { @@ -129,7 +128,7 @@ namespace Opm { bool hasWell(const std::string& wellName , size_t time_step) const; const std::set< std::string >& getWells( size_t time_step ) const; size_t numWells(size_t time_step) const; - void addWell(size_t time_step, const Well* well); + void addWell(size_t time_step, const std::string& well_name); void delWell(size_t time_step, const std::string& wellName ); private: diff --git a/src/opm/parser/eclipse/EclipseState/Schedule/Group.cpp b/src/opm/parser/eclipse/EclipseState/Schedule/Group.cpp index ea0e41530..d34275c4d 100644 --- a/src/opm/parser/eclipse/EclipseState/Schedule/Group.cpp +++ b/src/opm/parser/eclipse/EclipseState/Schedule/Group.cpp @@ -291,9 +291,9 @@ namespace Opm { return this->m_wells.at( time_step ).size(); } - void Group::addWell(size_t time_step, const Well* well ) { + void Group::addWell(size_t time_step, const std::string& well_name ) { auto new_set = this->m_wells.at( time_step ); - new_set.insert( well->name() ); + new_set.insert( well_name ); this->m_wells.update( time_step, new_set ); } diff --git a/src/opm/parser/eclipse/EclipseState/Schedule/Schedule.cpp b/src/opm/parser/eclipse/EclipseState/Schedule/Schedule.cpp index e372b5481..17aca597d 100644 --- a/src/opm/parser/eclipse/EclipseState/Schedule/Schedule.cpp +++ b/src/opm/parser/eclipse/EclipseState/Schedule/Schedule.cpp @@ -1913,7 +1913,7 @@ namespace Opm { m_groups.at( currentGroupName ).delWell( timeStep, well.name() ); } well.setGroupName(timeStep , newGroup.name()); - newGroup.addWell(timeStep , &well); + newGroup.addWell(timeStep , well.name()); } diff --git a/tests/parser/GroupTests.cpp b/tests/parser/GroupTests.cpp index 1ee1dbbb8..c850035e9 100644 --- a/tests/parser/GroupTests.cpp +++ b/tests/parser/GroupTests.cpp @@ -160,16 +160,16 @@ BOOST_AUTO_TEST_CASE(GroupAddWell) { auto well2 = std::make_shared< Well >("WELL2", 2, 0, 0, 0.0, 0.0, Opm::Phase::OIL, timeMap, 0); BOOST_CHECK_EQUAL(0U , group.numWells(2)); - group.addWell( 3 , well1.get() ); + group.addWell( 3 , well1->name() ); BOOST_CHECK_EQUAL( 1U , group.numWells(3)); BOOST_CHECK_EQUAL( 0U , group.numWells(1)); - group.addWell( 4 , well1.get() ); + group.addWell( 4 , well1->name() ); BOOST_CHECK_EQUAL( 1U , group.numWells(4)); BOOST_CHECK_EQUAL( 0U , group.numWells(1)); BOOST_CHECK_EQUAL( 1U , group.numWells(5)); - group.addWell( 6 , well2.get() ); + group.addWell( 6 , well2->name() ); BOOST_CHECK_EQUAL( 1U , group.numWells(4)); BOOST_CHECK_EQUAL( 0U , group.numWells(1)); BOOST_CHECK_EQUAL( 1U , group.numWells(5)); @@ -197,11 +197,11 @@ BOOST_AUTO_TEST_CASE(GroupAddAndDelWell) { auto well2 = std::make_shared< Well >("WELL2", 2, 0, 0, 0.0, 0.0, Opm::Phase::OIL, timeMap, 0); BOOST_CHECK_EQUAL(0U , group.numWells(2)); - group.addWell( 3 , well1.get() ); + group.addWell( 3 , well1->name() ); BOOST_CHECK_EQUAL( 1U , group.numWells(3)); BOOST_CHECK_EQUAL( 0U , group.numWells(1)); - group.addWell( 6 , well2.get() ); + group.addWell( 6 , well2->name() ); BOOST_CHECK_EQUAL( 1U , group.numWells(4)); BOOST_CHECK_EQUAL( 0U , group.numWells(1)); BOOST_CHECK_EQUAL( 1U , group.numWells(5)); @@ -229,10 +229,10 @@ BOOST_AUTO_TEST_CASE(getWells) { auto well1 = std::make_shared< Well >("WELL1", 1, 0, 0, 0.0, 0.0, Opm::Phase::OIL, timeMap, 0); auto well2 = std::make_shared< Well >("WELL2", 2, 0, 0, 0.0, 0.0, Opm::Phase::OIL, timeMap, 0); - group.addWell( 2 , well1.get() ); - group.addWell( 3 , well1.get() ); - group.addWell( 3 , well2.get() ); - group.addWell( 4 , well1.get() ); + group.addWell( 2 , well1->name() ); + group.addWell( 3 , well1->name() ); + group.addWell( 3 , well2->name() ); + group.addWell( 4 , well1->name() ); std::vector< std::string > names = { "WELL1", "WELL2" }; std::vector< std::string > wnames;