|
| WellNode (const std::string &name, const double efficiency_factor, const ProductionSpecification &prod_spec, const InjectionSpecification &inj_spec, const PhaseUsage &phase_usage) |
|
virtual WellsGroupInterface * | findGroup (const std::string &name_of_node) |
|
virtual bool | conditionsMet (const std::vector< double > &well_bhp, const std::vector< double > &well_reservoirrates_phase, const std::vector< double > &well_surfacerates_phase, WellPhasesSummed &summed_phases) |
| Checks if each condition is met, applies well controls where needed (that is, it either changes the active control of violating wells, or shuts down wells). More...
|
|
virtual bool | isLeafNode () const |
|
void | setWellsPointer (Wells *wells, int self_index) |
|
virtual int | numberOfLeafNodes () |
| Calculates the number of leaf nodes in the given group. More...
|
|
void | shutWell () |
|
virtual std::pair< WellNode
*, double > | getWorstOffending (const std::vector< double > &well_reservoirrates_phase, const std::vector< double > &well_surfacerates_phase, ProductionSpecification::ControlMode mode) |
| Gets the worst offending well based on the input. More...
|
|
virtual void | applyInjGroupControl (const InjectionSpecification::ControlMode control_mode, const InjectionSpecification::InjectorType injector_type, const double target, bool only_group) |
| Sets the current active control to the provided one for all injectors within the group. More...
|
|
virtual void | applyProdGroupControl (const ProductionSpecification::ControlMode control_mode, const double target, bool only_group) |
| Sets the current active control to the provided one for all producers within the group. More...
|
|
virtual void | applyProdGroupControls () |
| Applies any production group control relevant to all children nodes. More...
|
|
virtual void | applyInjGroupControls () |
| Applies any injection group control relevant to all children nodes. More...
|
|
virtual double | productionGuideRate (bool only_group) |
| Calculates the production guide rate for the group. More...
|
|
virtual double | injectionGuideRate (bool only_group) |
| Calculates the injection guide rate for the group. More...
|
|
virtual double | getTotalProductionFlow (const std::vector< double > &phase_flows, const BlackoilPhases::PhaseIndex phase) const |
| Gets the total production flow of the given phase. More...
|
|
WellType | type () const |
| Returns the type of the well.
|
|
virtual void | applyExplicitReinjectionControls (const std::vector< double > &well_reservoirrates_phase, const std::vector< double > &well_surfacerates_phase) |
| Applies explicit reinjection controls. More...
|
|
virtual void | applyVREPGroupControls (const std::vector< double > &well_voidage_rates, const std::vector< double > &conversion_coeffs) |
| TODO: prototyping a VREP enforcement function.
|
|
virtual void | applyVREPGroupControl (const double target, const InjectionSpecification::InjectorType injector_type, const std::vector< double > &well_voidage_rates, const std::vector< double > &conversion_coeffs, const bool only_group) |
|
virtual double | getTotalVoidageRate (const std::vector< double > &well_voidage_rates) |
|
int | groupControlIndex () const |
| Returning the group control index.
|
|
virtual double | getProductionRate (const std::vector< double > &well_rates, const ProductionSpecification::ControlMode prod_mode) const |
|
virtual void | updateWellProductionTargets (const std::vector< double > &well_rates) |
|
virtual void | updateWellInjectionTargets (const std::vector< double > &well_rates) |
|
double | getAccumulativeEfficiencyFactor () const |
| the efficiency factor for groups are muliplitive, this function return the resulted final efficiency factor to the well in a multi-layer group structure. More...
|
|
bool | isProducer () const |
| Returing whether the well is a producer.
|
|
bool | isInjector () const |
| Returing whether the well is a injector.
|
|
int | selfIndex () const |
|
bool | targetUpdated () const |
|
bool | isGuideRateWellPotential () const |
|
void | setIsGuideRateWellPotential (const bool flag) |
|
virtual void | setTargetUpdated (const bool flag) |
|
virtual bool | canProduceMore () const |
|
virtual bool | groupProdTargetConverged (const std::vector< double > &well_rates) const |
|
| WellsGroupInterface (const std::string &name, const double efficiency_factor, const ProductionSpecification &prod_spec, const InjectionSpecification &inj_spec, const PhaseUsage &phase_usage) |
|
const std::string & | name () const |
| The unique identifier for the well or well group.
|
|
const ProductionSpecification & | prodSpec () const |
| Production specifications for the well or well group.
|
|
const InjectionSpecification & | injSpec () const |
| Injection specifications for the well or well group.
|
|
ProductionSpecification & | prodSpec () |
| Production specifications for the well or well group.
|
|
InjectionSpecification & | injSpec () |
| Injection specifications for the well or well group.
|
|
const PhaseUsage & | phaseUsage () const |
| Phase usage information.
|
|
void | setParent (WellsGroupInterface *parent) |
| Sets the parent. More...
|
|
const WellsGroupInterface * | getParent () const |
| Gets the parent of the group, NULL if no parent.
|
|
WellsGroupInterface * | getParent () |
|
double | getTarget (ProductionSpecification::ControlMode mode) const |
| Gets the target rate for the given mode.
|
|
double | getTarget (InjectionSpecification::ControlMode mode) const |
| Gets the target rate for the given mode.
|
|
bool | individualControl () const |
| Return whether the well is running under group control target or under their own limit. More...
|
|
void | setIndividualControl (const bool) |
| Update the status for individual contrl.
|
|
double | efficiencyFactor () const |
|
void | setEfficiencyFactor (const double efficiency_factor) |
|