mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Add class GlobalWellInfo and use it from WellState
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
#define BOOST_TEST_MODULE WellStateFIBOTest
|
||||
|
||||
#include "MpiFixture.hpp"
|
||||
#include <opm/simulators/wells/GlobalWellInfo.hpp>
|
||||
#include <opm/simulators/wells/WellStateFullyImplicitBlackoil.hpp>
|
||||
#include <opm/parser/eclipse/Python/Python.hpp>
|
||||
|
||||
@@ -146,8 +147,7 @@ namespace {
|
||||
|
||||
state.init(cpress, setup.sched,
|
||||
wells, ppinfos,
|
||||
timeStep, nullptr, setup.well_perf_data, setup.st,
|
||||
wells.size());
|
||||
timeStep, nullptr, setup.well_perf_data, setup.st);
|
||||
|
||||
state.initWellStateMSWell(setup.sched.getWells(timeStep),
|
||||
nullptr);
|
||||
@@ -394,4 +394,35 @@ BOOST_AUTO_TEST_CASE(STOP_well)
|
||||
BOOST_CHECK(p > 0);
|
||||
}
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
|
||||
BOOST_AUTO_TEST_CASE(GlobalWellInfo_TEST) {
|
||||
const Setup setup{ "msw.data" };
|
||||
std::vector<Opm::Well> local_wells = { setup.sched.getWell("PROD01", 1) };
|
||||
Opm::GlobalWellInfo gwi(setup.sched, 1, local_wells);
|
||||
|
||||
BOOST_CHECK(!gwi.in_injecting_group("INJE01"));
|
||||
BOOST_CHECK(!gwi.in_injecting_group("PROD01"));
|
||||
BOOST_CHECK(!gwi.in_producing_group("INJE01"));
|
||||
BOOST_CHECK(!gwi.in_producing_group("PROD01"));
|
||||
|
||||
BOOST_CHECK_EQUAL( gwi.well_name(0), "INJE01");
|
||||
BOOST_CHECK_EQUAL( gwi.well_name(1), "PROD01");
|
||||
BOOST_CHECK_EQUAL( gwi.well_index("PROD01"), 1);
|
||||
|
||||
BOOST_CHECK_THROW( gwi.update_group( {}, {}, {} ), std::exception);
|
||||
|
||||
gwi.update_group( {Opm::Well::Status::OPEN}, {Opm::Well::InjectorCMode::CMODE_UNDEFINED}, {Opm::Well::ProducerCMode::GRUP} );
|
||||
BOOST_CHECK(!gwi.in_producing_group("INJE01"));
|
||||
BOOST_CHECK(gwi.in_producing_group("PROD01"));
|
||||
|
||||
gwi.update_group( {Opm::Well::Status::OPEN}, {Opm::Well::InjectorCMode::CMODE_UNDEFINED}, {Opm::Well::ProducerCMode::NONE} );
|
||||
BOOST_CHECK(!gwi.in_producing_group("INJE01"));
|
||||
BOOST_CHECK(!gwi.in_producing_group("PROD01"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
Reference in New Issue
Block a user