20#ifndef OPM_SINGLE_WELL_STATE_HEADER_INCLUDED
21#define OPM_SINGLE_WELL_STATE_HEADER_INCLUDED
26#include <opm/input/eclipse/Schedule/Well/WellEnums.hpp>
27#include <opm/input/eclipse/Schedule/Events.hpp>
29#include <opm/simulators/wells/SegmentState.hpp>
30#include <opm/simulators/wells/PerfData.hpp>
31#include <opm/simulators/wells/ParallelWellInfo.hpp>
32#include <opm/core/props/BlackoilPhases.hpp>
36struct PerforationData;
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(dissolved_gas_rate);
62 serializer(dissolved_gas_rate_in_water);
63 serializer(vaporized_oil_rate);
64 serializer(vaporized_wat_rate);
65 serializer(well_potentials);
66 serializer(productivity_index);
67 serializer(surface_rates);
68 serializer(reservoir_rates);
69 serializer(trivial_target);
72 serializer(injection_cmode);
73 serializer(production_cmode);
74 serializer(perf_data);
80 std::reference_wrapper<const ParallelWellInfo> parallel_info;
82 WellStatus status{WellStatus::OPEN};
87 double temperature{0};
88 double dissolved_gas_rate{0};
89 double dissolved_gas_rate_in_water{0};
90 double vaporized_oil_rate{0};
91 double vaporized_wat_rate{0};
92 std::vector<double> well_potentials;
93 std::vector<double> productivity_index;
94 std::vector<double> surface_rates;
95 std::vector<double> reservoir_rates;
100 WellInjectorCMode injection_cmode{WellInjectorCMode::CMODE_UNDEFINED};
101 WellProducerCMode production_cmode{WellProducerCMode::CMODE_UNDEFINED};
111 void update_producer_targets(
const Well& ecl_well,
const SummaryState& st);
112 void update_injector_targets(
const Well& ecl_well,
const SummaryState& st);
113 void update_targets(
const Well& ecl_well,
const SummaryState& st);
114 void updateStatus(WellStatus status);
123 double sum_solvent_rates()
const;
124 double sum_polymer_rates()
const;
125 double sum_brine_rates()
const;
128 double sum_connection_rates(
const std::vector<double>& connection_rates)
const;
Class encapsulating some information about parallel wells.
Definition: ParallelWellInfo.hpp:184
Definition: PerfData.hpp:30
Definition: SegmentState.hpp:35
Definition: SingleWellState.hpp:40
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:119
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: BlackoilPhases.hpp:27
Definition: BlackoilPhases.hpp:46