#include <RateConverter.hpp>
|
using | RegionId = typename RegionMapping< Region >::RegionId |
|
|
| SurfaceToReservoirVoidage (const PhaseUsage &phaseUsage, const Region ®ion) |
|
template<typename ElementContext , class Simulator > |
void | defineState (const Simulator &simulator) |
|
template<class Coeff > |
void | calcCoeff (const RegionId r, const int pvtRegionIdx, Coeff &coeff) const |
|
template<class Coeff , class Rates > |
void | calcCoeff (const RegionId r, const int pvtRegionIdx, const Rates &surface_rates, Coeff &coeff) const |
|
template<class Coeff > |
void | calcCoeff (const int pvtRegionIdx, const double p, const double rs, const double rv, const double rsw, const double rvw, const double T, const double saltConcentration, Coeff &coeff) const |
|
template<class Coeff > |
void | calcInjCoeff (const RegionId r, const int pvtRegionIdx, Coeff &coeff) const |
|
template<class Rates > |
void | calcReservoirVoidageRates (const RegionId r, const int pvtRegionIdx, const Rates &surface_rates, Rates &voidage_rates) const |
|
template<typename SurfaceRates , typename VoidageRates > |
void | calcReservoirVoidageRates (const int pvtRegionIdx, const double p, const double rs, const double rv, const double rsw, const double rvw, const double T, const double saltConcentration, const SurfaceRates &surface_rates, VoidageRates &voidage_rates) const |
|
template<class Rates > |
std::pair< double, double > | inferDissolvedVaporisedRatio (const double rsMax, const double rvMax, const Rates &surface_rates) const |
|
template<class SolventModule > |
void | calcCoeffSolvent (const RegionId r, const int pvtRegionIdx, double &coeff) const |
|
template<class FluidSystem, class Region>
class Opm::RateConverter::SurfaceToReservoirVoidage< FluidSystem, Region > Convert component rates at surface conditions to phase (voidage) rates at reservoir conditions.
The conversion uses fluid properties evaluated at average hydrocarbon pressure in regions or field.
- Template Parameters
-
FluidSystem | Fluid system class. Expected to be a BlackOilFluidSystem |
Region | Type of a forward region mapping. Expected to provide indexed access through as well as inner types value_type , size_type , and const_iterator . Typically . |
◆ RegionId
template<class FluidSystem , class Region >
Region identifier.
Integral type.
◆ SurfaceToReservoirVoidage()
template<class FluidSystem , class Region >
Constructor.
- Parameters
-
[in] | region | Forward region mapping. Often corresponds to the "FIPNUM" mapping of an ECLIPSE input deck. |
◆ calcCoeff() [1/3]
template<class FluidSystem , class Region >
template<class Coeff >
void Opm::RateConverter::SurfaceToReservoirVoidage< FluidSystem, Region >::calcCoeff |
( |
const int |
pvtRegionIdx, |
|
|
const double |
p, |
|
|
const double |
rs, |
|
|
const double |
rv, |
|
|
const double |
rsw, |
|
|
const double |
rvw, |
|
|
const double |
T, |
|
|
const double |
saltConcentration, |
|
|
Coeff & |
coeff |
|
) |
| const |
◆ calcCoeff() [2/3]
template<class FluidSystem , class Region >
template<class Coeff >
Compute coefficients for surface-to-reservoir voidage conversion.
- Template Parameters
-
Input | Type representing contiguous collection of component rates at surface conditions. Must support direct indexing through . |
Coeff | Type representing contiguous collection of surface-to-reservoir conversion coefficients. Must support direct indexing through . |
- Parameters
-
[in] | r | Fluid-in-place region of the well |
[in] | pvtRegionIdx | PVT region of the well |
[out] | coeff | Surface-to-reservoir conversion coefficients that can be used to compute total reservoir volumes from surface volumes with the formula q_{rT} = \sum_p coeff[p] q_{sp}. However, individual phase reservoir volumes cannot be calculated from these coefficients (i.e. q_{rp} is not equal to coeff[p] q_{sp}) since they can depend on more than one surface volume rate when we have dissolved gas or vaporized oil. |
◆ calcCoeff() [3/3]
template<class FluidSystem , class Region >
template<class Coeff , class Rates >
◆ calcCoeffSolvent()
template<class FluidSystem , class Region >
template<class SolventModule >
Compute coefficients for surface-to-reservoir voidage conversion for solvent.
- Parameters
-
[in] | r | Fluid-in-place region of the well |
[in] | pvtRegionIdx | PVT region of the well |
[out] | double | Surface-to-reservoir conversion coefficients for solvent. |
◆ calcInjCoeff()
template<class FluidSystem , class Region >
template<class Coeff >
◆ calcReservoirVoidageRates() [1/2]
template<class FluidSystem , class Region >
template<typename SurfaceRates , typename VoidageRates >
void Opm::RateConverter::SurfaceToReservoirVoidage< FluidSystem, Region >::calcReservoirVoidageRates |
( |
const int |
pvtRegionIdx, |
|
|
const double |
p, |
|
|
const double |
rs, |
|
|
const double |
rv, |
|
|
const double |
rsw, |
|
|
const double |
rvw, |
|
|
const double |
T, |
|
|
const double |
saltConcentration, |
|
|
const SurfaceRates & |
surface_rates, |
|
|
VoidageRates & |
voidage_rates |
|
) |
| const |
Convert surface volume flow rates to reservoir voidage flow rates.
State independent version.
- Template Parameters
-
Rates | Type representing contiguous collection of surface flow rates. Must support direct indexing through . |
- Parameters
-
[in] | pvtRegionIdx | PVT region. |
[in] | p | Fluid pressure. |
[in] | rs | Dissolved gas/oil ratio. |
[in] | rv | Vaporised oil/gas ratio. |
[in] | rsw | Dissolved gas/water ratio. |
[in] | rwv | Vaporised water/gas ratio. |
[in] | T | Temperature. Unused in non-thermal simulation runs. |
[in] | saltConcentration | Salt concentration. Unused in simulation runs without salt precipitation. |
[in] | surface_rates | Surface volume flow rates for all active phases. |
[out] | voidage_rates | Reservoir volume flow rates for all active phases. |
◆ calcReservoirVoidageRates() [2/2]
template<class FluidSystem , class Region >
template<class Rates >
Convert surface volume flow rates to reservoir voidage flow rates.
State dependent version. Client must call
void defineState(const Simulator &simulator) Definition: RateConverter.hpp:94
prior to invoking this member function.
- Template Parameters
-
Rates | Type representing contiguous collection of surface flow rates. Must support direct indexing through . |
- Parameters
-
[in] | r | Zero based fluid-in-place region index. |
[in] | pvtRegionIdx | Zero based PVT region index. |
[in] | surface_rates | surface volume flow rates for all active phases. |
[out] | voidage_rates | reservoir volume flow rates for all active phases. |
◆ defineState()
template<class FluidSystem , class Region >
template<typename ElementContext , class Simulator >
◆ inferDissolvedVaporisedRatio()
template<class FluidSystem , class Region >
template<class Rates >
The documentation for this class was generated from the following file:
|