21 #ifndef OPM_TARGETCALCULATOR_HEADER_INCLUDED
22 #define OPM_TARGETCALCULATOR_HEADER_INCLUDED
24 #include <opm/parser/eclipse/EclipseState/Schedule/Group/Group.hpp>
25 #include <opm/parser/eclipse/EclipseState/Schedule/Group/GuideRate.hpp>
37 namespace WellGroupHelpers
47 const std::vector<double>& resv_coeff,
48 const double group_grat_target_from_sales,
49 const std::string& group_name,
51 const bool use_gpmaint);
53 template <
typename RateType>
54 RateType calcModeRateFromRates(
const std::vector<RateType>& rates)
const
56 return calcModeRateFromRates(rates.data());
59 template <
typename RateType>
60 RateType calcModeRateFromRates(
const RateType* rates)
const;
62 double groupTarget(
const Group::ProductionControls ctrl)
const;
64 GuideRateModel::Target guideTargetMode()
const;
67 Group::ProductionCMode cmode_;
69 const std::vector<double>& resv_coeff_;
70 const double group_grat_target_from_sales_;
71 const std::string& group_name_;
83 const std::vector<double>& resv_coeff,
84 const std::string& group_name,
85 const double sales_target,
87 const Phase& injection_phase,
88 const bool use_gpmaint,
91 template <
typename RateVec>
92 auto calcModeRateFromRates(
const RateVec& rates)
const
97 double groupTarget(
const Group::InjectionControls& ctrl,
Opm::DeferredLogger& deferred_logger)
const;
99 GuideRateModel::Target guideTargetMode()
const;
102 Group::InjectionCMode cmode_;
104 const std::vector<double>& resv_coeff_;
105 const std::string& group_name_;
106 double sales_target_;
110 GuideRateModel::Target target_;
Definition: DeferredLogger.hpp:57
Definition: GroupState.hpp:34
Based on a group control mode, extract or calculate rates, and provide other conveniences.
Definition: TargetCalculator.hpp:79
Based on a group control mode, extract or calculate rates, and provide other conveniences.
Definition: TargetCalculator.hpp:43
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: BlackoilPhases.hpp:26
Definition: BlackoilPhases.hpp:45