40class GroupEconomicLimitsChecker
44 WellTestState& well_test_state,
46 const double simulation_time,
47 const int report_step_idx,
57 int numProducersOpenInitially();
58 int numProducersOpen();
59 void activateEndRun();
60 std::string message_separator(
const char sep_char =
'*',
61 const size_t sep_length = 110)
const
62 {
return std::string(sep_length, sep_char); }
64 static constexpr int NUM_PHASES = 3;
67 void displayDebugMessage(
const std::string& msg)
const;
68 void addPrintMessage(
const std::string& msg,
71 const UnitSystem::measure measure);
72 bool closeWellsRecursive(
const Group& group,
int level = 0);
73 void throwNotImplementedError(
const std::string& error)
const;
77 const double simulation_time_;
78 const int report_step_idx_;
80 const std::string date_string_;
81 const UnitSystem& unit_system_;
83 WellTestState& well_test_state_;
84 const Schedule& schedule_;
85 GroupEconProductionLimits::GEconGroupProp gecon_props_;
87 std::array<Scalar,NUM_PHASES> production_rates_;
88 std::map<int, unsigned> phase_idx_map_ = {
89 {0, IndexTraits::oilPhaseIdx},
90 {1, IndexTraits::gasPhaseIdx},
91 {2, IndexTraits::waterPhaseIdx}
93 std::map<unsigned, int> phase_idx_reverse_map_;