Detailed Description

Reduce a property from all ghost particles to the corresponding master particle.

Attention
This kernel does not broadcast the reduced property to all ghost particles. Use BroadcastProperty or SyncNextNeighbors for that.
Usage:
The property which will be reduced can be selected by the Notification template (see ForceTorqueNotification). void reduce(data::Particle&& p, const Notification::Parameters& objparam) will be called to reduce the all incoming properties.
Precondition
  • the property is up to date on all ghost particles
Postcondition
  • the property at all ghost particles stays unchanged
  • the property at the master particle is the reduced one

#include <ReduceProperty.h>

Public Member Functions

template<typename Notification >
void operator() (data::ParticleStorage &ps) const
 
int64_t getBytesSent () const
 
int64_t getBytesReceived () const
 
int64_t getNumberOfSends () const
 
int64_t getNumberOfReceives () const
 

Private Attributes

int numProcesses_ = walberla::mpi::MPIManager::instance()->numProcesses()
 
int64_t bytesSent_ = 0
 
int64_t bytesReceived_ = 0
 
int64_t numberOfSends_ = 0
 
int64_t numberOfReceives_ = 0
 

Member Function Documentation

◆ getBytesReceived()

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

◆ getBytesSent()

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

◆ getNumberOfReceives()

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

◆ getNumberOfSends()

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

◆ operator()()

template<typename Notification >
void walberla::mesa_pd::mpi::ReduceProperty::operator() ( data::ParticleStorage ps) const

Member Data Documentation

◆ bytesReceived_

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

◆ bytesSent_

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

◆ numberOfReceives_

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

◆ numberOfSends_

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

◆ numProcesses_

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

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