further changes unit tests

This commit is contained in:
Jostein Alvestad 2021-05-13 21:54:59 +02:00
parent 5dd815bcbe
commit 96f0c2fbdd

View File

@ -124,332 +124,271 @@ BOOST_AUTO_TEST_CASE (Constructor)
Opm::EclipseState es = simCase.es; Opm::EclipseState es = simCase.es;
Opm::Schedule sched = simCase.sched; Opm::Schedule sched = simCase.sched;
Opm::EclipseGrid grid = simCase.grid; Opm::EclipseGrid grid = simCase.grid;
const auto& units = es.getUnits();
// Report Step 2 // Report Step 2
std::size_t rptStep = 0; {
std::size_t rptStepP1 = 0; const auto rptStep = std::size_t {2};
rptStep = std::size_t{2}; double secs_elapsed = 3.1536E07;
rptStepP1 = rptStep + 1; const auto ih
double secs_elapsed = 3.1536E07; = Opm::RestartIO::Helpers::createInteHead(es, grid, sched, secs_elapsed, rptStep, rptStep + 1, rptStep);
const auto ih = Opm::RestartIO::Helpers::
createInteHead(es, grid, sched, secs_elapsed,
rptStep, rptStepP1, rptStep);
auto wListData = Opm::RestartIO::Helpers::AggregateWListData(ih); auto wListData = Opm::RestartIO::Helpers::AggregateWListData(ih);
wListData.captureDeclaredWListData(sched, rptStep, ih); wListData.captureDeclaredWListData(sched, rptStep, ih);
BOOST_CHECK_EQUAL(static_cast<int>(wListData.getIWls().size()), ih[VI::intehead::NWMAXZ] * ih[VI::intehead::MXWLSTPRWELL]); BOOST_CHECK_EQUAL(static_cast<int>(wListData.getIWls().size()),
BOOST_CHECK_EQUAL(static_cast<int>(wListData.getZWls().size()), ih[VI::intehead::NWMAXZ] * ih[VI::intehead::MXWLSTPRWELL]); ih[VI::intehead::NWMAXZ] * ih[VI::intehead::MXWLSTPRWELL]);
BOOST_CHECK_EQUAL(static_cast<int>(wListData.getZWls().size()),
ih[VI::intehead::NWMAXZ] * ih[VI::intehead::MXWLSTPRWELL]);
//IWls-parameters // IWls-parameters
auto iWLs = wListData.getIWls(); auto iWLs = wListData.getIWls();
auto start = 0*ih[VI::intehead::MXWLSTPRWELL]; auto start = 0 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 2); BOOST_CHECK_EQUAL(iWLs[start + 0], 2);
BOOST_CHECK_EQUAL(iWLs[start + 1], 2); BOOST_CHECK_EQUAL(iWLs[start + 1], 2);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0); BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0); BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 1*ih[VI::intehead::MXWLSTPRWELL]; start = 1 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 3); BOOST_CHECK_EQUAL(iWLs[start + 0], 3);
BOOST_CHECK_EQUAL(iWLs[start + 1], 0); BOOST_CHECK_EQUAL(iWLs[start + 1], 0);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0); BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0); BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 2*ih[VI::intehead::MXWLSTPRWELL]; start = 2 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 1); BOOST_CHECK_EQUAL(iWLs[start + 0], 1);
BOOST_CHECK_EQUAL(iWLs[start + 1], 1); BOOST_CHECK_EQUAL(iWLs[start + 1], 1);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0); BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0); BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 3*ih[VI::intehead::MXWLSTPRWELL]; start = 3 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 1); BOOST_CHECK_EQUAL(iWLs[start + 0], 1);
BOOST_CHECK_EQUAL(iWLs[start + 1], 0); BOOST_CHECK_EQUAL(iWLs[start + 1], 0);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0); BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0); BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
//ZWLs-parameters // ZWLs-parameters
const std::string blank8 = " "; const std::string blank8 = " ";
auto zWLs = wListData.getZWls(); auto zWLs = wListData.getZWls();
start = 0*ih[VI::intehead::MXWLSTPRWELL]; start = 0 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD1")); BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD1"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD2")); BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 1*ih[VI::intehead::MXWLSTPRWELL]; start = 1 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 2*ih[VI::intehead::MXWLSTPRWELL]; start = 2 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD1")); BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD1"));
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 3*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*INJ1"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
// Report Step 3
rptStep = std::size_t{3};
rptStepP1 = rptStep + 1;
secs_elapsed = 3.1536E07;
ih = Opm::RestartIO::Helpers::
createInteHead(es, grid, sched, secs_elapsed,
rptStep, rptStepP1, rptStep);
wListData = Opm::RestartIO::Helpers::AggregateWListData(ih);
wListData.captureDeclaredWListData(sched, rptStep, ih);
//IWls-parameters
iWLs = wListData.getIWls();
start = 0*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 2);
BOOST_CHECK_EQUAL(iWLs[start + 1], 2);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 1*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 3);
BOOST_CHECK_EQUAL(iWLs[start + 1], 0);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 2*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 1);
BOOST_CHECK_EQUAL(iWLs[start + 1], 1);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 3*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 1);
BOOST_CHECK_EQUAL(iWLs[start + 1], 0);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
//ZWLs-parameters
zWLs = wListData.getZWls();
start = 0*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD1"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 1*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 2*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD1"));
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 3*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*INJ1"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
// Report Step 4
rptStep = std::size_t{4};
secs_elapsed = 3.1536E07;
ih = Opm::RestartIO::Helpers::
createInteHead(es, grid, sched, secs_elapsed,
rptStep, rptStep+1, rptStep);
wListData = Opm::RestartIO::Helpers::AggregateWListData(ih);
wListData.captureDeclaredWListData(sched, rptStep, ih);
//IWls-parameters
iWLs = wListData.getIWls();
start = 0*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 2);
BOOST_CHECK_EQUAL(iWLs[start + 1], 2);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 1*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 3);
BOOST_CHECK_EQUAL(iWLs[start + 1], 0);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 2*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 1);
BOOST_CHECK_EQUAL(iWLs[start + 1], 1);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 3*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 1);
BOOST_CHECK_EQUAL(iWLs[start + 1], 0);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
//ZWLs-parameters
const std::string blank8 = " ";
const auto& zWLs = wListData.getZWls();
start = 0*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD1"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 1*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 2*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD1"));
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 3*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*INJ1"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
// Report Step 6
rptStep = std::size_t{6};
secs_elapsed = 3.1536E07;
ih = Opm::RestartIO::Helpers::
createInteHead(es, grid, sched, secs_elapsed,
rptStep, rptStep+1, rptStep);
wListData = Opm::RestartIO::Helpers::AggregateWListData(ih);
wListData.captureDeclaredWListData(sched, rptStep, ih);
//IWls-parameters
iWLs = wListData.getIWls();
start = 0*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 2);
BOOST_CHECK_EQUAL(iWLs[start + 1], 2);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 1*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 3);
BOOST_CHECK_EQUAL(iWLs[start + 1], 0);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 2*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 1);
BOOST_CHECK_EQUAL(iWLs[start + 1], 1);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 3*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 1);
BOOST_CHECK_EQUAL(iWLs[start + 1], 0);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
//ZWLs-parameters
const std::string blank8 = " ";
const auto& zWLs = wListData.getZWls();
start = 0*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD1"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 1*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 2*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD1"));
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 3*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*INJ1"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 3 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*INJ1"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
}
// Report Step 8 // Report Step 8
rptStep = std::size_t{8}; {
secs_elapsed = 3.1536E07; const auto rptStep = std::size_t {8};
ih = Opm::RestartIO::Helpers:: double secs_elapsed = 3.1536E07;
createInteHead(es, grid, sched, secs_elapsed, const auto ih
rptStep, rptStep+1, rptStep); = Opm::RestartIO::Helpers::createInteHead(es, grid, sched, secs_elapsed, rptStep, rptStep + 1, rptStep);
wListData = Opm::RestartIO::Helpers::AggregateWListData(ih); auto wListData = Opm::RestartIO::Helpers::AggregateWListData(ih);
wListData.captureDeclaredWListData(sched, rptStep, ih); wListData.captureDeclaredWListData(sched, rptStep, ih);
//IWls-parameters // IWls-parameters
iWLs = wListData.getIWls(); auto iWLs = wListData.getIWls();
auto start = 0*ih[VI::intehead::MXWLSTPRWELL]; auto start = 0 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 2); BOOST_CHECK_EQUAL(iWLs[start + 0], 2);
BOOST_CHECK_EQUAL(iWLs[start + 1], 2); BOOST_CHECK_EQUAL(iWLs[start + 1], 2);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0); BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0); BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 1*ih[VI::intehead::MXWLSTPRWELL]; start = 1 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 3); BOOST_CHECK_EQUAL(iWLs[start + 0], 3);
BOOST_CHECK_EQUAL(iWLs[start + 1], 0); BOOST_CHECK_EQUAL(iWLs[start + 1], 0);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0); BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0); BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 2*ih[VI::intehead::MXWLSTPRWELL]; start = 2 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 1); BOOST_CHECK_EQUAL(iWLs[start + 0], 1);
BOOST_CHECK_EQUAL(iWLs[start + 1], 1); BOOST_CHECK_EQUAL(iWLs[start + 1], 1);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0); BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0); BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 3*ih[VI::intehead::MXWLSTPRWELL]; start = 3 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 1); BOOST_CHECK_EQUAL(iWLs[start + 0], 1);
BOOST_CHECK_EQUAL(iWLs[start + 1], 0); BOOST_CHECK_EQUAL(iWLs[start + 1], 0);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0); BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0); BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
//ZWLs-parameters // ZWLs-parameters
zWLs = wListData.getZWls(); const std::string blank8 = " ";
start = 0*ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD1"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 1*ih[VI::intehead::MXWLSTPRWELL]; auto zWLs = wListData.getZWls();
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); start = 0 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD1"));
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 2*ih[VI::intehead::MXWLSTPRWELL]; start = 1 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2")); BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD1")); BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 3*ih[VI::intehead::MXWLSTPRWELL]; start = 2 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*INJ1")); BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8); BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD1"));
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8); BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8); BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 3 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*INJ1"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
}
// Report Step 8
{
const auto rptStep = std::size_t {8};
double secs_elapsed = 3.1536E07;
const auto ih
= Opm::RestartIO::Helpers::createInteHead(es, grid, sched, secs_elapsed, rptStep, rptStep + 1, rptStep);
auto wListData = Opm::RestartIO::Helpers::AggregateWListData(ih);
wListData.captureDeclaredWListData(sched, rptStep, ih);
// IWls-parameters
auto iWLs = wListData.getIWls();
auto start = 0 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 2);
BOOST_CHECK_EQUAL(iWLs[start + 1], 2);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 1 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 3);
BOOST_CHECK_EQUAL(iWLs[start + 1], 0);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 2 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 1);
BOOST_CHECK_EQUAL(iWLs[start + 1], 1);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 3 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 1);
BOOST_CHECK_EQUAL(iWLs[start + 1], 0);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
// ZWLs-parameters
const std::string blank8 = " ";
auto zWLs = wListData.getZWls();
start = 0 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD1"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 1 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 2 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD1"));
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 3 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*INJ1"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
}
// Report Step 8
{
const auto rptStep = std::size_t {8};
double secs_elapsed = 3.1536E07;
const auto ih
= Opm::RestartIO::Helpers::createInteHead(es, grid, sched, secs_elapsed, rptStep, rptStep + 1, rptStep);
auto wListData = Opm::RestartIO::Helpers::AggregateWListData(ih);
wListData.captureDeclaredWListData(sched, rptStep, ih);
// IWls-parameters
auto iWLs = wListData.getIWls();
auto start = 0 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 2);
BOOST_CHECK_EQUAL(iWLs[start + 1], 2);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 1 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 3);
BOOST_CHECK_EQUAL(iWLs[start + 1], 0);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 2 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 1);
BOOST_CHECK_EQUAL(iWLs[start + 1], 1);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
start = 3 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(iWLs[start + 0], 1);
BOOST_CHECK_EQUAL(iWLs[start + 1], 0);
BOOST_CHECK_EQUAL(iWLs[start + 2], 0);
BOOST_CHECK_EQUAL(iWLs[start + 3], 0);
// ZWLs-parameters
const std::string blank8 = " ";
auto zWLs = wListData.getZWls();
start = 0 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD1"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 1 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 2 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*PRD2"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), pad8("*PRD1"));
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
start = 3 * ih[VI::intehead::MXWLSTPRWELL];
BOOST_CHECK_EQUAL(zWLs[start + 0].c_str(), pad8("*INJ1"));
BOOST_CHECK_EQUAL(zWLs[start + 1].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 2].c_str(), blank8);
BOOST_CHECK_EQUAL(zWLs[start + 3].c_str(), blank8);
}
} }