Opm::WellBhpThpCalculator Class Reference

Class for computing BHP limits. More...

#include <WellBhpThpCalculator.hpp>

Public Member Functions

 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
 

Detailed Description

Class for computing BHP limits.

Constructor & Destructor Documentation

◆ WellBhpThpCalculator()

Opm::WellBhpThpCalculator::WellBhpThpCalculator ( const WellInterfaceGeneric well)
inline

Constructor sets reference to well.

Member Function Documentation

◆ 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

Compute BHP from THP limit for an injector.

Referenced by Opm::StandardWell< TypeTag >::computeBhpAtThpLimitInj().

◆ 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

Compute BHP from THP limit for a producer.

Referenced by Opm::StandardWell< TypeTag >::computeBhpAtThpLimitProdWithAlq().

◆ 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()

◆ 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

Update THP.

◆ 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: