mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Support Using Different Types for Surface and Reservoir Rates
Simplifies using pointers here.
This commit is contained in:
parent
3c31b7bafe
commit
7d9beb3506
@ -422,18 +422,16 @@ namespace Opm {
|
||||
* \param[out] voidage_rates Reservoir volume flow rates for all
|
||||
* active phases.
|
||||
*/
|
||||
template <class Rates>
|
||||
template <typename SurfaceRates, typename VoidageRates>
|
||||
void calcReservoirVoidageRates(const int pvtRegionIdx,
|
||||
const double p,
|
||||
const double rs,
|
||||
const double rv,
|
||||
const double T,
|
||||
const double saltConcentration,
|
||||
const Rates& surface_rates,
|
||||
Rates& voidage_rates) const
|
||||
const SurfaceRates& surface_rates,
|
||||
VoidageRates& voidage_rates) const
|
||||
{
|
||||
std::fill(voidage_rates.begin(), voidage_rates.end(), 0.0);
|
||||
|
||||
const auto& pu = this->phaseUsage_;
|
||||
const auto iw = RegionAttributeHelpers::PhasePos::water(pu);
|
||||
const auto io = RegionAttributeHelpers::PhasePos::oil (pu);
|
||||
@ -442,6 +440,8 @@ namespace Opm {
|
||||
const auto [Rs, Rv] = this->
|
||||
dissolvedVaporisedRatio(io, ig, rs, rv, surface_rates);
|
||||
|
||||
std::fill_n(&voidage_rates[0], pu.num_phases, 0.0);
|
||||
|
||||
if (RegionAttributeHelpers::PhaseUsed::water(pu)) {
|
||||
// q[w]_r = q[w]_s / bw
|
||||
const auto bw = FluidSystem::waterPvt()
|
||||
|
Loading…
Reference in New Issue
Block a user