39class ReservoirCouplingSpawnSlaves {
41 using MessageTag = ReservoirCoupling::MessageTag;
43 ReservoirCouplingSpawnSlaves(
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_;