20 #ifndef OPM_RESCOUP_CONSTRAINTS_CALCULATOR_HPP 21 #define OPM_RESCOUP_CONSTRAINTS_CALCULATOR_HPP 22 #include <opm/input/eclipse/Schedule/Group/GuideRate.hpp> 23 #include <opm/material/fluidsystems/PhaseUsageInfo.hpp> 24 #include <opm/simulators/flow/rescoup/ReservoirCoupling.hpp> 25 #include <opm/simulators/flow/rescoup/ReservoirCouplingMaster.hpp> 26 #include <opm/simulators/utils/DeferredLogger.hpp> 27 #include <opm/simulators/wells/BlackoilWellModelGeneric.hpp> 28 #include <opm/simulators/wells/GroupState.hpp> 29 #include <opm/simulators/wells/GroupStateHelper.hpp> 30 #include <opm/simulators/wells/GroupConstraintCalculator.hpp> 31 #include <opm/simulators/wells/GuideRateHandler.hpp> 32 #include <opm/simulators/wells/WellState.hpp> 51 template<
class Scalar,
class IndexTraits>
100 std::tuple<std::vector<InjectionGroupTarget>, std::vector<ProductionGroupConstraints>>
118 void capAndRedistributeProductionTargets_(
120 std::vector<std::vector<ProductionGroupConstraints>>& all_production_constraints);
129 void excludeInactiveSlaveMasterGroupsFromDistribution_();
141 Scalar potentialForProductionCmode_(
143 Group::ProductionCMode cmode)
const;
153 void restoreMasterGroupControlsFromSchedule_();
168 void sendSlaveGroupConstraintsToSlave_(
170 std::size_t slave_idx,
171 const std::vector<InjectionGroupTarget>& injection_targets,
172 const std::vector<ProductionGroupConstraints>& production_constraints
183 void updateGCWAndTargetReductions_();
189 const int report_step_idx_;
190 const Schedule& schedule_;
191 const SummaryState& summary_state_;
199 #endif // OPM_RESCOUP_CONSTRAINTS_CALCULATOR_HPP
RescoupConstraintsCalculator(GuideRateHandler< Scalar, IndexTraits > &guide_rate_handler, GroupStateHelper< Scalar, IndexTraits > &group_state_helper)
Construct a calculator bound to the master's per-sync-step state.
Definition: RescoupConstraintsCalculator.cpp:37
Definition: BlackoilWellModelConstraints.hpp:34
Structs needed for tpfalinearizer and its gpuparams struct extracted to be defined in one place that ...
Definition: blackoilbioeffectsmodules.hh:45
Definition: BlackoilWellModelConstraints.hpp:37
Definition: ReservoirCoupling.hpp:196
Definition: DeferredLogger.hpp:56
Handles computation and reporting of guide rates for wells and groups.
Definition: GuideRateHandler.hpp:46
Definition: GasLiftGroupInfo.hpp:38
Definition: ReservoirCoupling.hpp:254
Definition: ReservoirCouplingMaster.hpp:38
Calculate group-level constraints for production and injection.
Definition: GroupConstraintCalculator.hpp:55
Definition: ReservoirCoupling.hpp:244
Computes per-master-group production targets and per-rate-type limits for reservoir coupling...
Definition: RescoupConstraintsCalculator.hpp:52
void calculateMasterGroupConstraintsAndSendToSlaves()
Run the full master-side target distribution and dispatch the resulting constraints to each activated...
Definition: RescoupConstraintsCalculator.cpp:198
The state of a set of wells, tailored for use by the fully implicit blackoil simulator.
Definition: TemperatureModel.hpp:65