WellsGroup.hpp
Go to the documentation of this file.
157 virtual std::pair<WellNode*, double> getWorstOffending(const std::vector<double>& well_reservoirrates_phase,
202 virtual void applyExplicitReinjectionControls(const std::vector<double>& well_reservoirrates_phase,
246 virtual std::pair<WellNode*, double> getWorstOffending(const std::vector<double>& well_reservoirrates_phase,
303 virtual void applyExplicitReinjectionControls(const std::vector<double>& well_reservoirrates_phase,
335 virtual std::pair<WellNode*, double> getWorstOffending(const std::vector<double>& well_reservoirrates_phase,
395 virtual void applyExplicitReinjectionControls(const std::vector<double>& well_reservoirrates_phase,
416 std::shared_ptr<WellsGroupInterface> createGroupWellsGroup(GroupConstPtr group, size_t timeStep,
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) Definition: wells.h:50 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)=0 virtual void applyInjGroupControls() void setParent(WellsGroupInterface *parent) Definition: WellsGroup.hpp:54 virtual double injectionGuideRate(bool only_group)=0 virtual void applyInjGroupControls() std::shared_ptr< WellsGroupInterface > createGroupWellsGroup(GroupConstPtr group, size_t timeStep, const PhaseUsage &phase_usage) const WellsGroupInterface * getParent() const Gets the parent of the group, NULL if no parent. virtual int numberOfLeafNodes()=0 virtual void applyProdGroupControl(const ProductionSpecification::ControlMode control_mode, const double target, bool forced) Definition: AnisotropicEikonal.hpp:43 virtual void applyProdGroupControls() Definition: WellsGroup.hpp:312 const InjectionSpecification & injSpec() const Injection specifications for the well or well group. WellPhasesSummed() virtual void applyProdGroupControl(const ProductionSpecification::ControlMode control_mode, const double target, bool forced) virtual void applyInjGroupControls()=0 const std::string & name() const The unique identifier for the well or well group. void setWellsPointer(Wells *wells, int self_index) virtual int numberOfLeafNodes() const ProductionSpecification & prodSpec() const Production specifications for the well or well group. Definition: WellsGroup.hpp:228 virtual WellsGroupInterface * findGroup(const std::string &name_of_node)=0 virtual double getTotalProductionFlow(const std::vector< double > &phase_flows, const BlackoilPhases::PhaseIndex phase) virtual void applyInjGroupControl(const InjectionSpecification::ControlMode control_mode, const double target, bool forced) only children that are under group control will be changed. Definition: WellsGroup.hpp:42 virtual void applyExplicitReinjectionControls(const std::vector< double > &well_reservoirrates_phase, const std::vector< double > &well_surfacerates_phase) WellsGroup(const std::string &name, const ProductionSpecification &prod_spec, const InjectionSpecification &inj_spec, const PhaseUsage &phase_usage) virtual void applyProdGroupControls() virtual int numberOfLeafNodes() virtual std::pair< WellNode *, double > getWorstOffending(const std::vector< double > &well_reservoirrates_phase, const std::vector< double > &well_surfacerates_phase, ProductionSpecification::ControlMode mode) virtual void applyExplicitReinjectionControls(const std::vector< double > &well_reservoirrates_phase, const std::vector< double > &well_surfacerates_phase)=0 void addChild(std::shared_ptr< WellsGroupInterface > child) virtual double injectionGuideRate(bool only_group) Definition: ProductionSpecification.hpp:9 virtual bool isLeafNode() const virtual std::pair< WellNode *, double > getWorstOffending(const std::vector< double > &well_reservoirrates_phase, const std::vector< double > &well_surfacerates_phase, ProductionSpecification::ControlMode mode) virtual double getTotalProductionFlow(const std::vector< double > &phase_flows, const BlackoilPhases::PhaseIndex phase) WellNode(const std::string &name, const ProductionSpecification &prod_spec, const InjectionSpecification &inj_spec, const PhaseUsage &phase_usage) virtual double productionGuideRate(bool only_group)=0 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) void shutWell() virtual void applyInjGroupControl(const InjectionSpecification::ControlMode control_mode, const double target, const bool forced)=0 virtual void applyProdGroupControls()=0 virtual void applyInjGroupControl(const InjectionSpecification::ControlMode control_mode, const double target, bool forced) virtual WellsGroupInterface * findGroup(const std::string &name_of_node) virtual double injectionGuideRate(bool only_group) virtual void applyProdGroupControl(const ProductionSpecification::ControlMode control_mode, const double target, const bool forced)=0 virtual double getTotalProductionFlow(const std::vector< double > &phase_flows, const BlackoilPhases::PhaseIndex phase)=0 virtual double productionGuideRate(bool only_group) virtual void applyExplicitReinjectionControls(const std::vector< double > &well_reservoirrates_phase, const std::vector< double > &well_surfacerates_phase) virtual bool isLeafNode() const virtual WellsGroupInterface * findGroup(const std::string &name_of_node) double rateByMode(const double *res_rates, const double *surf_rates, const ProductionSpecification::ControlMode mode) Calculates the correct rate for the given ProductionSpecification::ControlMode. WellsGroupInterface(const std::string &name, const ProductionSpecification &prod_spec, const InjectionSpecification &inj_spec, const PhaseUsage &phase_usage) Definition: InjectionSpecification.hpp:9 std::shared_ptr< WellsGroupInterface > createWellWellsGroup(WellConstPtr well, size_t timeStep, const PhaseUsage &phase_usage) double getTarget(ProductionSpecification::ControlMode mode) Gets the target rate for the given mode. virtual double productionGuideRate(bool only_group) Definition: BlackoilPhases.hpp:36 Mode mode(const std::string &control) virtual ~WellsGroupInterface() virtual std::pair< WellNode *, double > getWorstOffending(const std::vector< double > &well_reservoirrates_phase, const std::vector< double > &well_surfacerates_phase, ProductionSpecification::ControlMode mode)=0 |