Opm::WellGroupControls< Scalar, IndexTraits > Class Template Reference

Class for computing well group controls. More...

#include <WellGroupControls.hpp>

Public Types

using RateConvFunc = std::function< void(const RegionId, const int, const std::optional< std::string > &, std::vector< Scalar > &)>
 
using GroupStateHelperType = GroupStateHelper< Scalar, IndexTraits >
 

Public Member Functions

 WellGroupControls (const WellInterfaceGeneric< Scalar, IndexTraits > &well)
 Constructor sets reference to well. More...
 
template<class EvalWell >
void getGroupInjectionControl (const Group &group, const GroupStateHelperType &groupStateHelper, const InjectorType &injectorType, const EvalWell &bhp, const EvalWell &injection_rate, const RateConvFunc &rateConverter, Scalar efficiencyFactor, EvalWell &control_eq) const
 
std::optional< Scalar > getGroupInjectionTargetRate (const Group &group, const GroupStateHelperType &groupStateHelper, const InjectorType &injectorType, const RateConvFunc &rateConverter, Scalar efficiencyFactor) const
 
template<class EvalWell >
void getGroupProductionControl (const Group &group, const GroupStateHelperType &groupStateHelper, const EvalWell &bhp, const std::vector< EvalWell > &rates, const RateConvFunc &rateConverter, Scalar efficiencyFactor, EvalWell &control_eq) const
 
Scalar getGroupProductionTargetRate (const Group &group, const GroupStateHelperType &groupStateHelper, const RateConvFunc &rateConverter, Scalar efficiencyFactor) const
 

Static Public Member Functions

static std::pair< Scalar, Group::ProductionCMode > getAutoChokeGroupProductionTargetRate (const Group &bottom_group, const Group &group, const GroupStateHelperType &groupStateHelper, const std::vector< Scalar > &resv_coeff, Scalar efficiencyFactor)
 

Detailed Description

template<typename Scalar, typename IndexTraits>
class Opm::WellGroupControls< Scalar, IndexTraits >

Class for computing well group controls.

Member Typedef Documentation

◆ GroupStateHelperType

template<typename Scalar , typename IndexTraits >
using Opm::WellGroupControls< Scalar, IndexTraits >::GroupStateHelperType = GroupStateHelper<Scalar, IndexTraits>

◆ RateConvFunc

template<typename Scalar , typename IndexTraits >
using Opm::WellGroupControls< Scalar, IndexTraits >::RateConvFunc = std::function<void(const RegionId, const int, const std::optional<std::string>&, std::vector<Scalar>&)>

Constructor & Destructor Documentation

◆ WellGroupControls()

template<typename Scalar , typename IndexTraits >
Opm::WellGroupControls< Scalar, IndexTraits >::WellGroupControls ( const WellInterfaceGeneric< Scalar, IndexTraits > &  well)
inlineexplicit

Constructor sets reference to well.

Member Function Documentation

◆ getAutoChokeGroupProductionTargetRate()

template<typename Scalar , typename IndexTraits >
static std::pair< Scalar, Group::ProductionCMode > Opm::WellGroupControls< Scalar, IndexTraits >::getAutoChokeGroupProductionTargetRate ( const Group &  bottom_group,
const Group &  group,
const GroupStateHelperType groupStateHelper,
const std::vector< Scalar > &  resv_coeff,
Scalar  efficiencyFactor 
)
static

◆ getGroupInjectionControl()

template<typename Scalar , typename IndexTraits >
template<class EvalWell >
void Opm::WellGroupControls< Scalar, IndexTraits >::getGroupInjectionControl ( const Group &  group,
const GroupStateHelperType groupStateHelper,
const InjectorType &  injectorType,
const EvalWell &  bhp,
const EvalWell &  injection_rate,
const RateConvFunc rateConverter,
Scalar  efficiencyFactor,
EvalWell &  control_eq 
) const

◆ getGroupInjectionTargetRate()

template<typename Scalar , typename IndexTraits >
std::optional< Scalar > Opm::WellGroupControls< Scalar, IndexTraits >::getGroupInjectionTargetRate ( const Group &  group,
const GroupStateHelperType groupStateHelper,
const InjectorType &  injectorType,
const RateConvFunc rateConverter,
Scalar  efficiencyFactor 
) const

◆ getGroupProductionControl()

template<typename Scalar , typename IndexTraits >
template<class EvalWell >
void Opm::WellGroupControls< Scalar, IndexTraits >::getGroupProductionControl ( const Group &  group,
const GroupStateHelperType groupStateHelper,
const EvalWell &  bhp,
const std::vector< EvalWell > &  rates,
const RateConvFunc rateConverter,
Scalar  efficiencyFactor,
EvalWell &  control_eq 
) const

◆ getGroupProductionTargetRate()

template<typename Scalar , typename IndexTraits >
Scalar Opm::WellGroupControls< Scalar, IndexTraits >::getGroupProductionTargetRate ( const Group &  group,
const GroupStateHelperType groupStateHelper,
const RateConvFunc rateConverter,
Scalar  efficiencyFactor 
) const

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