walberla::pe_coupling::ExtrapolationReconstructor< LatticeModel_T, BoundaryHandling_T, ExtrapolationDirectionFinder_T > Class Template Reference

#include <Reconstructor.h>

Public Types

using PdfField_T = lbm::PdfField< LatticeModel_T >
 
using BodyField_T = Field< pe::BodyID, 1 >
 

Public Member Functions

 ExtrapolationReconstructor (const shared_ptr< StructuredBlockStorage > &blockStorage, const BlockDataID &boundaryHandlingID, const BlockDataID &bodyFieldID, const ExtrapolationDirectionFinder_T &extrapolationDirectionFinder, const bool &enforceNoSlipConstraintAfterExtrapolation=false)
 
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

uint_t getNumberOfExtrapolationCells (const cell_idx_t &x, const cell_idx_t &y, const cell_idx_t &z, IBlock *const block, PdfField_T *const pdfField, const Vector3< cell_idx_t > &extrapolationDirection) const
 
void extrapolatePDFs (const cell_idx_t &x, const cell_idx_t &y, const cell_idx_t &z, IBlock *const block, PdfField_T *const pdfField, const Vector3< cell_idx_t > &extrapolationDirection, const uint_t &numberOfCellsForExtrapolation)
 
void enforceNoSlipConstraint (const cell_idx_t &x, const cell_idx_t &y, const cell_idx_t &z, IBlock *const block, PdfField_T *const pdfField)
 

Private Attributes

shared_ptr< StructuredBlockStorageblockStorage_
 
const BlockDataID boundaryHandlingID_
 
const BlockDataID bodyFieldID_
 
const bool enforceNoSlipConstraintAfterExtrapolation_
 
ExtrapolationDirectionFinder_T extrapolationDirectionFinder_
 
EquilibriumAndNonEquilibriumReconstructor< LatticeModel_T, BoundaryHandling_T, ExtrapolationDirectionFinder_T > alternativeReconstructor_
 

Member Typedef Documentation

◆ BodyField_T

template<typename LatticeModel_T , typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T >
using walberla::pe_coupling::ExtrapolationReconstructor< LatticeModel_T, BoundaryHandling_T, ExtrapolationDirectionFinder_T >::BodyField_T = Field<pe::BodyID, 1>

◆ PdfField_T

template<typename LatticeModel_T , typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T >
using walberla::pe_coupling::ExtrapolationReconstructor< LatticeModel_T, BoundaryHandling_T, ExtrapolationDirectionFinder_T >::PdfField_T = lbm::PdfField<LatticeModel_T>

Constructor & Destructor Documentation

◆ ExtrapolationReconstructor()

template<typename LatticeModel_T , typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T >
walberla::pe_coupling::ExtrapolationReconstructor< LatticeModel_T, BoundaryHandling_T, ExtrapolationDirectionFinder_T >::ExtrapolationReconstructor ( const shared_ptr< StructuredBlockStorage > &  blockStorage,
const BlockDataID boundaryHandlingID,
const BlockDataID bodyFieldID,
const ExtrapolationDirectionFinder_T &  extrapolationDirectionFinder,
const bool &  enforceNoSlipConstraintAfterExtrapolation = false 
)
inline

Member Function Documentation

◆ enforceNoSlipConstraint()

template<typename LatticeModel_T , typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T >
void walberla::pe_coupling::ExtrapolationReconstructor< LatticeModel_T, BoundaryHandling_T, ExtrapolationDirectionFinder_T >::enforceNoSlipConstraint ( const cell_idx_t x,
const cell_idx_t y,
const cell_idx_t z,
IBlock *const  block,
PdfField_T *const  pdfField 
)
private

◆ extrapolatePDFs()

template<typename LatticeModel_T , typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T >
void walberla::pe_coupling::ExtrapolationReconstructor< LatticeModel_T, BoundaryHandling_T, ExtrapolationDirectionFinder_T >::extrapolatePDFs ( const cell_idx_t x,
const cell_idx_t y,
const cell_idx_t z,
IBlock *const  block,
PdfField_T *const  pdfField,
const Vector3< cell_idx_t > &  extrapolationDirection,
const uint_t numberOfCellsForExtrapolation 
)
private

◆ getNumberOfExtrapolationCells()

template<typename LatticeModel_T , typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T >
uint_t walberla::pe_coupling::ExtrapolationReconstructor< LatticeModel_T, BoundaryHandling_T, ExtrapolationDirectionFinder_T >::getNumberOfExtrapolationCells ( const cell_idx_t x,
const cell_idx_t y,
const cell_idx_t z,
IBlock *const  block,
PdfField_T *const  pdfField,
const Vector3< cell_idx_t > &  extrapolationDirection 
) const
private

◆ operator()()

template<typename LatticeModel_T , typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T >
void walberla::pe_coupling::ExtrapolationReconstructor< LatticeModel_T, BoundaryHandling_T, ExtrapolationDirectionFinder_T >::operator() ( const cell_idx_t x,
const cell_idx_t y,
const cell_idx_t z,
IBlock *const  block,
PdfField_T *const  pdfField 
)

Member Data Documentation

◆ alternativeReconstructor_

template<typename LatticeModel_T , typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T >
EquilibriumAndNonEquilibriumReconstructor< LatticeModel_T, BoundaryHandling_T, ExtrapolationDirectionFinder_T > walberla::pe_coupling::ExtrapolationReconstructor< LatticeModel_T, BoundaryHandling_T, ExtrapolationDirectionFinder_T >::alternativeReconstructor_
private

◆ blockStorage_

template<typename LatticeModel_T , typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T >
shared_ptr<StructuredBlockStorage> walberla::pe_coupling::ExtrapolationReconstructor< LatticeModel_T, BoundaryHandling_T, ExtrapolationDirectionFinder_T >::blockStorage_
private

◆ bodyFieldID_

template<typename LatticeModel_T , typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T >
const BlockDataID walberla::pe_coupling::ExtrapolationReconstructor< LatticeModel_T, BoundaryHandling_T, ExtrapolationDirectionFinder_T >::bodyFieldID_
private

◆ boundaryHandlingID_

template<typename LatticeModel_T , typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T >
const BlockDataID walberla::pe_coupling::ExtrapolationReconstructor< LatticeModel_T, BoundaryHandling_T, ExtrapolationDirectionFinder_T >::boundaryHandlingID_
private

◆ enforceNoSlipConstraintAfterExtrapolation_

template<typename LatticeModel_T , typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T >
const bool walberla::pe_coupling::ExtrapolationReconstructor< LatticeModel_T, BoundaryHandling_T, ExtrapolationDirectionFinder_T >::enforceNoSlipConstraintAfterExtrapolation_
private

◆ extrapolationDirectionFinder_

template<typename LatticeModel_T , typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T >
ExtrapolationDirectionFinder_T walberla::pe_coupling::ExtrapolationReconstructor< LatticeModel_T, BoundaryHandling_T, ExtrapolationDirectionFinder_T >::extrapolationDirectionFinder_
private

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