Opm::StandardWellConnections< FluidSystem, Indices > Class Template Reference

#include <StandardWellConnections.hpp>

Inheritance diagram for Opm::StandardWellConnections< FluidSystem, Indices >:
Inheritance graph

Classes

struct  Properties
 

Public Types

using Scalar = typename FluidSystem::Scalar
 
using Eval = typename WellInterfaceIndices< FluidSystem, Indices >::Eval
 
using EvalWell = typename StandardWellPrimaryVariables< FluidSystem, Indices >::EvalWell
 

Public Member Functions

 StandardWellConnections (const WellInterfaceIndices< FluidSystem, Indices > &well)
 
void computePropertiesForPressures (const WellState< Scalar > &well_state, const std::function< Scalar(int, int)> &getTemperature, const std::function< Scalar(int)> &getSaltConcentration, const std::function< int(int)> &pvtRegionIdx, const std::function< Scalar(int)> &solventInverseFormationVolumeFactor, const std::function< Scalar(int)> &solventRefDensity, Properties &props) const
 
void computeProperties (const WellState< Scalar > &well_state, const std::function< Scalar(int, int)> &invB, const std::function< Scalar(int, int)> &mobility, const std::function< Scalar(int)> &solventInverseFormationVolumeFactor, const std::function< Scalar(int)> &solventMobility, const Properties &props, DeferredLogger &deferred_logger)
 Compute connection properties (densities, pressure drop, ...) More...
 
Scalar rho () const
 Returns density for first perforation. More...
 
Scalar rho (const typename std::vector< Scalar >::size_type i) const
 Returns density for specific perforation/connection. More...
 
Scalar pressure_diff (const unsigned perf) const
 Returns pressure drop for a given perforation. More...
 
Eval connectionRateBrine (double &rate, const double vap_wat_rate, const std::vector< EvalWell > &cq_s, const std::variant< Scalar, EvalWell > &saltConcentration) const
 
Eval connectionRateFoam (const std::vector< EvalWell > &cq_s, const std::variant< Scalar, EvalWell > &foamConcentration, const Phase transportPhase, DeferredLogger &deferred_logger) const
 
std::tuple< Eval, EvalWellconnectionRatePolymer (double &rate, const std::vector< EvalWell > &cq_s, const std::variant< Scalar, EvalWell > &polymerConcentration) const
 
std::tuple< Eval, Eval, EvalconnectionRatesMICP (const std::vector< EvalWell > &cq_s, const std::variant< Scalar, EvalWell > &microbialConcentration, const std::variant< Scalar, EvalWell > &oxygenConcentration, const std::variant< Scalar, EvalWell > &ureaConcentration) const
 
std::tuple< Eval, EvalWellconnectionRatezFraction (double &rate, const double dis_gas_rate, const std::vector< EvalWell > &cq_s, const std::variant< Scalar, std::array< EvalWell, 2 > > &solventConcentration) const
 

Member Typedef Documentation

◆ Eval

template<class FluidSystem , class Indices >
using Opm::StandardWellConnections< FluidSystem, Indices >::Eval = typename WellInterfaceIndices<FluidSystem,Indices>::Eval

◆ EvalWell

template<class FluidSystem , class Indices >
using Opm::StandardWellConnections< FluidSystem, Indices >::EvalWell = typename StandardWellPrimaryVariables<FluidSystem,Indices>::EvalWell

◆ Scalar

template<class FluidSystem , class Indices >
using Opm::StandardWellConnections< FluidSystem, Indices >::Scalar = typename FluidSystem::Scalar

Constructor & Destructor Documentation

◆ StandardWellConnections()

template<class FluidSystem , class Indices >
Opm::StandardWellConnections< FluidSystem, Indices >::StandardWellConnections ( const WellInterfaceIndices< FluidSystem, Indices > &  well)

Member Function Documentation

◆ computeProperties()

template<class FluidSystem , class Indices >
void Opm::StandardWellConnections< FluidSystem, Indices >::computeProperties ( const WellState< Scalar > &  well_state,
const std::function< Scalar(int, int)> &  invB,
const std::function< Scalar(int, int)> &  mobility,
const std::function< Scalar(int)> &  solventInverseFormationVolumeFactor,
const std::function< Scalar(int)> &  solventMobility,
const Properties props,
DeferredLogger deferred_logger 
)

Compute connection properties (densities, pressure drop, ...)

◆ computePropertiesForPressures()

template<class FluidSystem , class Indices >
void Opm::StandardWellConnections< FluidSystem, Indices >::computePropertiesForPressures ( const WellState< Scalar > &  well_state,
const std::function< Scalar(int, int)> &  getTemperature,
const std::function< Scalar(int)> &  getSaltConcentration,
const std::function< int(int)> &  pvtRegionIdx,
const std::function< Scalar(int)> &  solventInverseFormationVolumeFactor,
const std::function< Scalar(int)> &  solventRefDensity,
Properties props 
) const

◆ connectionRateBrine()

template<class FluidSystem , class Indices >
Eval Opm::StandardWellConnections< FluidSystem, Indices >::connectionRateBrine ( double &  rate,
const double  vap_wat_rate,
const std::vector< EvalWell > &  cq_s,
const std::variant< Scalar, EvalWell > &  saltConcentration 
) const

◆ connectionRateFoam()

template<class FluidSystem , class Indices >
Eval Opm::StandardWellConnections< FluidSystem, Indices >::connectionRateFoam ( const std::vector< EvalWell > &  cq_s,
const std::variant< Scalar, EvalWell > &  foamConcentration,
const Phase  transportPhase,
DeferredLogger deferred_logger 
) const

◆ connectionRatePolymer()

template<class FluidSystem , class Indices >
std::tuple< Eval, EvalWell > Opm::StandardWellConnections< FluidSystem, Indices >::connectionRatePolymer ( double &  rate,
const std::vector< EvalWell > &  cq_s,
const std::variant< Scalar, EvalWell > &  polymerConcentration 
) const

◆ connectionRatesMICP()

template<class FluidSystem , class Indices >
std::tuple< Eval, Eval, Eval > Opm::StandardWellConnections< FluidSystem, Indices >::connectionRatesMICP ( const std::vector< EvalWell > &  cq_s,
const std::variant< Scalar, EvalWell > &  microbialConcentration,
const std::variant< Scalar, EvalWell > &  oxygenConcentration,
const std::variant< Scalar, EvalWell > &  ureaConcentration 
) const

◆ connectionRatezFraction()

template<class FluidSystem , class Indices >
std::tuple< Eval, EvalWell > Opm::StandardWellConnections< FluidSystem, Indices >::connectionRatezFraction ( double &  rate,
const double  dis_gas_rate,
const std::vector< EvalWell > &  cq_s,
const std::variant< Scalar, std::array< EvalWell, 2 > > &  solventConcentration 
) const

◆ pressure_diff()

template<class FluidSystem , class Indices >
Scalar Opm::StandardWellConnections< FluidSystem, Indices >::pressure_diff ( const unsigned  perf) const
inline

Returns pressure drop for a given perforation.

◆ rho() [1/2]

template<class FluidSystem , class Indices >
Scalar Opm::StandardWellConnections< FluidSystem, Indices >::rho ( ) const
inline

◆ rho() [2/2]

template<class FluidSystem , class Indices >
Scalar Opm::StandardWellConnections< FluidSystem, Indices >::rho ( const typename std::vector< Scalar >::size_type  i) const
inline

Returns density for specific perforation/connection.

Parameters
[in]iConnection index
Returns
Mixture density at connection i.

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