Class VectorGhostCommunicator

Nested Relationships

Nested Types

Class Documentation

class VectorGhostCommunicator

Vector with allocation space for ghosts.

Public Functions

VectorGhostCommunicator(uint64_t local_size, uint64_t global_size, const std::vector<int64_t> &ghost_ids, const mpi::Communicator &communicator)
VectorGhostCommunicator(const VectorGhostCommunicator &other)

Copy constructor.

VectorGhostCommunicator(VectorGhostCommunicator &&other) noexcept

Move constructor.

inline uint64_t GetLocalSize() const
inline uint64_t GetGlobalSize() const
inline uint64_t GetNumGhosts() const
inline const std::vector<int64_t> &GetGhostIndices() const
inline const mpi::Communicator &GetCommunicator() const
int64_t MapGhostToLocal(int64_t ghost_id) const
void CommunicateGhostEntries(std::vector<double> &ghosted_vector) const
std::vector<double> MakeGhostedVector() const
std::vector<double> MakeGhostedVector(const std::vector<double> &local_vector) const

Protected Attributes

const uint64_t local_size_
const uint64_t global_size_
const std::vector<int64_t> ghost_ids_
const mpi::Communicator &comm_
const int location_id_
const int process_count_
const std::vector<uint64_t> extents_
const CachedParallelData cached_parallel_data_
struct CachedParallelData

Public Members

std::vector<int> sendcounts
std::vector<int> senddispls
std::vector<int> recvcounts
std::vector<int> recvdispls
std::vector<int64_t> local_ids_to_send
std::map<int64_t, size_t> ghost_to_recv_map