23#ifndef OPM_STANDARDWELL_CONNECTIONS_HEADER_INCLUDED
24#define OPM_STANDARDWELL_CONNECTIONS_HEADER_INCLUDED
26#include <opm/simulators/wells/StandardWellPrimaryVariables.hpp>
37template<
class Flu
idSystem,
class Indices,
class Scalar>
class WellInterfaceIndices;
40template<
class Flu
idSystem,
class Indices,
class Scalar>
48 std::vector<Scalar> b_perf;
49 std::vector<Scalar> rsmax_perf;
50 std::vector<Scalar> rvmax_perf;
51 std::vector<Scalar> rvwmax_perf;
52 std::vector<Scalar> rswmax_perf;
53 std::vector<Scalar> surf_dens_perf;
56 void computePropertiesForPressures(
const WellState& well_state,
59 const std::function<
int(
int)>& pvtRegionIdx,
66 const std::function<Scalar(
int,
int)>&
invB,
67 const std::function<Scalar(
int,
int)>&
mobility,
84 Scalar
rho(
const typename std::vector<Scalar>::size_type
i)
const
87 ? this->perf_densities_[
i]
93 {
return perf_pressure_diffs_[
perf]; }
95 using Eval =
typename WellInterfaceIndices<FluidSystem,Indices,Scalar>::Eval;
98 Eval connectionRateBrine(
double&
rate,
100 const std::vector<EvalWell>&
cq_s,
101 const std::variant<Scalar,EvalWell>& saltConcentration)
const;
103 Eval connectionRateFoam(
const std::vector<EvalWell>&
cq_s,
108 std::tuple<Eval,EvalWell>
109 connectionRatePolymer(
double&
rate,
110 const std::vector<EvalWell>&
cq_s,
113 std::tuple<Eval,Eval,Eval>
114 connectionRatesMICP(
const std::vector<EvalWell>&
cq_s,
119 std::tuple<Eval,EvalWell>
120 connectionRatezFraction(
double&
rate,
122 const std::vector<EvalWell>&
cq_s,
126 void computePressureDelta();
131 const Properties&
props,
136 std::vector<Scalar> perf_densities_;
137 std::vector<Scalar> perf_pressure_diffs_;
Definition AquiferInterface.hpp:35
Definition DeferredLogger.hpp:57
Definition StandardWellConnections.hpp:42
Scalar rho() const
Returns density for first perforation.
Definition StandardWellConnections.hpp:74
Scalar pressure_diff(const unsigned perf) const
Returns pressure drop for a given perforation.
Definition StandardWellConnections.hpp:92
void computeProperties(const WellState &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, ...)
Definition StandardWellConnections.cpp:424
Scalar rho(const typename std::vector< Scalar >::size_type i) const
Returns density for specific perforation/connection.
Definition StandardWellConnections.hpp:84
DenseAd::DynamicEvaluation< Scalar, numStaticWellEq+Indices::numEq+1 > EvalWell
Evaluation for the well equations.
Definition StandardWellPrimaryVariables.hpp:86
The state of a set of wells, tailored for use by the fully implicit blackoil simulator.
Definition WellState.hpp:60
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition BlackoilPhases.hpp:27
Definition StandardWellConnections.hpp:47