|
ReservoirCouplingSlaveReportStep.hpp
Go to the documentation of this file.
33// Avoid including the complete definition of ReservoirCouplingSlave here to avoid circular dependency.
132 std::pair<Scalar, Group::ProductionCMode> masterProductionTarget(const std::string& gname) const;
156 void sendProductionDataToMaster(const std::vector<SlaveGroupProductionData> &production_data) const;
168 void sendInjectionDataToMaster(const std::vector<SlaveGroupInjectionData> &injection_data) const;
197 const std::string& gname, const Phase phase, const Scalar target, const Group::InjectionCMode cmode);
208 void setMasterProductionTarget(const std::string& gname, const Scalar target, const Group::ProductionCMode cmode);
252 std::map<std::pair<Phase, std::string>, std::pair<Scalar, Group::InjectionCMode>> master_injection_targets_;
Definition: ReservoirCoupling.hpp:42 Definition: ReservoirCouplingSlave.hpp:40 Manages slave-side reservoir coupling operations for a single report step. Definition: ReservoirCouplingSlaveReportStep.hpp:55 MPI_Comm getSlaveMasterComm() const Get the MPI communicator for slave-master communication. Definition: ReservoirCouplingSlaveReportStep.hpp:76 const std::string & slaveName() const Get the name of this slave process. Definition: ReservoirCouplingSlaveReportStep.hpp:189 std::pair< Scalar, Group::ProductionCMode > masterProductionTarget(const std::string &gname) const Get the master-imposed production target and control mode for a group. void setMasterInjectionTarget(const std::string &gname, const Phase phase, const Scalar target, const Group::InjectionCMode cmode) Store a master-imposed injection target for a group and phase. bool hasMasterInjectionTarget(const std::string &gname, const Phase phase) const Check if a master-imposed injection target exists for a group and phase. void setFirstSubstepOfSyncTimestep(bool value) Set whether this is the first substep within a "sync" timestep. Definition: ReservoirCouplingSlaveReportStep.hpp:172 void receiveProductionGroupConstraintsFromMaster(std::size_t num_targets) Receive production group constraints from master and store them locally. const MasterProductionLimits & masterProductionLimits(const std::string &gname) const Get the master-imposed per-rate-type production limits for a group. bool hasMasterProductionLimits(const std::string &gname) const Check if master-imposed per-rate-type production limits exist for a group. const Parallel::Communication & comm() const Get the MPI communicator for intra-slave communication. Definition: ReservoirCouplingSlaveReportStep.hpp:72 void setLastSubstepOfSyncTimestep(bool value) Set whether this is the last substep within a "sync" timestep. Definition: ReservoirCouplingSlaveReportStep.hpp:177 void setMasterProductionTarget(const std::string &gname, const Scalar target, const Group::ProductionCMode cmode) Store a master-imposed production target for a group. bool isLastSubstepOfSyncTimestep() const Check if this is the last substep within a "sync" timestep. Definition: ReservoirCouplingSlaveReportStep.hpp:108 ReservoirCoupling::Logger & logger() const Get the logger for reservoir coupling operations. Definition: ReservoirCouplingSlaveReportStep.hpp:112 void sendProductionDataToMaster(const std::vector< SlaveGroupProductionData > &production_data) const Send production data to the master process. std::pair< Scalar, Group::InjectionCMode > masterInjectionTarget(const std::string &gname, const Phase phase) const Get the master-imposed injection target and control mode for a group and phase. bool hasMasterProductionTarget(const std::string &gname) const Check if a master-imposed production target exists for a group. std::pair< std::size_t, std::size_t > receiveNumGroupConstraintsFromMaster() const Receive the number of injection and production constraints from master. void sendInjectionDataToMaster(const std::vector< SlaveGroupInjectionData > &injection_data) const Send injection data to the master process. void receiveInjectionGroupTargetsFromMaster(std::size_t num_targets) Receive injection group targets from master and store them locally. ReservoirCouplingSlaveReportStep(ReservoirCouplingSlave< Scalar > &slave) Construct a report step manager for the slave process. bool isFirstSubstepOfSyncTimestep() const Check if this is the first substep within a "sync" timestep. Definition: ReservoirCouplingSlaveReportStep.hpp:99 void setMasterProductionLimits(const std::string &gname, const MasterProductionLimits &limits) Store master-imposed per-rate-type production limits for a group. void markSlaveGroupsInSchedule(Schedule &schedule, int report_step_idx) Mark slave groups in the Schedule as production/injection groups. Dune::Communication< MPIComm > Communication Definition: ParallelCommunication.hpp:30 Phase Phase indices for reservoir coupling, we currently only support black-oil phases (oil,... Definition: ReservoirCoupling.hpp:156 Definition: blackoilbioeffectsmodules.hh:45 Definition: ReservoirCoupling.hpp:235 Per-rate-type production limits received from master hierarchy. A value of -1 means no limit defined ... Definition: ReservoirCoupling.hpp:263 Definition: ReservoirCoupling.hpp:245 Definition: ReservoirCoupling.hpp:229 Definition: ReservoirCoupling.hpp:211 |