My Project
Loading...
Searching...
No Matches
Opm::WellBhpThpCalculator< Scalar > Class Template Reference

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.
 

Detailed Description

template<class Scalar>
class Opm::WellBhpThpCalculator< Scalar >

Class for computing BHP limits.


The documentation for this class was generated from the following files: