My Project
|
Accumulate weighted running averages of cell contributions to WBP. More...
#include <PAvgCalculator.hpp>
Public Types | |
using | LocalRunningAverages = std::array< Scalar, 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. | |
Accumulator & | operator= (const Accumulator &rhs) |
Assignment operator. | |
Accumulator & | operator= (Accumulator &&rhs) |
Move assignment operator. | |
Accumulator & | addCentre (const Scalar weight, const Scalar press) |
Add contribution from centre/connecting cell. | |
Accumulator & | addRectangular (const Scalar weight, const Scalar press) |
Add contribution from direct, rectangular, level 1 neighbouring cell. | |
Accumulator & | addDiagonal (const Scalar weight, const Scalar press) |
Add contribution from diagonal, level 2 neighbouring cell. | |
Accumulator & | add (const Scalar 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 Scalar 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. | |
PAvgCalculatorResult< Scalar > | getFinalResult () const |
Calculate final WBP results from individual contributions. | |
Accumulate weighted running averages of cell contributions to WBP.
using Opm::PAvgCalculator< Scalar >::Accumulator::LocalRunningAverages = std::array<Scalar, 8> |
Collection of running averages and their associate weights.
Intended primarily as a means of exchanging intermediate results in a parallel run.
Opm::PAvgCalculator< Scalar >::Accumulator::Accumulator | ( | const Accumulator & | rhs | ) |
Copy constructor.
[in] | rhs | Source object |
Opm::PAvgCalculator< Scalar >::Accumulator::Accumulator | ( | Accumulator && | rhs | ) |
Move constructor.
[in,out] | rhs | Source object. Nullified on exit. |
PAvgCalculator< Scalar >::Accumulator & Opm::PAvgCalculator< Scalar >::Accumulator::add | ( | const Scalar | 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.
[in] | weight | Pressure weighting factor |
[in] | other | Contribution from other accumulation process. |
PAvgCalculator< Scalar >::Accumulator & Opm::PAvgCalculator< Scalar >::Accumulator::addCentre | ( | const Scalar | weight, |
const Scalar | press | ||
) |
Add contribution from centre/connecting cell.
[in] | weight | Pressure weighting factor |
[in] | press | Pressure value |
PAvgCalculator< Scalar >::Accumulator & Opm::PAvgCalculator< Scalar >::Accumulator::addDiagonal | ( | const Scalar | weight, |
const Scalar | press | ||
) |
Add contribution from diagonal, level 2 neighbouring cell.
[in] | weight | Pressure weighting factor |
[in] | press | Pressure value |
PAvgCalculator< Scalar >::Accumulator & Opm::PAvgCalculator< Scalar >::Accumulator::addRectangular | ( | const Scalar | weight, |
const Scalar | press | ||
) |
Add contribution from direct, rectangular, level 1 neighbouring cell.
[in] | weight | Pressure weighting factor |
[in] | press | Pressure value |
void Opm::PAvgCalculator< Scalar >::Accumulator::assignRunningAverages | ( | const LocalRunningAverages & | avg | ) |
Assign coalesced/global contributions.
[in] | avg | Buffer of coalesced global contributions. |
void Opm::PAvgCalculator< Scalar >::Accumulator::commitContribution | ( | const Scalar | innerWeight = -1.0 | ) |
Accumulate current source term into result buffer whilst applying any user-prescribed term weighting.
[in] | innerWeight | Weighting 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. |
PAvgCalculatorResult< Scalar > Opm::PAvgCalculator< Scalar >::Accumulator::getFinalResult | ( | ) | const |
Calculate final WBP results from individual contributions.
PAvgCalculator< Scalar >::Accumulator & Opm::PAvgCalculator< Scalar >::Accumulator::operator= | ( | Accumulator && | rhs | ) |
Move assignment operator.
[in,out] | rhs | Source object. Nullified on exit. |
PAvgCalculator< Scalar >::Accumulator & Opm::PAvgCalculator< Scalar >::Accumulator::operator= | ( | const Accumulator & | rhs | ) |
Assignment operator.
[in] | rhs | Source object |