walberla::lbm_mesapd_coupling::ExtrapolationReconstructor< BoundaryHandling_T, ExtrapolationDirectionFinder_T, EnforceNoSlipConstraintAfterExtrapolation > Class Template Reference

#include <Reconstructor.h>

Public Member Functions

 ExtrapolationReconstructor (const shared_ptr< StructuredBlockStorage > &blockStorage, const BlockDataID &boundaryHandlingID, const shared_ptr< ExtrapolationDirectionFinder_T > &extrapolationDirectionFinder, uint_t maximumNumberOfExtrapolationCells=uint_t(3), bool useDataFromGhostLayers=false)
 
template<typename PdfField_T , typename ParticleAccessor_T >
void operator() (IBlock *const block, const cell_idx_t &x, const cell_idx_t &y, const cell_idx_t &z, PdfField_T *const pdfField, const size_t particleIdx, const ParticleAccessor_T &ac)
 

Private Member Functions

bool enoughCellsForExtrapolation (uint_t numberOfCellsForExtrapolation)
 
template<typename PdfField_T >
void extrapolatePDFs (const cell_idx_t &x, const cell_idx_t &y, const cell_idx_t &z, PdfField_T *const pdfField, const Vector3< cell_idx_t > &extrapolationDirection, const uint_t &numberOfCellsForExtrapolation)
 
template<typename PdfField_T >
void enforceNoSlipConstraint (const cell_idx_t &x, const cell_idx_t &y, const cell_idx_t &z, PdfField_T *const pdfField, const Vector3< real_t > &localParticleVelocity)
 

Private Attributes

shared_ptr< StructuredBlockStorageblockStorage_
 
const BlockDataID boundaryHandlingID_
 
shared_ptr< ExtrapolationDirectionFinder_T > extrapolationDirectionFinder_
 
const uint_t maximumNumberOfExtrapolationCells_
 
const bool useDataFromGhostLayers_
 
EquilibriumAndNonEquilibriumReconstructor< BoundaryHandling_T, ExtrapolationDirectionFinder_T > alternativeReconstructor_
 

Constructor & Destructor Documentation

◆ ExtrapolationReconstructor()

template<typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T , bool EnforceNoSlipConstraintAfterExtrapolation = false>
walberla::lbm_mesapd_coupling::ExtrapolationReconstructor< BoundaryHandling_T, ExtrapolationDirectionFinder_T, EnforceNoSlipConstraintAfterExtrapolation >::ExtrapolationReconstructor ( const shared_ptr< StructuredBlockStorage > &  blockStorage,
const BlockDataID boundaryHandlingID,
const shared_ptr< ExtrapolationDirectionFinder_T > &  extrapolationDirectionFinder,
uint_t  maximumNumberOfExtrapolationCells = uint_t(3),
bool  useDataFromGhostLayers = false 
)
inline

Member Function Documentation

◆ enforceNoSlipConstraint()

template<typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T , bool EnforceNoSlipConstraintAfterExtrapolation = false>
template<typename PdfField_T >
void walberla::lbm_mesapd_coupling::ExtrapolationReconstructor< BoundaryHandling_T, ExtrapolationDirectionFinder_T, EnforceNoSlipConstraintAfterExtrapolation >::enforceNoSlipConstraint ( const cell_idx_t x,
const cell_idx_t y,
const cell_idx_t z,
PdfField_T *const  pdfField,
const Vector3< real_t > &  localParticleVelocity 
)
inlineprivate

◆ enoughCellsForExtrapolation()

template<typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T , bool EnforceNoSlipConstraintAfterExtrapolation = false>
bool walberla::lbm_mesapd_coupling::ExtrapolationReconstructor< BoundaryHandling_T, ExtrapolationDirectionFinder_T, EnforceNoSlipConstraintAfterExtrapolation >::enoughCellsForExtrapolation ( uint_t  numberOfCellsForExtrapolation)
inlineprivate

◆ extrapolatePDFs()

template<typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T , bool EnforceNoSlipConstraintAfterExtrapolation = false>
template<typename PdfField_T >
void walberla::lbm_mesapd_coupling::ExtrapolationReconstructor< BoundaryHandling_T, ExtrapolationDirectionFinder_T, EnforceNoSlipConstraintAfterExtrapolation >::extrapolatePDFs ( const cell_idx_t x,
const cell_idx_t y,
const cell_idx_t z,
PdfField_T *const  pdfField,
const Vector3< cell_idx_t > &  extrapolationDirection,
const uint_t numberOfCellsForExtrapolation 
)
inlineprivate

◆ operator()()

template<typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T , bool EnforceNoSlipConstraintAfterExtrapolation = false>
template<typename PdfField_T , typename ParticleAccessor_T >
void walberla::lbm_mesapd_coupling::ExtrapolationReconstructor< BoundaryHandling_T, ExtrapolationDirectionFinder_T, EnforceNoSlipConstraintAfterExtrapolation >::operator() ( IBlock *const  block,
const cell_idx_t x,
const cell_idx_t y,
const cell_idx_t z,
PdfField_T *const  pdfField,
const size_t  particleIdx,
const ParticleAccessor_T &  ac 
)
inline

Member Data Documentation

◆ alternativeReconstructor_

template<typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T , bool EnforceNoSlipConstraintAfterExtrapolation = false>
EquilibriumAndNonEquilibriumReconstructor< BoundaryHandling_T, ExtrapolationDirectionFinder_T > walberla::lbm_mesapd_coupling::ExtrapolationReconstructor< BoundaryHandling_T, ExtrapolationDirectionFinder_T, EnforceNoSlipConstraintAfterExtrapolation >::alternativeReconstructor_
private

◆ blockStorage_

template<typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T , bool EnforceNoSlipConstraintAfterExtrapolation = false>
shared_ptr<StructuredBlockStorage> walberla::lbm_mesapd_coupling::ExtrapolationReconstructor< BoundaryHandling_T, ExtrapolationDirectionFinder_T, EnforceNoSlipConstraintAfterExtrapolation >::blockStorage_
private

◆ boundaryHandlingID_

template<typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T , bool EnforceNoSlipConstraintAfterExtrapolation = false>
const BlockDataID walberla::lbm_mesapd_coupling::ExtrapolationReconstructor< BoundaryHandling_T, ExtrapolationDirectionFinder_T, EnforceNoSlipConstraintAfterExtrapolation >::boundaryHandlingID_
private

◆ extrapolationDirectionFinder_

template<typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T , bool EnforceNoSlipConstraintAfterExtrapolation = false>
shared_ptr<ExtrapolationDirectionFinder_T> walberla::lbm_mesapd_coupling::ExtrapolationReconstructor< BoundaryHandling_T, ExtrapolationDirectionFinder_T, EnforceNoSlipConstraintAfterExtrapolation >::extrapolationDirectionFinder_
private

◆ maximumNumberOfExtrapolationCells_

template<typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T , bool EnforceNoSlipConstraintAfterExtrapolation = false>
const uint_t walberla::lbm_mesapd_coupling::ExtrapolationReconstructor< BoundaryHandling_T, ExtrapolationDirectionFinder_T, EnforceNoSlipConstraintAfterExtrapolation >::maximumNumberOfExtrapolationCells_
private

◆ useDataFromGhostLayers_

template<typename BoundaryHandling_T , typename ExtrapolationDirectionFinder_T , bool EnforceNoSlipConstraintAfterExtrapolation = false>
const bool walberla::lbm_mesapd_coupling::ExtrapolationReconstructor< BoundaryHandling_T, ExtrapolationDirectionFinder_T, EnforceNoSlipConstraintAfterExtrapolation >::useDataFromGhostLayers_
private

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