47 const double simulation_time,
48 const bool write_message_to_opmlog,
49 WellTestState& well_test_state,
50 bool zero_group_target,
53 void updateWellTestStatePhysical(
const double simulation_time,
54 const bool write_message_to_opmlog,
55 WellTestState& well_test_state,
59 struct RatioLimitCheckReport {
60 static constexpr int INVALIDCOMPLETION = std::numeric_limits<int>::max();
61 bool ratio_limit_violated =
false;
62 int worst_offending_completion = INVALIDCOMPLETION;
63 Scalar violation_extent = 0.0;
66 void checkMaxGORLimit(
const WellEconProductionLimits& econ_production_limits,
67 const SingleWellState<Scalar, IndexTraits>& ws,
68 RatioLimitCheckReport& report)
const;
70 void checkMaxWGRLimit(
const WellEconProductionLimits& econ_production_limits,
71 const SingleWellState<Scalar, IndexTraits>& ws,
72 RatioLimitCheckReport& report)
const;
74 void checkMaxWaterCutLimit(
const WellEconProductionLimits& econ_production_limits,
75 const SingleWellState<Scalar, IndexTraits>& ws,
76 RatioLimitCheckReport& report)
const;
78 template<
class RatioFunc>
79 bool checkMaxRatioLimitWell(
const SingleWellState<Scalar, IndexTraits>& ws,
80 const Scalar max_ratio_limit,
81 const RatioFunc& ratioFunc)
const;
83 template<
class RatioFunc>
84 void checkMaxRatioLimitCompletions(
const SingleWellState<Scalar, IndexTraits>& ws,
85 const Scalar max_ratio_limit,
86 const RatioFunc& ratioFunc,
87 RatioLimitCheckReport& report)
const;
89 bool checkRateEconLimits(
const WellEconProductionLimits& econ_production_limits,
90 const std::vector<Scalar>& rates_or_potentials,
91 DeferredLogger& deferred_logger)
const;
94 checkRatioEconLimits(
const WellEconProductionLimits& econ_production_limits,
95 const SingleWellState<Scalar, IndexTraits>& ws,
96 DeferredLogger& deferred_logger)
const;
99 const WellInterfaceGeneric<Scalar, IndexTraits>& well_;
WellTest(const WellInterfaceGeneric< Scalar, IndexTraits > &well)
Constructor sets reference to well.
Definition WellTest.hpp:44