waLBerla 7.3
Loading...
Searching...
No Matches
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, std::optional< int > tag=std::nullopt)
 UniformBufferedScheme (weak_ptr< StructuredBlockForest > bf, const Set< SUID > &requiredBlockSelectors, const Set< SUID > &incompatibleBlockSelectors, std::optional< int > tag=std::nullopt)
 ~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()> getCommunicateFunctor ()
std::function< void()> getStartCommunicateFunctor ()
std::function< void()> getWaitFunctor ()

Protected Attributes

std::weak_ptr< StructuredBlockForestblockForest_
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< SUIDrequiredBlockSelectors_
Set< SUIDincompatibleBlockSelectors_

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
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 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, const 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

template<typename Stencil_T>
using walberla::blockforest::SimpleCommunication< Stencil_T >::IDScalarField_T = walberla::GhostLayerField< walberla::id_t, 1 >
private

◆ 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

template<typename Stencil_T>
using walberla::blockforest::SimpleCommunication< Stencil_T >::VectorFieldFlattened_T = GhostLayerField< real_t, 3 >
private

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:
  • /builds/administration/walberla-website/walberla/src/lbm/blockforest/communication/SimpleCommunication.h