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::Schedule sched = simCase.sched;
Opm::EclipseGrid grid = simCase.grid;
const auto& units = es.getUnits();
// Report Step 2
std::size_t rptStep = 0;
std::size_t rptStepP1 = 0;
rptStep = std::size_t{2};
rptStepP1 = rptStep + 1;
double secs_elapsed = 3.1536E07;
const auto ih = Opm::RestartIO::Helpers::
createInteHead(es, grid, sched, secs_elapsed,
rptStep, rptStepP1, rptStep);
{
const auto rptStep = std::size_t {2};
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);
auto wListData = Opm::RestartIO::Helpers::AggregateWListData(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.getZWls().size()), ih[VI::intehead::NWMAXZ] * ih[VI::intehead::MXWLSTPRWELL]);
BOOST_CHECK_EQUAL(static_cast<int>(wListData.getIWls().size()),
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
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);
// 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 = 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 = 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);
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 = " ";
// 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);
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 = 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 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 = 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
rptStep = std::size_t{8};
secs_elapsed = 3.1536E07;
ih = Opm::RestartIO::Helpers::
createInteHead(es, grid, sched, secs_elapsed,
rptStep, rptStep+1, rptStep);
{
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);
wListData = Opm::RestartIO::Helpers::AggregateWListData(ih);
wListData.captureDeclaredWListData(sched, rptStep, ih);
auto wListData = Opm::RestartIO::Helpers::AggregateWListData(ih);
wListData.captureDeclaredWListData(sched, rptStep, ih);
//IWls-parameters
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);
// 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 = 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 = 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);
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);
// ZWLs-parameters
const std::string 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);
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 = 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 = 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 = 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 = 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);
}
// 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);
}
}