|
ReservoirCouplingMaster.hpp
Go to the documentation of this file.
117 const std::string &group_name, ReservoirCoupling::Phase phase, ReservoirCoupling::RateKind kind) const;
216 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:54 void clearDeferredLogger() Definition: ReservoirCoupling.hpp:47 Definition: ReservoirCouplingMaster.hpp:38 void resizeSlaveActivationDates(int size) Definition: ReservoirCouplingMaster.hpp:166 void resizeSlaveStartDates(int size) Definition: ReservoirCouplingMaster.hpp:167 std::map< std::string, std::vector< std::string > > & getSlaveNameToMasterGroupsMap() Definition: ReservoirCouplingMaster.hpp:125 char * getArgv(int index) const Definition: ReservoirCouplingMaster.hpp:89 double getActivationDate() const Definition: ReservoirCouplingMaster.hpp:87 char ** getArgv() const Definition: ReservoirCouplingMaster.hpp:90 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:225 std::size_t numSlaveGroups(unsigned int index) ReservoirCoupling::Logger & logger() Definition: ReservoirCouplingMaster.hpp:151 void resizeNextReportDates(int size) void maybeReceiveActivationHandshakeFromSlaves(double current_time) void sendNextTimeStepToSlaves(double next_time_step) Definition: ReservoirCouplingMaster.hpp:169 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 Definition: ReservoirCouplingMaster.hpp:219 void setEffectiveGCW(const std::string &group_name, int value) Definition: ReservoirCouplingMaster.hpp:78 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.... void addSlaveCommunicator(MPI_Comm comm) Definition: ReservoirCouplingMaster.hpp:55 void addSlaveStartDate(std::time_t date) Definition: ReservoirCouplingMaster.hpp:60 void rebuildSlaveIdxToMasterGroupsVector() void initStartOfReportStep(int report_step_idx) const Parallel::Communication & getComm() const Definition: ReservoirCouplingMaster.hpp:91 ReservoirCoupling::Logger & logger() const Definition: ReservoirCouplingMaster.hpp:152 int getSlaveIdx(const std::string &slave_name) const std::size_t numActivatedSlaves() const void setSlaveNextReportTimeOffset(int index, double offset) void addSlaveActivationDate(double date) Definition: ReservoirCouplingMaster.hpp:59 void clearDeferredLogger() Definition: ReservoirCouplingMaster.hpp:61 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:206 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. Call at the start of each master-group constraint calculation before... Definition: ReservoirCouplingMaster.hpp:85 const std::string & getSlaveName(int index) const Definition: ReservoirCouplingMaster.hpp:130 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:58 const double * getSlaveActivationDates() const Definition: ReservoirCouplingMaster.hpp:123 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:118 void sendDontTerminateSignalToSlaves() Send "don't terminate" signal (value=0) to all active slaves. const Schedule & schedule() const Definition: ReservoirCouplingMaster.hpp:168 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:122 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:158 const double * getSlaveStartDates() Definition: ReservoirCouplingMaster.hpp:132 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:74 void setSlaveActivationDate(int index, double date) Definition: ReservoirCouplingMaster.hpp:216 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:124 double getSlaveStartDate(int index) const Definition: ReservoirCouplingMaster.hpp:131 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:121 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:218 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: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 Utility class for comparing double values representing epoch dates or elapsed time. Definition: ReservoirCoupling.hpp:322 Definition: ReservoirCoupling.hpp:214 |