MPIDatatypes.impl.h File Reference

Detailed Description

Implementation of functions to generate MPI data types for fields.

Author
Christian Godenschwager

Namespaces

 walberla
 \file TimestepTracker.h \ingroup lbm \author Frederik Hennig frede.nosp@m.rik..nosp@m.henni.nosp@m.g@fa.nosp@m.u.de
 
 walberla::field
 
 walberla::field::communication
 

Functions

template<typename Field_T >
MPI_Datatype walberla::field::communication::mpiDatatypeSlice (const Field_T &field, const cell_idx_t xBeg, const cell_idx_t yBeg, const cell_idx_t zBeg, const cell_idx_t fBeg, const cell_idx_t xEnd, const cell_idx_t yEnd, const cell_idx_t zEnd, const cell_idx_t fEnd)
 Creates a MPI datatype to communicate an interval of cells of a Field. More...
 
template<typename Field_T >
MPI_Datatype walberla::field::communication::mpiDatatype (const Field_T &field)
 Creates a MPI datatype to communicate the contents of a whole Field. More...
 
template<typename Field_T >
MPI_Datatype walberla::field::communication::mpiDatatypeSliceXYZ (const Field_T &field, const CellInterval &interval, cell_idx_t f=0)
 Creates a MPI datatype to communicate an interval of cells of a Field. More...
 
template<typename Field_T >
MPI_Datatype walberla::field::communication::mpiDatatypeSliceXYZ (const Field_T &field, const CellInterval &interval, const cell_idx_t fBeg, const cell_idx_t fEnd)
 Creates a MPI datatype to communicate an interval of cells of a Field. More...
 
template<typename Field_T >
MPI_Datatype walberla::field::communication::mpiDatatypeSliceXYZ (const Field_T &field, const CellInterval &interval, const std::set< cell_idx_t > &fs)
 Creates a MPI datatype to communicate an interval of cells of a Field. More...
 
template<typename GhostLayerField_T >
MPI_Datatype walberla::field::communication::mpiDatatypeWithGhostLayer (const GhostLayerField_T &field)
 Creates a MPI datatype to communicate the contents of a whole GhostLayerField including its ghost layers. More...
 
template<typename GhostLayerField_T >
MPI_Datatype walberla::field::communication::mpiDatatypeWithGhostLayer (const GhostLayerField_T &field, const uint_t numGhostLayers)
 Creates a MPI datatype to communicate the contents of a whole GhostLayerField including some of its ghost layers. More...
 
template<typename GhostLayerField_T >
MPI_Datatype walberla::field::communication::mpiDatatypeGhostLayerOnly (const GhostLayerField_T &field, const stencil::Direction dir, const bool fullSlice=false)
 Creates a MPI datatype to communicate parts of the ghost layers of a GhostLayerField. More...
 
template<typename GhostLayerField_T >
MPI_Datatype walberla::field::communication::mpiDatatypeGhostLayerOnly (const GhostLayerField_T &field, const uint_t thickness, const stencil::Direction dir, const bool fullSlice=false)
 Creates a MPI datatype to communicate parts of the ghost layers of a GhostLayerField. More...
 
template<typename GhostLayerField_T >
MPI_Datatype walberla::field::communication::mpiDatatypeGhostLayerOnlyXYZ (const GhostLayerField_T &field, const stencil::Direction dir, const bool fullSlice=false, const cell_idx_t f=0)
 Creates a MPI datatype to communicate parts of the ghost layers of a GhostLayerField. More...
 
template<typename GhostLayerField_T >
MPI_Datatype walberla::field::communication::mpiDatatypeGhostLayerOnlyXYZ (const GhostLayerField_T &field, const stencil::Direction dir, const bool fullSlice, const cell_idx_t fBeg, const cell_idx_t fEnd)
 Creates a MPI datatype to communicate parts of the ghost layers of a GhostLayerField. More...
 
template<typename GhostLayerField_T >
MPI_Datatype walberla::field::communication::mpiDatatypeGhostLayerOnlyXYZ (const GhostLayerField_T &field, const stencil::Direction dir, const bool fullSlice, const std::set< cell_idx_t > &fs)
 Creates a MPI datatype to communicate parts of the ghost layers of a GhostLayerField. More...
 
template<typename GhostLayerField_T >
MPI_Datatype walberla::field::communication::mpiDatatypeSliceBeforeGhostlayer (const GhostLayerField_T &field, const stencil::Direction dir, const uint_t thickness=1, const bool fullSlice=false)
 Creates a MPI datatype to communicate inner parts if a GhostLayerField near the ghost layers. More...
 
template<typename GhostLayerField_T >
MPI_Datatype walberla::field::communication::mpiDatatypeSliceBeforeGhostlayerXYZ (const GhostLayerField_T &field, const stencil::Direction dir, const uint_t thickness=1, const cell_idx_t f=0, const bool fullSlice=false)
 Creates a MPI datatype to communicate inner parts if a GhostLayerField near the ghost layers. More...
 
template<typename GhostLayerField_T >
MPI_Datatype walberla::field::communication::mpiDatatypeSliceBeforeGhostlayerXYZ (const GhostLayerField_T &field, const stencil::Direction dir, const uint_t thickness, const cell_idx_t fBeg, const cell_idx_t fEnd, const bool fullSlice)
 Creates a MPI datatype to communicate inner parts if a GhostLayerField near the ghost layers. More...
 
template<typename GhostLayerField_T >
MPI_Datatype walberla::field::communication::mpiDatatypeSliceBeforeGhostlayerXYZ (const GhostLayerField_T &field, const stencil::Direction dir, const uint_t thickness, const std::set< cell_idx_t > &fs, const bool fullSlice)
 Creates a MPI datatype to communicate inner parts if a GhostLayerField near the ghost layers. More...