|
WellInterfaceGeneric.hpp
Go to the documentation of this file.
180 // Note:: for multisegment wells, bhp is actually segment pressure in practice based on observation
182 Scalar getInjMult(const int local_perf_index, const Scalar bhp, const Scalar perf_pres, DeferredLogger& dlogger) const;
488 // TODO: with energy conservation joins, we probably should change this to be num_mass_conservation_quantities_
Definition: DeferredLogger.hpp:57 Class encapsulating some information about parallel wells. Definition: ParallelWellInfo.hpp:217 Definition: GasLiftGroupInfo.hpp:38 Definition: SingleWellState.hpp:44 Definition: VFPProperties.hpp:40 RAII helper marking that a well potential calculation is in progress. Definition: WellInterfaceGeneric.hpp:356 ~PotentialCalculationScope() Definition: WellInterfaceGeneric.hpp:363 PotentialCalculationScope(const WellInterfaceGeneric &well) Definition: WellInterfaceGeneric.hpp:358 Definition: WellInterfaceGeneric.hpp:335 SolvePartTimer(const WellInterfaceGeneric &well, double &target) Definition: WellInterfaceGeneric.hpp:337 ~SolvePartTimer() Definition: WellInterfaceGeneric.hpp:342 Definition: WellInterfaceGeneric.hpp:306 WellSolveScope(const WellInterfaceGeneric &well, const int &iterations) Definition: WellInterfaceGeneric.hpp:308 ~WellSolveScope() Definition: WellInterfaceGeneric.hpp:314 Definition: WellInterfaceGeneric.hpp:59 Scalar wfoam_() const int pvtRegionIdx() const Definition: WellInterfaceGeneric.hpp:136 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) void updateGroupTargetFallbackFlag(WellState< Scalar, IndexTraits > &well_state, const std::vector< Scalar > &scaled_well_fractions, DeferredLogger &deferred_logger) const const std::map< int, std::vector< int > > & getCompletions() const Definition: WellInterfaceGeneric.hpp:166 const int num_conservation_quantities_ Definition: WellInterfaceGeneric.hpp:490 bool isVFPActive(DeferredLogger &deferred_logger) const void initCompletions() const WellSolveStats & solveStats() const Definition: WellInterfaceGeneric.hpp:297 bool useVfpExplicit() const std::vector< int > saturation_table_number_ Definition: WellInterfaceGeneric.hpp:555 bool isOperableAndSolvable() const void addFracturePerforations(const std::vector< RuntimePerforation > &perfs) std::vector< int > well_cells_ Definition: WellInterfaceGeneric.hpp:510 void updatePerforatedCell(std::vector< bool > &is_cell_perforated) std::optional< Scalar > dynamic_thp_limit_ Definition: WellInterfaceGeneric.hpp:561 std::vector< Scalar > perf_depth_ Definition: WellInterfaceGeneric.hpp:523 virtual Scalar totalReservoirVoidageRate(const std::vector< Scalar > &surface_rates) const =0 The total reservoir voidage rate for the given surface phase rates (or potentials),... const GuideRate * guideRate() const Definition: WellInterfaceGeneric.hpp:138 std::vector< Scalar > prev_inj_multiplier_ Definition: WellInterfaceGeneric.hpp:568 Well::Status wellStatus() Definition: WellInterfaceGeneric.hpp:130 int polymerWaterTable_() const Scalar wsolvent() const int number_of_phases_ Definition: WellInterfaceGeneric.hpp:493 void setWsolvent(const Scalar wsolvent) std::vector< Scalar > & perfDepth() Definition: WellInterfaceGeneric.hpp:156 const PhaseUsageInfo< IndexTraits > & phase_usage_ Definition: WellInterfaceGeneric.hpp:498 Scalar wpolymer_() const bool in_well_solve_ Definition: WellInterfaceGeneric.hpp:598 void updateWellTestState(const SingleWellState< Scalar, IndexTraits > &ws, const double &simulationTime, const bool &writeMessageToOPMLog, const bool during_well_test, const bool zero_group_target, WellTestState &wellTestState, const UnitSystem &unit_system, const time_point start_time, DeferredLogger &deferred_logger, std::string *closure_reason=nullptr) const const int current_step_ Definition: WellInterfaceGeneric.hpp:481 std::vector< Scalar > ipr_a_ Definition: WellInterfaceGeneric.hpp:506 const std::vector< Scalar > & perfDepth() const Definition: WellInterfaceGeneric.hpp:154 bool wellUnderGroupControl(const SingleWellState< Scalar, IndexTraits > &ws) const const Well & wellEcl() const const ParallelWellInfo< Scalar > & parallel_well_info_ Definition: WellInterfaceGeneric.hpp:480 Scalar wmicrobes_() const const PhaseUsageInfo< IndexTraits > & phaseUsage() const void resetSolveStats() const Definition: WellInterfaceGeneric.hpp:298 int polymerInjTable_() const std::vector< Scalar > ipr_b_ Definition: WellInterfaceGeneric.hpp:507 const int pvtRegionIdx_ Definition: WellInterfaceGeneric.hpp:486 std::vector< Scalar > inj_multiplier_damp_factor_ Definition: WellInterfaceGeneric.hpp:573 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:580 OperabilityStatus operability_status_ Definition: WellInterfaceGeneric.hpp:476 void resetWellOperability() bool wellUnderZeroRateTargetIndividual(const SummaryState &summary_state, const WellState< Scalar, IndexTraits > &well_state) const Well::Status wellStatus_ Definition: WellInterfaceGeneric.hpp:557 int numLocalPerfs() const Definition: WellInterfaceGeneric.hpp:144 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:244 Scalar well_efficiency_factor_ Definition: WellInterfaceGeneric.hpp:578 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:571 std::vector< Scalar > inj_fc_multiplier_ Definition: WellInterfaceGeneric.hpp:576 const std::vector< WellIndexFracture > & wellIndexFracture() const Definition: WellInterfaceGeneric.hpp:280 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 void onlyKeepBHPandTHPcontrols(const SummaryState &summary_state, WellStateType &well_state, Well::InjectionControls &inj_controls, Well::ProductionControls &prod_controls) const bool changedToOpenThisStep() const Definition: WellInterfaceGeneric.hpp:190 Scalar rsRvInj() const void setGuideRate(const GuideRate *guide_rate_arg) WellSolveScope solveScope(const int &iterations) const Definition: WellInterfaceGeneric.hpp:372 const std::vector< PerforationData< Scalar > > * perf_data_ Definition: WellInterfaceGeneric.hpp:500 int numConservationQuantities() const Definition: WellInterfaceGeneric.hpp:140 std::shared_ptr< WellSolveStats > solve_stats_ Definition: WellInterfaceGeneric.hpp:594 const VFPProperties< Scalar, IndexTraits > * vfpProperties() const Definition: WellInterfaceGeneric.hpp:150 std::vector< Scalar > & wellIndex() Mutable per-perforation well indices (connection transmissibility factors). Adjoint hook: the dJ/dper... Definition: WellInterfaceGeneric.hpp:164 Scalar getALQ(const WellStateType &well_state) const Scalar wellEfficiencyFactor() const Definition: WellInterfaceGeneric.hpp:241 SolvePartTimer solveLinearSolveTimer() const Definition: WellInterfaceGeneric.hpp:378 Well::ProductionControls productionControlsWithWeldraw(const SummaryState &summary_state, const SingleWellState< Scalar, IndexTraits > &ws) const int polymerTable_() const std::vector< std::string > well_control_log_ Definition: WellInterfaceGeneric.hpp:582 void resetDampening() Definition: WellInterfaceGeneric.hpp:416 int indexOfWell() const Index of well in the wells struct and wellState. std::vector< WellIndexFracture > well_index_fracture_ Definition: WellInterfaceGeneric.hpp:517 virtual std::vector< Scalar > getPrimaryVars() const Definition: WellInterfaceGeneric.hpp:251 const std::vector< PerforationData< Scalar > > & perforationData() const Get the perforations of the well. std::vector< Scalar > perf_length_ Definition: WellInterfaceGeneric.hpp:529 const std::vector< int > & cells() const Well cells. Definition: WellInterfaceGeneric.hpp:91 Scalar woxygen_() const int number_of_local_perforations_ Definition: WellInterfaceGeneric.hpp:520 std::vector< Scalar > well_index_ Definition: WellInterfaceGeneric.hpp:513 virtual int setPrimaryVars(typename std::vector< Scalar >::const_iterator) Definition: WellInterfaceGeneric.hpp:256 void setVFPProperties(const VFPProperties< Scalar, IndexTraits > *vfp_properties_arg) const ModelParameters & param_ Definition: WellInterfaceGeneric.hpp:482 std::pair< bool, bool > computeWellPotentials(std::vector< Scalar > &well_potentials, const WellStateType &well_state) bool log_all_control_switches_ Definition: WellInterfaceGeneric.hpp:588 bool computing_well_potentials_ Definition: WellInterfaceGeneric.hpp:596 SolvePartTimer solveAssembleTimer() const Definition: WellInterfaceGeneric.hpp:375 bool changed_to_open_this_step_ Definition: WellInterfaceGeneric.hpp:590 static void applyWeldrawRateLimit(const Well &well_ecl, const std::optional< Scalar > &weldraw_max_rate, Well::ProductionControls &controls) void setWellEfficiencyFactor(const Scalar efficiency_factor) PotentialCalculationScope potentialCalculationScope() const Definition: WellInterfaceGeneric.hpp:381 const VFPProperties< Scalar, IndexTraits > * vfp_properties_ Definition: WellInterfaceGeneric.hpp:579 virtual ~WellInterfaceGeneric()=default void initInjMult(const std::vector< Scalar > &max_inj_mult) Scalar wurea_() const std::map< int, std::vector< int > > completions_ Definition: WellInterfaceGeneric.hpp:549 void setDynamicThpLimit(const std::optional< Scalar > thp_limit) void setRepRadiusPerfLength() std::vector< Scalar > perf_rep_radius_ Definition: WellInterfaceGeneric.hpp:526 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:158 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:532 bool wellIsStopped() const Definition: WellInterfaceGeneric.hpp:132 Scalar wsalt_() const bool thpLimitViolatedButNotSwitched() const Well & wellEcl() bool getAllowCrossFlow() const std::vector< Scalar > inj_multiplier_ Definition: WellInterfaceGeneric.hpp:564 int currentStep() const Definition: WellInterfaceGeneric.hpp:134 void setLogAllControlSwitches(const bool value) Definition: WellInterfaceGeneric.hpp:194 const ParallelWellInfo< Scalar > & parallelWellInfo() const Definition: WellInterfaceGeneric.hpp:152 Definition: WellState.hpp:68 Definition: blackoilbioeffectsmodules.hh:45 Solver parameters for the NonlinearSystemBlackOilReservoir. Definition: BlackoilModelParameters.hpp:208 Static data associated with a well perforation. Definition: PerforationData.hpp:30 Definition: WellInterfaceGeneric.hpp:427 void resetOperability() Definition: WellInterfaceGeneric.hpp:447 bool thp_limit_violated_but_not_switched Definition: WellInterfaceGeneric.hpp:471 bool can_obtain_bhp_with_thp_limit Definition: WellInterfaceGeneric.hpp:463 bool has_negative_potentials Definition: WellInterfaceGeneric.hpp:469 bool isOperableUnderTHPLimit() const Definition: WellInterfaceGeneric.hpp:442 bool obey_bhp_limit_with_thp_limit Definition: WellInterfaceGeneric.hpp:465 bool solvable Definition: WellInterfaceGeneric.hpp:467 bool operable_under_only_bhp_limit Definition: WellInterfaceGeneric.hpp:458 bool use_vfpexplicit Definition: WellInterfaceGeneric.hpp:473 bool isOperableUnderBHPLimit() const Definition: WellInterfaceGeneric.hpp:437 bool obey_thp_limit_under_bhp_limit Definition: WellInterfaceGeneric.hpp:461 bool isOperableAndSolvable() const Definition: WellInterfaceGeneric.hpp:428 Definition: WellInterfaceGeneric.hpp:288 unsigned int iterations well iterations in normal solves Definition: WellInterfaceGeneric.hpp:293 double potential_solve_time time used by well potential solves Definition: WellInterfaceGeneric.hpp:290 double assemble_time assembly time in the well solves Definition: WellInterfaceGeneric.hpp:291 double solve_time time used by normal well solves Definition: WellInterfaceGeneric.hpp:289 double linear_solve_time linear solve time in the well solves Definition: WellInterfaceGeneric.hpp:292 unsigned int potential_iterations well iterations in potential solves Definition: WellInterfaceGeneric.hpp:294 |