Detailed Description

Next neighbor synchronization kernel without ghost particles.

This kernel conducts particle migrations if they move to another subdomain but does not generate ghost particles on overlap. This can be useful for particles without spatial extend like tracer particles.

#include <SyncNextNeighborsNoGhosts.h>

Public Member Functions

void operator() (data::ParticleStorage &ps, const domain::IDomain &domain) const
 
int64_t getBytesSent () const
 
int64_t getBytesReceived () const
 
int64_t getNumberOfSends () const
 
int64_t getNumberOfReceives () const
 

Private Member Functions

void generateSynchronizationMessages (walberla::mpi::BufferSystem &bs, data::ParticleStorage &ps, const domain::IDomain &domain) const
 

Private Attributes

std::vector< uint_tneighborRanks_
 
int numProcesses_ = walberla::mpi::MPIManager::instance()->numProcesses()
 cache for neighbor ranks -> will be updated in operator() More...
 
int rank_ = walberla::mpi::MPIManager::instance()->rank()
 
int64_t bytesSent_ = 0
 
int64_t bytesReceived_ = 0
 
int64_t numberOfSends_ = 0
 
int64_t numberOfReceives_ = 0
 

Member Function Documentation

◆ generateSynchronizationMessages()

void walberla::mesa_pd::mpi::SyncNextNeighborsNoGhosts::generateSynchronizationMessages ( walberla::mpi::BufferSystem bs,
data::ParticleStorage ps,
const domain::IDomain domain 
) const
private

◆ getBytesReceived()

int64_t walberla::mesa_pd::mpi::SyncNextNeighborsNoGhosts::getBytesReceived ( ) const
inline

◆ getBytesSent()

int64_t walberla::mesa_pd::mpi::SyncNextNeighborsNoGhosts::getBytesSent ( ) const
inline

◆ getNumberOfReceives()

int64_t walberla::mesa_pd::mpi::SyncNextNeighborsNoGhosts::getNumberOfReceives ( ) const
inline

◆ getNumberOfSends()

int64_t walberla::mesa_pd::mpi::SyncNextNeighborsNoGhosts::getNumberOfSends ( ) const
inline

◆ operator()()

void walberla::mesa_pd::mpi::SyncNextNeighborsNoGhosts::operator() ( data::ParticleStorage ps,
const domain::IDomain domain 
) const

Member Data Documentation

◆ bytesReceived_

int64_t walberla::mesa_pd::mpi::SyncNextNeighborsNoGhosts::bytesReceived_ = 0
mutableprivate

◆ bytesSent_

int64_t walberla::mesa_pd::mpi::SyncNextNeighborsNoGhosts::bytesSent_ = 0
mutableprivate

◆ neighborRanks_

std::vector<uint_t> walberla::mesa_pd::mpi::SyncNextNeighborsNoGhosts::neighborRanks_
mutableprivate

◆ numberOfReceives_

int64_t walberla::mesa_pd::mpi::SyncNextNeighborsNoGhosts::numberOfReceives_ = 0
mutableprivate

◆ numberOfSends_

int64_t walberla::mesa_pd::mpi::SyncNextNeighborsNoGhosts::numberOfSends_ = 0
mutableprivate

◆ numProcesses_

int walberla::mesa_pd::mpi::SyncNextNeighborsNoGhosts::numProcesses_ = walberla::mpi::MPIManager::instance()->numProcesses()
private

cache for neighbor ranks -> will be updated in operator()

◆ rank_

int walberla::mesa_pd::mpi::SyncNextNeighborsNoGhosts::rank_ = walberla::mpi::MPIManager::instance()->rank()
private

The documentation for this class was generated from the following files: