|
ReservoirCouplingMasterReportStep.hpp
Go to the documentation of this file.
36// Avoid including the complete definition of ReservoirCouplingMaster here to avoid circular dependency.
109 Scalar getMasterGroupInjectionSurfaceRate(const std::string &group_name, ReservoirCoupling::Phase phase) const;
115 Scalar getMasterGroupInjectionReservoirRate(const std::string &group_name, ReservoirCoupling::Phase phase) const;
121 Scalar getMasterGroupProductionSurfaceRate(const std::string &group_name, ReservoirCoupling::Phase phase) const;
145 Scalar getMasterGroupProductionReservoirRate(const std::string &group_name, ReservoirCoupling::Phase phase) const;
170 std::size_t numSlaveGroups(unsigned int index) const { return this->master_.numSlaveGroups(index); }
229 std::size_t slave_idx, std::size_t num_injection_targets, std::size_t num_production_constraints
Definition: ReservoirCoupling.hpp:42 Definition: ReservoirCouplingMaster.hpp:38 Manages master-side reservoir coupling operations for a single report step. Definition: ReservoirCouplingMasterReportStep.hpp:60 ReservoirCouplingMasterReportStep(ReservoirCouplingMaster< Scalar > &master) Construct a report step manager for the master process. void sendProductionConstraintsToSlave(std::size_t slave_idx, const std::vector< ProductionGroupConstraints > &production_constraints) const bool isFirstSubstepOfSyncTimestep() const Check if this is the first substep within a "sync" timestep. Definition: ReservoirCouplingMasterReportStep.hpp:157 const std::vector< std::string > & getMasterGroupNamesForSlave(std::size_t slave_idx) const Get the names of master groups associated with a specific slave. Definition: ReservoirCouplingMasterReportStep.hpp:83 MPI_Comm getSlaveComm(int index) const Get the MPI communicator for a specific slave process. Definition: ReservoirCouplingMasterReportStep.hpp:103 void receiveProductionDataFromSlaves() Receive production data from all active slave processes. Scalar getMasterGroupInjectionSurfaceRate(const std::string &group_name, ReservoirCoupling::Phase phase) const Get the injection surface rate for a master group. const Parallel::Communication & comm() const Get the MPI communicator for master-slave communication. Definition: ReservoirCouplingMasterReportStep.hpp:78 std::size_t getMasterGroupCanonicalIdx(const std::string &slave_name, const std::string &master_group_name) const Get the canonical index for a master group. const std::map< std::string, std::string > & getMasterGroupToSlaveNameMap() const Get the mapping from master group names to slave names. Definition: ReservoirCouplingMasterReportStep.hpp:89 void setNeedsSlaveDataReceive(bool value) Set/clear the flag for pending slave data receive. Definition: ReservoirCouplingMasterReportStep.hpp:165 Scalar getMasterGroupNetworkProductionSurfaceRate(const std::string &group_name, ReservoirCoupling::Phase phase) const Get the network production surface rate for a master group. void setReportStepIdx(int report_step_idx) Set the current report step index. Scalar getMasterGroupProductionSurfaceRate(const std::string &group_name, ReservoirCoupling::Phase phase) const Get the production surface rate for a master group. ReservoirCoupling::Logger & logger() const Get the logger for reservoir coupling operations. Definition: ReservoirCouplingMasterReportStep.hpp:178 data::ReservoirCouplingGroupRates collectGroupRatesForSummary() const Collect production/injection rates for all master groups. bool needsSlaveDataReceive() const Check if the master needs to receive slave data at the next timeStepSucceeded() call. Definition: ReservoirCouplingMasterReportStep.hpp:162 Scalar getMasterGroupProductionReservoirRate(const std::string &group_name, ReservoirCoupling::Phase phase) const Get the production reservoir rate for a master group. const Schedule & schedule() const Get the simulation schedule. Definition: ReservoirCouplingMasterReportStep.hpp:203 void sendNumMasterGroupNodePressuresToSlave(std::size_t slave_idx, std::size_t num_pressures, bool is_final) const Send the count of master-computed network-leaf node pressures that will follow, plus an is_final flag... bool slaveIsActivated(int index) const Check if a specific slave process has been activated. Definition: ReservoirCouplingMasterReportStep.hpp:266 const Potentials & getSlaveGroupPotentials(const std::string &master_group_name) const Get the production potentials for a slave group. void sendMasterGroupNodePressuresToSlave(std::size_t slave_idx, const std::vector< MasterGroupNodePressure > &pressures) const Send master-computed network-leaf node pressures to a slave. void sendCoupledNetworkActiveStatusToSlave(std::size_t slave_idx, bool active) const Send a single boolean to a slave telling it whether the master will iterate the cross-rescoup network... void receiveInjectionDataFromSlaves() Receive injection data from all active slave processes. std::size_t numSlaves() const Get the total number of active slave processes. Definition: ReservoirCouplingMasterReportStep.hpp:174 void sendInjectionTargetsToSlave(std::size_t slave_idx, const std::vector< InjectionGroupTarget > &injection_targets) const Scalar getMasterGroupInjectionReservoirRate(const std::string &group_name, ReservoirCoupling::Phase phase) const Get the injection reservoir rate for a master group. void setFirstSubstepOfSyncTimestep(bool value) Set whether this is the first substep within a "sync" timestep. Definition: ReservoirCouplingMasterReportStep.hpp:250 void sendNumGroupConstraintsToSlave(std::size_t slave_idx, std::size_t num_injection_targets, std::size_t num_production_constraints) const std::size_t numSlaveGroups(unsigned int index) const Get the number of slave groups for a specific slave process. Definition: ReservoirCouplingMasterReportStep.hpp:170 const std::string & slaveName(int index) const Get the name of a specific slave process. Definition: ReservoirCouplingMasterReportStep.hpp:271 Dune::Communication< MPIComm > Communication Definition: ParallelCommunication.hpp:30 RateKind Selects which kind of rate to retrieve from slave group data. Definition: ReservoirCoupling.hpp:171 Phase Phase indices for reservoir coupling, we currently only support black-oil phases (oil,... Definition: ReservoirCoupling.hpp:159 Definition: blackoilbioeffectsmodules.hh:45 Definition: ReservoirCoupling.hpp:238 Master-computed network-leaf node pressure for a single master group. Definition: ReservoirCoupling.hpp:281 Definition: ReservoirCoupling.hpp:190 Definition: ReservoirCoupling.hpp:248 Definition: ReservoirCoupling.hpp:232 Definition: ReservoirCoupling.hpp:214 |