WellInterfaceGeneric.hpp
Go to the documentation of this file.
165 // Note:: for multisegment wells, bhp is actually segment pressure in practice based on observation
167 Scalar getInjMult(const int local_perf_index, const Scalar bhp, const Scalar perf_pres, DeferredLogger& dlogger) const;
244 std::fill(this->inj_multiplier_damp_factor_.begin(), this->inj_multiplier_damp_factor_.end(), 1.0);
Definition: DeferredLogger.hpp:57 Class encapsulating some information about parallel wells. Definition: ParallelWellInfo.hpp:198 Definition: GasLiftGroupInfo.hpp:37 Definition: SingleWellState.hpp:43 Definition: VFPProperties.hpp:40 Definition: WellInterfaceGeneric.hpp:53 Scalar wfoam_() const int pvtRegionIdx() const Definition: WellInterfaceGeneric.hpp:127 WellInterfaceGeneric(const Well &well, const ParallelWellInfo< Scalar > ¶llel_well_info, const int time_step, const ModelParameters ¶m, const int pvtRegionIdx, const int num_conservation_quantities, const int num_phases, const int index_of_well, const PhaseUsageInfo< IndexTraits > &phase_usage, const std::vector< PerforationData< Scalar > > &perf_data) const std::map< int, std::vector< int > > & getCompletions() const Definition: WellInterfaceGeneric.hpp:151 const int num_conservation_quantities_ Definition: WellInterfaceGeneric.hpp:310 bool isVFPActive(DeferredLogger &deferred_logger) const void initCompletions() bool useVfpExplicit() const std::vector< int > saturation_table_number_ Definition: WellInterfaceGeneric.hpp:371 bool isOperableAndSolvable() const std::vector< int > well_cells_ Definition: WellInterfaceGeneric.hpp:330 void updatePerforatedCell(std::vector< bool > &is_cell_perforated) std::optional< Scalar > dynamic_thp_limit_ Definition: WellInterfaceGeneric.hpp:377 std::vector< Scalar > perf_depth_ Definition: WellInterfaceGeneric.hpp:339 const GuideRate * guideRate() const Definition: WellInterfaceGeneric.hpp:129 std::vector< Scalar > prev_inj_multiplier_ Definition: WellInterfaceGeneric.hpp:384 int polymerWaterTable_() const Scalar wsolvent() const int number_of_phases_ Definition: WellInterfaceGeneric.hpp:313 void setWsolvent(const Scalar wsolvent) std::vector< Scalar > & perfDepth() Definition: WellInterfaceGeneric.hpp:147 const PhaseUsageInfo< IndexTraits > & phase_usage_ Definition: WellInterfaceGeneric.hpp:318 Scalar wpolymer_() const const int current_step_ Definition: WellInterfaceGeneric.hpp:303 std::vector< Scalar > ipr_a_ Definition: WellInterfaceGeneric.hpp:326 const std::vector< Scalar > & perfDepth() const Definition: WellInterfaceGeneric.hpp:145 bool wellUnderGroupControl(const SingleWellState< Scalar, IndexTraits > &ws) const const Well & wellEcl() const const ParallelWellInfo< Scalar > & parallel_well_info_ Definition: WellInterfaceGeneric.hpp:302 Scalar wmicrobes_() const const PhaseUsageInfo< IndexTraits > & phaseUsage() const int polymerInjTable_() const std::vector< Scalar > ipr_b_ Definition: WellInterfaceGeneric.hpp:327 const int pvtRegionIdx_ Definition: WellInterfaceGeneric.hpp:308 std::vector< Scalar > inj_multiplier_damp_factor_ Definition: WellInterfaceGeneric.hpp:389 bool underPredictionMode() const Returns true if the well is currently in prediction mode (i.e. not history mode). const GuideRate * guide_rate_ Definition: WellInterfaceGeneric.hpp:396 OperabilityStatus operability_status_ Definition: WellInterfaceGeneric.hpp:298 void resetWellOperability() bool wellUnderZeroRateTargetIndividual(const SummaryState &summary_state, const WellState< Scalar, IndexTraits > &well_state) const Well::Status wellStatus_ Definition: WellInterfaceGeneric.hpp:373 int numLocalPerfs() const Definition: WellInterfaceGeneric.hpp:135 Scalar getTHPConstraint(const SummaryState &summaryState) const bool isPressureControlled(const WellStateType &well_state) const void setDynamicThpLimit(const Scalar thp_limit) void updateInjMult(std::vector< Scalar > &inj_multipliers, DeferredLogger &deferred_logger) const void updateFilterCakeMultipliers(const std::vector< Scalar > &inj_fc_multiplier) Update filter cake multipliers. Definition: WellInterfaceGeneric.hpp:189 Scalar well_efficiency_factor_ Definition: WellInterfaceGeneric.hpp:394 void closeCompletions(const WellTestState &wellTestState) void checkNegativeWellPotentials(std::vector< Scalar > &well_potentials, const bool checkOperability, DeferredLogger &deferred_logger) void setPrevSurfaceRates(WellStateType &well_state, const WellStateType &prev_well_state) const void addPerforations(const std::vector< RuntimePerforation > &perfs) std::vector< Scalar > inj_multiplier_previter_ Definition: WellInterfaceGeneric.hpp:387 std::vector< Scalar > inj_fc_multiplier_ Definition: WellInterfaceGeneric.hpp:392 virtual Scalar connectionDensity(const int globalConnIdx, const int openConnIdx) const =0 Scalar getInjMult(const int local_perf_index, const Scalar bhp, const Scalar perf_pres, DeferredLogger &dlogger) const void adaptRatesForVFP(std::vector< Scalar > &rates) const bool changedToOpenThisStep() const Definition: WellInterfaceGeneric.hpp:175 Scalar rsRvInj() const void setGuideRate(const GuideRate *guide_rate_arg) const std::vector< PerforationData< Scalar > > * perf_data_ Definition: WellInterfaceGeneric.hpp:320 int numConservationQuantities() const Definition: WellInterfaceGeneric.hpp:131 const VFPProperties< Scalar, IndexTraits > * vfpProperties() const Definition: WellInterfaceGeneric.hpp:141 Scalar getALQ(const WellStateType &well_state) const Scalar wellEfficiencyFactor() const Definition: WellInterfaceGeneric.hpp:186 int polymerTable_() const std::vector< std::string > well_control_log_ Definition: WellInterfaceGeneric.hpp:398 void resetDampening() Definition: WellInterfaceGeneric.hpp:243 int indexOfWell() const Index of well in the wells struct and wellState. virtual std::vector< Scalar > getPrimaryVars() const Definition: WellInterfaceGeneric.hpp:196 const std::vector< PerforationData< Scalar > > & perforationData() const Get the perforations of the well. std::vector< Scalar > perf_length_ Definition: WellInterfaceGeneric.hpp:345 const std::vector< int > & cells() const Well cells. Definition: WellInterfaceGeneric.hpp:83 Scalar woxygen_() const int number_of_local_perforations_ Definition: WellInterfaceGeneric.hpp:336 std::vector< Scalar > well_index_ Definition: WellInterfaceGeneric.hpp:333 virtual int setPrimaryVars(typename std::vector< Scalar >::const_iterator) Definition: WellInterfaceGeneric.hpp:201 void updateWellTestState(const SingleWellState< Scalar, IndexTraits > &ws, const double &simulationTime, const bool &writeMessageToOPMLog, const bool zero_group_target, WellTestState &wellTestState, DeferredLogger &deferred_logger) const void setVFPProperties(const VFPProperties< Scalar, IndexTraits > *vfp_properties_arg) const ModelParameters & param_ Definition: WellInterfaceGeneric.hpp:304 std::pair< bool, bool > computeWellPotentials(std::vector< Scalar > &well_potentials, const WellStateType &well_state) bool changed_to_open_this_step_ Definition: WellInterfaceGeneric.hpp:400 void setWellEfficiencyFactor(const Scalar efficiency_factor) const VFPProperties< Scalar, IndexTraits > * vfp_properties_ Definition: WellInterfaceGeneric.hpp:395 void initInjMult(const std::vector< Scalar > &max_inj_mult) Scalar wurea_() const std::map< int, std::vector< int > > completions_ Definition: WellInterfaceGeneric.hpp:365 void setDynamicThpLimit(const std::optional< Scalar > thp_limit) void setRepRadiusPerfLength() std::vector< Scalar > perf_rep_radius_ Definition: WellInterfaceGeneric.hpp:342 void reportWellSwitching(const SingleWellState< Scalar, IndexTraits > &ws, DeferredLogger &deferred_logger) const std::optional< Scalar > getDynamicThpLimit() const const std::vector< Scalar > & wellIndex() const Definition: WellInterfaceGeneric.hpp:149 void prepareForPotentialCalculations(const SummaryState &summary_state, WellStateType &well_state, Well::InjectionControls &inj_controls, Well::ProductionControls &prod_controls) const bool wellHasTHPConstraints(const SummaryState &summaryState) const Returns true if the well has one or more THP limits/constraints. std::vector< Scalar > bore_diameters_ Definition: WellInterfaceGeneric.hpp:348 bool wellIsStopped() const Definition: WellInterfaceGeneric.hpp:123 Scalar wsalt_() const bool thpLimitViolatedButNotSwitched() const Well & wellEcl() bool getAllowCrossFlow() const std::vector< Scalar > inj_multiplier_ Definition: WellInterfaceGeneric.hpp:380 int currentStep() const Definition: WellInterfaceGeneric.hpp:125 const ParallelWellInfo< Scalar > & parallelWellInfo() const Definition: WellInterfaceGeneric.hpp:143 Definition: WellState.hpp:66 Definition: blackoilboundaryratevector.hh:39 Solver parameters for the BlackoilModel. Definition: BlackoilModelParameters.hpp:179 Static data associated with a well perforation. Definition: PerforationData.hpp:30 Definition: WellInterfaceGeneric.hpp:249 void resetOperability() Definition: WellInterfaceGeneric.hpp:269 bool thp_limit_violated_but_not_switched Definition: WellInterfaceGeneric.hpp:293 bool can_obtain_bhp_with_thp_limit Definition: WellInterfaceGeneric.hpp:285 bool has_negative_potentials Definition: WellInterfaceGeneric.hpp:291 bool isOperableUnderTHPLimit() const Definition: WellInterfaceGeneric.hpp:264 bool obey_bhp_limit_with_thp_limit Definition: WellInterfaceGeneric.hpp:287 bool solvable Definition: WellInterfaceGeneric.hpp:289 bool operable_under_only_bhp_limit Definition: WellInterfaceGeneric.hpp:280 bool use_vfpexplicit Definition: WellInterfaceGeneric.hpp:295 bool isOperableUnderBHPLimit() const Definition: WellInterfaceGeneric.hpp:259 bool obey_thp_limit_under_bhp_limit Definition: WellInterfaceGeneric.hpp:283 bool isOperableAndSolvable() const Definition: WellInterfaceGeneric.hpp:250 |