#include <D3Q19StorageSpecification.h>
|
void | packAll (PdfField_T *pdfs_src, CellInterval &ci, unsigned char *outBuffer) const |
| Packs all pdfs from the given cell interval to the send buffer.
|
|
void | unpackAll (PdfField_T *pdfs_dst, CellInterval &ci, unsigned char *inBuffer) const |
| Unpacks all pdfs from the send buffer to the given cell interval.
|
|
void | localCopyAll (PdfField_T *pdfs_src, CellInterval &srcInterval, PdfField_T *pdfs_dst, CellInterval &dstInterval) const |
| Copies data between two blocks on the same process.
|
|
void | packDirection (PdfField_T *pdfs_src, CellInterval &ci, unsigned char *outBuffer, stencil::Direction dir) const |
| Packs only those populations streaming in directions aligned with the sending direction dir from the given cell interval.
|
|
void | unpackDirection (PdfField_T *pdfs_dst, CellInterval &ci, unsigned char *inBuffer, stencil::Direction dir) const |
| Unpacks only those populations streaming in directions aligned with the sending direction dir to the given cell interval.
|
|
void | localCopyDirection (PdfField_T *pdfs_src, CellInterval &srcInterval, PdfField_T *pdfs_dst, CellInterval &dstInterval, stencil::Direction dir) const |
| Copies data between two blocks on the same process.
|
|
uint_t | size (CellInterval &ci, stencil::Direction dir) const |
| Returns the number of bytes that will be packed from / unpacked to the cell interval when using packDirection / unpackDirection.
|
|
uint_t | size (CellInterval &ci) const |
| Returns the number of bytes that will be packed from / unpacked to the cell interval when using packAll / unpackAll.
|
|
|
const uint_t | sizes [27] { 0, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 } |
|
◆ PdfField_T
◆ value_type
◆ localCopyAll()
Copies data between two blocks on the same process.
All pdfs from the sending interval are copied onto the receiving interval.
◆ localCopyDirection()
Copies data between two blocks on the same process.
PDFs streaming aligned with the direction dir are copied from the sending interval onto the receiving interval.
◆ packAll()
void walberla::lbm::D3Q19StorageSpecification::PackKernels::packAll |
( |
PdfField_T * | pdfs_src, |
|
|
CellInterval & | ci, |
|
|
unsigned char * | outBuffer ) const |
Packs all pdfs from the given cell interval to the send buffer.
◆ packDirection()
Packs only those populations streaming in directions aligned with the sending direction dir from the given cell interval.
For example, in 2D, if dir == N, the pdfs streaming in directions NW, N, NE are packed.
◆ size() [1/2]
uint_t walberla::lbm::D3Q19StorageSpecification::PackKernels::size |
( |
CellInterval & | ci | ) |
const |
|
inline |
Returns the number of bytes that will be packed from / unpacked to the cell interval when using packAll / unpackAll.
- Parameters
-
- Returns
- The required size of the buffer, in bytes
◆ size() [2/2]
Returns the number of bytes that will be packed from / unpacked to the cell interval when using packDirection / unpackDirection.
- Parameters
-
ci | The cell interval |
dir | The communication direction |
- Returns
- The required size of the buffer, in bytes
◆ unpackAll()
void walberla::lbm::D3Q19StorageSpecification::PackKernels::unpackAll |
( |
PdfField_T * | pdfs_dst, |
|
|
CellInterval & | ci, |
|
|
unsigned char * | inBuffer ) const |
Unpacks all pdfs from the send buffer to the given cell interval.
◆ unpackDirection()
Unpacks only those populations streaming in directions aligned with the sending direction dir to the given cell interval.
For example, in 2D, if dir == N, the pdfs streaming in directions NW, N, NE are unpacked.
◆ inplace
const bool walberla::lbm::D3Q19StorageSpecification::PackKernels::inplace = false |
|
static |
◆ sizes
const uint_t walberla::lbm::D3Q19StorageSpecification::PackKernels::sizes[27] { 0, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 } |
|
private |
The documentation for this class was generated from the following files: