48 const double simulation_time,
49 const bool write_message_to_opmlog,
50 WellTestState& well_test_state,
51 bool zero_group_target,
54 void updateWellTestStatePhysical(
const double simulation_time,
55 const bool write_message_to_opmlog,
56 WellTestState& well_test_state,
60 struct RatioLimitCheckReport {
61 static constexpr int INVALIDCOMPLETION = std::numeric_limits<int>::max();
62 bool ratio_limit_violated =
false;
63 int worst_offending_completion = INVALIDCOMPLETION;
64 Scalar violation_extent = 0.0;
67 void checkMaxGORLimit(
const WellEconProductionLimits& econ_production_limits,
68 const SingleWellState<Scalar>& ws,
69 RatioLimitCheckReport& report)
const;
71 void checkMaxWGRLimit(
const WellEconProductionLimits& econ_production_limits,
72 const SingleWellState<Scalar>& ws,
73 RatioLimitCheckReport& report)
const;
75 void checkMaxWaterCutLimit(
const WellEconProductionLimits& econ_production_limits,
76 const SingleWellState<Scalar>& ws,
77 RatioLimitCheckReport& report)
const;
79 template<
class RatioFunc>
80 bool checkMaxRatioLimitWell(
const SingleWellState<Scalar>& ws,
81 const Scalar max_ratio_limit,
82 const RatioFunc& ratioFunc)
const;
84 template<
class RatioFunc>
85 void checkMaxRatioLimitCompletions(
const SingleWellState<Scalar>& ws,
86 const Scalar max_ratio_limit,
87 const RatioFunc& ratioFunc,
88 RatioLimitCheckReport& report)
const;
90 bool checkRateEconLimits(
const WellEconProductionLimits& econ_production_limits,
91 const std::vector<Scalar>& rates_or_potentials,
92 DeferredLogger& deferred_logger)
const;
95 checkRatioEconLimits(
const WellEconProductionLimits& econ_production_limits,
96 const SingleWellState<Scalar>& ws,
97 DeferredLogger& deferred_logger)
const;
100 const WellInterfaceGeneric<Scalar>& well_;
WellTest(const WellInterfaceGeneric< Scalar > &well)
Constructor sets reference to well.
Definition WellTest.hpp:45