My Project
Loading...
Searching...
No Matches
Opm::PAvgCalculator::Accumulator Class Reference

Accumulate weighted running averages of cell contributions to WBP. More...

#include <PAvgCalculator.hpp>

Public Types

using LocalRunningAverages = std::array< double, 8 >
 Collection of running averages and their associate weights.
 

Public Member Functions

 Accumulator ()
 Constructor.
 
 ~Accumulator ()
 Destructor.
 
 Accumulator (const Accumulator &rhs)
 Copy constructor.
 
 Accumulator (Accumulator &&rhs)
 Move constructor.
 
Accumulatoroperator= (const Accumulator &rhs)
 Assignment operator.
 
Accumulatoroperator= (Accumulator &&rhs)
 Move assignment operator.
 
AccumulatoraddCentre (const double weight, const double press)
 Add contribution from centre/connecting cell.
 
AccumulatoraddRectangular (const double weight, const double press)
 Add contribution from direct, rectangular, level 1 neighbouring cell.
 
AccumulatoraddDiagonal (const double weight, const double press)
 Add contribution from diagonal, level 2 neighbouring cell.
 
Accumulatoradd (const double weight, const Accumulator &other)
 Add contribution from other accumulator.
 
void prepareAccumulation ()
 Zero out/clear WBP result buffer.
 
void prepareContribution ()
 Zero out/clear WBP term buffer.
 
void commitContribution (const double innerWeight=-1.0)
 Accumulate current source term into result buffer whilst applying any user-prescribed term weighting.
 
LocalRunningAverages getRunningAverages () const
 Get buffer of intermediate, local results.
 
void assignRunningAverages (const LocalRunningAverages &avg)
 Assign coalesced/global contributions.
 
Result getFinalResult () const
 Calculate final WBP results from individual contributions.
 

Detailed Description

Accumulate weighted running averages of cell contributions to WBP.

Member Typedef Documentation

◆ LocalRunningAverages

Collection of running averages and their associate weights.

Intended primarily as a means of exchanging intermediate results in a parallel run.

Constructor & Destructor Documentation

◆ Accumulator() [1/2]

Opm::PAvgCalculator::Accumulator::Accumulator ( const Accumulator rhs)

Copy constructor.

Parameters
[in]rhsSource object

◆ Accumulator() [2/2]

Opm::PAvgCalculator::Accumulator::Accumulator ( Accumulator &&  rhs)

Move constructor.

Parameters
[in,out]rhsSource object. Nullified on exit.

Member Function Documentation

◆ add()

PAvgCalculator::Accumulator & Opm::PAvgCalculator::Accumulator::add ( const double  weight,
const Accumulator other 
)

Add contribution from other accumulator.

This typically incorporates a set of results from a single reservoir connection into a larger sum across all connections.

Parameters
[in]weightPressure weighting factor
[in]otherContribution from other accumulation process.
Returns
*this

◆ addCentre()

PAvgCalculator::Accumulator & Opm::PAvgCalculator::Accumulator::addCentre ( const double  weight,
const double  press 
)

Add contribution from centre/connecting cell.

Parameters
[in]weightPressure weighting factor
[in]pressPressure value
Returns
*this

◆ addDiagonal()

PAvgCalculator::Accumulator & Opm::PAvgCalculator::Accumulator::addDiagonal ( const double  weight,
const double  press 
)

Add contribution from diagonal, level 2 neighbouring cell.

Parameters
[in]weightPressure weighting factor
[in]pressPressure value
Returns
*this

◆ addRectangular()

PAvgCalculator::Accumulator & Opm::PAvgCalculator::Accumulator::addRectangular ( const double  weight,
const double  press 
)

Add contribution from direct, rectangular, level 1 neighbouring cell.

Parameters
[in]weightPressure weighting factor
[in]pressPressure value
Returns
*this

◆ assignRunningAverages()

void Opm::PAvgCalculator::Accumulator::assignRunningAverages ( const LocalRunningAverages avg)

Assign coalesced/global contributions.

Parameters
[in]avgBuffer of coalesced global contributions.

◆ commitContribution()

void Opm::PAvgCalculator::Accumulator::commitContribution ( const double  innerWeight = -1.0)

Accumulate current source term into result buffer whilst applying any user-prescribed term weighting.

Parameters
[in]innerWeightWeighting factor for inner/connecting cell contributions. Outer cells weighted by 1-innerWeight where applicable. If inner weight factor is negative, no weighting is applied. Typically the F1 weighting factor from the WPAVE keyword. Default value (-1) mainly applicable to PV-weighted accumulations.

◆ getFinalResult()

PAvgCalculator::Result Opm::PAvgCalculator::Accumulator::getFinalResult ( ) const

Calculate final WBP results from individual contributions.

Returns
New result object.

◆ operator=() [1/2]

PAvgCalculator::Accumulator & Opm::PAvgCalculator::Accumulator::operator= ( Accumulator &&  rhs)

Move assignment operator.

Parameters
[in,out]rhsSource object. Nullified on exit.

◆ operator=() [2/2]

PAvgCalculator::Accumulator & Opm::PAvgCalculator::Accumulator::operator= ( const Accumulator rhs)

Assignment operator.

Parameters
[in]rhsSource object

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