add mpi serialization for JFunc

This commit is contained in:
Arne Morten Kvarving 2019-12-02 15:13:33 +01:00
parent c956b8fcc0
commit 35498f0241
3 changed files with 17 additions and 1 deletions

View File

@ -34,6 +34,7 @@
#include <opm/parser/eclipse/EclipseState/SimulationConfig/SimulationConfig.hpp> #include <opm/parser/eclipse/EclipseState/SimulationConfig/SimulationConfig.hpp>
#include <opm/parser/eclipse/EclipseState/SimulationConfig/ThresholdPressure.hpp> #include <opm/parser/eclipse/EclipseState/SimulationConfig/ThresholdPressure.hpp>
#include <opm/parser/eclipse/EclipseState/Tables/ColumnSchema.hpp> #include <opm/parser/eclipse/EclipseState/Tables/ColumnSchema.hpp>
#include <opm/parser/eclipse/EclipseState/Tables/JFunc.hpp>
#include <opm/parser/eclipse/EclipseState/Tables/PvtgTable.hpp> #include <opm/parser/eclipse/EclipseState/Tables/PvtgTable.hpp>
#include <opm/parser/eclipse/EclipseState/Tables/PvtoTable.hpp> #include <opm/parser/eclipse/EclipseState/Tables/PvtoTable.hpp>
#include <opm/parser/eclipse/EclipseState/Tables/Rock2dTable.hpp> #include <opm/parser/eclipse/EclipseState/Tables/Rock2dTable.hpp>
@ -209,6 +210,7 @@ HANDLE_AS_POD(data::Segment)
HANDLE_AS_POD(EclHysterConfig) HANDLE_AS_POD(EclHysterConfig)
HANDLE_AS_POD(EquilRecord) HANDLE_AS_POD(EquilRecord)
HANDLE_AS_POD(FoamData) HANDLE_AS_POD(FoamData)
HANDLE_AS_POD(JFunc)
HANDLE_AS_POD(RestartSchedule) HANDLE_AS_POD(RestartSchedule)
HANDLE_AS_POD(Tabdims) HANDLE_AS_POD(Tabdims)
HANDLE_AS_POD(TimeMap::StepData) HANDLE_AS_POD(TimeMap::StepData)
@ -1421,7 +1423,6 @@ void unpack(PvtoTable& data, std::vector<char>& buffer, int& position,
unpack_pvt(data, buffer, position, comm); unpack_pvt(data, buffer, position, comm);
} }
} // end namespace Mpi } // end namespace Mpi
RestartValue loadParallelRestart(const EclipseIO* eclIO, SummaryState& summaryState, RestartValue loadParallelRestart(const EclipseIO* eclIO, SummaryState& summaryState,
const std::vector<Opm::RestartKey>& solutionKeys, const std::vector<Opm::RestartKey>& solutionKeys,

View File

@ -50,6 +50,7 @@ class FoamConfig;
class FoamData; class FoamData;
class InitConfig; class InitConfig;
class IOConfig; class IOConfig;
class JFunc;
class NNC; class NNC;
struct NNCdata; struct NNCdata;
class Phases; class Phases;
@ -263,6 +264,7 @@ ADD_PACK_PROTOTYPES(FoamData)
ADD_PACK_PROTOTYPES(EclHysterConfig) ADD_PACK_PROTOTYPES(EclHysterConfig)
ADD_PACK_PROTOTYPES(InitConfig) ADD_PACK_PROTOTYPES(InitConfig)
ADD_PACK_PROTOTYPES(IOConfig) ADD_PACK_PROTOTYPES(IOConfig)
ADD_PACK_PROTOTYPES(JFunc)
ADD_PACK_PROTOTYPES(NNC) ADD_PACK_PROTOTYPES(NNC)
ADD_PACK_PROTOTYPES(NNCdata) ADD_PACK_PROTOTYPES(NNCdata)
ADD_PACK_PROTOTYPES(Phases) ADD_PACK_PROTOTYPES(Phases)

View File

@ -37,6 +37,7 @@
#include <opm/parser/eclipse/EclipseState/SimulationConfig/SimulationConfig.hpp> #include <opm/parser/eclipse/EclipseState/SimulationConfig/SimulationConfig.hpp>
#include <opm/parser/eclipse/EclipseState/SimulationConfig/ThresholdPressure.hpp> #include <opm/parser/eclipse/EclipseState/SimulationConfig/ThresholdPressure.hpp>
#include <opm/parser/eclipse/EclipseState/Tables/ColumnSchema.hpp> #include <opm/parser/eclipse/EclipseState/Tables/ColumnSchema.hpp>
#include <opm/parser/eclipse/EclipseState/Tables/JFunc.hpp>
#include <opm/parser/eclipse/EclipseState/Tables/PvtgTable.hpp> #include <opm/parser/eclipse/EclipseState/Tables/PvtgTable.hpp>
#include <opm/parser/eclipse/EclipseState/Tables/PvtoTable.hpp> #include <opm/parser/eclipse/EclipseState/Tables/PvtoTable.hpp>
#include <opm/parser/eclipse/EclipseState/Tables/Rock2dTable.hpp> #include <opm/parser/eclipse/EclipseState/Tables/Rock2dTable.hpp>
@ -703,6 +704,18 @@ BOOST_AUTO_TEST_CASE(PvtoTable)
} }
BOOST_AUTO_TEST_CASE(JFunc)
{
#if HAVE_MPI
Opm::JFunc val1(Opm::JFunc::Flag::BOTH, 1.0, 2.0,
3.0, 4.0, Opm::JFunc::Direction::XY);
auto val2 = PackUnpack(val1);
BOOST_CHECK(std::get<1>(val2) == std::get<2>(val2));
BOOST_CHECK(val1 == std::get<0>(val2));
#endif
}
bool init_unit_test_func() bool init_unit_test_func()
{ {
return true; return true;