waLBerla 7.2
|
LatticeStorageSpecification_T | Generated storage specification |
SweepCollection_T | LBM SweepCollection (must be able to call stream, collide, streamCollide and streamOnlyNoAdvancement) |
BoundaryCollection_T | LBM Boundary collection (Functor that runs all boundary kernels at call) |
#include <BasicRecursiveTimeStep.h>
Public Types | |
using | LatticeStorageSpecification_T = typename PdfField_T::LatticeStorageSpecification |
using | Stencil = typename LatticeStorageSpecification_T::Stencil |
using | CommunicationStencil = typename LatticeStorageSpecification_T::CommunicationStencil |
using | CommScheme = NonUniformBufferedScheme< CommunicationStencil > |
using | PackInfo = lbm_generated::NonuniformGeneratedPdfPackInfo< PdfField_T > |
Public Member Functions | |
BasicRecursiveTimeStep (std::shared_ptr< StructuredBlockForest > &sbfs, const BlockDataID &pdfFieldId, SweepCollection_T &sweepCollection, BoundaryCollection_T &boundaryCollection, std::shared_ptr< CommScheme > &commScheme, std::shared_ptr< PackInfo > &pdfFieldPackInfo) | |
void | operator() () |
void | addRefinementToTimeLoop (SweepTimeloop &timeloop, uint_t level=0) |
void | addPostBoundaryHandlingFunction (const LevelFunction &function) |
void | addPostCollisionFunction (const LevelFunction &function) |
Private Member Functions | |
void | timestep (uint_t level) |
void | ghostLayerPropagation (Block *block) |
std::function< void() > | executeStreamCollideOnLevel (uint_t level, bool withGhostLayerPropagation=false) |
std::function< void() > | executeBoundaryHandlingOnLevel (uint_t level) |
std::function< void() > | executePostBoundaryFunctions (uint_t level) |
std::function< void() > | executePostCollisionFunctions (uint_t level) |
Private Attributes | |
std::shared_ptr< StructuredBlockForest > | sbfs_ |
uint_t | maxLevel_ |
std::vector< std::vector< Block * > > | blocks_ |
const BlockDataID | pdfFieldId_ |
std::shared_ptr< PackInfo > | pdfFieldPackInfo_ |
std::shared_ptr< CommScheme > | commScheme_ |
SweepCollection_T & | sweepCollection_ |
BoundaryCollection_T & | boundaryCollection_ |
std::vector< LevelFunction > | globalPostBoundaryHandlingFunctions_ |
std::vector< LevelFunction > | globalPostCollisionFunctions_ |
using walberla::lbm_generated::BasicRecursiveTimeStep< PdfField_T, SweepCollection_T, BoundaryCollection_T >::CommScheme = NonUniformBufferedScheme< CommunicationStencil > |
using walberla::lbm_generated::BasicRecursiveTimeStep< PdfField_T, SweepCollection_T, BoundaryCollection_T >::CommunicationStencil = typename LatticeStorageSpecification_T::CommunicationStencil |
using walberla::lbm_generated::BasicRecursiveTimeStep< PdfField_T, SweepCollection_T, BoundaryCollection_T >::LatticeStorageSpecification_T = typename PdfField_T::LatticeStorageSpecification |
using walberla::lbm_generated::BasicRecursiveTimeStep< PdfField_T, SweepCollection_T, BoundaryCollection_T >::PackInfo = lbm_generated::NonuniformGeneratedPdfPackInfo< PdfField_T > |
using walberla::lbm_generated::BasicRecursiveTimeStep< PdfField_T, SweepCollection_T, BoundaryCollection_T >::Stencil = typename LatticeStorageSpecification_T::Stencil |
|
inline |
|
inline |
|
inline |
void walberla::lbm_generated::BasicRecursiveTimeStep< PdfField_T, SweepCollection_T, BoundaryCollection_T >::addRefinementToTimeLoop | ( | SweepTimeloop & | timeloop, |
uint_t | level = 0 ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |