diff --git a/opm/simulators/utils/ParallelRestart.cpp b/opm/simulators/utils/ParallelRestart.cpp index cca4b91c2..e91302c8f 100644 --- a/opm/simulators/utils/ParallelRestart.cpp +++ b/opm/simulators/utils/ParallelRestart.cpp @@ -460,6 +460,7 @@ HANDLE_AS_POD(DenT::entry) HANDLE_AS_POD(Eqldims) HANDLE_AS_POD(MLimits) HANDLE_AS_POD(PlmixparRecord) +HANDLE_AS_POD(PlyvmhRecord) HANDLE_AS_POD(PVTWRecord) HANDLE_AS_POD(PVCDORecord) HANDLE_AS_POD(Regdims) @@ -863,6 +864,7 @@ std::size_t packSize(const TableManager& data, Dune::MPIHelper::MPICommunicator packSize(data.getPvtwTable(), comm) + packSize(data.getPvcdoTable(), comm) + packSize(data.getDensityTable(), comm) + + packSize(data.getPlyvmhTable(), comm) + packSize(data.getRockTable(), comm) + packSize(data.getPlmixparTable(), comm) + packSize(data.getTlmixparTable(), comm) + @@ -1833,6 +1835,11 @@ std::size_t packSize(const PlmixparTable& data, Dune::MPIHelper::MPICommunicator return packSize(static_cast&>(data), comm); } +std::size_t packSize(const PlyvmhTable& data, Dune::MPIHelper::MPICommunicator comm) +{ + return packSize(static_cast&>(data), comm); +} + ////// pack routines template @@ -2510,6 +2517,7 @@ void pack(const TableManager& data, std::vector& buffer, int& position, pack(data.getPvtwTable(), buffer, position, comm); pack(data.getPvcdoTable(), buffer, position, comm); pack(data.getDensityTable(), buffer, position, comm); + pack(data.getPlyvmhTable(), buffer, position, comm); pack(data.getRockTable(), buffer, position, comm); pack(data.getPlmixparTable(), buffer, position, comm); pack(data.getTlmixparTable(), buffer, position, comm); @@ -3548,6 +3556,12 @@ void pack(const PlmixparTable& data, std::vector& buffer, int& position, pack(static_cast&>(data), buffer, position, comm); } +void pack(const PlyvmhTable& data, std::vector& buffer, int& position, + Dune::MPIHelper::MPICommunicator comm) +{ + pack(static_cast&>(data), buffer, position, comm); +} + /// unpack routines template @@ -4451,6 +4465,7 @@ void unpack(TableManager& data, std::vector& buffer, int& position, PvtwTable pvtwTable; PvcdoTable pvcdoTable; DensityTable densityTable; + PlyvmhTable plyvmhTable; RockTable rockTable; ViscrefTable viscrefTable; PlmixparTable plmixparTable; @@ -4482,6 +4497,7 @@ void unpack(TableManager& data, std::vector& buffer, int& position, unpack(pvtwTable, buffer, position, comm); unpack(pvcdoTable, buffer, position, comm); unpack(densityTable, buffer, position, comm); + unpack(plyvmhTable, buffer, position, comm); unpack(rockTable, buffer, position, comm); unpack(plmixparTable, buffer, position, comm); unpack(tlmixparTable, buffer, position, comm); @@ -4515,7 +4531,7 @@ void unpack(TableManager& data, std::vector& buffer, int& position, data = TableManager(simpleTables, pvtgTables, pvtoTables, rock2dTables, rock2dtrTables, pvtwTable, pvcdoTable, densityTable, - rockTable, plmixparTable, tlmixparTable, viscrefTable, + plyvmhTable, rockTable, plmixparTable, tlmixparTable, viscrefTable, watdentTable, pvtwsaltTables, bdensityTables, sdensityTables, plymwinjTables, skprwatTables, skprpolyTables, tabdims, regdims, eqldims, aqudims, hasImptvd, hasEntpvd, hasEqlnum, @@ -5979,6 +5995,14 @@ void unpack(PlmixparTable& data, std::vector& buffer, int& position, data = PlmixparTable(pdata); } +void unpack(PlyvmhTable& data, std::vector& buffer, int& position, + Dune::MPIHelper::MPICommunicator comm) +{ + std::vector pdata; + unpack(pdata, buffer, position, comm); + data = PlyvmhTable(pdata); +} + #define INSTANTIATE_PACK_VECTOR(...) \ template std::size_t packSize(const std::vector<__VA_ARGS__>& data, \ Dune::MPIHelper::MPICommunicator comm); \ diff --git a/opm/simulators/utils/ParallelRestart.hpp b/opm/simulators/utils/ParallelRestart.hpp index 102881769..fb293283b 100644 --- a/opm/simulators/utils/ParallelRestart.hpp +++ b/opm/simulators/utils/ParallelRestart.hpp @@ -109,6 +109,8 @@ struct NNCdata; class OilVaporizationProperties; class Phases; class PlymwinjTable; +class PlyvmhRecord; +class PlyvmhTable; class PolyInjTable; class PVCDORecord; class PvcdoTable; @@ -568,6 +570,8 @@ ADD_PACK_PROTOTYPES(Phases) ADD_PACK_PROTOTYPES(PlmixparRecord) ADD_PACK_PROTOTYPES(PlmixparTable) ADD_PACK_PROTOTYPES(PlymwinjTable) +ADD_PACK_PROTOTYPES(PlyvmhRecord) +ADD_PACK_PROTOTYPES(PlyvmhTable) ADD_PACK_PROTOTYPES(PolyInjTable) ADD_PACK_PROTOTYPES(PolymerConfig) ADD_PACK_PROTOTYPES(PVCDORecord) diff --git a/tests/test_ParallelRestart.cpp b/tests/test_ParallelRestart.cpp index 11c84a2ef..4f5bd6549 100644 --- a/tests/test_ParallelRestart.cpp +++ b/tests/test_ParallelRestart.cpp @@ -1219,6 +1219,7 @@ BOOST_AUTO_TEST_CASE(TableManager) Opm::PvtwTable({Opm::PVTWRecord{1.0, 2.0, 3.0, 4.0, 5.0}}), Opm::PvcdoTable({Opm::PVCDORecord{1.0, 2.0, 3.0, 4.0, 5.0}}), Opm::DensityTable({Opm::DENSITYRecord{1.0, 2.0, 3.0}}), + Opm::PlyvmhTable({Opm::PlyvmhRecord{1.0, 2.0, 3.0, 4.0}}), Opm::RockTable({Opm::ROCKRecord{1.0,2.0}}), Opm::PlmixparTable({Opm::PlmixparRecord{1.0}}), Opm::TlmixparTable({Opm::TlmixparRecord{1.0, 2.0}}),