53 static Scalar sumWellPhaseRates(
bool res_rates,
54 const Opm::Group& group,
63 const std::vector<std::string>&
groups,
64 const GSatProd::GSatProdGroup::Rate
rateComp);
66 static std::optional<GSatProd::GSatProdGroup::Rate>
69 static void setCmodeGroup(
const Group& group,
75 static void accumulateGroupEfficiencyFactor(
const Group& group,
80 static Scalar sumWellSurfaceRates(
const Group& group,
88 static std::pair<std::optional<std::string>, Scalar>
94 const Parallel::Communication& comm,
98 static Scalar sumWellResRates(
const Group& group,
103 const bool injector);
105 static Scalar sumSolventRates(
const Group& group,
109 const bool injector);
111 static void updateGroupTargetReduction(
const Group& group,
114 const bool isInjector,
122 static void updateGuideRates(
const Group& group,
130 const Parallel::Communication& comm,
132 std::vector<Scalar>&
pot,
135 static void updateGuideRateForProductionGroups(
const Group& group,
142 const Parallel::Communication& comm,
144 std::vector<Scalar>&
pot);
146 static void updateGuideRatesForWells(
const Schedule& schedule,
151 const Parallel::Communication& comm,
154 static void updateGuideRatesForInjectionGroups(
const Group& group,
164 static void updateVREPForGroups(
const Group& group,
170 template <
class RegionalValues>
171 static void updateGpMaintTargetForGroups(
const Group& group,
179 static void updateReservoirRatesInjectionGroups(
const Group& group,
185 static void updateSurfaceRatesInjectionGroups(
const Group& group,
191 static void updateWellRates(
const Group& group,
197 static void updateGroupProductionRates(
const Group& group,
203 static void updateNetworkLeafNodeProductionRates(
const Schedule& schedule,
209 static void updateWellRatesFromGroupTargetScale(
const Scalar scale,
217 static void updateREINForGroups(
const Group& group,
227 static std::map<std::string, Scalar>
228 computeNetworkPressures(
const Network::ExtNetwork&
network,
235 static GuideRate::RateVector
238 const std::string& name);
240 static GuideRate::RateVector
245 static Scalar getGuideRate(
const std::string& name,
251 const GuideRateModel::Target
target,
254 static Scalar getGuideRateInj(
const std::string& name,
260 const GuideRateModel::Target
target,
264 static int groupControlledWells(
const Schedule& schedule,
269 const int report_step,
275 static std::pair<bool, Scalar>
276 checkGroupConstraintsInj(
const std::string& name,
277 const std::string& parent,
292 static std::vector<std::string>
293 groupChainTopBot(
const std::string&
bottom,
294 const std::string&
top,
296 const int report_step);
299 control_group(
const Group& group,
304 static std::pair<bool, Scalar>
305 checkGroupConstraintsProd(
const std::string& name,
306 const std::string& parent,
320 template <
class AverageRegionalPressureType>
321 static void setRegionAveragePressureCalculator(
const Group& group,
324 const FieldPropsManager&
fp,
Class which linearly interpolates BHP as a function of rate, tubing head pressure,...
Definition VFPProdProperties.hpp:38
static std::pair< std::optional< std::string >, Scalar > worstOffendingWell(const Group &group, const Schedule &schedule, const int reportStepIdx, const Group::ProductionCMode &offendedControl, const PhaseUsage &pu, const Parallel::Communication &comm, const WellState< Scalar > &wellState, DeferredLogger &deferred_logger)
Returns the name of the worst offending well and its fraction (i.e. violated_phase / preferred_phase)
Definition WellGroupHelpers.cpp:1706
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:242