My Project
|
A factory for creating a global data representation for distributed wells. More...
#include <ParallelWellInfo.hpp>
Public Types | |
using | IndexSet = CommunicateAboveBelow::IndexSet |
using | Attribute = CommunicateAboveBelow::Attribute |
using | GlobalIndex = typename IndexSet::IndexPair::GlobalIndex |
Public Member Functions | |
GlobalPerfContainerFactory (const IndexSet &local_indices, const Parallel::Communication comm, int num_local_perfs) | |
Constructor. | |
std::vector< double > | createGlobal (const std::vector< double > &local_perf_container, std::size_t num_components) const |
Creates a container that holds values for all perforations. | |
void | copyGlobalToLocal (const std::vector< double > &global, std::vector< double > &local, std::size_t num_components) const |
Copies the values of the global perforation to the local representation. | |
int | numGlobalPerfs () const |
A factory for creating a global data representation for distributed wells.
Unfortunately, there are occassion where we need to compute sequential on a well even if the data is distributed. This class is supposed to help with that by computing the global data arrays for the well and copy computed values back to the distributed representation.
Opm::GlobalPerfContainerFactory::GlobalPerfContainerFactory | ( | const IndexSet & | local_indices, |
const Parallel::Communication | comm, | ||
int | num_local_perfs | ||
) |
Constructor.
local_indices | completely set up index set for map ecl index to local index |
void Opm::GlobalPerfContainerFactory::copyGlobalToLocal | ( | const std::vector< double > & | global, |
std::vector< double > & | local, | ||
std::size_t | num_components | ||
) | const |
Copies the values of the global perforation to the local representation.
global | values attached to all peforations of a well (as if the well would live on one process) | |
num_components | the number of components per perforation. | |
[out] | local | The values attached to the local perforations only. |
std::vector< double > Opm::GlobalPerfContainerFactory::createGlobal | ( | const std::vector< double > & | local_perf_container, |
std::size_t | num_components | ||
) | const |
Creates a container that holds values for all perforations.
local_perf_container | Container with values attached to the local perforations. |
num_components | the number of components per perforation. |