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

walberla::mpi::BufferSystem bs = walberla::mpi::BufferSystem(walberla::mpi::MPIManager::instance()->comm() )
 
int numProcesses_ = walberla::mpi::MPIManager::instance()->numProcesses()
 

Member Function Documentation

int64_t walberla::mesa_pd::mpi::ReduceProperty::getBytesReceived ( ) const
inline
int64_t walberla::mesa_pd::mpi::ReduceProperty::getBytesSent ( ) const
inline
int64_t walberla::mesa_pd::mpi::ReduceProperty::getNumberOfReceives ( ) const
inline
int64_t walberla::mesa_pd::mpi::ReduceProperty::getNumberOfSends ( ) const
inline
template<typename Notification >
void walberla::mesa_pd::mpi::ReduceProperty::operator() ( data::ParticleStorage ps) const

Member Data Documentation

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

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