walberla::blockforest::internal::UniformBufferedSchemeWrapper< Stencil > Class Template Reference

Detailed Description

template<typename Stencil>
class walberla::blockforest::internal::UniformBufferedSchemeWrapper< Stencil >

the purpose of this class could also be solved by adding return_internal_reference to "createUniformDirectScheme" however this is not easily possible since it returns not a reference but an py::object

#include <BlockForestCommunicationExport.impl.h>

+ Inheritance diagram for walberla::blockforest::internal::UniformBufferedSchemeWrapper< Stencil >:

Public Member Functions

 UniformBufferedSchemeWrapper (const shared_ptr< StructuredBlockForest > &bf, const int tag)
 
- Public Member Functions inherited from walberla::blockforest::communication::UniformBufferedScheme< Stencil >
 UniformBufferedScheme (weak_ptr< StructuredBlockForest > bf, const int tag=778)
 
 UniformBufferedScheme (weak_ptr< StructuredBlockForest > bf, const Set< SUID > &requiredBlockSelectors, const Set< SUID > &incompatibleBlockSelectors, const int tag=778)
 
 ~UniformBufferedScheme ()
 
void addPackInfo (const PackInfo &packInfo)
 
void addDataToCommunicate (const PackInfo &packInfo)
 
void operator() ()
 
void communicate ()
 
LocalCommunicationMode localMode () const
 
void setLocalMode (const LocalCommunicationMode &mode)
 
void startCommunication ()
 
void wait ()
 
std::function< void()> getStartCommunicateFunctor ()
 
std::function< void()> getWaitFunctor ()
 
std::function< void()> getCommunicateFunctor ()
 

Private Attributes

shared_ptr< StructuredBlockForestblockforest_
 

Additional Inherited Members

- Public Types inherited from walberla::blockforest::communication::UniformBufferedScheme< Stencil >
using Stencil = Stencil
 
using SendBuffer = mpi::SendBuffer
 
using RecvBuffer = mpi::RecvBuffer
 
using PackInfo = shared_ptr< walberla::communication::UniformPackInfo >
 
using VoidFunction = std::function< void()>
 
using SendBufferFunction = std::function< void(SendBuffer &)>
 
using CommunicationItemInfo = walberla::communication::UniformPackInfo
 
- Protected Member Functions inherited from walberla::blockforest::communication::UniformBufferedScheme< Stencil >
void receive (RecvBuffer &buffer)
 
void localBufferPacking (const uint_t index, const PackInfo &packInfo, const Block *sender, const stencil::Direction &dir)
 
void localBufferUnpacking (const uint_t index, const PackInfo &packInfo, Block *receiver, const stencil::Direction &dir)
 
- Static Protected Member Functions inherited from walberla::blockforest::communication::UniformBufferedScheme< Stencil >
static void writeHeader (SendBuffer &buffer, const BlockID &id, const stencil::Direction &dir)
 
static void readHeader (RecvBuffer &buffer, BlockID &id, stencil::Direction &dir)
 
static void send (SendBuffer &buffer, std::vector< SendBufferFunction > &functions)
 
- Protected Attributes inherited from walberla::blockforest::communication::UniformBufferedScheme< Stencil >
weak_ptr< StructuredBlockForestblockForest_
 
uint_t forestModificationStamp_
 
std::vector< PackInfopackInfos_
 
LocalCommunicationMode localMode_
 
mpi::OpenMPBufferSystem bufferSystem_
 
std::vector< VoidFunctionlocalCommunication_
 
std::vector< VoidFunctionthreadsafeLocalCommunication_
 
std::vector< VoidFunctionlocalCommunicationUnpack_
 
std::vector< VoidFunctionthreadsafeLocalCommunicationUnpack_
 
std::vector< SendBufferlocalBuffers_
 
bool setupBeforeNextCommunication_
 
bool communicationInProgress_
 
Set< SUID > requiredBlockSelectors_
 
Set< SUID > incompatibleBlockSelectors_
 

Constructor & Destructor Documentation

◆ UniformBufferedSchemeWrapper()

template<typename Stencil >
walberla::blockforest::internal::UniformBufferedSchemeWrapper< Stencil >::UniformBufferedSchemeWrapper ( const shared_ptr< StructuredBlockForest > &  bf,
const int  tag 
)
inline

Member Data Documentation

◆ blockforest_

template<typename Stencil >
shared_ptr< StructuredBlockForest > walberla::blockforest::internal::UniformBufferedSchemeWrapper< Stencil >::blockforest_
private

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