walberla::field::DefaultBlockDataHandling< GhostLayerField_T > Class Template Reference

#include <BlockDataHandling.h>

+ Inheritance diagram for walberla::field::DefaultBlockDataHandling< GhostLayerField_T >:

Public Types

using Value_T = typename GhostLayerField_T::value_type
 
- Public Types inherited from walberla::field::BlockDataHandling< GhostLayerField_T >
using Value_T = typename GhostLayerField_T ::value_type
 
using InitializationFunction_T = std::function< void(GhostLayerField_T *, IBlock *const)>
 
- Public Types inherited from walberla::domain_decomposition::BlockDataHandling< GhostLayerField_T >
using value_type = GhostLayerField_T
 

Public Member Functions

 DefaultBlockDataHandling (const weak_ptr< StructuredBlockStorage > &blocks, const std::function< Vector3< uint_t >(const shared_ptr< StructuredBlockStorage > &, IBlock *const) > &calculateSize=internal::defaultSize, const shared_ptr< field::FieldAllocator< Value_T > > alloc=nullptr)
 
 DefaultBlockDataHandling (const weak_ptr< StructuredBlockStorage > &blocks, const uint_t nrOfGhostLayers, const std::function< Vector3< uint_t >(const shared_ptr< StructuredBlockStorage > &, IBlock *const) > &calculateSize=internal::defaultSize, const shared_ptr< field::FieldAllocator< Value_T > > alloc=nullptr)
 
 DefaultBlockDataHandling (const weak_ptr< StructuredBlockStorage > &blocks, const uint_t nrOfGhostLayers, const Value_T &initValue, const Layout layout=fzyx, const std::function< Vector3< uint_t >(const shared_ptr< StructuredBlockStorage > &, IBlock *const) > &calculateSize=internal::defaultSize, const shared_ptr< field::FieldAllocator< Value_T > > alloc=nullptr)
 
- Public Member Functions inherited from walberla::field::BlockDataHandling< GhostLayerField_T >
 ~BlockDataHandling () override=default
 
void addInitializationFunction (const InitializationFunction_T &initFunction)
 
GhostLayerField_T * initialize (IBlock *const block) override
 must be thread-safe ! More...
 
void serialize (IBlock *const block, const BlockDataID &id, mpi::SendBuffer &buffer) override
 must be thread-safe ! More...
 
void serializeCoarseToFine (Block *const block, const BlockDataID &id, mpi::SendBuffer &buffer, const uint_t child) override
 must be thread-safe ! More...
 
void serializeFineToCoarse (Block *const block, const BlockDataID &id, mpi::SendBuffer &buffer) override
 must be thread-safe ! More...
 
GhostLayerField_T * deserialize (IBlock *const block) override
 must be thread-safe ! More...
 
void deserialize (IBlock *const block, const BlockDataID &id, mpi::RecvBuffer &buffer) override
 must be thread-safe ! More...
 
GhostLayerField_T * deserializeCoarseToFine (Block *const block) override
 must be thread-safe ! More...
 
void deserializeCoarseToFine (Block *const block, const BlockDataID &id, mpi::RecvBuffer &buffer) override
 must be thread-safe ! More...
 
GhostLayerField_T * deserializeFineToCoarse (Block *const block) override
 must be thread-safe ! More...
 
void deserializeFineToCoarse (Block *const block, const BlockDataID &id, mpi::RecvBuffer &buffer, const uint_t child) override
 must be thread-safe ! More...
 

Protected Member Functions

GhostLayerField_T * allocate (IBlock *const block) override
 must be thread-safe ! More...
 
GhostLayerField_T * reallocate (IBlock *const block) override
 must be thread-safe ! More...
 
- Protected Member Functions inherited from walberla::field::BlockDataHandling< GhostLayerField_T >
void sizeCheck (const uint_t xSize, const uint_t ySize, const uint_t zSize)
 

Private Attributes

weak_ptr< StructuredBlockStorageblocks_
 
uint_t nrOfGhostLayers_
 
Value_T initValue_
 
Layout layout_
 
const std::function< Vector3< uint_t > const shared_ptr< StructuredBlockStorage > &, IBlock *const) > calculateSize_
 
const shared_ptr< field::FieldAllocator< Value_T > > alloc_
 

Additional Inherited Members

- Protected Attributes inherited from walberla::field::BlockDataHandling< GhostLayerField_T >
InitializationFunction_T initFunction_
 

Member Typedef Documentation

◆ Value_T

template<typename GhostLayerField_T >
using walberla::field::DefaultBlockDataHandling< GhostLayerField_T >::Value_T = typename GhostLayerField_T::value_type

Constructor & Destructor Documentation

◆ DefaultBlockDataHandling() [1/3]

template<typename GhostLayerField_T >
walberla::field::DefaultBlockDataHandling< GhostLayerField_T >::DefaultBlockDataHandling ( const weak_ptr< StructuredBlockStorage > &  blocks,
const std::function< Vector3< uint_t >(const shared_ptr< StructuredBlockStorage > &, IBlock *const) > &  calculateSize = internal::defaultSize,
const shared_ptr< field::FieldAllocator< Value_T > >  alloc = nullptr 
)
inline

◆ DefaultBlockDataHandling() [2/3]

template<typename GhostLayerField_T >
walberla::field::DefaultBlockDataHandling< GhostLayerField_T >::DefaultBlockDataHandling ( const weak_ptr< StructuredBlockStorage > &  blocks,
const uint_t  nrOfGhostLayers,
const std::function< Vector3< uint_t >(const shared_ptr< StructuredBlockStorage > &, IBlock *const) > &  calculateSize = internal::defaultSize,
const shared_ptr< field::FieldAllocator< Value_T > >  alloc = nullptr 
)
inline

◆ DefaultBlockDataHandling() [3/3]

template<typename GhostLayerField_T >
walberla::field::DefaultBlockDataHandling< GhostLayerField_T >::DefaultBlockDataHandling ( const weak_ptr< StructuredBlockStorage > &  blocks,
const uint_t  nrOfGhostLayers,
const Value_T initValue,
const Layout  layout = fzyx,
const std::function< Vector3< uint_t >(const shared_ptr< StructuredBlockStorage > &, IBlock *const) > &  calculateSize = internal::defaultSize,
const shared_ptr< field::FieldAllocator< Value_T > >  alloc = nullptr 
)
inline

Member Function Documentation

◆ allocate()

template<typename GhostLayerField_T >
GhostLayerField_T* walberla::field::DefaultBlockDataHandling< GhostLayerField_T >::allocate ( IBlock *const  block)
inlineoverrideprotectedvirtual

◆ reallocate()

template<typename GhostLayerField_T >
GhostLayerField_T* walberla::field::DefaultBlockDataHandling< GhostLayerField_T >::reallocate ( IBlock *const  block)
inlineoverrideprotectedvirtual

Member Data Documentation

◆ alloc_

template<typename GhostLayerField_T >
const shared_ptr< field::FieldAllocator<Value_T> > walberla::field::DefaultBlockDataHandling< GhostLayerField_T >::alloc_
private

◆ blocks_

template<typename GhostLayerField_T >
weak_ptr< StructuredBlockStorage > walberla::field::DefaultBlockDataHandling< GhostLayerField_T >::blocks_
private

◆ calculateSize_

template<typename GhostLayerField_T >
const std::function< Vector3< uint_t > const shared_ptr< StructuredBlockStorage > &, IBlock * const ) > walberla::field::DefaultBlockDataHandling< GhostLayerField_T >::calculateSize_
private

◆ initValue_

template<typename GhostLayerField_T >
Value_T walberla::field::DefaultBlockDataHandling< GhostLayerField_T >::initValue_
private

◆ layout_

template<typename GhostLayerField_T >
Layout walberla::field::DefaultBlockDataHandling< GhostLayerField_T >::layout_
private

◆ nrOfGhostLayers_

template<typename GhostLayerField_T >
uint_t walberla::field::DefaultBlockDataHandling< GhostLayerField_T >::nrOfGhostLayers_
private

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