#include <WellGroupHelper.hpp>
|
| | WellGroupHelper (WellState< Scalar, IndexTraits > &well_state, GroupState< Scalar > &group_state, const Schedule &schedule, const SummaryState &summary_state, const GuideRate &guide_rate, const PhaseUsageInfo< IndexTraits > &phase_usage_info) |
| |
| void | accumulateGroupEfficiencyFactor (const Group &group, Scalar &factor) const |
| |
| std::pair< bool, Scalar > | checkGroupConstraintsInj (const std::string &name, const std::string &parent, const Group &group, const Scalar *rates, const Phase injection_phase, const Scalar efficiency_factor, const std::vector< Scalar > &resv_coeff, const bool check_guide_rate, DeferredLogger &deferred_logger) const |
| |
| std::pair< bool, Scalar > | checkGroupConstraintsProd (const std::string &name, const std::string &parent, const Group &group, const Scalar *rates, const Scalar efficiency_factor, const std::vector< Scalar > &resv_coeff, const bool check_guide_rate, DeferredLogger &deferred_logger) const |
| |
| std::map< std::string, Scalar > | computeNetworkPressures (const Network::ExtNetwork &network, const VFPProdProperties< Scalar > &vfp_prod_props, const Parallel::Communication &comm) const |
| |
| Scalar | getGuideRate (const std::string &name, const GuideRateModel::Target target) const |
| |
| GuideRate::RateVector | getProductionGroupRateVector (const std::string &group_name) const |
| |
| std::optional< Scalar > | getWellGroupTargetInjector (const std::string &name, const std::string &parent, const Group &group, const Scalar *rates, const Phase injection_phase, const Scalar efficiency_factor, const std::vector< Scalar > &resv_coeff, DeferredLogger &deferred_logger) const |
| |
| std::optional< Scalar > | getWellGroupTargetProducer (const std::string &name, const std::string &parent, const Group &group, const Scalar *rates, const Scalar efficiency_factor, const std::vector< Scalar > &resv_coeff, DeferredLogger &deferred_logger) const |
| |
| GuideRate::RateVector | getWellRateVector (const std::string &name) const |
| |
| std::vector< std::string > | groupChainTopBot (const std::string &bottom, const std::string &top) const |
| |
| int | groupControlledWells (const std::string &group_name, const std::string &always_included_child, const bool is_production_group, const Phase injection_phase) const |
| |
| const GroupState< Scalar > & | groupState () const |
| |
| const PhaseUsageInfo< IndexTraits > & | phaseUsageInfo () const |
| |
| GroupStateGuard | pushGroupState (GroupState< Scalar > &group_state) |
| |
| WellStateGuard | pushWellState (WellState< Scalar, IndexTraits > &well_state) |
| |
| int | reportStepIdx () const |
| |
| const Schedule & | schedule () const |
| |
| const GuideRate & | guideRate () const |
| |
| const PhaseUsageInfo< IndexTraits > & | phaseUsage () const |
| |
| ReservoirCouplingMaster< Scalar > & | reservoirCouplingMaster () |
| |
| ReservoirCouplingSlave< Scalar > & | reservoirCouplingSlave () |
| |
| void | setCmodeGroup (const Group &group, GroupState< Scalar > &group_state) const |
| |
| template<class AverageRegionalPressureType > |
| void | setRegionAveragePressureCalculator (const Group &group, const FieldPropsManager &fp, std::map< std::string, std::unique_ptr< AverageRegionalPressureType > > ®ional_average_pressure_calculator) const |
| |
| void | setReportStep (int report_step) |
| |
| void | setReservoirCouplingMaster (ReservoirCouplingMaster< Scalar > *reservoir_coupling_master) |
| |
| void | setReservoirCouplingSlave (ReservoirCouplingSlave< Scalar > *reservoir_coupling_slave) |
| |
| const SummaryState & | summaryState () const |
| |
| Scalar | sumSolventRates (const Group &group, const bool is_injector) const |
| |
| Scalar | sumWellResRates (const Group &group, const int phase_pos, const bool injector) const |
| |
| Scalar | sumWellSurfaceRates (const Group &group, const int phase_pos, const bool injector) const |
| |
| Scalar | sumWellPhaseRates (bool res_rates, const Group &group, const int phase_pos, const bool injector, const bool network=false) const |
| |
| template<class RegionalValues > |
| void | updateGpMaintTargetForGroups (const Group &group, const RegionalValues ®ional_values, const double dt, GroupState< Scalar > &group_state) const |
| |
| int | updateGroupControlledWells (const bool is_production_group, const Phase injection_phase, GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) const |
| |
| void | updateGroupProductionRates (const Group &group, GroupState< Scalar > &group_state) const |
| |
| void | updateGroupTargetReduction (const Group &group, const bool is_injector, GroupState< Scalar > &group_state) const |
| |
| void | updateNetworkLeafNodeProductionRates (GroupState< Scalar > &group_state) const |
| |
| void | updateREINForGroups (const Group &group, bool sum_rank, GroupState< Scalar > &group_state) const |
| |
| void | updateReservoirRatesInjectionGroups (const Group &group, GroupState< Scalar > &group_state) const |
| |
| void | updateVREPForGroups (const Group &group, GroupState< Scalar > &group_state) const |
| |
| void | updateState (WellState< Scalar, IndexTraits > &well_state, GroupState< Scalar > &group_state) |
| |
| void | updateSurfaceRatesInjectionGroups (const Group &group, GroupState< Scalar > &group_state) const |
| |
| void | updateWellRates (const Group &group, const WellState< Scalar, IndexTraits > &well_state_nupcol, WellState< Scalar, IndexTraits > &well_state) const |
| |
| const WellState< Scalar, IndexTraits > & | wellState () const |
| |
| void | updateWellRatesFromGroupTargetScale (const Scalar scale, const Group &group, bool is_injector, WellState< Scalar, IndexTraits > &well_state) const |
| |
| std::pair< std::optional< std::string >, Scalar > | worstOffendingWell (const Group &group, const Group::ProductionCMode &offended_control, const Parallel::Communication &comm, DeferredLogger &deferred_logger) const |
| | Returns the name of the worst offending well and its fraction (i.e. violated_phase / preferred_phase) More...
|
| |
◆ WellGroupHelper()
template<typename Scalar , typename IndexTraits >
| Opm::WellGroupHelper< Scalar, IndexTraits >::WellGroupHelper |
( |
WellState< Scalar, IndexTraits > & |
well_state, |
|
|
GroupState< Scalar > & |
group_state, |
|
|
const Schedule & |
schedule, |
|
|
const SummaryState & |
summary_state, |
|
|
const GuideRate & |
guide_rate, |
|
|
const PhaseUsageInfo< IndexTraits > & |
phase_usage_info |
|
) |
| |
◆ accumulateGroupEfficiencyFactor()
template<typename Scalar , typename IndexTraits >
| void Opm::WellGroupHelper< Scalar, IndexTraits >::accumulateGroupEfficiencyFactor |
( |
const Group & |
group, |
|
|
Scalar & |
factor |
|
) |
| const |
◆ checkGroupConstraintsInj()
template<typename Scalar , typename IndexTraits >
| std::pair< bool, Scalar > Opm::WellGroupHelper< Scalar, IndexTraits >::checkGroupConstraintsInj |
( |
const std::string & |
name, |
|
|
const std::string & |
parent, |
|
|
const Group & |
group, |
|
|
const Scalar * |
rates, |
|
|
const Phase |
injection_phase, |
|
|
const Scalar |
efficiency_factor, |
|
|
const std::vector< Scalar > & |
resv_coeff, |
|
|
const bool |
check_guide_rate, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
◆ checkGroupConstraintsProd()
template<typename Scalar , typename IndexTraits >
| std::pair< bool, Scalar > Opm::WellGroupHelper< Scalar, IndexTraits >::checkGroupConstraintsProd |
( |
const std::string & |
name, |
|
|
const std::string & |
parent, |
|
|
const Group & |
group, |
|
|
const Scalar * |
rates, |
|
|
const Scalar |
efficiency_factor, |
|
|
const std::vector< Scalar > & |
resv_coeff, |
|
|
const bool |
check_guide_rate, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
◆ computeNetworkPressures()
template<typename Scalar , typename IndexTraits >
◆ getGuideRate()
template<typename Scalar , typename IndexTraits >
| Scalar Opm::WellGroupHelper< Scalar, IndexTraits >::getGuideRate |
( |
const std::string & |
name, |
|
|
const GuideRateModel::Target |
target |
|
) |
| const |
◆ getProductionGroupRateVector()
template<typename Scalar , typename IndexTraits >
| GuideRate::RateVector Opm::WellGroupHelper< Scalar, IndexTraits >::getProductionGroupRateVector |
( |
const std::string & |
group_name | ) |
const |
◆ getWellGroupTargetInjector()
template<typename Scalar , typename IndexTraits >
| std::optional< Scalar > Opm::WellGroupHelper< Scalar, IndexTraits >::getWellGroupTargetInjector |
( |
const std::string & |
name, |
|
|
const std::string & |
parent, |
|
|
const Group & |
group, |
|
|
const Scalar * |
rates, |
|
|
const Phase |
injection_phase, |
|
|
const Scalar |
efficiency_factor, |
|
|
const std::vector< Scalar > & |
resv_coeff, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
◆ getWellGroupTargetProducer()
template<typename Scalar , typename IndexTraits >
| std::optional< Scalar > Opm::WellGroupHelper< Scalar, IndexTraits >::getWellGroupTargetProducer |
( |
const std::string & |
name, |
|
|
const std::string & |
parent, |
|
|
const Group & |
group, |
|
|
const Scalar * |
rates, |
|
|
const Scalar |
efficiency_factor, |
|
|
const std::vector< Scalar > & |
resv_coeff, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
◆ getWellRateVector()
template<typename Scalar , typename IndexTraits >
| GuideRate::RateVector Opm::WellGroupHelper< Scalar, IndexTraits >::getWellRateVector |
( |
const std::string & |
name | ) |
const |
◆ groupChainTopBot()
template<typename Scalar , typename IndexTraits >
| std::vector< std::string > Opm::WellGroupHelper< Scalar, IndexTraits >::groupChainTopBot |
( |
const std::string & |
bottom, |
|
|
const std::string & |
top |
|
) |
| const |
◆ groupControlledWells()
template<typename Scalar , typename IndexTraits >
| int Opm::WellGroupHelper< Scalar, IndexTraits >::groupControlledWells |
( |
const std::string & |
group_name, |
|
|
const std::string & |
always_included_child, |
|
|
const bool |
is_production_group, |
|
|
const Phase |
injection_phase |
|
) |
| const |
returns the number of wells that are actively under group control for a given group with name given by group_name
◆ groupState()
template<typename Scalar , typename IndexTraits >
◆ guideRate()
template<typename Scalar , typename IndexTraits >
◆ phaseUsage()
template<typename Scalar , typename IndexTraits >
◆ phaseUsageInfo()
template<typename Scalar , typename IndexTraits >
◆ pushGroupState()
template<typename Scalar , typename IndexTraits >
◆ pushWellState()
template<typename Scalar , typename IndexTraits >
◆ reportStepIdx()
template<typename Scalar , typename IndexTraits >
◆ reservoirCouplingMaster()
template<typename Scalar , typename IndexTraits >
◆ reservoirCouplingSlave()
template<typename Scalar , typename IndexTraits >
◆ schedule()
template<typename Scalar , typename IndexTraits >
◆ setCmodeGroup()
template<typename Scalar , typename IndexTraits >
◆ setRegionAveragePressureCalculator()
template<typename Scalar , typename IndexTraits >
template<class AverageRegionalPressureType >
| void Opm::WellGroupHelper< Scalar, IndexTraits >::setRegionAveragePressureCalculator |
( |
const Group & |
group, |
|
|
const FieldPropsManager & |
fp, |
|
|
std::map< std::string, std::unique_ptr< AverageRegionalPressureType > > & |
regional_average_pressure_calculator |
|
) |
| const |
◆ setReportStep()
template<typename Scalar , typename IndexTraits >
◆ setReservoirCouplingMaster()
template<typename Scalar , typename IndexTraits >
◆ setReservoirCouplingSlave()
template<typename Scalar , typename IndexTraits >
◆ summaryState()
template<typename Scalar , typename IndexTraits >
◆ sumSolventRates()
template<typename Scalar , typename IndexTraits >
| Scalar Opm::WellGroupHelper< Scalar, IndexTraits >::sumSolventRates |
( |
const Group & |
group, |
|
|
const bool |
is_injector |
|
) |
| const |
◆ sumWellPhaseRates()
template<typename Scalar , typename IndexTraits >
| Scalar Opm::WellGroupHelper< Scalar, IndexTraits >::sumWellPhaseRates |
( |
bool |
res_rates, |
|
|
const Group & |
group, |
|
|
const int |
phase_pos, |
|
|
const bool |
injector, |
|
|
const bool |
network = false |
|
) |
| const |
◆ sumWellResRates()
template<typename Scalar , typename IndexTraits >
| Scalar Opm::WellGroupHelper< Scalar, IndexTraits >::sumWellResRates |
( |
const Group & |
group, |
|
|
const int |
phase_pos, |
|
|
const bool |
injector |
|
) |
| const |
◆ sumWellSurfaceRates()
template<typename Scalar , typename IndexTraits >
| Scalar Opm::WellGroupHelper< Scalar, IndexTraits >::sumWellSurfaceRates |
( |
const Group & |
group, |
|
|
const int |
phase_pos, |
|
|
const bool |
injector |
|
) |
| const |
◆ updateGpMaintTargetForGroups()
template<typename Scalar , typename IndexTraits >
template<class RegionalValues >
| void Opm::WellGroupHelper< Scalar, IndexTraits >::updateGpMaintTargetForGroups |
( |
const Group & |
group, |
|
|
const RegionalValues & |
regional_values, |
|
|
const double |
dt, |
|
|
GroupState< Scalar > & |
group_state |
|
) |
| const |
◆ updateGroupControlledWells()
template<typename Scalar , typename IndexTraits >
update the number of wells that are actively under group control for a given group with name given by group_name its main usage is to detect cases where there is no wells under group control
◆ updateGroupProductionRates()
template<typename Scalar , typename IndexTraits >
◆ updateGroupTargetReduction()
template<typename Scalar , typename IndexTraits >
| void Opm::WellGroupHelper< Scalar, IndexTraits >::updateGroupTargetReduction |
( |
const Group & |
group, |
|
|
const bool |
is_injector, |
|
|
GroupState< Scalar > & |
group_state |
|
) |
| const |
◆ updateNetworkLeafNodeProductionRates()
template<typename Scalar , typename IndexTraits >
◆ updateREINForGroups()
template<typename Scalar , typename IndexTraits >
| void Opm::WellGroupHelper< Scalar, IndexTraits >::updateREINForGroups |
( |
const Group & |
group, |
|
|
bool |
sum_rank, |
|
|
GroupState< Scalar > & |
group_state |
|
) |
| const |
◆ updateReservoirRatesInjectionGroups()
template<typename Scalar , typename IndexTraits >
| void Opm::WellGroupHelper< Scalar, IndexTraits >::updateReservoirRatesInjectionGroups |
( |
const Group & |
group, |
|
|
GroupState< Scalar > & |
group_state |
|
) |
| const |
◆ updateState()
template<typename Scalar , typename IndexTraits >
◆ updateSurfaceRatesInjectionGroups()
template<typename Scalar , typename IndexTraits >
◆ updateVREPForGroups()
template<typename Scalar , typename IndexTraits >
◆ updateWellRates()
template<typename Scalar , typename IndexTraits >
| void Opm::WellGroupHelper< Scalar, IndexTraits >::updateWellRates |
( |
const Group & |
group, |
|
|
const WellState< Scalar, IndexTraits > & |
well_state_nupcol, |
|
|
WellState< Scalar, IndexTraits > & |
well_state |
|
) |
| const |
◆ updateWellRatesFromGroupTargetScale()
template<typename Scalar , typename IndexTraits >
| void Opm::WellGroupHelper< Scalar, IndexTraits >::updateWellRatesFromGroupTargetScale |
( |
const Scalar |
scale, |
|
|
const Group & |
group, |
|
|
bool |
is_injector, |
|
|
WellState< Scalar, IndexTraits > & |
well_state |
|
) |
| const |
◆ wellState()
template<typename Scalar , typename IndexTraits >
◆ worstOffendingWell()
template<typename Scalar , typename IndexTraits >
Returns the name of the worst offending well and its fraction (i.e. violated_phase / preferred_phase)
The documentation for this class was generated from the following files:
|