Opm::GroupStateHelpers Namespace Reference

Classes

class  FractionCalculator
 
class  InjectionTargetCalculator
 
class  TargetCalculator
 

Functions

bool keepsProductionControl (const bool field_or_none, const bool targeted, const bool gas_lift_group, const bool rc_master_hierarchy, const std::optional< ReservoirCoupling::GrupSlav::FilterFlag > master_target_filter)
 

Function Documentation

◆ keepsProductionControl()

bool Opm::GroupStateHelpers::keepsProductionControl ( const bool  field_or_none,
const bool  targeted,
const bool  gas_lift_group,
const bool  rc_master_hierarchy,
const std::optional< ReservoirCoupling::GrupSlav::FilterFlag >  master_target_filter 
)
inline

Whether a production group keeps its control mode when the groups without active constraints are set to NONE at the end of a time step.

Parameters
field_or_noneThe production control mode of the group is NONE or FLD, so there is nothing to reset.
targetedA well under group control has the group as its target.
gas_lift_groupThe group is in the gas lift optimization, which needs a control mode other than NONE and FLD.
rc_master_hierarchyThe group is a reservoir coupling master group or one of its ancestors, which distribute targets to the slaves.
master_target_filterSet when the group is a reservoir coupling slave group with a target from the master: the GRUPSLAV flag for that target. The master sends the target in the first time step of a sync step only, and the control mode it gives the group (not for SLAV, where the slave's own limit is the one used) has to survive the time steps after it. Not set when the group has no target from a master.