walberla::blockforest::SimpleCommunication< Stencil_T > Class Template Reference

#include <SimpleCommunication.h>

+ Inheritance diagram for walberla::blockforest::SimpleCommunication< Stencil_T >:

Public Member Functions

 SimpleCommunication (const std::weak_ptr< StructuredBlockForest > &blockForest, BlockDataID f1)
 
 SimpleCommunication (const std::weak_ptr< StructuredBlockForest > &blockForest, BlockDataID f1, BlockDataID f2)
 
 SimpleCommunication (const std::weak_ptr< StructuredBlockForest > &blockForest, BlockDataID f1, BlockDataID f2, BlockDataID f3)
 
 SimpleCommunication (const std::weak_ptr< StructuredBlockForest > &blockForest, BlockDataID f1, BlockDataID f2, BlockDataID f3, BlockDataID f4)
 
 SimpleCommunication (const std::weak_ptr< StructuredBlockForest > &blockForest, BlockDataID f1, BlockDataID f2, BlockDataID f3, BlockDataID f4, BlockDataID f5)
 
 SimpleCommunication (const std::weak_ptr< StructuredBlockForest > &blockForest, BlockDataID f1, BlockDataID f2, BlockDataID f3, BlockDataID f4, BlockDataID f5, BlockDataID f6)
 
 SimpleCommunication (const std::weak_ptr< StructuredBlockForest > &blockForest, BlockDataID f1, BlockDataID f2, BlockDataID f3, BlockDataID f4, BlockDataID f5, BlockDataID f6, BlockDataID f7)
 
 SimpleCommunication (const std::weak_ptr< StructuredBlockForest > &blockForest, BlockDataID f1, BlockDataID f2, BlockDataID f3, BlockDataID f4, BlockDataID f5, BlockDataID f6, BlockDataID f7, BlockDataID f8)
 
SimpleCommunicationoperator<< (BlockDataID fieldId)
 
- Public Member Functions inherited from walberla::blockforest::communication::UniformBufferedScheme< Stencil_T >
 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 ()
 

Protected Attributes

std::weak_ptr< StructuredBlockForestblockForest_
 
- Protected Attributes inherited from walberla::blockforest::communication::UniformBufferedScheme< Stencil_T >
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_
 

Private Types

using RealScalarField_T = GhostLayerField< real_t, 1 >
 
using VectorField_T = GhostLayerField< Vector3< real_t >, 1 >
 
using VectorFieldFlattened_T = GhostLayerField< real_t, 3 >
 
using PdfField_T = GhostLayerField< real_t, Stencil_T::Size >
 
using UintScalarField_T = GhostLayerField< uint_t, 1 >
 
using IDScalarField_T = walberla::GhostLayerField< walberla::id_t, 1 >
 
using FlagField16_T = FlagField< uint16_t >
 
using FlagField32_T = FlagField< uint32_t >
 
using FlagField64_T = FlagField< uint64_t >
 

Additional Inherited Members

- Public Types inherited from walberla::blockforest::communication::UniformBufferedScheme< Stencil_T >
using Stencil = Stencil_T
 
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_T >
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_T >
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)
 

Member Typedef Documentation

◆ FlagField16_T

template<typename Stencil_T >
using walberla::blockforest::SimpleCommunication< Stencil_T >::FlagField16_T = FlagField< uint16_t >
private

◆ FlagField32_T

template<typename Stencil_T >
using walberla::blockforest::SimpleCommunication< Stencil_T >::FlagField32_T = FlagField< uint32_t >
private

◆ FlagField64_T

template<typename Stencil_T >
using walberla::blockforest::SimpleCommunication< Stencil_T >::FlagField64_T = FlagField< uint64_t >
private

◆ IDScalarField_T

◆ PdfField_T

template<typename Stencil_T >
using walberla::blockforest::SimpleCommunication< Stencil_T >::PdfField_T = GhostLayerField< real_t, Stencil_T::Size >
private

◆ RealScalarField_T

template<typename Stencil_T >
using walberla::blockforest::SimpleCommunication< Stencil_T >::RealScalarField_T = GhostLayerField< real_t, 1 >
private

◆ UintScalarField_T

template<typename Stencil_T >
using walberla::blockforest::SimpleCommunication< Stencil_T >::UintScalarField_T = GhostLayerField< uint_t, 1 >
private

◆ VectorField_T

template<typename Stencil_T >
using walberla::blockforest::SimpleCommunication< Stencil_T >::VectorField_T = GhostLayerField< Vector3< real_t >, 1 >
private

◆ VectorFieldFlattened_T

Constructor & Destructor Documentation

◆ SimpleCommunication() [1/8]

template<typename Stencil_T >
walberla::blockforest::SimpleCommunication< Stencil_T >::SimpleCommunication ( const std::weak_ptr< StructuredBlockForest > &  blockForest,
BlockDataID  f1 
)
inline

◆ SimpleCommunication() [2/8]

template<typename Stencil_T >
walberla::blockforest::SimpleCommunication< Stencil_T >::SimpleCommunication ( const std::weak_ptr< StructuredBlockForest > &  blockForest,
BlockDataID  f1,
BlockDataID  f2 
)
inline

◆ SimpleCommunication() [3/8]

template<typename Stencil_T >
walberla::blockforest::SimpleCommunication< Stencil_T >::SimpleCommunication ( const std::weak_ptr< StructuredBlockForest > &  blockForest,
BlockDataID  f1,
BlockDataID  f2,
BlockDataID  f3 
)
inline

◆ SimpleCommunication() [4/8]

template<typename Stencil_T >
walberla::blockforest::SimpleCommunication< Stencil_T >::SimpleCommunication ( const std::weak_ptr< StructuredBlockForest > &  blockForest,
BlockDataID  f1,
BlockDataID  f2,
BlockDataID  f3,
BlockDataID  f4 
)
inline

◆ SimpleCommunication() [5/8]

template<typename Stencil_T >
walberla::blockforest::SimpleCommunication< Stencil_T >::SimpleCommunication ( const std::weak_ptr< StructuredBlockForest > &  blockForest,
BlockDataID  f1,
BlockDataID  f2,
BlockDataID  f3,
BlockDataID  f4,
BlockDataID  f5 
)
inline

◆ SimpleCommunication() [6/8]

template<typename Stencil_T >
walberla::blockforest::SimpleCommunication< Stencil_T >::SimpleCommunication ( const std::weak_ptr< StructuredBlockForest > &  blockForest,
BlockDataID  f1,
BlockDataID  f2,
BlockDataID  f3,
BlockDataID  f4,
BlockDataID  f5,
BlockDataID  f6 
)
inline

◆ SimpleCommunication() [7/8]

template<typename Stencil_T >
walberla::blockforest::SimpleCommunication< Stencil_T >::SimpleCommunication ( const std::weak_ptr< StructuredBlockForest > &  blockForest,
BlockDataID  f1,
BlockDataID  f2,
BlockDataID  f3,
BlockDataID  f4,
BlockDataID  f5,
BlockDataID  f6,
BlockDataID  f7 
)
inline

◆ SimpleCommunication() [8/8]

template<typename Stencil_T >
walberla::blockforest::SimpleCommunication< Stencil_T >::SimpleCommunication ( const std::weak_ptr< StructuredBlockForest > &  blockForest,
BlockDataID  f1,
BlockDataID  f2,
BlockDataID  f3,
BlockDataID  f4,
BlockDataID  f5,
BlockDataID  f6,
BlockDataID  f7,
BlockDataID  f8 
)
inline

Member Function Documentation

◆ operator<<()

template<typename Stencil_T >
SimpleCommunication& walberla::blockforest::SimpleCommunication< Stencil_T >::operator<< ( BlockDataID  fieldId)
inline

Member Data Documentation

◆ blockForest_

template<typename Stencil_T >
std::weak_ptr< StructuredBlockForest > walberla::blockforest::SimpleCommunication< Stencil_T >::blockForest_
protected

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