walberla::lbm::refinement::TimeStepPdfPackInfo Class Referenceabstract

#include <TimeStepPdfPackInfo.h>

+ Inheritance diagram for walberla::lbm::refinement::TimeStepPdfPackInfo:

Public Member Functions

virtual bool optimizedEqualLevelCommunication () const =0
 
virtual void optimizeEqualLevelCommunication (const bool value=true)=0
 
virtual bool optimizedForLinearExplosion () const =0
 
virtual void optimizeForLinearExplosion (const bool value=true)=0
 
- 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...
 
virtual void unpackDataEqualLevel (Block *receiver, stencil::Direction dir, mpi::RecvBuffer &buffer)=0
 If NOT thread-safe, threadsafeReceiving must return false! More...
 
virtual void communicateLocalEqualLevel (const Block *sender, Block *receiver, stencil::Direction dir)=0
 If NOT thread-safe, threadsafeReceiving must return false! More...
 
void packDataCoarseToFine (const Block *coarseSender, const BlockID &fineReceiver, stencil::Direction dir, mpi::SendBuffer &buffer) const
 
virtual void unpackDataCoarseToFine (Block *fineReceiver, const BlockID &coarseSender, stencil::Direction dir, mpi::RecvBuffer &buffer)=0
 
virtual void communicateLocalCoarseToFine (const Block *coarseSender, Block *fineReceiver, stencil::Direction dir)=0
 
void packDataFineToCoarse (const Block *fineSender, const BlockID &coarseReceiver, stencil::Direction dir, mpi::SendBuffer &buffer) const
 
virtual void unpackDataFineToCoarse (Block *coarseReceiver, const BlockID &fineSender, stencil::Direction dir, mpi::RecvBuffer &buffer)=0
 
virtual void communicateLocalFineToCoarse (const Block *fineSender, Block *coarseReceiver, stencil::Direction dir)=0
 
void clearBufferSizeCheckMap ()
 

Additional Inherited Members

- Protected Member Functions inherited from walberla::blockforest::communication::NonUniformPackInfo
virtual void packDataEqualLevelImpl (const Block *sender, stencil::Direction dir, mpi::SendBuffer &buffer) const =0
 Must be thread-safe! More...
 
virtual void packDataCoarseToFineImpl (const Block *coarseSender, const BlockID &fineReceiver, stencil::Direction dir, mpi::SendBuffer &buffer) const =0
 
virtual void packDataFineToCoarseImpl (const Block *fineSender, const BlockID &coarseReceiver, stencil::Direction dir, mpi::SendBuffer &buffer) const =0
 
- Protected Attributes inherited from walberla::blockforest::communication::NonUniformPackInfo
std::map< const Block *, std::map< stencil::Direction, std::map< uint_t, size_t > > > bufferSize_
 

Member Function Documentation

◆ optimizedEqualLevelCommunication()

virtual bool walberla::lbm::refinement::TimeStepPdfPackInfo::optimizedEqualLevelCommunication ( ) const
pure virtual

◆ optimizedForLinearExplosion()

virtual bool walberla::lbm::refinement::TimeStepPdfPackInfo::optimizedForLinearExplosion ( ) const
pure virtual

◆ optimizeEqualLevelCommunication()

virtual void walberla::lbm::refinement::TimeStepPdfPackInfo::optimizeEqualLevelCommunication ( const bool  value = true)
pure virtual

◆ optimizeForLinearExplosion()

virtual void walberla::lbm::refinement::TimeStepPdfPackInfo::optimizeForLinearExplosion ( const bool  value = true)
pure virtual

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