My Project
|
Class for computing BHP limits. More...
#include <WellBhpThpCalculator.hpp>
Public Member Functions | |
WellBhpThpCalculator (const WellInterfaceGeneric< Scalar > &well) | |
Constructor sets reference to well. | |
bool | wellHasTHPConstraints (const SummaryState &summaryState) const |
Checks if well has THP constraints. | |
Scalar | getTHPConstraint (const SummaryState &summaryState) const |
Get THP constraint for well. | |
Scalar | mostStrictBhpFromBhpLimits (const SummaryState &summaryState) const |
Obtain the most strict BHP from BHP limits. | |
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. | |
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. | |
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. | |
void | updateThp (const Scalar rho, 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. | |
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 Public Member Functions | |
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. | |
static bool | bruteForceBracketCommonTHP (const std::function< Scalar(const Scalar)> &eq, Scalar &min_thp, Scalar &max_thp) |
Find limits using brute-force solver. | |
Class for computing BHP limits.