20 #ifndef OPM_RESERVOIR_COUPLING_SPAWN_SLAVES_HPP 21 #define OPM_RESERVOIR_COUPLING_SPAWN_SLAVES_HPP 23 #include <opm/simulators/utils/ParallelCommunication.hpp> 24 #include <opm/simulators/flow/rescoup/ReservoirCoupling.hpp> 25 #include <opm/simulators/flow/rescoup/ReservoirCouplingMaster.hpp> 27 #include <opm/input/eclipse/Schedule/ResCoup/ReservoirCouplingInfo.hpp> 28 #include <opm/input/eclipse/Schedule/Schedule.hpp> 29 #include <opm/common/OpmLog/OpmLog.hpp> 38 template <
class Scalar>
41 using MessageTag = ReservoirCoupling::MessageTag;
45 const ReservoirCoupling::CouplingInfo &rescoup
51 void createMasterGroupNameOrder_();
52 void createMasterGroupToSlaveNameMap_();
53 void createSlaveNameToMasterGroupsMap_();
54 std::pair<std::vector<char>, std::size_t>
55 getMasterGroupNamesForSlave_(std::size_t slave_idx)
const;
56 std::vector<char *> getSlaveArgv_(
57 const std::filesystem::path &data_file,
58 const std::string &slave_name,
59 std::string &log_filename)
const;
60 void receiveActivationDateFromSlaves_();
61 void receiveSimulationStartDateFromSlaves_();
62 void sendMasterGroupNamesToSlaves_();
63 void sendSlaveNamesToSlaves_();
64 void spawnSlaveProcesses_();
69 const ReservoirCoupling::CouplingInfo &rescoup_;
70 const Parallel::Communication &comm_;
75 #endif // OPM_RESERVOIR_COUPLING_SPAWN_SLAVES_HPP Definition: ReservoirCouplingSpawnSlaves.hpp:39
Definition: ReservoirCoupling.hpp:42
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: blackoilbioeffectsmodules.hh:45
Definition: ReservoirCouplingMaster.hpp:38