|
ReservoirCoupling.hpp
Go to the documentation of this file.
208 [[nodiscard]] Scalar& operator[](Phase p) noexcept { return rate[static_cast<std::size_t>(p)]; }
209 [[nodiscard]] Scalar operator[](Phase p) const noexcept { return rate[static_cast<std::size_t>(p)]; }
212// Used to communicate potentials for oil, gas, and water rates between slave and master processes
217 [[nodiscard]] Scalar& operator[](Phase p) noexcept { return rate[static_cast<std::size_t>(p)]; }
218 [[nodiscard]] Scalar operator[](Phase p) const noexcept { return rate[static_cast<std::size_t>(p)]; }
232 [[nodiscard]] Scalar& operator[](Phase p) noexcept { return rate[static_cast<std::size_t>(p)]; }
233 [[nodiscard]] Scalar operator[](Phase p) const noexcept { return rate[static_cast<std::size_t>(p)]; }
355std::pair<std::vector<char>, std::size_t> serializeStrings(const std::vector<std::string>& data);
Definition: DeferredLogger.hpp:57 Definition: ReservoirCoupling.hpp:42 void error(const std::string &msg) const void info(const std::string &msg) const void warning(const std::string &msg) const void setDeferredLogger(DeferredLogger *deferred_logger) Definition: ReservoirCoupling.hpp:55 void clearDeferredLogger() Definition: ReservoirCoupling.hpp:47 Logger()=delete Logger(const Parallel::Communication &comm) Definition: ReservoirCoupling.hpp:45 bool haveDeferredLogger() const Definition: ReservoirCoupling.hpp:52 DeferredLogger & deferredLogger() Definition: ReservoirCoupling.hpp:49 void debug(const std::string &msg) const DeferredLogger & deferredLogger() const Definition: ReservoirCoupling.hpp:50 Guard for managing DeferredLogger lifecycle in ReservoirCoupling. Definition: ReservoirCoupling.hpp:92 ~ScopedLoggerGuard() Definition: ReservoirCoupling.hpp:100 ScopedLoggerGuard & operator=(const ScopedLoggerGuard &)=delete ScopedLoggerGuard(ScopedLoggerGuard &&other) noexcept Definition: ReservoirCoupling.hpp:112 ScopedLoggerGuard(const ScopedLoggerGuard &)=delete ScopedLoggerGuard & operator=(ScopedLoggerGuard &&other) noexcept Definition: ReservoirCoupling.hpp:119 ScopedLoggerGuard(Logger &logger, DeferredLogger *deferred_logger) Definition: ReservoirCoupling.hpp:94 Dune::Communication< MPIComm > Communication Definition: ParallelCommunication.hpp:30 std::string formatDays(double seconds) Format seconds as a human-readable string showing both seconds and days. Definition: ReservoirCoupling.hpp:360 RateKind Selects which kind of rate to retrieve from slave group data. Definition: ReservoirCoupling.hpp:195 @ InjectionReservoir @ InjectionSurface @ ProductionSurface @ ProductionNetworkSurface @ ProductionReservoir FlowChangeLimit< Scalar > flowChangeTimeStepLimit(Scalar limiting_fraction, Scalar step_length, Scalar min_step, const std::vector< Scalar > &start_flows, const std::vector< Scalar > &end_flows) Limit the next sync step from the flow change of a master group (GRUPMAST item 4) void customErrorHandler_(MPI_Comm *comm, int *err, const std::string &msg) std::pair< std::vector< char >, std::size_t > serializeStrings(const std::vector< std::string > &data) void customErrorHandlerSlave_(MPI_Comm *comm, int *err,...) @ SlaveNextReportDate @ MasterInitStatus @ SlaveSimulationStartDate @ SlaveProductionData @ SlaveActivationDate @ SlaveStartOfReportStep @ SlaveActivationHandshake @ MasterGroupNodePressures @ InjectionGroupTargets @ SlaveNameSize @ SlaveInjectionData @ NumMasterGroupNodePressures @ NumSlaveGroupConstraints @ CoupledNetworkActiveStatus @ MasterGroupNames @ SlaveProcessTermination @ SlaveStatus @ MasterStartOfReportStep @ MasterGroupNamesSize @ SlaveNextTimeStep void setErrhandler(MPI_Comm comm, bool is_master) constexpr double slave_end_of_run_sentinel Sentinel sent by a slave on the MessageTag::SlaveNextReportDate channel to tell the master that the s... Definition: ReservoirCoupling.hpp:173 bool isSlaveEndOfRunSentinel(double next_report_time_offset) Whether a next-report-date offset received from a slave is the end-of-run sentinel. Definition: ReservoirCoupling.hpp:176 void customErrorHandlerMaster_(MPI_Comm *comm, int *err,...) Phase convertPhaseToReservoirCouplingPhase(::Opm::Phase phase) Phase Phase indices for reservoir coupling, we currently only support black-oil phases (oil,... Definition: ReservoirCoupling.hpp:183 ::Opm::Phase convertToOpmPhase(const Phase phase) Definition: blackoilbioeffectsmodules.hh:45 Result of flowChangeTimeStepLimit() Definition: ReservoirCoupling.hpp:367 Scalar time_step_limit Upper limit for the next sync step length (infinity if the flow change does not limit it) Definition: ReservoirCoupling.hpp:369 Scalar max_change The largest fractional flow change (infinity for a flow that starts from zero) Definition: ReservoirCoupling.hpp:371 Definition: ReservoirCoupling.hpp:298 Scalar target Definition: ReservoirCoupling.hpp:302 std::size_t group_name_idx Definition: ReservoirCoupling.hpp:301 Group::InjectionCMode cmode Definition: ReservoirCoupling.hpp:303 Definition: ReservoirCoupling.hpp:204 Scalar operator[](Phase p) const noexcept Definition: ReservoirCoupling.hpp:209 InjectionRates()=default std::array< Scalar, static_cast< std::size_t >(Phase::Count)> rate Definition: ReservoirCoupling.hpp:207 Scalar & operator[](Phase p) noexcept Definition: ReservoirCoupling.hpp:208 Master-computed network-leaf node pressure for a single master group. Definition: ReservoirCoupling.hpp:341 std::size_t group_name_idx Definition: ReservoirCoupling.hpp:344 Scalar pressure Definition: ReservoirCoupling.hpp:345 Per-rate-type production limits received from master hierarchy. A value of -1 means no limit defined ... Definition: ReservoirCoupling.hpp:326 Scalar liquid_limit Definition: ReservoirCoupling.hpp:330 Scalar gas_limit Definition: ReservoirCoupling.hpp:329 Scalar resv_limit Definition: ReservoirCoupling.hpp:331 Scalar water_limit Definition: ReservoirCoupling.hpp:328 Scalar oil_limit Definition: ReservoirCoupling.hpp:327 Definition: ReservoirCoupling.hpp:214 std::array< Scalar, static_cast< std::size_t >(Phase::Count)> rate Definition: ReservoirCoupling.hpp:215 Scalar & operator[](Phase p) noexcept Definition: ReservoirCoupling.hpp:217 Scalar operator[](Phase p) const noexcept Definition: ReservoirCoupling.hpp:218 Definition: ReservoirCoupling.hpp:308 Scalar liquid_limit Definition: ReservoirCoupling.hpp:319 Scalar resv_limit Definition: ReservoirCoupling.hpp:320 Scalar oil_limit Definition: ReservoirCoupling.hpp:316 Group::ProductionCMode cmode Definition: ReservoirCoupling.hpp:313 Scalar target Definition: ReservoirCoupling.hpp:312 std::size_t group_name_idx Definition: ReservoirCoupling.hpp:311 Scalar water_limit Definition: ReservoirCoupling.hpp:317 Scalar gas_limit Definition: ReservoirCoupling.hpp:318 Definition: ReservoirCoupling.hpp:222 Scalar operator[](Phase p) const noexcept Definition: ReservoirCoupling.hpp:233 ProductionRates(const GuideRate::RateVector &rate_vector) Definition: ReservoirCoupling.hpp:225 ProductionRates()=default Scalar & operator[](Phase p) noexcept Definition: ReservoirCoupling.hpp:232 std::array< Scalar, static_cast< std::size_t >(Phase::Count)> rate Definition: ReservoirCoupling.hpp:231 Utility class for comparing double values representing epoch dates or elapsed time. Definition: ReservoirCoupling.hpp:410 static bool compare_gt_or_eq(double a, double b) Determines if a is greater than b within the specified tolerance. static bool compare_gt(double a, double b) Determines if a is greater than b within the specified tolerance. static bool compare_lt_or_eq(double a, double b) Determines if a is less than or equal to b within the specified tolerance. static bool compare_eq(double a, double b) Determines if two double values are equal within a specified tolerance. static constexpr double reltol Relative tolerance used for comparisons. Definition: ReservoirCoupling.hpp:415 static bool compare_lt(double a, double b) Determines if a is less than b within the specified tolerance. static constexpr double abstol Absolute tolerance used for comparisons. Definition: ReservoirCoupling.hpp:412 Definition: ReservoirCoupling.hpp:278 InjectionRates< Scalar > surface_rates Definition: ReservoirCoupling.hpp:279 InjectionRates< Scalar > reservoir_rates Definition: ReservoirCoupling.hpp:280 InjectionRates< Scalar > well_potentials Definition: ReservoirCoupling.hpp:292 InjectionRates< Scalar > history_rates Definition: ReservoirCoupling.hpp:293 std::array< int, static_cast< std::size_t >(Phase::Count)> num_group_controlled_injectors Definition: ReservoirCoupling.hpp:287 int num_flowing_injectors Definition: ReservoirCoupling.hpp:294 Definition: ReservoirCoupling.hpp:238 Scalar gas_reinjection_rate Definition: ReservoirCoupling.hpp:251 Potentials< Scalar > potentials Definition: ReservoirCoupling.hpp:240 int num_flowing_producers Definition: ReservoirCoupling.hpp:273 int num_group_controlled_producers Definition: ReservoirCoupling.hpp:257 ProductionRates< Scalar > network_surface_rates Definition: ReservoirCoupling.hpp:246 ProductionRates< Scalar > reservoir_rates Definition: ReservoirCoupling.hpp:249 Scalar voidage_rate Definition: ReservoirCoupling.hpp:250 ProductionRates< Scalar > surface_rates Definition: ReservoirCoupling.hpp:243 ProductionRates< Scalar > history_rates Definition: ReservoirCoupling.hpp:272 ProductionRates< Scalar > well_potentials Definition: ReservoirCoupling.hpp:271 Scalar gas_lift_rate Definition: ReservoirCoupling.hpp:270 |