|
int | flowPhaseToModelPhaseIdx (const int phaseIdx) const |
|
const RateConverterType & | rateConverter () const |
|
| WellInterfaceGeneric (const Well &well, const ParallelWellInfo< FluidSystem::Scalar > ¶llel_well_info, const int time_step, const ModelParameters ¶m, const int pvtRegionIdx, const int num_components, const int num_phases, const int index_of_well, const std::vector< PerforationData< FluidSystem::Scalar > > &perf_data) |
|
const std::vector< PerforationData< FluidSystem::Scalar > > & | perforationData () const |
| Get the perforations of the well.
|
|
const std::string & | name () const |
| Well name.
|
|
bool | isInjector () const |
| True if the well is an injector.
|
|
bool | isProducer () const |
| True if the well is a producer.
|
|
const std::vector< int > & | cells () const |
| Well cells.
|
|
int | indexOfWell () const |
| Index of well in the wells struct and wellState.
|
|
void | adaptRatesForVFP (std::vector< FluidSystem::Scalar > &rates) const |
|
const Well & | wellEcl () const |
|
Well & | wellEcl () |
|
const PhaseUsage & | phaseUsage () const |
|
bool | underPredictionMode () const |
| Returns true if the well is currently in prediction mode (i.e. not history mode).
|
|
bool | isOperableAndSolvable () const |
|
bool | useVfpExplicit () const |
|
bool | thpLimitViolatedButNotSwitched () const |
|
void | initCompletions () |
|
void | closeCompletions (const WellTestState &wellTestState) |
|
void | setVFPProperties (const VFPProperties< FluidSystem::Scalar > *vfp_properties_arg) |
|
void | setPrevSurfaceRates (WellState< FluidSystem::Scalar > &well_state, const WellState< FluidSystem::Scalar > &prev_well_state) const |
|
void | setGuideRate (const GuideRate *guide_rate_arg) |
|
void | setWellEfficiencyFactor (const FluidSystem::Scalar efficiency_factor) |
|
void | setRepRadiusPerfLength () |
|
void | setWsolvent (const FluidSystem::Scalar wsolvent) |
|
void | setDynamicThpLimit (const FluidSystem::Scalar thp_limit) |
|
void | setDynamicThpLimit (const std::optional< FluidSystem::Scalar > thp_limit) |
|
std::optional< FluidSystem::Scalar > | getDynamicThpLimit () const |
|
void | updatePerforatedCell (std::vector< bool > &is_cell_perforated) |
|
bool | wellHasTHPConstraints (const SummaryState &summaryState) const |
| Returns true if the well has one or more THP limits/constraints.
|
|
void | stopWell () |
|
void | openWell () |
|
bool | wellIsStopped () const |
|
int | currentStep () const |
|
int | pvtRegionIdx () const |
|
const GuideRate * | guideRate () const |
|
int | numComponents () const |
|
int | numPhases () const |
|
int | numPerfs () const |
|
FluidSystem::Scalar | refDepth () const |
|
FluidSystem::Scalar | gravity () const |
|
const VFPProperties< FluidSystem::Scalar > * | vfpProperties () const |
|
const ParallelWellInfo< FluidSystem::Scalar > & | parallelWellInfo () const |
|
const std::vector< FluidSystem::Scalar > & | perfDepth () const |
|
std::vector< FluidSystem::Scalar > & | perfDepth () |
|
const std::vector< FluidSystem::Scalar > & | wellIndex () const |
|
const std::map< int, std::vector< int > > & | getCompletions () const |
|
FluidSystem::Scalar | getTHPConstraint (const SummaryState &summaryState) const |
|
FluidSystem::Scalar | getALQ (const WellState< FluidSystem::Scalar > &well_state) const |
|
FluidSystem::Scalar | wsolvent () const |
|
FluidSystem::Scalar | rsRvInj () const |
|
void | initInjMult (const std::vector< FluidSystem::Scalar > &max_inj_mult) |
|
void | updateInjMult (std::vector< FluidSystem::Scalar > &inj_multipliers, DeferredLogger &deferred_logger) const |
|
FluidSystem::Scalar | getInjMult (const int local_perf_index, const FluidSystem::Scalar bhp, const FluidSystem::Scalar perf_pres, DeferredLogger &dlogger) const |
|
bool | isVFPActive (DeferredLogger &deferred_logger) const |
|
void | reportWellSwitching (const SingleWellState< FluidSystem::Scalar > &ws, DeferredLogger &deferred_logger) const |
|
bool | changedToOpenThisStep () const |
|
void | updateWellTestState (const SingleWellState< FluidSystem::Scalar > &ws, const double &simulationTime, const bool &writeMessageToOPMLog, const bool zero_group_target, WellTestState &wellTestState, DeferredLogger &deferred_logger) const |
|
bool | isPressureControlled (const WellState< FluidSystem::Scalar > &well_state) const |
|
FluidSystem::Scalar | wellEfficiencyFactor () const |
|
void | updateFilterCakeMultipliers (const std::vector< FluidSystem::Scalar > &inj_fc_multiplier) |
| Update filter cake multipliers.
|
|
void | resetWellOperability () |
|
virtual std::vector< FluidSystem::Scalar > | getPrimaryVars () const |
|
virtual int | setPrimaryVars (typename std::vector< FluidSystem::Scalar >::const_iterator) |
|
virtual FluidSystem::Scalar | connectionDensity (const int globalConnIdx, const int openConnIdx) const=0 |
|
void | addPerforations (const std::vector< RuntimePerforation > &perfs) |
|
|
| WellInterfaceFluidSystem (const Well &well, const ParallelWellInfo< Scalar > ¶llel_well_info, const int time_step, const ModelParameters ¶m, const RateConverterType &rate_converter, const int pvtRegionIdx, const int num_components, const int num_phases, const int index_of_well, const std::vector< PerforationData< Scalar > > &perf_data) |
|
void | calculateReservoirRates (const bool co2store, SingleWellState< Scalar > &ws) const |
|
bool | checkIndividualConstraints (SingleWellState< Scalar > &ws, const SummaryState &summaryState, DeferredLogger &deferred_logger, const std::optional< Well::InjectionControls > &inj_controls=std::nullopt, const std::optional< Well::ProductionControls > &prod_controls=std::nullopt) const |
|
bool | checkGroupConstraints (WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, const Schedule &schedule, const SummaryState &summaryState, DeferredLogger &deferred_logger) const |
|
bool | checkConstraints (WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, const Schedule &schedule, const SummaryState &summaryState, DeferredLogger &deferred_logger) const |
|
std::optional< Scalar > | getGroupInjectionTargetRate (const Group &group, const WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, const Schedule &schedule, const SummaryState &summaryState, const InjectorType &injectorType, Scalar efficiencyFactor, DeferredLogger &deferred_logger) const |
|
Scalar | getGroupProductionTargetRate (const Group &group, const WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, const Schedule &schedule, const SummaryState &summaryState, Scalar efficiencyFactor, DeferredLogger &deferred_logger) const |
|
bool | zeroGroupRateTarget (const SummaryState &summary_state, const Schedule &schedule, const WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferredLogger) const |
|
bool | getAllowCrossFlow () const |
|
FluidSystem::Scalar | wmicrobes_ () const |
|
FluidSystem::Scalar | wfoam_ () const |
|
FluidSystem::Scalar | woxygen_ () const |
|
FluidSystem::Scalar | wpolymer_ () const |
|
FluidSystem::Scalar | wsalt_ () const |
|
FluidSystem::Scalar | wurea_ () const |
|
int | polymerTable_ () const |
|
int | polymerInjTable_ () const |
|
int | polymerWaterTable_ () const |
|
bool | wellUnderZeroRateTargetIndividual (const SummaryState &summary_state, const WellState< FluidSystem::Scalar > &well_state) const |
|
bool | wellUnderGroupControl (const SingleWellState< FluidSystem::Scalar > &ws) const |
|
std::pair< bool, bool > | computeWellPotentials (std::vector< FluidSystem::Scalar > &well_potentials, const WellState< FluidSystem::Scalar > &well_state) |
|
void | checkNegativeWellPotentials (std::vector< FluidSystem::Scalar > &well_potentials, const bool checkOperability, DeferredLogger &deferred_logger) |
|
void | prepareForPotentialCalculations (const SummaryState &summary_state, WellState< FluidSystem::Scalar > &well_state, Well::InjectionControls &inj_controls, Well::ProductionControls &prod_controls) const |
|
void | resetDampening () |
|
|
const RateConverterType & | rateConverter_ |
|
OperabilityStatus | operability_status_ |
|
Well | well_ecl_ |
|
const ParallelWellInfo< FluidSystem::Scalar > & | parallel_well_info_ |
|
const int | current_step_ |
|
const ModelParameters & | param_ |
|
const int | pvtRegionIdx_ |
|
const int | num_components_ |
|
int | number_of_phases_ |
|
int | index_of_well_ |
|
const std::vector< PerforationData< FluidSystem::Scalar > > * | perf_data_ |
|
std::vector< FluidSystem::Scalar > | ipr_a_ |
|
std::vector< FluidSystem::Scalar > | ipr_b_ |
|
std::vector< int > | well_cells_ |
|
std::vector< FluidSystem::Scalar > | well_index_ |
|
int | number_of_local_perforations_ |
|
std::vector< FluidSystem::Scalar > | perf_depth_ |
|
std::vector< FluidSystem::Scalar > | perf_rep_radius_ |
|
std::vector< FluidSystem::Scalar > | perf_length_ |
|
std::vector< FluidSystem::Scalar > | bore_diameters_ |
|
std::map< int, std::vector< int > > | completions_ |
|
FluidSystem::Scalar | ref_depth_ |
|
std::vector< int > | saturation_table_number_ |
|
Well::Status | wellStatus_ |
|
const PhaseUsage * | phase_usage_ |
|
FluidSystem::Scalar | gravity_ |
|
FluidSystem::Scalar | wsolvent_ |
|
std::optional< FluidSystem::Scalar > | dynamic_thp_limit_ |
|
std::vector< FluidSystem::Scalar > | inj_multiplier_ |
|
std::vector< FluidSystem::Scalar > | prev_inj_multiplier_ |
|
std::vector< FluidSystem::Scalar > | inj_multiplier_previter_ |
|
std::vector< FluidSystem::Scalar > | inj_multiplier_damp_factor_ |
|
std::vector< FluidSystem::Scalar > | inj_fc_multiplier_ |
|
FluidSystem::Scalar | well_efficiency_factor_ |
|
const VFPProperties< FluidSystem::Scalar > * | vfp_properties_ |
|
const GuideRate * | guide_rate_ |
|
std::vector< std::string > | well_control_log_ |
|
bool | changed_to_open_this_step_ |
|