Merge pull request #733 from joakim-hove/use-wellname

Use wellname in Group::addWell()
This commit is contained in:
Joakim Hove 2019-04-18 21:12:29 +02:00 committed by GitHub
commit 167a7a8c38
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 13 additions and 14 deletions

View File

@ -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:

View File

@ -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 );
}

View File

@ -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());
}

View File

@ -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;