Classes to be used together with the PDFReconstruction class to reconstruct PDFs.
Each reconstructor must exactly implement the member function void operator()( const cell_idx_t & x, const cell_idx_t & y, const cell_idx_t & z, IBlock * const block, PdfField_T * const pdfField ); that reconstructs all PDFs in a specific cell with indices x,y,z on a given block.
Different variants are available:
EquilibriumAndNonEquilibriumReconstructor and ExtrapolationReconstructor need an extrapolation direction which is provided by the ExtrapolationDirectionFinder that is to be chosen (see ExtrapolationDirectionFinder.h).
#include <Reconstructor.h>
Public Types | |
using | PdfField_T = lbm::PdfField< LatticeModel_T > |
using | BodyField_T = Field< pe::BodyID, 1 > |
Public Member Functions | |
EquilibriumReconstructor (const shared_ptr< StructuredBlockStorage > &blockStorage, const BlockDataID &boundaryHandlingID, const BlockDataID &bodyFieldID) | |
void | operator() (const cell_idx_t &x, const cell_idx_t &y, const cell_idx_t &z, IBlock *const block, PdfField_T *const pdfField) |
Private Member Functions | |
void | setLocalEquilibrium (const cell_idx_t &x, const cell_idx_t &y, const cell_idx_t &z, IBlock *const block, PdfField_T *const pdfField) |
real_t | getLocalAverageDensity (const cell_idx_t &x, const cell_idx_t &y, const cell_idx_t &z, IBlock *const block, PdfField_T *const pdfField) const |
Private Attributes | |
shared_ptr< StructuredBlockStorage > | blockStorage_ |
const BlockDataID | boundaryHandlingID_ |
const BlockDataID | bodyFieldID_ |
using walberla::pe_coupling::EquilibriumReconstructor< LatticeModel_T, BoundaryHandling_T >::BodyField_T = Field<pe::BodyID, 1> |
using walberla::pe_coupling::EquilibriumReconstructor< LatticeModel_T, BoundaryHandling_T >::PdfField_T = lbm::PdfField<LatticeModel_T> |
|
inline |
|
private |
void walberla::pe_coupling::EquilibriumReconstructor< LatticeModel_T, BoundaryHandling_T >::operator() | ( | const cell_idx_t & | x, |
const cell_idx_t & | y, | ||
const cell_idx_t & | z, | ||
IBlock *const | block, | ||
PdfField_T *const | pdfField | ||
) |
|
private |
|
private |
|
private |
|
private |