|
opm-simulators
|
Distribute a top-level constraint (target or limit) down to the requested group. More...
#include <GroupConstraintCalculator.hpp>
Public Types | |
| using | TargetCalculatorType = std::variant<std::monostate, TargetCalculator, InjectionTargetCalculator> |
Public Member Functions | |
| TopToBottomCalculator (GeneralCalculator &parent_calculator, const Group &top_group, const Group &bottom_group, Scalar efficiency_factor) | |
| std::optional< ConstraintInfo > | calculateGroupConstraint () |
| ConstraintType | constraintType () const |
| DeferredLogger & | deferredLogger () |
| DeferredLogger & | deferredLogger () const |
| Group::ProductionCMode | getProdCmode () const |
| std::optional< Group::ProductionCMode > | getProdCmode (const Group &group) const |
| const GroupState< Scalar > & | groupState () const |
| const GuideRate & | guideRate () const |
| bool | isInjectionConstraint () const |
| bool | isProductionConstraint () const |
| const PhaseUsageInfo< IndexTraits > & | phaseUsage () const |
| int | reportStepIdx () const |
| const std::vector< Scalar > & | resvCoeffsInj () const |
| const std::vector< Scalar > & | resvCoeffsProd () const |
| const Schedule & | schedule () const |
| const SummaryState & | summaryState () const |
| const WellState< Scalar, IndexTraits > & | wellState () const |
| const GroupStateHelperType & | groupStateHelper () const |
Static Public Attributes | |
| static constexpr Scalar | TARGET_RATE_TOLERANCE = 1e-12 |
Distribute a top-level constraint (target or limit) down to the requested group.
After the effective top constraint (target or limit) and control mode are known, this helper walks the chain of groups from the top to the bottom group and applies either a production TargetCalculator or an InjectionTargetCalculator. A FractionCalculator is used where guide-rate fractions/reductions are required.