45 double presssure_first_connection,
46 const std::vector<PerforationData>& perf_input,
52 template<
class Serializer>
53 void serializeOp(Serializer& serializer)
60 serializer(temperature);
61 serializer(phase_mixing_rates);
62 serializer(well_potentials);
63 serializer(productivity_index);
64 serializer(implicit_ipr_a);
65 serializer(implicit_ipr_b);
66 serializer(surface_rates);
67 serializer(reservoir_rates);
68 serializer(prev_surface_rates);
69 serializer(trivial_target);
72 serializer(injection_cmode);
73 serializer(production_cmode);
74 serializer(filtrate_conc);
75 serializer(perf_data);
81 std::reference_wrapper<const ParallelWellInfo> parallel_info;
83 WellStatus status{WellStatus::OPEN};
88 double temperature{0};
91 double filtrate_conc{0};
93 std::array<double,4> phase_mixing_rates{};
96 dissolved_gas_in_water = 1,
101 std::vector<double> well_potentials;
102 std::vector<double> productivity_index;
103 std::vector<double> implicit_ipr_a;
104 std::vector<double> implicit_ipr_b;
105 std::vector<double> surface_rates;
106 std::vector<double> reservoir_rates;
107 std::vector<double> prev_surface_rates;
112 WellInjectorCMode injection_cmode{WellInjectorCMode::CMODE_UNDEFINED};
113 WellProducerCMode production_cmode{WellProducerCMode::CMODE_UNDEFINED};
123 void update_producer_targets(
const Well& ecl_well,
const SummaryState& st);
124 void update_injector_targets(
const Well& ecl_well,
const SummaryState& st);
125 void update_targets(
const Well& ecl_well,
const SummaryState& st);
126 void updateStatus(WellStatus status);
135 double sum_solvent_rates()
const;
136 double sum_polymer_rates()
const;
137 double sum_brine_rates()
const;
139 double sum_filtrate_rate()
const;
140 double sum_filtrate_total()
const;
143 double sum_connection_rates(
const std::vector<double>& connection_rates)
const;
void reset_connection_factors(const std::vector< PerforationData > &new_perf_data)
Special purpose method to support dynamically rescaling a well's CTFs through WELPI.
Definition SingleWellState.cpp:126