mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
add mpi serialization for Group::GroupProductionProperties
This commit is contained in:
@@ -1229,6 +1229,21 @@ std::size_t packSize(const Group::GroupInjectionProperties& data,
|
||||
packSize(data.injection_controls, comm);
|
||||
}
|
||||
|
||||
std::size_t packSize(const Group::GroupProductionProperties& data,
|
||||
Dune::MPIHelper::MPICommunicator comm)
|
||||
{
|
||||
return packSize(data.cmode, comm) +
|
||||
packSize(data.exceed_action, comm) +
|
||||
packSize(data.oil_target, comm) +
|
||||
packSize(data.water_target, comm) +
|
||||
packSize(data.gas_target, comm) +
|
||||
packSize(data.liquid_target, comm) +
|
||||
packSize(data.guide_rate, comm) +
|
||||
packSize(data.guide_rate_def, comm) +
|
||||
packSize(data.resv_target, comm) +
|
||||
packSize(data.production_controls, comm);
|
||||
}
|
||||
|
||||
////// pack routines
|
||||
|
||||
template<class T>
|
||||
@@ -2472,6 +2487,22 @@ void pack(const Group::GroupInjectionProperties& data,
|
||||
pack(data.injection_controls, buffer, position, comm);
|
||||
}
|
||||
|
||||
void pack(const Group::GroupProductionProperties& data,
|
||||
std::vector<char>& buffer, int& position,
|
||||
Dune::MPIHelper::MPICommunicator comm)
|
||||
{
|
||||
pack(data.cmode, buffer, position, comm);
|
||||
pack(data.exceed_action, buffer, position, comm);
|
||||
pack(data.oil_target, buffer, position, comm);
|
||||
pack(data.water_target, buffer, position, comm);
|
||||
pack(data.gas_target, buffer, position, comm);
|
||||
pack(data.liquid_target, buffer, position, comm);
|
||||
pack(data.guide_rate, buffer, position, comm);
|
||||
pack(data.guide_rate_def, buffer, position, comm);
|
||||
pack(data.resv_target, buffer, position, comm);
|
||||
pack(data.production_controls, buffer, position, comm);
|
||||
}
|
||||
|
||||
/// unpack routines
|
||||
|
||||
template<class T>
|
||||
@@ -4224,6 +4255,22 @@ void unpack(Group::GroupInjectionProperties& data,
|
||||
unpack(data.injection_controls, buffer, position, comm);
|
||||
}
|
||||
|
||||
void unpack(Group::GroupProductionProperties& data,
|
||||
std::vector<char>& buffer, int& position,
|
||||
Dune::MPIHelper::MPICommunicator comm)
|
||||
{
|
||||
unpack(data.cmode, buffer, position, comm);
|
||||
unpack(data.exceed_action, buffer, position, comm);
|
||||
unpack(data.oil_target, buffer, position, comm);
|
||||
unpack(data.water_target, buffer, position, comm);
|
||||
unpack(data.gas_target, buffer, position, comm);
|
||||
unpack(data.liquid_target, buffer, position, comm);
|
||||
unpack(data.guide_rate, buffer, position, comm);
|
||||
unpack(data.guide_rate_def, buffer, position, comm);
|
||||
unpack(data.resv_target, buffer, position, comm);
|
||||
unpack(data.production_controls, buffer, position, comm);
|
||||
}
|
||||
|
||||
#define INSTANTIATE_PACK_VECTOR(T) \
|
||||
template std::size_t packSize(const std::vector<T>& data, \
|
||||
Dune::MPIHelper::MPICommunicator comm); \
|
||||
|
||||
@@ -580,6 +580,7 @@ ADD_PACK_PROTOTYPES(Events)
|
||||
ADD_PACK_PROTOTYPES(FoamConfig)
|
||||
ADD_PACK_PROTOTYPES(FoamData)
|
||||
ADD_PACK_PROTOTYPES(Group::GroupInjectionProperties)
|
||||
ADD_PACK_PROTOTYPES(Group::GroupProductionProperties)
|
||||
ADD_PACK_PROTOTYPES(InitConfig)
|
||||
ADD_PACK_PROTOTYPES(IOConfig)
|
||||
ADD_PACK_PROTOTYPES(JFunc)
|
||||
|
||||
Reference in New Issue
Block a user