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_t > | neighborRanks_ |
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 |
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
void walberla::mesa_pd::mpi::SyncNextNeighborsNoGhosts::operator() | ( | data::ParticleStorage & | ps, |
const domain::IDomain & | domain | ||
) | const |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
private |
cache for neighbor ranks -> will be updated in operator()
|
private |