|
ReservoirCouplingMaster.hpp
Go to the documentation of this file.
147 const std::string &group_name, ReservoirCoupling::Phase phase, ReservoirCoupling::RateKind kind) const;
251 void setSlaveActivationDate(int index, double date) { this->slave_activation_dates_[index] = date; }
Definition: DeferredLogger.hpp:57 Definition: ReservoirCoupling.hpp:42 void setDeferredLogger(DeferredLogger *deferred_logger) Definition: ReservoirCoupling.hpp:55 void clearDeferredLogger() Definition: ReservoirCoupling.hpp:47 Definition: ReservoirCouplingMaster.hpp:42 void resizeSlaveActivationDates(int size) Definition: ReservoirCouplingMaster.hpp:201 void resizeSlaveStartDates(int size) Definition: ReservoirCouplingMaster.hpp:202 std::map< std::string, std::vector< std::string > > & getSlaveNameToMasterGroupsMap() Definition: ReservoirCouplingMaster.hpp:155 char * getArgv(int index) const Definition: ReservoirCouplingMaster.hpp:119 bool slaveIsCoupled(int index) const Whether the slave currently takes part in the coupling. Definition: ReservoirCouplingMaster.hpp:278 bool slaveHasEnded(int index) const Whether the slave has reached the end of its own schedule and left the coupling. Definition: ReservoirCouplingMaster.hpp:267 double getActivationDate() const Definition: ReservoirCouplingMaster.hpp:117 char ** getArgv() const Definition: ReservoirCouplingMaster.hpp:120 const Potentials & getSlaveGroupInjectionPotentials(const std::string &master_group_name) void maybeActivate(int report_step) void receiveNextReportDateFromSlaves() bool syncAtReportSteps() const Whether the master syncs with slaves at slave report-step boundaries (true) or at every master actual... Definition: ReservoirCouplingMaster.hpp:296 std::size_t numSlaveGroups(unsigned int index) ReservoirCoupling::Logger & logger() Definition: ReservoirCouplingMaster.hpp:182 void resizeNextReportDates(int size) void maybeReceiveActivationHandshakeFromSlaves(double current_time) void sendNextTimeStepToSlaves(double next_time_step) Definition: ReservoirCouplingMaster.hpp:204 bool isFirstSubstepOfSyncTimestep() const void setFirstSubstepOfSyncTimestep(bool value) std::size_t numSlavesStarted() const double maybeChopSubStep(double suggested_timestep, double current_time) const bool slaveIsActivated(int index) const Whether the slave has completed its activation handshake with the master. Definition: ReservoirCouplingMaster.hpp:258 void setEffectiveGCW(const std::string &group_name, int value) Definition: ReservoirCouplingMaster.hpp:82 void sendProductionConstraintsToSlave(std::size_t slave_idx, const std::vector< ProductionGroupConstraints > &production_constraints) const std::size_t getMasterGroupCanonicalIdx(const std::string &slave_name, const std::string &master_group_name) const Get the canonical index of the master group for a given slave name and master group name.... std::size_t numCoupledSlaves() const Number of slaves that currently take part in the coupling. void addSlaveCommunicator(MPI_Comm comm) Definition: ReservoirCouplingMaster.hpp:59 void addSlaveStartDate(std::time_t date) Definition: ReservoirCouplingMaster.hpp:64 void rebuildSlaveIdxToMasterGroupsVector() void initStartOfReportStep(int report_step_idx) const Parallel::Communication & getComm() const Definition: ReservoirCouplingMaster.hpp:121 ReservoirCoupling::Logger & logger() const Definition: ReservoirCouplingMaster.hpp:183 void markSlaveEndedAndDisconnect(int index) Record that a slave has ended, and close its intercommunicator. int getSlaveIdx(const std::string &slave_name) const int effectiveInjectionGCW(const std::string &group_name, Phase phase) const Effective group-controlled-wells (GCW) count for a master group in the injection guide-rate distribut... Definition: ReservoirCouplingMaster.hpp:96 void setSlaveNextReportTimeOffset(int index, double offset) void addSlaveActivationDate(double date) Definition: ReservoirCouplingMaster.hpp:63 void clearDeferredLogger() Definition: ReservoirCouplingMaster.hpp:65 bool needsSlaveDataReceive() const Check if the master needs to receive production data from the slaves. Scalar getMasterGroupRate(const std::string &group_name, ReservoirCoupling::Phase phase, ReservoirCoupling::RateKind kind) const void setDeferredLogger(DeferredLogger *deferred_logger) Definition: ReservoirCouplingMaster.hpp:241 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 maybeSpawnSlaveProcesses(int report_step) void sendTerminateAndDisconnect() Send terminate signal to all active slaves and disconnect intercommunicators. void receiveProductionDataFromSlaves() void resetEffectiveGCW() Clear all effective-GCW entries, production and injection. Call at the start of each master-group con... Definition: ReservoirCouplingMaster.hpp:107 const std::string & getSlaveName(int index) const Definition: ReservoirCouplingMaster.hpp:161 void resetEffectiveInjectionGCW() Clear the injection effective-GCW entries only, keeping the production ones. Used when the injection ... Definition: ReservoirCouplingMaster.hpp:115 void sendMasterGroupNodePressuresToSlave(std::size_t slave_idx, const std::vector< MasterGroupNodePressure > &pressures) const Send master-computed network-leaf node pressures to a slave. const Potentials & getSlaveGroupPotentials(const std::string &master_group_name) ReservoirCouplingMaster(const Parallel::Communication &comm, const Schedule &schedule, int argc, char **argv) void addSlaveName(const std::string &name) Definition: ReservoirCouplingMaster.hpp:62 const double * getSlaveActivationDates() const Definition: ReservoirCouplingMaster.hpp:153 void sendNumGroupConstraintsToSlave(std::size_t slave_idx, std::size_t num_injection_targets, std::size_t num_production_constraints) const std::map< std::string, std::string > & getMasterGroupToSlaveNameMap() Definition: ReservoirCouplingMaster.hpp:148 void sendDontTerminateSignalToSlaves() Send "don't terminate" signal (value=0) to all active slaves. const Schedule & schedule() const Definition: ReservoirCouplingMaster.hpp:203 void updateMasterGroupNameOrderMap(const std::string &slave_name, const std::map< std::string, std::size_t > &master_group_map) double getSlaveActivationDate(int index) const Definition: ReservoirCouplingMaster.hpp:152 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 plus the master's is_final flag for thi... std::size_t numSlaves() const Definition: ReservoirCouplingMaster.hpp:189 const double * getSlaveStartDates() Definition: ReservoirCouplingMaster.hpp:163 int effectiveGCW(const std::string &group_name) const Effective group-controlled-wells (GCW) count for a master group, used by guide-rate distribution inde... Definition: ReservoirCouplingMaster.hpp:78 void setSlaveActivationDate(int index, double date) Definition: ReservoirCouplingMaster.hpp:251 void setNeedsSlaveDataReceive(bool value) Set whether the master needs to receive production data from the slaves. MPI_Comm getSlaveComm(int index) const Definition: ReservoirCouplingMaster.hpp:154 void setEffectiveInjectionGCW(const std::string &group_name, Phase phase, int value) Definition: ReservoirCouplingMaster.hpp:100 double getSlaveStartDate(int index) const Definition: ReservoirCouplingMaster.hpp:162 const std::vector< std::string > & getMasterGroupNamesForSlave(std::size_t slave_idx) const Get the master group names associated with a slave reservoir by index. double getSimulationStartDate() const Definition: ReservoirCouplingMaster.hpp:151 void sendInjectionTargetsToSlave(std::size_t slave_idx, const std::vector< InjectionGroupTarget > &injection_targets) const void receiveInjectionDataFromSlaves() void initTimeStepping() void setSlaveStartDate(int index, std::time_t date) Definition: ReservoirCouplingMaster.hpp:253 data::ReservoirCouplingGroupRates collectGroupRatesForSummary() const Collect production/injection rates for all master groups. bool isMasterGroup(const std::string &group_name) const Dune::Communication< MPIComm > Communication Definition: ParallelCommunication.hpp:30 RateKind Selects which kind of rate to retrieve from slave group data. Definition: ReservoirCoupling.hpp:195 Phase Phase indices for reservoir coupling, we currently only support black-oil phases (oil,... Definition: ReservoirCoupling.hpp:183 Definition: blackoilbioeffectsmodules.hh:45 Definition: ReservoirCoupling.hpp:286 Master-computed network-leaf node pressure for a single master group. Definition: ReservoirCoupling.hpp:329 Definition: ReservoirCoupling.hpp:214 Definition: ReservoirCoupling.hpp:296 Utility class for comparing double values representing epoch dates or elapsed time. Definition: ReservoirCoupling.hpp:370 Definition: ReservoirCoupling.hpp:238 |