msim: Add temporary well to msim testcase - and verify SHUT status
This commit is contained in:
parent
f115ed43f5
commit
07e6be97e9
@ -385,7 +385,8 @@ DRSDT
|
||||
WELSPECS
|
||||
-- Item #: 1 2 3 4 5 6
|
||||
'PROD' 'G1' 10 10 8400 'OIL' /
|
||||
'INJ' 'G1' 1 1 8335 'GAS' /
|
||||
'INJ' 'G1' 1 1 8335 'GAS' /
|
||||
'RFT' 'G1' 10 10 8400 'OIL' /
|
||||
/
|
||||
-- Coordinates in item 3-4 are retrieved from Odeh's figure 1 and 2
|
||||
-- Note that the depth at the midpoint of the well grid blocks
|
||||
@ -394,6 +395,7 @@ WELSPECS
|
||||
COMPDAT
|
||||
-- Item #: 1 2 3 4 5 6 7 8 9
|
||||
'PROD' 10 10 3 3 'OPEN' 1* 1* 0.5 /
|
||||
'RFT' 10 10 3 3 'OPEN' 1* 1* 0.5 /
|
||||
'INJ' 1 1 1 1 'OPEN' 1* 1* 0.5 /
|
||||
/
|
||||
-- Coordinates in item 2-5 are retreived from Odeh's figure 1 and 2
|
||||
@ -420,8 +422,25 @@ WCONINJE
|
||||
|
||||
TSTEP
|
||||
--Advance the simulater once a month for TEN years:
|
||||
31 28 31 30 31 30 31 31 30 31 30 31
|
||||
31 28 31 30 31 30 31 31 30 31 30 31
|
||||
31 28 31 30 31 30 31 31 30 31 30 31 /
|
||||
|
||||
WELOPEN
|
||||
'RFT' OPEN /
|
||||
/
|
||||
|
||||
WCONHIST
|
||||
'RFT' 'OPEN' 'RESV' 0 /
|
||||
/
|
||||
|
||||
TSTEP
|
||||
31 /
|
||||
|
||||
WELOPEN
|
||||
'RFT' 'SHUT' /
|
||||
/
|
||||
|
||||
TSTEP
|
||||
28 31 30 31 30 31 31 30 31 30 31
|
||||
31 28 31 30 31 30 31 31 30 31 30 31
|
||||
31 28 31 30 31 30 31 31 30 31 30 31
|
||||
31 28 31 30 31 30 31 31 30 31 30 31
|
||||
|
@ -78,6 +78,7 @@ BOOST_AUTO_TEST_CASE(RUN) {
|
||||
msim msim(state);
|
||||
|
||||
msim.well_rate("PROD", data::Rates::opt::oil, prod_opr);
|
||||
msim.well_rate("RFT", data::Rates::opt::oil, prod_opr);
|
||||
msim.solution("PRESSURE", pressure);
|
||||
{
|
||||
const WorkArea work_area("test_msim");
|
||||
@ -109,6 +110,12 @@ BOOST_AUTO_TEST_CASE(RUN) {
|
||||
// DOUBHEAD[0] is elapsed time in days since start of simulation.
|
||||
BOOST_CHECK_CLOSE( press[0], dh[0] * 86400, 1e-3 );
|
||||
}
|
||||
|
||||
const int report_step = 50;
|
||||
const auto& rst_state = Opm::RestartIO::RstState::load(rst, report_step);
|
||||
Schedule sched_rst(deck, state, python, &rst_state);
|
||||
const auto& rft_well = sched_rst.getWell("RFT", report_step);
|
||||
BOOST_CHECK(rft_well.getStatus() == Well::Status::SHUT);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -317,8 +317,9 @@ BOOST_AUTO_TEST_CASE(UDQ_WUWCT) {
|
||||
std::string wuwct_key = std::string("WUWCT:") + well;
|
||||
std::string wopr_key = std::string("WOPR:") + well;
|
||||
|
||||
BOOST_CHECK_EQUAL( ecl_sum_get_general_var(ecl_sum, step, wwct_key.c_str()),
|
||||
ecl_sum_get_general_var(ecl_sum, step, wuwct_key.c_str()));
|
||||
if (ecl_sum_get_general_var(ecl_sum, step, wwct_key.c_str()) != 0)
|
||||
BOOST_CHECK_EQUAL( ecl_sum_get_general_var(ecl_sum, step, wwct_key.c_str()),
|
||||
ecl_sum_get_general_var(ecl_sum, step, wuwct_key.c_str()));
|
||||
|
||||
wopr_sum += ecl_sum_get_general_var(ecl_sum, step , wopr_key.c_str());
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user