update mpi serialization for Runspec

add stonetype
This commit is contained in:
Arne Morten Kvarving 2020-03-09 09:54:34 +01:00
parent ae0ace4b5a
commit ee2c406575
2 changed files with 11 additions and 4 deletions

View File

@ -774,7 +774,8 @@ std::size_t packSize(const Runspec& data, Dune::MPIHelper::MPICommunicator comm)
packSize(data.udqParams(), comm) + packSize(data.udqParams(), comm) +
packSize(data.hysterPar(), comm) + packSize(data.hysterPar(), comm) +
packSize(data.actdims(), comm) + packSize(data.actdims(), comm) +
packSize(data.saturationFunctionControls(), comm); packSize(data.saturationFunctionControls(), comm) +
packSize(data.stoneType(), comm);
} }
std::size_t packSize(const PvtxTable& data, Dune::MPIHelper::MPICommunicator comm) std::size_t packSize(const PvtxTable& data, Dune::MPIHelper::MPICommunicator comm)
@ -2484,6 +2485,7 @@ void pack(const Runspec& data, std::vector<char>& buffer, int& position,
pack(data.hysterPar(), buffer, position, comm); pack(data.hysterPar(), buffer, position, comm);
pack(data.actdims(), buffer, position, comm); pack(data.actdims(), buffer, position, comm);
pack(data.saturationFunctionControls(), buffer, position, comm); pack(data.saturationFunctionControls(), buffer, position, comm);
pack(data.stoneType(), buffer, position, comm);
} }
void pack(const PvtxTable& data, std::vector<char>& buffer, int& position, void pack(const PvtxTable& data, std::vector<char>& buffer, int& position,
@ -4425,6 +4427,8 @@ void unpack(Runspec& data, std::vector<char>& buffer, int& position,
EclHysterConfig hystPar; EclHysterConfig hystPar;
Actdims actdims; Actdims actdims;
SatFuncControls sfuncctrl; SatFuncControls sfuncctrl;
Runspec::StoneType stonetype;
unpack(phases, buffer, position, comm); unpack(phases, buffer, position, comm);
unpack(tabdims, buffer, position, comm); unpack(tabdims, buffer, position, comm);
unpack(endScale, buffer, position, comm); unpack(endScale, buffer, position, comm);
@ -4434,8 +4438,9 @@ void unpack(Runspec& data, std::vector<char>& buffer, int& position,
unpack(hystPar, buffer, position, comm); unpack(hystPar, buffer, position, comm);
unpack(actdims, buffer, position, comm); unpack(actdims, buffer, position, comm);
unpack(sfuncctrl, buffer, position, comm); unpack(sfuncctrl, buffer, position, comm);
unpack(stonetype, buffer, position, comm);
data = Runspec(phases, tabdims, endScale, wellDims, wsegDims, data = Runspec(phases, tabdims, endScale, wellDims, wsegDims,
udqparams, hystPar, actdims, sfuncctrl); udqparams, hystPar, actdims, sfuncctrl, stonetype);
} }
template<class PVTType> template<class PVTType>

View File

@ -977,7 +977,8 @@ BOOST_AUTO_TEST_CASE(Runspec)
Opm::UDQParams(true, 1, 2.0, 3.0, 4.0), Opm::UDQParams(true, 1, 2.0, 3.0, 4.0),
Opm::EclHysterConfig(true, 1, 2), Opm::EclHysterConfig(true, 1, 2),
Opm::Actdims(1,2,3,4), Opm::Actdims(1,2,3,4),
Opm::SatFuncControls(5.0e-7)); Opm::SatFuncControls(5.0e-7),
Opm::Runspec::StoneType::STONE2);
auto val2 = PackUnpack(val1); auto val2 = PackUnpack(val1);
DO_CHECKS(Runspec) DO_CHECKS(Runspec)
@ -2110,7 +2111,8 @@ BOOST_AUTO_TEST_CASE(Schedule)
Opm::UDQParams(true, 1, 2.0, 3.0, 4.0), Opm::UDQParams(true, 1, 2.0, 3.0, 4.0),
Opm::EclHysterConfig(true, 1, 2), Opm::EclHysterConfig(true, 1, 2),
Opm::Actdims(1,2,3,4), Opm::Actdims(1,2,3,4),
Opm::SatFuncControls(5.6e-7)); Opm::SatFuncControls(5.6e-7),
Opm::Runspec::StoneType::STONE1);
Opm::Schedule::VFPProdMap vfpProd {{1, {{std::make_shared<Opm::VFPProdTable>(getVFPProdTable())},1}}}; Opm::Schedule::VFPProdMap vfpProd {{1, {{std::make_shared<Opm::VFPProdTable>(getVFPProdTable())},1}}};
Opm::Schedule::VFPInjMap vfpIn{{1, {{std::make_shared<Opm::VFPInjTable>(getVFPInjTable())},1}}}; Opm::Schedule::VFPInjMap vfpIn{{1, {{std::make_shared<Opm::VFPInjTable>(getVFPInjTable())},1}}};
Opm::WellTestConfig::WTESTWell tw{"test", Opm::WellTestConfig::ECONOMIC, Opm::WellTestConfig::WTESTWell tw{"test", Opm::WellTestConfig::ECONOMIC,