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

#include <BlockDataHandling.h>

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

Public Types

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

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

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_
 
InitializationFunction_T initFunction_
 

Member Typedef Documentation

◆ InitializationFunction_T

template<typename GhostLayerField_T >
using walberla::field::AlwaysInitializeBlockDataHandling< GhostLayerField_T >::InitializationFunction_T = std::function<void (GhostLayerField_T *, IBlock *const)>

◆ Value_T

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

Constructor & Destructor Documentation

◆ AlwaysInitializeBlockDataHandling() [1/3]

template<typename GhostLayerField_T >
walberla::field::AlwaysInitializeBlockDataHandling< GhostLayerField_T >::AlwaysInitializeBlockDataHandling ( 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

◆ AlwaysInitializeBlockDataHandling() [2/3]

template<typename GhostLayerField_T >
walberla::field::AlwaysInitializeBlockDataHandling< GhostLayerField_T >::AlwaysInitializeBlockDataHandling ( 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

◆ AlwaysInitializeBlockDataHandling() [3/3]

template<typename GhostLayerField_T >
walberla::field::AlwaysInitializeBlockDataHandling< GhostLayerField_T >::AlwaysInitializeBlockDataHandling ( const weak_ptr< StructuredBlockStorage > &  blocks,
const uint_t  nrOfGhostLayers,
const Value_T initValue,
const Layout  layout,
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

◆ addInitializationFunction()

template<typename GhostLayerField_T >
void walberla::field::AlwaysInitializeBlockDataHandling< GhostLayerField_T >::addInitializationFunction ( const InitializationFunction_T initFunction)
inline

◆ initialize()

template<typename GhostLayerField_T >
GhostLayerField_T* walberla::field::AlwaysInitializeBlockDataHandling< GhostLayerField_T >::initialize ( IBlock *const  block)
inlineoverridevirtual

Member Data Documentation

◆ alloc_

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

◆ blocks_

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

◆ calculateSize_

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

◆ initFunction_

template<typename GhostLayerField_T >
InitializationFunction_T walberla::field::AlwaysInitializeBlockDataHandling< GhostLayerField_T >::initFunction_
private

◆ initValue_

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

◆ layout_

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

◆ nrOfGhostLayers_

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

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