waLBerla 7.3
Loading...
Searching...
No Matches
walberla::v8::halo_exchange::fields::GenericFieldPackInfo< TField, XTag > Class Template Reference

#include <GenericFieldPackInfos.hpp>

Public Types

using FieldType = TField
using value_type = typename FieldType::value_type

Public Member Functions

 GenericFieldPackInfo (const FieldType &field, size_t numGhostLayers)
 GenericFieldPackInfo (const FieldType &field)
void pack (const IBlock &srcBlock, stencil::Direction commDir, stdlib::span< value_type > buffer, XTag xtag) const
void unpack (IBlock &dstBlock, stencil::Direction commDir, stdlib::span< const value_type > buffer, XTag xtag) const
void localCopy (const IBlock &srcBlock, stencil::Direction commDir, IBlock &dstBlock, XTag xtag) const
size_t packetSize (stencil::Direction commDir) const

Static Public Attributes

static constexpr size_t F_SIZE = FieldType::F_SIZE

Private Attributes

FieldType field_
size_t numGhostLayers_

Member Typedef Documentation

◆ FieldType

template<memory::IField TField, sweep::ExecTag XTag>
using walberla::v8::halo_exchange::fields::GenericFieldPackInfo< TField, XTag >::FieldType = TField

◆ value_type

template<memory::IField TField, sweep::ExecTag XTag>
using walberla::v8::halo_exchange::fields::GenericFieldPackInfo< TField, XTag >::value_type = typename FieldType::value_type

Constructor & Destructor Documentation

◆ GenericFieldPackInfo() [1/2]

template<memory::IField TField, sweep::ExecTag XTag>
walberla::v8::halo_exchange::fields::GenericFieldPackInfo< TField, XTag >::GenericFieldPackInfo ( const FieldType & field,
size_t numGhostLayers )
inline
Parameters
fieldThe field whose ghost layers to exchange
numGhostLayersNumber of ghost layers to exchange. Must not exceed the field's total number of ghost layers.

◆ GenericFieldPackInfo() [2/2]

template<memory::IField TField, sweep::ExecTag XTag>
walberla::v8::halo_exchange::fields::GenericFieldPackInfo< TField, XTag >::GenericFieldPackInfo ( const FieldType & field)
inlineexplicit

Member Function Documentation

◆ localCopy()

template<memory::IField TField, sweep::ExecTag XTag>
void walberla::v8::halo_exchange::fields::GenericFieldPackInfo< TField, XTag >::localCopy ( const IBlock & srcBlock,
stencil::Direction commDir,
IBlock & dstBlock,
XTag xtag ) const
inline

◆ pack()

template<memory::IField TField, sweep::ExecTag XTag>
void walberla::v8::halo_exchange::fields::GenericFieldPackInfo< TField, XTag >::pack ( const IBlock & srcBlock,
stencil::Direction commDir,
stdlib::span< value_type > buffer,
XTag xtag ) const
inline

◆ packetSize()

template<memory::IField TField, sweep::ExecTag XTag>
size_t walberla::v8::halo_exchange::fields::GenericFieldPackInfo< TField, XTag >::packetSize ( stencil::Direction commDir) const
inline

◆ unpack()

template<memory::IField TField, sweep::ExecTag XTag>
void walberla::v8::halo_exchange::fields::GenericFieldPackInfo< TField, XTag >::unpack ( IBlock & dstBlock,
stencil::Direction commDir,
stdlib::span< const value_type > buffer,
XTag xtag ) const
inline

Member Data Documentation

◆ F_SIZE

template<memory::IField TField, sweep::ExecTag XTag>
size_t walberla::v8::halo_exchange::fields::GenericFieldPackInfo< TField, XTag >::F_SIZE = FieldType::F_SIZE
staticconstexpr

◆ field_

template<memory::IField TField, sweep::ExecTag XTag>
FieldType walberla::v8::halo_exchange::fields::GenericFieldPackInfo< TField, XTag >::field_
private

◆ numGhostLayers_

template<memory::IField TField, sweep::ExecTag XTag>
size_t walberla::v8::halo_exchange::fields::GenericFieldPackInfo< TField, XTag >::numGhostLayers_
private

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