Opm::WellDensitySegmented Class Reference

A class giving a well model, by which we mean a way to compute the pressure deltas of each perforation and the bottom-hole pressure. More...

#include <WellDensitySegmented.hpp>

Static Public Member Functions

static std::vector< double > computeConnectionDensities (const Wells &wells, const PhaseUsage &phase_usage, const std::vector< double > &perfComponentRates, const std::vector< double > &b_perf, const std::vector< double > &rsmax_perf, const std::vector< double > &rvmax_perf, const std::vector< double > &surf_dens_perf)
 Compute well segment densities Notation: N = number of perforations, C = number of components. More...
 
static std::vector< double > computeConnectionDensities (const Wells &wells, const WellStateFullyImplicitBlackoilSolvent &wstate, const PhaseUsage &phase_usage, const std::vector< double > &b_perf, const std::vector< double > &rsmax_perf, const std::vector< double > &rvmax_perf, const std::vector< double > &surf_dens_perf)
 Compute well segment densities for solvent model Notation: N = number of perforations, P = number of phases. More...
 
static std::vector< double > computeConnectionPressureDelta (const Wells &wells, const std::vector< double > &z_perf, const std::vector< double > &dens_perf, const double gravity)
 Compute pressure deltas. More...
 

Detailed Description

A class giving a well model, by which we mean a way to compute the pressure deltas of each perforation and the bottom-hole pressure.

This class contains an explicit model, that uses a different density for each well segment, that is between each pair of perforations.

Member Function Documentation

◆ computeConnectionDensities() [1/2]

std::vector< double > Opm::WellDensitySegmented::computeConnectionDensities ( const Wells &  wells,
const PhaseUsage &  phase_usage,
const std::vector< double > &  perfComponentRates,
const std::vector< double > &  b_perf,
const std::vector< double > &  rsmax_perf,
const std::vector< double > &  rvmax_perf,
const std::vector< double > &  surf_dens_perf 
)
static

Compute well segment densities Notation: N = number of perforations, C = number of components.

Parameters
[in]wellsstruct with static well info
[in]well_rateswell rates for actiev components, size NC, P values per perforation
[in]phase_usagespecifies which phases are active and not
[in]b_perfinverse ('little b') formation volume factor, size NC, P values per perforation
[in]rsmax_perfsaturation point for rs (gas in oil) at each perforation, size N
[in]rvmax_perfsaturation point for rv (oil in gas) at each perforation, size N
[in]surf_denssurface densities for active components, size NC, C values per perforation

◆ computeConnectionDensities() [2/2]

std::vector< double > Opm::WellDensitySegmented::computeConnectionDensities ( const Wells &  wells,
const WellStateFullyImplicitBlackoilSolvent wstate,
const PhaseUsage &  phase_usage,
const std::vector< double > &  b_perf,
const std::vector< double > &  rsmax_perf,
const std::vector< double > &  rvmax_perf,
const std::vector< double > &  surf_dens_perf 
)
static

Compute well segment densities for solvent model Notation: N = number of perforations, P = number of phases.

Parameters
[in]wellsstruct with static well info
[in]wstatedynamic well solution information, perfRates() and solventFraction() is used
[in]phase_usagespecifies which phases are active and not
[in]b_perfinverse ('little b') formation volume factor, size NP, P values per perforation
[in]rsmax_perfsaturation point for rs (gas in oil) at each perforation, size N
[in]rvmax_perfsaturation point for rv (oil in gas) at each perforation, size N
[in]surf_denssurface densities for active components, size NP, P values per perforation

◆ computeConnectionPressureDelta()

std::vector< double > Opm::WellDensitySegmented::computeConnectionPressureDelta ( const Wells &  wells,
const std::vector< double > &  z_perf,
const std::vector< double > &  dens_perf,
const double  gravity 
)
static

Compute pressure deltas.

Notation: N = number of perforations

Parameters
[in]wellsstruct with static well info
[in]z_perfdepth values for each perforation, size N
[in]dens_perfdensities for each perforation, size N (typically computed using computeConnectionDensities)
[in]gravitygravity acceleration constant

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