Facility for calculating volume-weighted average function values over user-defined regions in parallel.
More...
#include <RegionPhasePVAverage.hpp>
|
| struct | CellValue |
| | Minimal characteristics of a cell from a simulation grid. More...
|
| struct | Phase |
| | Compile-time disambiguation type for phases. More...
|
| struct | Region |
| | Compile-time disambiguation type for regions. More...
|
|
|
using | RegionArrayAccessor = std::function<const std::vector<int>&(const std::string&)> |
| | Call-back function type for accessing region arrays–typically the FIP* arrays.
|
|
| | RegionPhasePoreVolAverage (const Parallel::Communication &comm, std::size_t numPhases, const std::vector< std::string > ®ionNames, RegionArrayAccessor getRegionArray) |
| | Constructor.
|
| double | fieldValue (const Phase &p) const |
| | Retrieve field-level average function value for specific phase.
|
| double | value (std::string_view rset, const Phase &p, const Region &r) const |
| | Retrieve region-level average function value for specific phase in specific region of named region set.
|
|
void | prepareAccumulation () |
| | Clear internal arrays in preparation of accumulating region-level averages from per-cell contributions.
|
| void | addCell (std::size_t activeCell, const Phase &p, const CellValue &cv) |
| | Incorporate contributions from a single cell.
|
| void | accumulateParallel () |
| | Accumulate region-level average values across MPI ranks.
|
Facility for calculating volume-weighted average function values over user-defined regions in parallel.
Defaults to phase-filled pore-volume averages, but falls back to simple pore-volume averages if the saturation is identically zero in a region–i.e., calculates what the average value would be if the phase fully occupied the available pore-volume in this case.
◆ RegionPhasePoreVolAverage()
| Opm::RegionPhasePoreVolAverage::RegionPhasePoreVolAverage |
( |
const Parallel::Communication & | comm, |
|
|
std::size_t | numPhases, |
|
|
const std::vector< std::string > & | regionNames, |
|
|
RegionArrayAccessor | getRegionArray ) |
|
explicit |
Constructor.
- Parameters
-
| [in] | comm | Grid level global communicator. |
| [in] | numPhases | Number of phases for which to calculate average values. |
| [in] | regionNames | List of region sets. Typically contains one or more of the FIP* array names and, possibly, the PVTNUM region set as well. |
| [in] | getRegionArray | Call-back function for accessing region definition from region set names. |
◆ accumulateParallel()
| void Opm::RegionPhasePoreVolAverage::accumulateParallel |
( |
| ) |
|
Accumulate region-level average values across MPI ranks.
Typically the last step in calculating the region-level average values. It is typically an error to call this function multiple times without an intervening call to prepareAccumulation().
◆ addCell()
| void Opm::RegionPhasePoreVolAverage::addCell |
( |
std::size_t | activeCell, |
|
|
const Phase & | p, |
|
|
const CellValue & | cv ) |
Incorporate contributions from a single cell.
- Parameters
-
| [in] | activeCell | Per-rank active cell ID–typically one of the rank's interior cells. |
| [in] | p | Phase for which to incorporate the per-cell contribution. |
| [in] | cv | Single cell function value contribution. |
◆ fieldValue()
| double Opm::RegionPhasePoreVolAverage::fieldValue |
( |
const Phase & | p | ) |
const |
Retrieve field-level average function value for specific phase.
- Parameters
-
| [in] | p | Phase for which to retrieve the field-level average function value. |
- Returns
- Field-level average function value for phase
p.
◆ value()
| double Opm::RegionPhasePoreVolAverage::value |
( |
std::string_view | rset, |
|
|
const Phase & | p, |
|
|
const Region & | r ) const |
Retrieve region-level average function value for specific phase in specific region of named region set.
- Parameters
-
| [in] | rset | Named region set–e.g., "FIPNUM". |
| [in] | p | Phase for which to retrieve the region-level average function value. |
| [in] | r | Region ID for which to retrieve the region-level average function value. |
- Returns
- Region-level average function value.
The documentation for this class was generated from the following files: