walberla::field::BlockDataHandling< Field_T, Pseudo2D > Class Template Referenceabstract

#include <BlockDataHandling.h>

+ Inheritance diagram for walberla::field::BlockDataHandling< Field_T, Pseudo2D >:

Classes

struct  Merge
 
struct  Merge< Vector2< T > >
 
struct  Merge< Vector3< T > >
 

Public Types

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

Public Member Functions

 ~BlockDataHandling () override=default
 
void addInitializationFunction (const InitializationFunction_T &initFunction)
 
Field_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...
 
Field_T * deserialize (IBlock *const block) override
 must be thread-safe ! More...
 
Field_T * deserializeCoarseToFine (Block *const block) override
 must be thread-safe ! More...
 
Field_T * deserializeFineToCoarse (Block *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...
 
void deserializeCoarseToFine (Block *const block, const BlockDataID &id, mpi::RecvBuffer &buffer) 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...
 
- Public Member Functions inherited from walberla::blockforest::BlockDataHandling< Field_T >
 ~BlockDataHandling () override=default
 

Protected Member Functions

virtual Field_T * allocate (IBlock *const block)=0
 must be thread-safe ! More...
 
virtual Field_T * reallocate (IBlock *const block)=0
 must be thread-safe ! More...
 
void sizeCheck (const uint_t xSize, const uint_t ySize, const uint_t zSize)
 

Protected Attributes

InitializationFunction_T initFunction_
 

Member Typedef Documentation

◆ InitializationFunction_T

template<typename Field_T , bool Pseudo2D = false>
using walberla::field::BlockDataHandling< Field_T, Pseudo2D >::InitializationFunction_T = std::function<void (Field_T *, IBlock *const)>

◆ Value_T

template<typename Field_T , bool Pseudo2D = false>
using walberla::field::BlockDataHandling< Field_T, Pseudo2D >::Value_T = typename Field_T::value_type

Constructor & Destructor Documentation

◆ ~BlockDataHandling()

template<typename Field_T , bool Pseudo2D = false>
walberla::field::BlockDataHandling< Field_T, Pseudo2D >::~BlockDataHandling ( )
overridevirtualdefault

Member Function Documentation

◆ addInitializationFunction()

template<typename Field_T , bool Pseudo2D = false>
void walberla::field::BlockDataHandling< Field_T, Pseudo2D >::addInitializationFunction ( const InitializationFunction_T initFunction)
inline

◆ allocate()

◆ deserialize() [1/2]

template<typename Field_T , bool Pseudo2D = false>
Field_T* walberla::field::BlockDataHandling< Field_T, Pseudo2D >::deserialize ( IBlock *const  block)
inlineoverridevirtual

◆ deserialize() [2/2]

template<typename Field_T , bool Pseudo2D>
void walberla::field::BlockDataHandling< Field_T, Pseudo2D >::deserialize ( IBlock *const  block,
const BlockDataID id,
mpi::RecvBuffer buffer 
)
inlineoverridevirtual

◆ deserializeCoarseToFine() [1/2]

template<typename Field_T , bool Pseudo2D = false>
Field_T* walberla::field::BlockDataHandling< Field_T, Pseudo2D >::deserializeCoarseToFine ( Block *const  block)
inlineoverridevirtual

must be thread-safe !

Implements walberla::blockforest::BlockDataHandling< Field_T >.

◆ deserializeCoarseToFine() [2/2]

template<typename Field_T , bool Pseudo2D>
void walberla::field::BlockDataHandling< Field_T, Pseudo2D >::deserializeCoarseToFine ( Block *const  block,
const BlockDataID id,
mpi::RecvBuffer buffer 
)
overridevirtual

must be thread-safe !

Implements walberla::blockforest::BlockDataHandling< Field_T >.

◆ deserializeFineToCoarse() [1/2]

template<typename Field_T , bool Pseudo2D = false>
Field_T* walberla::field::BlockDataHandling< Field_T, Pseudo2D >::deserializeFineToCoarse ( Block *const  block)
inlineoverridevirtual

must be thread-safe !

Implements walberla::blockforest::BlockDataHandling< Field_T >.

◆ deserializeFineToCoarse() [2/2]

template<typename Field_T , bool Pseudo2D>
void walberla::field::BlockDataHandling< Field_T, Pseudo2D >::deserializeFineToCoarse ( Block *const  block,
const BlockDataID id,
mpi::RecvBuffer buffer,
const uint_t  child 
)
overridevirtual

must be thread-safe !

Implements walberla::blockforest::BlockDataHandling< Field_T >.

◆ initialize()

template<typename Field_T , bool Pseudo2D = false>
Field_T* walberla::field::BlockDataHandling< Field_T, Pseudo2D >::initialize ( IBlock *const  block)
inlineoverridevirtual

◆ reallocate()

◆ serialize()

template<typename Field_T , bool Pseudo2D>
void walberla::field::BlockDataHandling< Field_T, Pseudo2D >::serialize ( IBlock *const  block,
const BlockDataID id,
mpi::SendBuffer buffer 
)
inlineoverridevirtual

◆ serializeCoarseToFine()

template<typename Field_T , bool Pseudo2D>
void walberla::field::BlockDataHandling< Field_T, Pseudo2D >::serializeCoarseToFine ( Block *const  block,
const BlockDataID id,
mpi::SendBuffer buffer,
const uint_t  child 
)
overridevirtual

must be thread-safe !

Implements walberla::blockforest::BlockDataHandling< Field_T >.

◆ serializeFineToCoarse()

template<typename Field_T , bool Pseudo2D>
void walberla::field::BlockDataHandling< Field_T, Pseudo2D >::serializeFineToCoarse ( Block *const  block,
const BlockDataID id,
mpi::SendBuffer buffer 
)
overridevirtual

must be thread-safe !

Implements walberla::blockforest::BlockDataHandling< Field_T >.

◆ sizeCheck()

template<typename Field_T , bool Pseudo2D = false>
void walberla::field::BlockDataHandling< Field_T, Pseudo2D >::sizeCheck ( const uint_t  xSize,
const uint_t  ySize,
const uint_t  zSize 
)
inlineprotected

Member Data Documentation

◆ initFunction_

template<typename Field_T , bool Pseudo2D = false>
InitializationFunction_T walberla::field::BlockDataHandling< Field_T, Pseudo2D >::initFunction_
protected

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