Class to facilitate getting values associated with the above/below perforation.
More...
#include <ParallelWellInfo.hpp>
|
enum | Attribute { owner =1
, overlap =2
, ownerAbove = 3
, overlapAbove = 4
} |
|
using | MPIComm = typename Dune::MPIHelper::MPICommunicator |
|
using | Communication = Dune::CollectiveCommunication< MPIComm > |
|
using | LocalIndex = Dune::ParallelLocalIndex< Attribute > |
|
using | IndexSet = Dune::ParallelIndexSet< int, LocalIndex, 50 > |
|
|
| CommunicateAboveBelow (const Communication &comm) |
|
void | pushBackEclIndex (int above, int current, bool owner=true) |
| Adds information about original index of the perforations in ECL Schedule. More...
|
|
void | clear () |
| Clear all the parallel information.
|
|
void | beginReset () |
| Indicates that we will add the index information. More...
|
|
int | endReset () |
| Indicates that the index information is complete. More...
|
|
std::vector< double > | communicateAbove (double first_value, const double *current, std::size_t size) |
| Creates an array of values for the perforation above. More...
|
|
std::vector< double > | communicateBelow (double first_value, const double *current, std::size_t size) |
| Creates an array of values for the perforation below. More...
|
|
template<class RAIterator > |
void | partialSumPerfValues (RAIterator begin, RAIterator end) const |
| Do a (in place) partial sum on values attached to all perforations. More...
|
|
const IndexSet & | getIndexSet () const |
| Get index set for the local perforations.
|
|
int | numLocalPerfs () const |
|
Class to facilitate getting values associated with the above/below perforation.
◆ beginReset()
void Opm::CommunicateAboveBelow::beginReset |
( |
| ) |
|
◆ communicateAbove()
std::vector< double > Opm::CommunicateAboveBelow::communicateAbove |
( |
double |
first_value, |
|
|
const double * |
current, |
|
|
std::size_t |
size |
|
) |
| |
Creates an array of values for the perforation above.
- Parameters
-
first_value | Value to use for above of the first perforation |
current | C-array of the values at the perforations |
size | The size of the C-array and the returned vector |
- Returns
- a vector containing the values for the perforation above.
◆ communicateBelow()
std::vector< double > Opm::CommunicateAboveBelow::communicateBelow |
( |
double |
first_value, |
|
|
const double * |
current, |
|
|
std::size_t |
size |
|
) |
| |
Creates an array of values for the perforation below.
- Parameters
-
first_value | Value to use for above of the first perforation |
current | C-array of the values at the perforations |
size | The size of the C-array and the returned vector |
- Returns
- a vector containing the values for the perforation above.
◆ endReset()
int Opm::CommunicateAboveBelow::endReset |
( |
| ) |
|
Indicates that the index information is complete.
Sets up the commmunication structures to be used by communicate()
- Returns
- The number of local perforations
◆ partialSumPerfValues()
template<class RAIterator >
void Opm::CommunicateAboveBelow::partialSumPerfValues |
( |
RAIterator |
begin, |
|
|
RAIterator |
end |
|
) |
| const |
|
inline |
Do a (in place) partial sum on values attached to all perforations.
For distributed wells this may include perforations stored elsewhere. The result is stored in ther range given as the parameters
- Parameters
-
begin | The start of the range |
ebd | The end of the range |
- Template Parameters
-
RAIterator | The type og random access iterator |
◆ pushBackEclIndex()
void Opm::CommunicateAboveBelow::pushBackEclIndex |
( |
int |
above, |
|
|
int |
current, |
|
|
bool |
owner = true |
|
) |
| |
Adds information about original index of the perforations in ECL Schedule.
- Warning
- Theses indices need to be push in the same order as they appear in the ECL well specifiation. Use -1 if there is no perforation above.
- Parameters
-
above | The ECL index of the next open perforation above. |
current | The ECL index of the current open perforation. |
The documentation for this class was generated from the following files: