added unit tests and modified input data accordingly
This commit is contained in:
parent
f3fbd44b4b
commit
86a85b5b24
@ -149,8 +149,8 @@ const std::map<cmp_enum, int> cmpToIndex = {
|
||||
iAct[0] = 0;
|
||||
//item [1]: The number of lines of schedule data including ENDACTIO
|
||||
iAct[1] = actx.keyword_strings().size();
|
||||
//item [2]: is the number of times an action has been triggered
|
||||
iAct[2] = action_state.run_count(actx);
|
||||
//item [2]: is the number of times an action has been triggered plus 1
|
||||
iAct[2] = action_state.run_count(actx) + 1;
|
||||
//item [3]: is unknown, (=7)
|
||||
iAct[3] = 7;
|
||||
//item [4]: is unknown, (=0)
|
||||
|
@ -79,8 +79,8 @@ ACTDIMS
|
||||
--
|
||||
-- ----------------------------------------------------
|
||||
-- Input and output files format
|
||||
FMTIN
|
||||
FMTOUT
|
||||
--FMTIN
|
||||
--FMTOUT
|
||||
UNIFIN
|
||||
UNIFOUT
|
||||
|
||||
@ -330,6 +330,11 @@ WUPR3
|
||||
|
||||
SCHEDULE
|
||||
|
||||
TUNING
|
||||
1* 1. /
|
||||
/
|
||||
/
|
||||
|
||||
GRUPTREE
|
||||
'UPPER' 'TEST' /
|
||||
'LOWER' 'TEST' /
|
||||
@ -408,10 +413,10 @@ GUIDERAT
|
||||
|
||||
--start files/actionxprod.tmpl
|
||||
ACTIONX
|
||||
ACT01 10 /
|
||||
WWPR 'OP*' > 17 OR /
|
||||
ACT01 10 0.345 /
|
||||
WWPR 'OP*' > 170000 OR /
|
||||
GMWPR 'TEST' > 14 AND /
|
||||
DAY > 3 /
|
||||
DAY > 1113. /
|
||||
/
|
||||
WELOPEN
|
||||
'?' SHUT 0 0 0 2* /
|
||||
@ -419,7 +424,7 @@ WELOPEN
|
||||
ENDACTIO
|
||||
|
||||
ACTIONX
|
||||
ACT02 11 /
|
||||
ACT02 11 0.567 /
|
||||
FMWPR > 25 AND /
|
||||
WGPR 'OPL02' > GGPR 'LOWER' AND /
|
||||
MNTH > NOV /
|
||||
@ -438,10 +443,10 @@ DATES
|
||||
/
|
||||
|
||||
ACTIONX
|
||||
ACT03 13 /
|
||||
WWPR 'OPU02' > WWPR 'OPU01' OR /
|
||||
ACT03 13 0.789 /
|
||||
WWPR 'OPU01' > WWPR 'OPU02' OR /
|
||||
GMWPR 'TEST' > 39 AND /
|
||||
YEAR > 2019 /
|
||||
YEAR > 2020 /
|
||||
/
|
||||
WELOPEN
|
||||
'?' SHUT 0 0 0 2* /
|
||||
@ -450,10 +455,10 @@ ENDACTIO
|
||||
|
||||
--start files/actionxprod.tmpl
|
||||
ACTIONX
|
||||
ACT01 10 /
|
||||
ACT01 10 0.543 /
|
||||
FMWPR > 45 AND /
|
||||
WUPR3 'OP*' > 46 OR /
|
||||
MNTH > OCT /
|
||||
MNTH < MAY /
|
||||
/
|
||||
WELOPEN
|
||||
'?' SHUT 0 0 0 2* /
|
||||
@ -468,7 +473,7 @@ ENDACTIO
|
||||
|
||||
--start files/actionxprod.tmpl
|
||||
ACTIONX
|
||||
ACT04 10 /
|
||||
ACT04 10 0.278 /
|
||||
FMWPR > 3 AND /
|
||||
( WUPR3 'OP*' > 46 OR /
|
||||
WOPR 'OP*' > 32 ) AND /
|
||||
@ -484,7 +489,7 @@ ENDACTIO
|
||||
|
||||
--start files/actionxprod.tmpl
|
||||
ACTIONX
|
||||
ACT05 10 /
|
||||
ACT05 10 0.984 /
|
||||
FMWPR > 3 AND /
|
||||
( WUPR3 'OP*' > 46 AND /
|
||||
WOPR 'OP*' > 32 ) AND /
|
||||
@ -500,7 +505,7 @@ ENDACTIO
|
||||
|
||||
--start files/actionxprod.tmpl
|
||||
ACTIONX
|
||||
ACT06 10 /
|
||||
ACT06 10 0.176 /
|
||||
FMWPR > 3 OR /
|
||||
( WUPR3 'OP*' > 46 AND /
|
||||
WOPR 'OP*' > 32 ) AND /
|
||||
@ -516,7 +521,7 @@ ENDACTIO
|
||||
|
||||
--start files/actionxprod.tmpl
|
||||
ACTIONX
|
||||
ACT07 10 /
|
||||
ACT07 10 0.045 /
|
||||
FMWPR > 3 AND /
|
||||
( WUPR3 'OP*' > 46 AND /
|
||||
WOPR 'OP*' > 32 ) OR /
|
||||
@ -532,7 +537,7 @@ ENDACTIO
|
||||
|
||||
--start files/actionxprod.tmpl
|
||||
ACTIONX
|
||||
ACT08 10 /
|
||||
ACT08 10 0.487 /
|
||||
( FMWPR > 3 AND /
|
||||
WUPR3 'OP*' > 46 ) AND /
|
||||
WOPR 'OP*' > 32 AND /
|
||||
@ -550,7 +555,7 @@ ENDACTIO
|
||||
|
||||
--start files/actionxprod.tmpl
|
||||
ACTIONX
|
||||
ACT09 10 /
|
||||
ACT09 10 0.398 /
|
||||
( FMWPR > 3 OR /
|
||||
WUPR3 'OP*' > 46 ) AND /
|
||||
WOPR 'OP*' > 32 AND /
|
||||
@ -568,7 +573,7 @@ ENDACTIO
|
||||
|
||||
--start files/actionxprod.tmpl
|
||||
ACTIONX
|
||||
ACT10 10 /
|
||||
ACT10 10 4.67 /
|
||||
( FMWPR > 3 AND /
|
||||
WUPR3 'OP*' > 46 ) OR /
|
||||
WOPR 'OP*' > 32 AND /
|
||||
@ -586,7 +591,7 @@ ENDACTIO
|
||||
|
||||
--start files/actionxprod.tmpl
|
||||
ACTIONX
|
||||
ACT11 10 /
|
||||
ACT11 10 3.98 /
|
||||
( FMWPR > 3 AND /
|
||||
WUPR3 'OP*' > 46 ) AND /
|
||||
WOPR 'OP*' > 32 OR /
|
||||
@ -604,7 +609,7 @@ ENDACTIO
|
||||
|
||||
--start files/actionxprod.tmpl
|
||||
ACTIONX
|
||||
ACT12 10 /
|
||||
ACT12 10 7.23 /
|
||||
( FMWPR > 3 AND /
|
||||
WUPR3 'OP*' > 46 ) AND /
|
||||
WOPR 'OP*' > 32 AND /
|
||||
@ -622,7 +627,7 @@ ENDACTIO
|
||||
|
||||
--start files/actionxprod.tmpl
|
||||
ACTIONX
|
||||
ACT13 10 /
|
||||
ACT13 10 8.32 /
|
||||
( FMWPR > 3 AND /
|
||||
WUPR3 'OP*' > 46 ) AND /
|
||||
WOPR 'OP*' > 32 AND /
|
||||
@ -638,6 +643,21 @@ WELOPEN
|
||||
|
||||
ENDACTIO
|
||||
|
||||
ACTIONX
|
||||
ACT14 10 0.55 /
|
||||
FMWPR > 1 /
|
||||
/
|
||||
|
||||
WELOPEN
|
||||
'OPL0*' SHUT 0 0 0 2* /
|
||||
/
|
||||
|
||||
ENDACTIO
|
||||
|
||||
WELOPEN
|
||||
'OPU02' 'OPEN' 5* /
|
||||
/
|
||||
|
||||
|
||||
WELOPEN
|
||||
'OPL01' 'OPEN' 5* /
|
||||
@ -648,6 +668,10 @@ DATES
|
||||
/
|
||||
|
||||
|
||||
WELOPEN
|
||||
'OPL02' 'OPEN' 5* /
|
||||
/
|
||||
|
||||
WELOPEN
|
||||
'WIL01' 'OPEN' 5* /
|
||||
/
|
||||
@ -657,10 +681,6 @@ DATES
|
||||
/
|
||||
END
|
||||
|
||||
WELOPEN
|
||||
'OPL02' 'OPEN' 5* /
|
||||
/
|
||||
|
||||
|
||||
|
||||
DATES
|
||||
@ -677,10 +697,6 @@ DATES
|
||||
/
|
||||
|
||||
|
||||
WELOPEN
|
||||
'OPU02' 'OPEN' 5* /
|
||||
/
|
||||
|
||||
DATES
|
||||
1 'JUN' 2019 /
|
||||
/
|
||||
|
@ -118,10 +118,13 @@ BOOST_AUTO_TEST_CASE (Declared_Actionx_data)
|
||||
//const auto& restart = es.cfg().restart();
|
||||
|
||||
|
||||
// Report Step 1: 2008-10-10 --> 2011-01-20
|
||||
const auto rptStep = std::size_t{1};
|
||||
// Report Step 3: 2008-08-22 --> 2018-10-01
|
||||
const auto rptStep = std::size_t{3};
|
||||
std::string outputDir = "./";
|
||||
std::string baseName = "UDQ_ACTIONX_TEST1";
|
||||
Opm::Action::ActionX actx_14 = Opm::Action::ActionX("ACT14", 10, 0.543, 0.);
|
||||
Opm::Action::Result result = Opm::Action::Result(true);
|
||||
action_state.add_run(actx_14, 100., result);
|
||||
Opm::EclIO::OutputStream::Restart rstFile {
|
||||
Opm::EclIO::OutputStream::ResultSet { outputDir, baseName },
|
||||
rptStep,
|
||||
@ -170,14 +173,14 @@ BOOST_AUTO_TEST_CASE (Declared_Actionx_data)
|
||||
const auto rptStep_2 = std::size_t{1};
|
||||
const auto ih_2 = Opm::RestartIO::Helpers::createInteHead(es, grid, sched,
|
||||
secs_elapsed, rptStep, rptStep_2 + 1, rptStep_2);
|
||||
BOOST_CHECK_EQUAL(ih_2[156] , 13);
|
||||
BOOST_CHECK_EQUAL(ih_2[156] , 14);
|
||||
BOOST_CHECK_EQUAL(ih_2[157] , 10);
|
||||
|
||||
const auto rptStep_3 = std::size_t{2};
|
||||
const auto ih_3 = Opm::RestartIO::Helpers::createInteHead(es, grid, sched,
|
||||
secs_elapsed, rptStep, rptStep_3 + 1, rptStep_3);
|
||||
|
||||
BOOST_CHECK_EQUAL(ih_3[156] , 13);
|
||||
BOOST_CHECK_EQUAL(ih_3[156] , 14);
|
||||
BOOST_CHECK_EQUAL(ih_3[157] , 10);
|
||||
|
||||
}
|
||||
@ -188,7 +191,7 @@ BOOST_AUTO_TEST_CASE (Declared_Actionx_data)
|
||||
--length is equal to 9*the number of ACTIONX keywords
|
||||
//item [0]: is unknown, (=0)
|
||||
//item [1]: The number of lines of schedule data including ENDACTIO
|
||||
//item [2]: is unknown, (=1)
|
||||
//item [2]: is the number of times an action has been triggered
|
||||
//item [3]: is unknown, (=7)
|
||||
//item [4]: is unknown, (=0)
|
||||
//item [5]: The number of times the action is triggered
|
||||
@ -234,6 +237,28 @@ BOOST_AUTO_TEST_CASE (Declared_Actionx_data)
|
||||
BOOST_CHECK_EQUAL(iAct[start + 7] , 0);
|
||||
BOOST_CHECK_EQUAL(iAct[start + 8] , 3);
|
||||
|
||||
start = 13*actDims[1];
|
||||
BOOST_CHECK_EQUAL(iAct[start + 2] , 2);
|
||||
}
|
||||
|
||||
{
|
||||
/*
|
||||
SACT
|
||||
--length is equal to 9*the number of ACTIONX keywords
|
||||
//item [0]: is unknown, (=0)
|
||||
//item [1]: is unknown, (=0)
|
||||
//item [2]: is unknown, (=0)
|
||||
//item [3]: Minimum time interval between action triggers.
|
||||
//item [4]: is unknown, (=0)
|
||||
*/
|
||||
|
||||
|
||||
const auto& sAct = actionxData.getSACT();
|
||||
|
||||
auto start = 0*actDims[2];
|
||||
BOOST_CHECK_CLOSE(sAct[start + 3], 0.543, 1.0e-5f);
|
||||
start = 1*actDims[2];
|
||||
BOOST_CHECK_CLOSE(sAct[start + 3], 0.567, 1.0e-5f);
|
||||
}
|
||||
|
||||
{
|
||||
@ -342,7 +367,7 @@ BOOST_AUTO_TEST_CASE (Declared_Actionx_data)
|
||||
start = start_a + 2*13;
|
||||
BOOST_CHECK_EQUAL(zAcn[start + 0].c_str() , " ");
|
||||
BOOST_CHECK_EQUAL(zAcn[start + 1].c_str() , " ");
|
||||
BOOST_CHECK_EQUAL(zAcn[start + 2].c_str() , "> ");
|
||||
BOOST_CHECK_EQUAL(zAcn[start + 2].c_str() , "< ");
|
||||
BOOST_CHECK_EQUAL(zAcn[start + 3].c_str() , " ");
|
||||
BOOST_CHECK_EQUAL(zAcn[start + 4].c_str() , " ");
|
||||
|
||||
@ -864,7 +889,7 @@ BOOST_AUTO_TEST_CASE (Declared_Actionx_data)
|
||||
start = start_a + 2*16;
|
||||
BOOST_CHECK_EQUAL(sAcn[start + 0] , 0);
|
||||
BOOST_CHECK_EQUAL(sAcn[start + 1] , 0);
|
||||
BOOST_CHECK_EQUAL(sAcn[start + 2] , 10);
|
||||
BOOST_CHECK_EQUAL(sAcn[start + 2] , 5);
|
||||
BOOST_CHECK_EQUAL(sAcn[start + 3] , 0);
|
||||
BOOST_CHECK_EQUAL(sAcn[start + 4] , 1.E+20);
|
||||
BOOST_CHECK_EQUAL(sAcn[start + 5] , 1.E+20);
|
||||
|
Loading…
Reference in New Issue
Block a user