waLBerla 7.2
Loading...
Searching...
No Matches
MPIDatatypes.h File Reference

Detailed Description

Functions to generate MPI data types for fields.

Author
Christian Godenschwager

Namespaces

namespace  walberla
 Storage for detected contacts which can be used to perform actions for all contacts, e.g.
 
namespace  walberla::field
 
namespace  walberla::field::communication
 

Functions

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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.