Loading...
Searching...
No Matches
Opm::WellInterfaceGeneric< Scalar, IndexTraits > Class Template Referenceabstract

## Classes

struct | OperabilityStatus

## Public Types

using | ModelParameters = BlackoilModelParameters<Scalar>
using | WellStateType = WellState<Scalar, IndexTraits>

## Public Member Functions

| WellInterfaceGeneric (const Well &well, const ParallelWellInfo< Scalar > &parallel_well_info, const int time_step, const ModelParameters &param, 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::vector< PerforationData< 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< Scalar > &rates) const
const Well & | wellEcl () const
Well & | wellEcl ()
const PhaseUsageInfo< IndexTraits > & | 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< Scalar, IndexTraits > *vfp_properties_arg)
void | setPrevSurfaceRates (WellStateType &well_state, const WellStateType &prev_well_state) const
void | setGuideRate (const GuideRate *guide_rate_arg)
void | setWellEfficiencyFactor (const Scalar efficiency_factor)
void | setRepRadiusPerfLength ()
void | setWsolvent (const Scalar wsolvent)
void | setDynamicThpLimit (const Scalar thp_limit)
std::optional< Scalar > | getDynamicThpLimit () const
void | setDynamicThpLimit (const std::optional< Scalar > thp_limit)
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 ()
Well::Status | wellStatus ()
bool | wellIsStopped () const
int | currentStep () const
int | pvtRegionIdx () const
const GuideRate * | guideRate () const
int | numConservationQuantities () const
int | numPhases () const
int | numLocalPerfs () const
Scalar | refDepth () const
Scalar | gravity () const
const VFPProperties< Scalar, IndexTraits > * | vfpProperties () const
const ParallelWellInfo< Scalar > & | parallelWellInfo () const
const std::vector< Scalar > & | perfDepth () const
std::vector< Scalar > & | perfDepth ()
const std::vector< Scalar > & | wellIndex () const
const std::map< int, std::vector< int > > & | getCompletions () const
Scalar | getTHPConstraint (const SummaryState &summaryState) const
Scalar | getALQ (const WellStateType &well_state) const
Scalar | wsolvent () const
Scalar | rsRvInj () const
void | initInjMult (const std::vector< Scalar > &max_inj_mult)
void | updateInjMult (std::vector< Scalar > &inj_multipliers, DeferredLogger &deferred_logger) const
Scalar | getInjMult (const int local_perf_index, const Scalar bhp, const Scalar perf_pres, DeferredLogger &dlogger) const
bool | isVFPActive (DeferredLogger &deferred_logger) const
void | reportWellSwitching (const SingleWellState< Scalar, IndexTraits > &ws, DeferredLogger &deferred_logger) const
bool | changedToOpenThisStep () const
void | updateWellTestState (const SingleWellState< Scalar, IndexTraits > &ws, const double &simulationTime, const bool &writeMessageToOPMLog, const bool zero_group_target, WellTestState &wellTestState, DeferredLogger &deferred_logger) const
bool | isPressureControlled (const WellStateType &well_state) const
Scalar | wellEfficiencyFactor () const
void | updateFilterCakeMultipliers (const std::vector< Scalar > &inj_fc_multiplier)
| Update filter cake multipliers.
void | resetWellOperability ()
virtual std::vector< Scalar > | getPrimaryVars () const
virtual int | setPrimaryVars (typename std::vector< Scalar >::const_iterator)
virtual Scalar | connectionDensity (const int globalConnIdx, const int openConnIdx) const =0
void | addPerforations (const std::vector< RuntimePerforation > &perfs)

## Protected Member Functions

bool | getAllowCrossFlow () const
Scalar | wmicrobes_ () const
Scalar | wfoam_ () const
Scalar | woxygen_ () const
Scalar | wpolymer_ () const
Scalar | wsalt_ () const
Scalar | wurea_ () const
int | polymerTable_ () const
int | polymerInjTable_ () const
int | polymerWaterTable_ () const
bool | wellUnderZeroRateTargetIndividual (const SummaryState &summary_state, const WellState< Scalar, IndexTraits > &well_state) const
bool | wellUnderGroupControl (const SingleWellState< Scalar, IndexTraits > &ws) const
std::pair< bool, bool > | computeWellPotentials (std::vector< Scalar > &well_potentials, const WellStateType &well_state)
void | checkNegativeWellPotentials (std::vector< Scalar > &well_potentials, const bool checkOperability, DeferredLogger &deferred_logger)
void | onlyKeepBHPandTHPcontrols (const SummaryState &summary_state, WellStateType &well_state, Well::InjectionControls &inj_controls, Well::ProductionControls &prod_controls) const
void | resetDampening ()

## Protected Attributes

OperabilityStatus | operability_status_
Well | well_ecl_
const ParallelWellInfo< Scalar > & | parallel_well_info_
const int | current_step_
const ModelParameters & | param_
const int | pvtRegionIdx_
const int | num_conservation_quantities_
int | number_of_phases_
int | index_of_well_
const PhaseUsageInfo< IndexTraits > & | phase_usage_
const std::vector< PerforationData< Scalar > > * | perf_data_
std::vector< Scalar > | ipr_a_
std::vector< Scalar > | ipr_b_
std::vector< int > | well_cells_
std::vector< Scalar > | well_index_
int | number_of_local_perforations_
std::vector< Scalar > | perf_depth_
std::vector< Scalar > | perf_rep_radius_
std::vector< Scalar > | perf_length_
std::vector< Scalar > | bore_diameters_
std::map< int, std::vector< int > > | completions_
Scalar | ref_depth_
std::vector< int > | saturation_table_number_
Well::Status | wellStatus_
Scalar | gravity_
Scalar | wsolvent_
std::optional< Scalar > | dynamic_thp_limit_
std::vector< Scalar > | inj_multiplier_
std::vector< Scalar > | prev_inj_multiplier_
std::vector< Scalar > | inj_multiplier_previter_
std::vector< Scalar > | inj_multiplier_damp_factor_
std::vector< Scalar > | inj_fc_multiplier_
Scalar | well_efficiency_factor_
const VFPProperties< Scalar, IndexTraits > * | vfp_properties_
const GuideRate * | guide_rate_
std::vector< std::string > | well_control_log_
bool | changed_to_open_this_step_ = true

The documentation for this class was generated from the following files:

- opm/simulators/wells/BlackoilWellModelGeneric.hpp
- opm/simulators/wells/WellInterfaceGeneric.hpp
- opm/simulators/wells/WellInterfaceGeneric.cpp