walberla::lbm::refinement::PdfFieldSyncPackInfo< LatticeModel_T > Class Template Reference

#include <PdfFieldSyncPackInfo.h>

+ Inheritance diagram for walberla::lbm::refinement::PdfFieldSyncPackInfo< LatticeModel_T >:

Public Member Functions

 PdfFieldSyncPackInfo (const BlockDataID &fieldId)
 
- Public Member Functions inherited from walberla::field::refinement::PackInfo< PdfField< LatticeModel_T >, LatticeModel_T::Stencil >
 PackInfo (const BlockDataID &fieldId)
 
 ~PackInfo () override=default
 
bool constantDataExchange () const override
 Should return true if the amount of data that is packed for a given block in direction "dir" is guaranteed to remain constant over time. More...
 
bool threadsafeReceiving () const override
 Must return false if calling unpackData and/or communicateLocal is not thread-safe. More...
 
void unpackDataEqualLevel (Block *receiver, stencil::Direction dir, mpi::RecvBuffer &buffer) override
 If NOT thread-safe, threadsafeReceiving must return false! More...
 
void communicateLocalEqualLevel (const Block *sender, Block *receiver, stencil::Direction dir) override
 If NOT thread-safe, threadsafeReceiving must return false! More...
 
void unpackDataCoarseToFine (Block *fineReceiver, const BlockID &coarseSender, stencil::Direction dir, mpi::RecvBuffer &buffer) override
 
void communicateLocalCoarseToFine (const Block *coarseSender, Block *fineReceiver, stencil::Direction dir) override
 
void unpackDataFineToCoarse (Block *coarseReceiver, const BlockID &fineSender, stencil::Direction dir, mpi::RecvBuffer &buffer) override
 
void communicateLocalFineToCoarse (const Block *fineSender, Block *coarseReceiver, stencil::Direction dir) override
 
- Public Member Functions inherited from walberla::blockforest::communication::NonUniformPackInfo
 NonUniformPackInfo ()=default
 
virtual ~NonUniformPackInfo ()=default
 
virtual bool constantDataExchange () const =0
 Should return true if the amount of data that is packed for a given block in direction "dir" is guaranteed to remain constant over time. More...
 
virtual bool threadsafeReceiving () const =0
 Must return false if calling unpackData and/or communicateLocal is not thread-safe. More...
 
void packDataEqualLevel (const Block *sender, stencil::Direction dir, mpi::SendBuffer &buffer) const
 Must be thread-safe! Calls packDataImpl. More...
 
void packDataCoarseToFine (const Block *coarseSender, const BlockID &fineReceiver, stencil::Direction dir, mpi::SendBuffer &buffer) const
 
void packDataFineToCoarse (const Block *fineSender, const BlockID &coarseReceiver, stencil::Direction dir, mpi::SendBuffer &buffer) const
 
void clearBufferSizeCheckMap ()
 

Additional Inherited Members

- Protected Member Functions inherited from walberla::field::refinement::PackInfo< PdfField< LatticeModel_T >, LatticeModel_T::Stencil >
void packDataEqualLevelImpl (const Block *sender, stencil::Direction dir, mpi::SendBuffer &buffer) const override
 Must be thread-safe! More...
 
void packDataCoarseToFineImpl (const Block *coarseSender, const BlockID &fineReceiver, stencil::Direction dir, mpi::SendBuffer &buffer) const override
 
void packDataFineToCoarseImpl (const Block *fineSender, const BlockID &coarseReceiver, stencil::Direction dir, mpi::SendBuffer &buffer) const override
 
- Protected Member Functions inherited from walberla::blockforest::communication::NonUniformPackInfo
- Static Protected Member Functions inherited from walberla::field::refinement::PackInfo< PdfField< LatticeModel_T >, LatticeModel_T::Stencil >
static CellInterval equalLevelPackInterval (stencil::Direction dir, const CellInterval &cellBB, const uint_t numberOfLayers)
 
static CellInterval equalLevelUnpackInterval (stencil::Direction dir, const CellInterval &cellBB, const uint_t numberOfLayers)
 
static Vector3< cell_idx_tgetNeighborShift (const BlockID &smallBlock, stencil::Direction dir)
 
static CellInterval coarseToFinePackInterval (stencil::Direction dir, const CellInterval &cellBB, const BlockID &smallBlock)
 
static CellInterval coarseToFineUnpackInterval (stencil::Direction dir, const CellInterval &cellBB, const BlockID &smallBlock)
 
static CellInterval fineToCoarsePackInterval (stencil::Direction dir, const CellInterval &cellBB)
 
static CellInterval fineToCoarseUnpackInterval (stencil::Direction dir, const CellInterval &cellBB, const BlockID &smallBlock)
 
static bool isFaceDirection (stencil::Direction dir)
 
static bool isEdgeDirection (stencil::Direction dir)
 
static bool isCornerDirection (stencil::Direction dir)
 
static bool blocksConnectedByFaces (const Block *block, const BlockID &neighbor)
 
static bool blocksConnectedByEdges (const Block *block, const BlockID &neighbor)
 
static bool divisibleByTwo (const CellInterval &cellBB)
 
static bool coarserNeighborExists (const Block *block, stencil::Direction dir)
 
- Protected Attributes inherited from walberla::field::refinement::PackInfo< PdfField< LatticeModel_T >, LatticeModel_T::Stencil >
const BlockDataID fieldId_
 
- Protected Attributes inherited from walberla::blockforest::communication::NonUniformPackInfo
std::map< const Block *, std::map< stencil::Direction, std::map< uint_t, size_t > > > bufferSize_
 

Constructor & Destructor Documentation

◆ PdfFieldSyncPackInfo()

template<typename LatticeModel_T >
walberla::lbm::refinement::PdfFieldSyncPackInfo< LatticeModel_T >::PdfFieldSyncPackInfo ( const BlockDataID fieldId)
inline

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