Opm::WellGroupControls< Scalar > 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 > &)>
 

Public Member Functions

 WellGroupControls (const WellInterfaceGeneric< Scalar > &well)
 Constructor sets reference to well. More...
 
template<class EvalWell >
void getGroupInjectionControl (const Group &group, const WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, const Schedule &schedule, const SummaryState &summaryState, const InjectorType &injectorType, const EvalWell &bhp, const EvalWell &injection_rate, const RateConvFunc &rateConverter, Scalar efficiencyFactor, EvalWell &control_eq, DeferredLogger &deferred_logger) const
 
std::optional< Scalar > getGroupInjectionTargetRate (const Group &group, const WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, const Schedule &schedule, const SummaryState &summaryState, const InjectorType &injectorType, const RateConvFunc &rateConverter, Scalar efficiencyFactor, DeferredLogger &deferred_logger) const
 
template<class EvalWell >
void getGroupProductionControl (const Group &group, const WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, const Schedule &schedule, const SummaryState &summaryState, const EvalWell &bhp, const std::vector< EvalWell > &rates, const RateConvFunc &rateConverter, Scalar efficiencyFactor, EvalWell &control_eq, DeferredLogger &deferred_logger) const
 
Scalar getGroupProductionTargetRate (const Group &group, const WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, const Schedule &schedule, const SummaryState &summaryState, const RateConvFunc &rateConverter, Scalar efficiencyFactor, DeferredLogger &deferred_logger) const
 

Detailed Description

template<class Scalar>
class Opm::WellGroupControls< Scalar >

Class for computing well group controls.

Member Typedef Documentation

◆ RateConvFunc

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

Constructor & Destructor Documentation

◆ WellGroupControls()

template<class Scalar >
Opm::WellGroupControls< Scalar >::WellGroupControls ( const WellInterfaceGeneric< Scalar > &  well)
inline

Constructor sets reference to well.

Member Function Documentation

◆ getGroupInjectionControl()

template<class Scalar >
template<class EvalWell >
void Opm::WellGroupControls< Scalar >::getGroupInjectionControl ( const Group &  group,
const WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
const Schedule &  schedule,
const SummaryState &  summaryState,
const InjectorType &  injectorType,
const EvalWell &  bhp,
const EvalWell &  injection_rate,
const RateConvFunc rateConverter,
Scalar  efficiencyFactor,
EvalWell &  control_eq,
DeferredLogger deferred_logger 
) const

◆ getGroupInjectionTargetRate()

template<class Scalar >
std::optional< Scalar > Opm::WellGroupControls< Scalar >::getGroupInjectionTargetRate ( const Group &  group,
const WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
const Schedule &  schedule,
const SummaryState &  summaryState,
const InjectorType &  injectorType,
const RateConvFunc rateConverter,
Scalar  efficiencyFactor,
DeferredLogger deferred_logger 
) const

◆ getGroupProductionControl()

template<class Scalar >
template<class EvalWell >
void Opm::WellGroupControls< Scalar >::getGroupProductionControl ( const Group &  group,
const WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
const Schedule &  schedule,
const SummaryState &  summaryState,
const EvalWell &  bhp,
const std::vector< EvalWell > &  rates,
const RateConvFunc rateConverter,
Scalar  efficiencyFactor,
EvalWell &  control_eq,
DeferredLogger deferred_logger 
) const

◆ getGroupProductionTargetRate()

template<class Scalar >
Scalar Opm::WellGroupControls< Scalar >::getGroupProductionTargetRate ( const Group &  group,
const WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
const Schedule &  schedule,
const SummaryState &  summaryState,
const RateConvFunc rateConverter,
Scalar  efficiencyFactor,
DeferredLogger deferred_logger 
) const

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