Class for computing BHP limits.
More...
#include <WellBhpThpCalculator.hpp>
|
| WellBhpThpCalculator (const WellInterfaceGeneric< Scalar > &well) |
| Constructor sets reference to well. More...
|
|
bool | wellHasTHPConstraints (const SummaryState &summaryState) const |
| Checks if well has THP constraints. More...
|
|
Scalar | getTHPConstraint (const SummaryState &summaryState) const |
| Get THP constraint for well. More...
|
|
Scalar | mostStrictBhpFromBhpLimits (const SummaryState &summaryState) const |
| Obtain the most strict BHP from BHP limits. More...
|
|
Scalar | calculateThpFromBhp (const std::vector< Scalar > &rates, const Scalar bhp, const Scalar rho, const std::optional< Scalar > &alq, const Scalar thp_limit, DeferredLogger &deferred_logger) const |
| Calculates THP from BHP. More...
|
|
std::optional< Scalar > | computeBhpAtThpLimitProd (const std::function< std::vector< Scalar >(const Scalar)> &frates, const SummaryState &summary_state, const Scalar maxPerfPress, const Scalar rho, const Scalar alq_value, const Scalar thp_limit, DeferredLogger &deferred_logger) const |
| Compute BHP from THP limit for a producer. More...
|
|
std::optional< Scalar > | computeBhpAtThpLimitInj (const std::function< std::vector< Scalar >(const Scalar)> &frates, const SummaryState &summary_state, const Scalar rho, const Scalar 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 Scalar rho, const bool stop_or_zero_rate_target, const std::function< Scalar()> &alq_value, const std::array< unsigned, 3 > &active, WellState< Scalar > &well_state, const SummaryState &summary_state, DeferredLogger &deferred_logger) const |
| Update THP. More...
|
|
template<class EvalWell > |
EvalWell | calculateBhpFromThp (const WellState< Scalar > &well_state, const std::vector< EvalWell > &rates, const Well &well, const SummaryState &summaryState, const Scalar rho, DeferredLogger &deferred_logger) const |
|
Scalar | calculateMinimumBhpFromThp (const WellState< Scalar > &well_state, const Well &well, const SummaryState &summaryState, const Scalar rho) const |
|
bool | isStableSolution (const WellState< Scalar > &well_state, const Well &well, const std::vector< Scalar > &rates, const SummaryState &summaryState) const |
|
std::optional< Scalar > | estimateStableBhp (const WellState< Scalar > &well_state, const Well &well, const std::vector< Scalar > &rates, const Scalar rho, const SummaryState &summaryState) const |
|
std::pair< Scalar, Scalar > | getFloIPR (const WellState< Scalar > &well_state, const Well &well, const SummaryState &summary_state) const |
|
|
static bool | bruteForceBracketCommonTHP (const std::function< Scalar(const Scalar)> &eq, const std::array< Scalar, 2 > &range, Scalar &low, Scalar &high, std::optional< Scalar > &approximate_solution, const Scalar &limit, DeferredLogger &deferred_logger) |
| Find limits using brute-force solver. More...
|
|
static bool | bruteForceBracketCommonTHP (const std::function< Scalar(const Scalar)> &eq, Scalar &min_thp, Scalar &max_thp) |
| Find limits using brute-force solver. More...
|
|
template<class Scalar>
class Opm::WellBhpThpCalculator< Scalar > Class for computing BHP limits.
◆ WellBhpThpCalculator()
Constructor sets reference to well.
◆ bruteForceBracketCommonTHP() [1/2]
template<class Scalar >
static bool Opm::WellBhpThpCalculator< Scalar >::bruteForceBracketCommonTHP |
( |
const std::function< Scalar(const Scalar)> & |
eq, |
|
|
const std::array< Scalar, 2 > & |
range, |
|
|
Scalar & |
low, |
|
|
Scalar & |
high, |
|
|
std::optional< Scalar > & |
approximate_solution, |
|
|
const Scalar & |
limit, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| |
|
static |
◆ bruteForceBracketCommonTHP() [2/2]
template<class Scalar >
static bool Opm::WellBhpThpCalculator< Scalar >::bruteForceBracketCommonTHP |
( |
const std::function< Scalar(const Scalar)> & |
eq, |
|
|
Scalar & |
min_thp, |
|
|
Scalar & |
max_thp |
|
) |
| |
|
static |
Find limits using brute-force solver.
◆ calculateBhpFromThp()
template<class Scalar >
template<class EvalWell >
EvalWell Opm::WellBhpThpCalculator< Scalar >::calculateBhpFromThp |
( |
const WellState< Scalar > & |
well_state, |
|
|
const std::vector< EvalWell > & |
rates, |
|
|
const Well & |
well, |
|
|
const SummaryState & |
summaryState, |
|
|
const Scalar |
rho, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
◆ calculateMinimumBhpFromThp()
template<class Scalar >
Scalar Opm::WellBhpThpCalculator< Scalar >::calculateMinimumBhpFromThp |
( |
const WellState< Scalar > & |
well_state, |
|
|
const Well & |
well, |
|
|
const SummaryState & |
summaryState, |
|
|
const Scalar |
rho |
|
) |
| const |
◆ calculateThpFromBhp()
template<class Scalar >
Scalar Opm::WellBhpThpCalculator< Scalar >::calculateThpFromBhp |
( |
const std::vector< Scalar > & |
rates, |
|
|
const Scalar |
bhp, |
|
|
const Scalar |
rho, |
|
|
const std::optional< Scalar > & |
alq, |
|
|
const Scalar |
thp_limit, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
◆ computeBhpAtThpLimitInj()
template<class Scalar >
std::optional< Scalar > Opm::WellBhpThpCalculator< Scalar >::computeBhpAtThpLimitInj |
( |
const std::function< std::vector< Scalar >(const Scalar)> & |
frates, |
|
|
const SummaryState & |
summary_state, |
|
|
const Scalar |
rho, |
|
|
const Scalar |
flo_rel_tol, |
|
|
const int |
max_iteration, |
|
|
const bool |
throwOnError, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
◆ computeBhpAtThpLimitProd()
template<class Scalar >
std::optional< Scalar > Opm::WellBhpThpCalculator< Scalar >::computeBhpAtThpLimitProd |
( |
const std::function< std::vector< Scalar >(const Scalar)> & |
frates, |
|
|
const SummaryState & |
summary_state, |
|
|
const Scalar |
maxPerfPress, |
|
|
const Scalar |
rho, |
|
|
const Scalar |
alq_value, |
|
|
const Scalar |
thp_limit, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
◆ estimateStableBhp()
template<class Scalar >
std::optional< Scalar > Opm::WellBhpThpCalculator< Scalar >::estimateStableBhp |
( |
const WellState< Scalar > & |
well_state, |
|
|
const Well & |
well, |
|
|
const std::vector< Scalar > & |
rates, |
|
|
const Scalar |
rho, |
|
|
const SummaryState & |
summaryState |
|
) |
| const |
◆ getFloIPR()
template<class Scalar >
std::pair< Scalar, Scalar > Opm::WellBhpThpCalculator< Scalar >::getFloIPR |
( |
const WellState< Scalar > & |
well_state, |
|
|
const Well & |
well, |
|
|
const SummaryState & |
summary_state |
|
) |
| const |
◆ getTHPConstraint()
Get THP constraint for well.
◆ isStableSolution()
template<class Scalar >
bool Opm::WellBhpThpCalculator< Scalar >::isStableSolution |
( |
const WellState< Scalar > & |
well_state, |
|
|
const Well & |
well, |
|
|
const std::vector< Scalar > & |
rates, |
|
|
const SummaryState & |
summaryState |
|
) |
| const |
◆ mostStrictBhpFromBhpLimits()
◆ updateThp()
template<class Scalar >
void Opm::WellBhpThpCalculator< Scalar >::updateThp |
( |
const Scalar |
rho, |
|
|
const bool |
stop_or_zero_rate_target, |
|
|
const std::function< Scalar()> & |
alq_value, |
|
|
const std::array< unsigned, 3 > & |
active, |
|
|
WellState< Scalar > & |
well_state, |
|
|
const SummaryState & |
summary_state, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
◆ wellHasTHPConstraints()
Checks if well has THP constraints.
The documentation for this class was generated from the following file:
|