Class for computing BHP limits.
More...
#include <WellBhpThpCalculator.hpp>
|
| WellBhpThpCalculator (const WellInterfaceGeneric &well) |
| Constructor sets reference to well. More...
|
|
bool | wellHasTHPConstraints (const SummaryState &summaryState) const |
| Checks if well has THP constraints. More...
|
|
double | getTHPConstraint (const SummaryState &summaryState) const |
| Get THP constraint for well. More...
|
|
double | mostStrictBhpFromBhpLimits (const SummaryState &summaryState) const |
| Obtain the most strict BHP from BHP limits. More...
|
|
double | calculateThpFromBhp (const std::vector< double > &rates, const double bhp, const double rho, const std::optional< double > &alq, const double thp_limit, DeferredLogger &deferred_logger) const |
| Calculates THP from BHP. More...
|
|
std::optional< double > | computeBhpAtThpLimitProd (const std::function< std::vector< double >(const double)> &frates, const SummaryState &summary_state, const double maxPerfPress, const double rho, const double alq_value, const double thp_limit, DeferredLogger &deferred_logger) const |
| Compute BHP from THP limit for a producer. More...
|
|
std::optional< double > | computeBhpAtThpLimitInj (const std::function< std::vector< double >(const double)> &frates, const SummaryState &summary_state, const double rho, const double flo_rel_tol, const int max_iteration, const bool throwOnError, DeferredLogger &deferred_logger) const |
| Compute BHP from THP limit for an injector. More...
|
|
void | updateThp (const double rho, const bool stop_or_zero_rate_target, const std::function< double()> &alq_value, const std::array< unsigned, 3 > &active, WellState< double > &well_state, const SummaryState &summary_state, DeferredLogger &deferred_logger) const |
| Update THP. More...
|
|
template<class EvalWell > |
EvalWell | calculateBhpFromThp (const WellState< double > &well_state, const std::vector< EvalWell > &rates, const Well &well, const SummaryState &summaryState, const double rho, DeferredLogger &deferred_logger) const |
|
double | calculateMinimumBhpFromThp (const WellState< double > &well_state, const Well &well, const SummaryState &summaryState, const double rho) const |
|
bool | isStableSolution (const WellState< double > &well_state, const Well &well, const std::vector< double > &rates, const SummaryState &summaryState) const |
|
std::optional< double > | estimateStableBhp (const WellState< double > &well_state, const Well &well, const std::vector< double > &rates, const double rho, const SummaryState &summaryState) const |
|
std::pair< double, double > | getFloIPR (const WellState< double > &well_state, const Well &well, const SummaryState &summary_state) const |
|
Class for computing BHP limits.
◆ WellBhpThpCalculator()
Constructor sets reference to well.
◆ calculateBhpFromThp()
template<class EvalWell >
EvalWell Opm::WellBhpThpCalculator::calculateBhpFromThp |
( |
const WellState< double > & |
well_state, |
|
|
const std::vector< EvalWell > & |
rates, |
|
|
const Well & |
well, |
|
|
const SummaryState & |
summaryState, |
|
|
const double |
rho, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
◆ calculateMinimumBhpFromThp()
double Opm::WellBhpThpCalculator::calculateMinimumBhpFromThp |
( |
const WellState< double > & |
well_state, |
|
|
const Well & |
well, |
|
|
const SummaryState & |
summaryState, |
|
|
const double |
rho |
|
) |
| const |
◆ calculateThpFromBhp()
double Opm::WellBhpThpCalculator::calculateThpFromBhp |
( |
const std::vector< double > & |
rates, |
|
|
const double |
bhp, |
|
|
const double |
rho, |
|
|
const std::optional< double > & |
alq, |
|
|
const double |
thp_limit, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
◆ computeBhpAtThpLimitInj()
std::optional< double > Opm::WellBhpThpCalculator::computeBhpAtThpLimitInj |
( |
const std::function< std::vector< double >(const double)> & |
frates, |
|
|
const SummaryState & |
summary_state, |
|
|
const double |
rho, |
|
|
const double |
flo_rel_tol, |
|
|
const int |
max_iteration, |
|
|
const bool |
throwOnError, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
◆ computeBhpAtThpLimitProd()
std::optional< double > Opm::WellBhpThpCalculator::computeBhpAtThpLimitProd |
( |
const std::function< std::vector< double >(const double)> & |
frates, |
|
|
const SummaryState & |
summary_state, |
|
|
const double |
maxPerfPress, |
|
|
const double |
rho, |
|
|
const double |
alq_value, |
|
|
const double |
thp_limit, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
◆ estimateStableBhp()
std::optional< double > Opm::WellBhpThpCalculator::estimateStableBhp |
( |
const WellState< double > & |
well_state, |
|
|
const Well & |
well, |
|
|
const std::vector< double > & |
rates, |
|
|
const double |
rho, |
|
|
const SummaryState & |
summaryState |
|
) |
| const |
◆ getFloIPR()
std::pair< double, double > Opm::WellBhpThpCalculator::getFloIPR |
( |
const WellState< double > & |
well_state, |
|
|
const Well & |
well, |
|
|
const SummaryState & |
summary_state |
|
) |
| const |
◆ getTHPConstraint()
double Opm::WellBhpThpCalculator::getTHPConstraint |
( |
const SummaryState & |
summaryState | ) |
const |
Get THP constraint for well.
◆ isStableSolution()
bool Opm::WellBhpThpCalculator::isStableSolution |
( |
const WellState< double > & |
well_state, |
|
|
const Well & |
well, |
|
|
const std::vector< double > & |
rates, |
|
|
const SummaryState & |
summaryState |
|
) |
| const |
◆ mostStrictBhpFromBhpLimits()
double Opm::WellBhpThpCalculator::mostStrictBhpFromBhpLimits |
( |
const SummaryState & |
summaryState | ) |
const |
◆ updateThp()
void Opm::WellBhpThpCalculator::updateThp |
( |
const double |
rho, |
|
|
const bool |
stop_or_zero_rate_target, |
|
|
const std::function< double()> & |
alq_value, |
|
|
const std::array< unsigned, 3 > & |
active, |
|
|
WellState< double > & |
well_state, |
|
|
const SummaryState & |
summary_state, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
◆ wellHasTHPConstraints()
bool Opm::WellBhpThpCalculator::wellHasTHPConstraints |
( |
const SummaryState & |
summaryState | ) |
const |
Checks if well has THP constraints.
The documentation for this class was generated from the following file:
|