|
opm-simulators
|
Shared logic for injector and producer paths. More...
#include <GroupConstraintCalculator.hpp>
Public Types | |
| using | TargetCalculatorType = std::variant<std::monostate, TargetCalculator, InjectionTargetCalculator> |
Public Member Functions | |
| GeneralCalculator (GroupConstraintCalculator &calculator, const Group &original_group, std::optional< ReservoirCoupling::Phase > injection_phase=std::nullopt) | |
| GeneralCalculator (GroupConstraintCalculator &calculator, const Group &original_group, Group::ProductionCMode explicit_cmode) | |
| Construct for computing a limit for an explicit production rate type. | |
| std::optional< ConstraintInfo > | calculateGroupConstraint () |
| ConstraintType | constraintType () const |
| DeferredLogger & | deferredLogger () |
| DeferredLogger & | deferredLogger () const |
| int | fipnum () const |
| const GConSale & | gconsale () const |
| const GroupState< Scalar > & | groupState () const |
| TargetCalculatorType | getInjectionTargetCalculator (const Group &group) |
| TargetCalculatorType | getProductionTargetCalculator (const Group &group) const |
| TargetCalculatorType | getTargetCalculator (const Group &group) |
| std::optional< ConstraintInfo > | getGroupConstraintNoGuideRate (const Group &group) |
| std::optional< Group::ProductionCMode > | getProdCmode (const Group &group) const |
| Group::ProductionCMode | getProdCmode () const |
| const GuideRate & | guideRate () const |
| bool | hasGuideRate (const Group &group) const |
| bool | hasGuideRate (const std::string &name) const |
| bool | hasHigherLevelControlOrNoLimit (const Group &group) |
| Phase | injectionPhase_ () const |
| bool | isInjectionConstraint () const |
| bool | isProductionConstraint () const |
| const Group & | originalGroup () const |
| const PhaseUsageInfo< IndexTraits > & | phaseUsage () const |
| int | pvtreg () 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 BlackoilWellModelGeneric< Scalar, IndexTraits > & | wellModel () const |
| const WellState< Scalar, IndexTraits > & | wellState () const |
| const GroupStateHelperType & | groupStateHelper () const |
Shared logic for injector and producer paths.
Provides the common context (schedule, states, guide rates, phase usage, PVT/FIP regions, logger) and computes a target for the requested bottom group. The optional injection_phase indicates whether the calculation is for injection (has value) or production (no value). Internally it selects phase-dependent RESV coefficients and performs a recursive traversal to accumulate limits and select the effective control mode.
| Opm::GroupConstraintCalculator< Scalar, IndexTraits >::GeneralCalculator::GeneralCalculator | ( | GroupConstraintCalculator & | calculator, |
| const Group & | original_group, | ||
| Group::ProductionCMode | explicit_cmode ) |
Construct for computing a limit for an explicit production rate type.
The recursion stops at ancestors with has_control(explicit_cmode).