waLBerla 7.2
Loading...
Searching...
No Matches
walberla::lbm Namespace Reference

Namespaces

namespace  collision_model
 
namespace  communication
 
namespace  evaluations
 
namespace  force_model
 
namespace  initializer
 
namespace  internal
 
namespace  internal_d3q19srt_kernel_collide
 
namespace  internal_d3q19srt_kernel_getter
 
namespace  internal_d3q19srt_kernel_initialise
 
namespace  internal_d3q19srt_kernel_stream
 
namespace  internal_d3q19srt_kernel_streamCollide
 
namespace  internal_d3q19srt_kernel_streamOnlyNoAdvancement
 
namespace  internal_d3q19storagespecification_localCopy_ALL
 
namespace  internal_d3q19storagespecification_localCopy_B
 
namespace  internal_d3q19storagespecification_localCopy_BE
 
namespace  internal_d3q19storagespecification_localCopy_BN
 
namespace  internal_d3q19storagespecification_localCopy_BS
 
namespace  internal_d3q19storagespecification_localCopy_BW
 
namespace  internal_d3q19storagespecification_localCopy_E
 
namespace  internal_d3q19storagespecification_localCopy_N
 
namespace  internal_d3q19storagespecification_localCopy_NE
 
namespace  internal_d3q19storagespecification_localCopy_NW
 
namespace  internal_d3q19storagespecification_localCopy_S
 
namespace  internal_d3q19storagespecification_localCopy_SE
 
namespace  internal_d3q19storagespecification_localCopy_SW
 
namespace  internal_d3q19storagespecification_localCopy_T
 
namespace  internal_d3q19storagespecification_localCopy_TE
 
namespace  internal_d3q19storagespecification_localCopy_TN
 
namespace  internal_d3q19storagespecification_localCopy_TS
 
namespace  internal_d3q19storagespecification_localCopy_TW
 
namespace  internal_d3q19storagespecification_localCopy_W
 
namespace  internal_d3q19storagespecification_pack_ALL
 
namespace  internal_d3q19storagespecification_pack_B
 
namespace  internal_d3q19storagespecification_pack_BE
 
namespace  internal_d3q19storagespecification_pack_BN
 
namespace  internal_d3q19storagespecification_pack_BS
 
namespace  internal_d3q19storagespecification_pack_BW
 
namespace  internal_d3q19storagespecification_pack_E
 
namespace  internal_d3q19storagespecification_pack_N
 
namespace  internal_d3q19storagespecification_pack_NE
 
namespace  internal_d3q19storagespecification_pack_NW
 
namespace  internal_d3q19storagespecification_pack_S
 
namespace  internal_d3q19storagespecification_pack_SE
 
namespace  internal_d3q19storagespecification_pack_SW
 
namespace  internal_d3q19storagespecification_pack_T
 
namespace  internal_d3q19storagespecification_pack_TE
 
namespace  internal_d3q19storagespecification_pack_TN
 
namespace  internal_d3q19storagespecification_pack_TS
 
namespace  internal_d3q19storagespecification_pack_TW
 
namespace  internal_d3q19storagespecification_pack_W
 
namespace  internal_d3q19storagespecification_unpack_ALL
 
namespace  internal_d3q19storagespecification_unpack_B
 
namespace  internal_d3q19storagespecification_unpack_BE
 
namespace  internal_d3q19storagespecification_unpack_BN
 
namespace  internal_d3q19storagespecification_unpack_BS
 
namespace  internal_d3q19storagespecification_unpack_BW
 
namespace  internal_d3q19storagespecification_unpack_E
 
namespace  internal_d3q19storagespecification_unpack_N
 
namespace  internal_d3q19storagespecification_unpack_NE
 
namespace  internal_d3q19storagespecification_unpack_NW
 
namespace  internal_d3q19storagespecification_unpack_S
 
namespace  internal_d3q19storagespecification_unpack_SE
 
namespace  internal_d3q19storagespecification_unpack_SW
 
namespace  internal_d3q19storagespecification_unpack_T
 
namespace  internal_d3q19storagespecification_unpack_TE
 
namespace  internal_d3q19storagespecification_unpack_TN
 
namespace  internal_d3q19storagespecification_unpack_TS
 
namespace  internal_d3q19storagespecification_unpack_TW
 
namespace  internal_d3q19storagespecification_unpack_W
 
namespace  internal_d3q27srt_kernel_collide
 
namespace  internal_d3q27srt_kernel_getter
 
namespace  internal_d3q27srt_kernel_initialise
 
namespace  internal_d3q27srt_kernel_stream
 
namespace  internal_d3q27srt_kernel_streamCollide
 
namespace  internal_d3q27srt_kernel_streamOnlyNoAdvancement
 
namespace  internal_d3q27storagespecification_localCopy_ALL
 
namespace  internal_d3q27storagespecification_localCopy_B
 
namespace  internal_d3q27storagespecification_localCopy_BE
 
namespace  internal_d3q27storagespecification_localCopy_BN
 
namespace  internal_d3q27storagespecification_localCopy_BNE
 
namespace  internal_d3q27storagespecification_localCopy_BNW
 
namespace  internal_d3q27storagespecification_localCopy_BS
 
namespace  internal_d3q27storagespecification_localCopy_BSE
 
namespace  internal_d3q27storagespecification_localCopy_BSW
 
namespace  internal_d3q27storagespecification_localCopy_BW
 
namespace  internal_d3q27storagespecification_localCopy_E
 
namespace  internal_d3q27storagespecification_localCopy_N
 
namespace  internal_d3q27storagespecification_localCopy_NE
 
namespace  internal_d3q27storagespecification_localCopy_NW
 
namespace  internal_d3q27storagespecification_localCopy_S
 
namespace  internal_d3q27storagespecification_localCopy_SE
 
namespace  internal_d3q27storagespecification_localCopy_SW
 
namespace  internal_d3q27storagespecification_localCopy_T
 
namespace  internal_d3q27storagespecification_localCopy_TE
 
namespace  internal_d3q27storagespecification_localCopy_TN
 
namespace  internal_d3q27storagespecification_localCopy_TNE
 
namespace  internal_d3q27storagespecification_localCopy_TNW
 
namespace  internal_d3q27storagespecification_localCopy_TS
 
namespace  internal_d3q27storagespecification_localCopy_TSE
 
namespace  internal_d3q27storagespecification_localCopy_TSW
 
namespace  internal_d3q27storagespecification_localCopy_TW
 
namespace  internal_d3q27storagespecification_localCopy_W
 
namespace  internal_d3q27storagespecification_pack_ALL
 
namespace  internal_d3q27storagespecification_pack_B
 
namespace  internal_d3q27storagespecification_pack_BE
 
namespace  internal_d3q27storagespecification_pack_BN
 
namespace  internal_d3q27storagespecification_pack_BNE
 
namespace  internal_d3q27storagespecification_pack_BNW
 
namespace  internal_d3q27storagespecification_pack_BS
 
namespace  internal_d3q27storagespecification_pack_BSE
 
namespace  internal_d3q27storagespecification_pack_BSW
 
namespace  internal_d3q27storagespecification_pack_BW
 
namespace  internal_d3q27storagespecification_pack_E
 
namespace  internal_d3q27storagespecification_pack_N
 
namespace  internal_d3q27storagespecification_pack_NE
 
namespace  internal_d3q27storagespecification_pack_NW
 
namespace  internal_d3q27storagespecification_pack_S
 
namespace  internal_d3q27storagespecification_pack_SE
 
namespace  internal_d3q27storagespecification_pack_SW
 
namespace  internal_d3q27storagespecification_pack_T
 
namespace  internal_d3q27storagespecification_pack_TE
 
namespace  internal_d3q27storagespecification_pack_TN
 
namespace  internal_d3q27storagespecification_pack_TNE
 
namespace  internal_d3q27storagespecification_pack_TNW
 
namespace  internal_d3q27storagespecification_pack_TS
 
namespace  internal_d3q27storagespecification_pack_TSE
 
namespace  internal_d3q27storagespecification_pack_TSW
 
namespace  internal_d3q27storagespecification_pack_TW
 
namespace  internal_d3q27storagespecification_pack_W
 
namespace  internal_d3q27storagespecification_unpack_ALL
 
namespace  internal_d3q27storagespecification_unpack_B
 
namespace  internal_d3q27storagespecification_unpack_BE
 
namespace  internal_d3q27storagespecification_unpack_BN
 
namespace  internal_d3q27storagespecification_unpack_BNE
 
namespace  internal_d3q27storagespecification_unpack_BNW
 
namespace  internal_d3q27storagespecification_unpack_BS
 
namespace  internal_d3q27storagespecification_unpack_BSE
 
namespace  internal_d3q27storagespecification_unpack_BSW
 
namespace  internal_d3q27storagespecification_unpack_BW
 
namespace  internal_d3q27storagespecification_unpack_E
 
namespace  internal_d3q27storagespecification_unpack_N
 
namespace  internal_d3q27storagespecification_unpack_NE
 
namespace  internal_d3q27storagespecification_unpack_NW
 
namespace  internal_d3q27storagespecification_unpack_S
 
namespace  internal_d3q27storagespecification_unpack_SE
 
namespace  internal_d3q27storagespecification_unpack_SW
 
namespace  internal_d3q27storagespecification_unpack_T
 
namespace  internal_d3q27storagespecification_unpack_TE
 
namespace  internal_d3q27storagespecification_unpack_TN
 
namespace  internal_d3q27storagespecification_unpack_TNE
 
namespace  internal_d3q27storagespecification_unpack_TNW
 
namespace  internal_d3q27storagespecification_unpack_TS
 
namespace  internal_d3q27storagespecification_unpack_TSE
 
namespace  internal_d3q27storagespecification_unpack_TSW
 
namespace  internal_d3q27storagespecification_unpack_TW
 
namespace  internal_d3q27storagespecification_unpack_W
 
namespace  internal_fixeddensityd3q19_even
 
namespace  internal_fixeddensityd3q27_even
 
namespace  internal_freeslipd3q19_even
 
namespace  internal_freeslipd3q27_even
 
namespace  internal_noslipd3q19_even
 
namespace  internal_noslipd3q27_even
 
namespace  internal_outflowd3q19_even
 
namespace  internal_outflowd3q27_even
 
namespace  internal_ubbd3q19_even
 
namespace  internal_ubbd3q27_even
 
namespace  refinement
 

Classes

class  ActiveCellSweep
 
struct  Adaptor
 
class  AdvectionDiffusionCellOperation
 
class  AdvectionDiffusionCellOperation< LM_AdvDiff, LM_Hydro >
 
class  AdvectionDiffusionDensityEquilibriumVelocityCalculation
 
class  AdvectionDiffusionSweep
 
class  AdvectionDiffusionSweep< LM_AdvDiff, VelocityAdapter_T, FlagField_T, VectorField_T >
 
class  BlockForestEvaluation
 
class  BlockForestEvaluationBase
 Class for evaluating the BlockForest data structure of an LBM simulation. More...
 
class  CellwiseSweep
 Class for performing the streaming and collision step of the LBM. More...
 
class  CollideSweep
 
class  CombinedInPlaceCpuPackInfo
 
class  CombinedInPlaceGpuPackInfo
 
class  CurlMagnitudeVTKWriter
 lengthScaleWeight is only used to be able to derive quantities for the adaptive mesh refinement criterium of curl. More...
 
class  Curved
 
class  D2Q9
 
class  D3Q15
 
class  D3Q19
 
class  D3Q19BoundaryCollection
 
class  D3Q19SRT
 
class  D3Q19StorageSpecification
 
class  D3Q27
 
class  D3Q27BoundaryCollection
 
class  D3Q27SRT
 
class  D3Q27StorageSpecification
 
class  DefaultBoundaryHandlingCollectionFactory
 
class  DefaultBoundaryHandlingFactory
 Creates a default boundary handling for LBM simulations. More...
 
class  DefaultCellOperation
 
class  DefaultCellOperation< LatticeModel_T, typename std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag > &&LatticeModel_T::CollisionModel::constant &&std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::Guo_tag > > >
 
class  DefaultCellOperation< LatticeModel_T, typename std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag > &&LatticeModel_T::CollisionModel::constant &&std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q19 > &&! LatticeModel_T::compressible &&std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > > >
 
class  DefaultCellOperation< LatticeModel_T, typename std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag > &&LatticeModel_T::CollisionModel::constant &&std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q19 > &&LatticeModel_T::compressible &&std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > > >
 
class  DefaultCellOperation< LatticeModel_T, typename std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag > &&LatticeModel_T::CollisionModel::constant &&std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q19 > &&std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > > >
 
class  DefaultCellOperation< LatticeModel_T, typename std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::TRT_tag > &&! std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q19 > &&std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > > >
 
class  DefaultCellOperation< LatticeModel_T, typename std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::TRT_tag > &&std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q19 > &&! LatticeModel_T::compressible &&std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > > >
 
class  DefaultCellOperation< LatticeModel_T, typename std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::TRT_tag > &&std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q19 > &&LatticeModel_T::compressible &&std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > > >
 
class  DefaultDensityEquilibriumVelocityCalculation
 
class  DefaultDensityVelocityCallback
 
class  DefaultDiffusionBoundaryHandlingFactory
 
struct  Density
 
struct  Density< LatticeModel_T >
 
class  DensityAdaptionFunction
 
struct  DensityAndMomentumDensity
 
struct  DensityAndMomentumDensity< LatticeModel_T >
 
struct  DensityAndVelocity
 
struct  DensityAndVelocityRange
 
struct  DensityAndVelocityRange< LatticeModel_T, FieldIteratorXYZ >
 
class  DensityCallback
 
class  DensitySIVTKWriter
 
class  DensityVelocityCallback
 
class  DensityVTKWriter
 
class  DiffusionDirichlet
 
class  DynamicUBB
 
struct  Equilibrium
 
struct  Equilibrium< LatticeModel_T >
 
class  EquilibriumDistribution
 
class  EquilibriumDistribution< LatticeModel_T >
 
struct  EquilibriumRange
 
struct  EquilibriumRange< LatticeModel_T, FieldIteratorXYZ >
 
class  ExtendedBoundaryHandlingFactory
 Creates a default boundary handling for LBM simulations. More...
 
class  FixedDensityD3Q19
 
class  FixedDensityD3Q27
 
class  FlagFieldSweepBase
 
class  FreeDiffusion
 
class  FreeSlip
 
class  FreeSlipD3Q19
 
class  FreeSlipD3Q27
 
class  LatticeModelBase
 Base class that is supposed (but not required) to be used for defining specific lattice models. More...
 
class  MarkerData
 
class  MarkerFieldGenerator
 
struct  MomentumDensity
 
struct  MomentumDensity< LatticeModel_T >
 
class  MomentumDensityAdaptionFunction
 
class  MomentumDensityVectorAdaptionFunction
 
struct  NeighborsStencil
 
struct  NeighborsStencil< LatticeModel_T >
 
class  NoDiffusion
 
class  NonEqulibriumVTKWriter
 
class  NoSlip
 
class  NoSlipD3Q19
 
class  NoSlipD3Q27
 
class  OutflowD3Q19
 
class  OutflowD3Q27
 
class  Outlet
 
class  ParserUBB
 
class  PdfField
 Specialized field class for PDF fields (fields containing multiple particle distribution functions per cell) More...
 
struct  PdfFieldCreator
 
class  PerformanceEvaluation
 Class for evaluating the performance of LBM simulations using fields. More...
 
class  PerformanceEvaluationBase
 Class for evaluating the performance of LBM simulations. More...
 
class  PerformanceLogger
 Class for using the PerformanceEvaluation in a timeloop. More...
 
class  PostProcessing
 
class  Pressure
 
struct  PressureTensor
 
class  PressureTensorVTKWriter
 
struct  QCriterion
 
class  QCriterionFieldWriter
 
class  QCriterionVTKWriter
 
struct  ShearRate
 
class  ShearRateAdaptionFunction
 
class  SimpleDiffusionDirichlet
 
class  SimplePAB
 
class  SimplePressure
 
class  SimpleUBB
 
class  SimpleVelocityBoundary
 
class  SmagorinskyLES
 Can be used together with the collision model "SRTField". More...
 
class  SparsePdfFieldPackInfo
 Optimized PackInfo for sparse PDF fields. More...
 
class  SplitPureSweep
 
class  SplitPureSweep< LatticeModel_T, typename std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag > &&LatticeModel_T::CollisionModel::constant &&std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q19 > &&! LatticeModel_T::compressible &&std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > > >
 
class  SplitPureSweep< LatticeModel_T, typename std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag > &&LatticeModel_T::CollisionModel::constant &&std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q19 > &&LatticeModel_T::compressible &&std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > > >
 
class  SplitPureSweep< LatticeModel_T, typename std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::TRT_tag > &&std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q19 > &&! LatticeModel_T::compressible &&std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > > >
 
class  SplitPureSweep< LatticeModel_T, typename std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::TRT_tag > &&std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q19 > &&LatticeModel_T::compressible &&std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > > >
 
class  SplitSweep
 
class  SplitSweep< LatticeModel_T, FlagField_T, typename std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag > &&LatticeModel_T::CollisionModel::constant &&std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q19 > &&! LatticeModel_T::compressible &&std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > > >
 
class  SplitSweep< LatticeModel_T, FlagField_T, typename std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag > &&LatticeModel_T::CollisionModel::constant &&std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q19 > &&LatticeModel_T::compressible &&std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > > >
 
class  SplitSweep< LatticeModel_T, FlagField_T, typename std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::TRT_tag > &&std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q19 > &&! LatticeModel_T::compressible &&std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > > >
 
class  SplitSweep< LatticeModel_T, FlagField_T, typename std::enable_if_t< std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::TRT_tag > &&std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q19 > &&LatticeModel_T::compressible &&std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > > >
 
struct  Stream
 
struct  StreamEverything
 
struct  StreamPull
 
struct  StreamPullEverything
 
class  StreamSweep
 
class  SweepBase
 
class  TimestepTracker
 
class  TimeTracker
 Keeps track of the simulation time (One step on the coarsest level counts as '1', one step on the next finer level counts as '0.5', one step on the next level as '0.25' etc.) More...
 
class  UBB
 
class  UBBD3Q19
 
class  UBBD3Q27
 
class  VelocityAdaptionFunction
 
class  VelocityBoundary
 
class  VelocityCallback
 
class  VelocityCallback< VelocityField_T >
 
class  VelocityFieldWriter
 
class  VelocityMagnitudeVTKWriter
 
class  VelocitySIMagnitudeVTKWriter
 
class  VelocitySIVTKWriter
 
class  VelocityVectorAdaptionFunction
 
class  VelocityVTKWriter
 
struct  Vorticity
 
class  VorticityComponentVTKWriter
 
class  VTKOutput
 Default setup for VTK in LBM simulations. More...
 

Typedefs

template<typename LatticeModel_T >
using PdfFieldPackInfo
 Optimized PackInfo for PDF fields (communicates only components pointing to neighbor)
 

Functions

 WALBERLA_LBM_CELLWISE_SWEEP_CLASS_HEAD_AND_STREAM ((std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::Cumulant_tag > &&std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q27 > &&LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==2 &&std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > &&std::is_same_v< DensityVelocityIn_T, DefaultDensityEquilibriumVelocityCalculation >)) WALBERLA_LBM_CELLWISE_SWEEP_STREAM_COLLIDE_HEAD((std
 
 WALBERLA_LBM_CELLWISE_SWEEP_STREAM_COLLIDE_FOOT () WALBERLA_LBM_CELLWISE_SWEEP_COLLIDE_HEAD((std
 
template<typename LatticeModel_T , typename BlockStorage_T >
BlockDataID addPdfFieldToStorage (const shared_ptr< BlockStorage_T > &blocks, const std::string &identifier, const LatticeModel_T &latticeModel, const field::Layout &layout=field::fzyx, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet(), const shared_ptr< field::FieldAllocator< real_t > > alloc=nullptr)
 
template<typename LatticeModel_T , typename BlockStorage_T >
BlockDataID addPdfFieldToStorage (const shared_ptr< BlockStorage_T > &blocks, const std::string &identifier, const LatticeModel_T &latticeModel, const uint_t ghostLayers, const field::Layout &layout=field::fzyx, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet(), const shared_ptr< field::FieldAllocator< real_t > > alloc=nullptr)
 
template<typename LatticeModel_T , typename BlockStorage_T >
BlockDataID addPdfFieldToStorage (const shared_ptr< BlockStorage_T > &blocks, const std::string &identifier, const LatticeModel_T &latticeModel, const Vector3< real_t > &initialVelocity, const real_t initialDensity, const field::Layout &layout=field::fzyx, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet(), const shared_ptr< field::FieldAllocator< real_t > > alloc=nullptr)
 
template<typename LatticeModel_T , typename BlockStorage_T >
BlockDataID addPdfFieldToStorage (const shared_ptr< BlockStorage_T > &blocks, const std::string &identifier, const LatticeModel_T &latticeModel, const Vector3< real_t > &initialVelocity, const real_t initialDensity, const uint_t ghostLayers, const field::Layout &layout=field::fzyx, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet(), const shared_ptr< field::FieldAllocator< real_t > > alloc=nullptr)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
void setDensityAndVelocity (FieldPtrOrIterator &it, const LatticeModel_T &latticeModel, const Vector3< real_t > &velocity=Vector3< real_t >(real_t(0.0)), const real_t rho=real_t(1.0))
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
void setToEquilibrium (FieldPtrOrIterator &it, const Vector3< real_t > &velocity=Vector3< real_t >(real_t(0.0)), const real_t rho=real_t(1.0))
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t getDensity (const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t getDensitySI (const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it, const real_t rho_SI)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
Vector3< real_tgetMomentumDensity (const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
void getMomentumDensity (Vector3< real_t > &momentumDensity, const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
Vector3< real_tgetEquilibriumMomentumDensity (const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
void getEquilibriumMomentumDensity (Vector3< real_t > &momentumDensity, const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
Vector3< real_tgetVelocity (const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
void getVelocity (Vector3< real_t > &velocity, const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
Vector3< real_tgetEquilibriumVelocity (const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
void getEquilibriumVelocity (Vector3< real_t > &velocity, const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
Vector3< real_tgetVelocitySI (const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it, const real_t dx_SI, const real_t dt_SI)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
void getVelocitySI (Vector3< real_t > &velocity, const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it, const real_t dx_SI, const real_t dt_SI)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
Vector3< real_tgetVelocitySI (const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it, const real_t dxDividedByDt_SI)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
void getVelocitySI (Vector3< real_t > &velocity, const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it, const real_t dxDividedByDt_SI)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t getDensityAndMomentumDensity (Vector3< real_t > &momentumDensity, const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t getDensityAndEquilibriumMomentumDensity (Vector3< real_t > &momentumDensity, const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t getDensityAndVelocity (Vector3< real_t > &velocity, const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t getDensityAndEquilibriumVelocity (Vector3< real_t > &velocity, const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t getDensityAndVelocitySI (Vector3< real_t > &velocity, const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it, const real_t rho_SI, const real_t dx_SI, const real_t dt_SI)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t getDensityAndVelocitySI (Vector3< real_t > &velocity, const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it, const real_t rho_SI, const real_t dxDividedByDt_SI)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t getShearRate (const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
Matrix3< real_tgetPressureTensor (const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it)
 
template<typename LatticeModel_T , typename FieldPtrOrIterator >
void getPressureTensor (Matrix3< real_t > &velocity, const LatticeModel_T &latticeModel, const FieldPtrOrIterator &it)
 
template<typename VelocityField_T , typename Filter_T >
real_t getQCriterion (const VelocityField_T &velocityField, const Filter_T &filter, const cell_idx_t x, const cell_idx_t y, const cell_idx_t z, real_t dx=real_t(1), real_t dy=real_t(1), real_t dz=real_t(1))
 
template<typename VelocityField_T , typename Filter_T >
Vector3< real_tgetVorticity (const VelocityField_T &velocityField, const Filter_T &filter, const cell_idx_t x, const cell_idx_t y, const cell_idx_t z, real_t dx=real_t(1), real_t dy=real_t(1), real_t dz=real_t(1))
 
real_t intersectionRatioSphere (const geometry::Sphere &sphere, const Vector3< real_t > &fluidPoint, const Vector3< real_t > &direction)
 
template<typename Body >
real_t intersectionRatioBisection (const Body &body, const Vector3< real_t > &fluidPoint, const Vector3< real_t > &direction, const real_t epsilon)
 
template<typename Body >
real_t intersectionRatio (const Body &body, const Vector3< real_t > &fluidPoint, const Vector3< real_t > &direction, const real_t epsilon)
 Computes the intersection of a ray segment with a body surface.
 
real_t intersectionRatio (const geometry::Sphere &sphere, const Vector3< real_t > &fluidPoint, const Vector3< real_t > &direction, const real_t=real_t(0))
 
template<typename DensityField_T >
shared_ptr< walberla::field::MassEvaluation< DensityField_T > > makeMassEvaluation (const shared_ptr< StructuredBlockStorage > &blocks, const uint_t level, const ConstBlockDataID &fieldId, const uint_t plotFrequency, const uint_t logFrequency, const std::string &filename=walberla::field::internal::massEvaluationFilename, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
template<typename DensityField_T , typename FlagField_T >
shared_ptr< walberla::field::MassEvaluation< DensityField_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T > > > makeMassEvaluation (const shared_ptr< StructuredBlockStorage > &blocks, const uint_t level, const ConstBlockDataID &fieldId, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &fluid, const uint_t plotFrequency, const uint_t logFrequency, const std::string &filename=walberla::field::internal::massEvaluationFilename, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
template<typename DensityField_T , typename Filter_T >
shared_ptr< walberla::field::MassEvaluation< DensityField_T, Filter_T > > makeMassEvaluation (const shared_ptr< StructuredBlockStorage > &blocks, const uint_t level, const ConstBlockDataID &fieldId, const Filter_T &filter, const uint_t plotFrequency, const uint_t logFrequency, const std::string &filename=walberla::field::internal::massEvaluationFilename, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
template<typename DensityField_T , bool Pseudo2D>
shared_ptr< walberla::field::MassEvaluation< DensityField_T, field::DefaultEvaluationFilter, Pseudo2D > > makeMassEvaluation (const shared_ptr< StructuredBlockStorage > &blocks, const uint_t level, const ConstBlockDataID &fieldId, const uint_t plotFrequency, const uint_t logFrequency, const std::string &filename=walberla::field::internal::massEvaluationFilename, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
template<typename DensityField_T , typename FlagField_T , bool Pseudo2D>
shared_ptr< walberla::field::MassEvaluation< DensityField_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, Pseudo2D > > makeMassEvaluation (const shared_ptr< StructuredBlockStorage > &blocks, const uint_t level, const ConstBlockDataID &fieldId, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &fluid, const uint_t plotFrequency, const uint_t logFrequency, const std::string &filename=walberla::field::internal::massEvaluationFilename, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
template<typename DensityField_T , typename Filter_T , bool Pseudo2D>
shared_ptr< walberla::field::MassEvaluation< DensityField_T, Filter_T, Pseudo2D > > makeMassEvaluation (const shared_ptr< StructuredBlockStorage > &blocks, const uint_t level, const ConstBlockDataID &fieldId, const Filter_T &filter, const uint_t plotFrequency, const uint_t logFrequency, const std::string &filename=walberla::field::internal::massEvaluationFilename, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
template<typename DensityField_T , typename Config_T >
shared_ptr< walberla::field::MassEvaluation< DensityField_T > > makeMassEvaluation (const Config_T &config, const shared_ptr< StructuredBlockStorage > &blocks, const uint_t level, const ConstBlockDataID &fieldId, const std::string &configBlockName=walberla::field::internal::massEvaluationConfigBlock, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
template<typename DensityField_T , typename FlagField_T , typename Config_T >
shared_ptr< walberla::field::MassEvaluation< DensityField_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T > > > makeMassEvaluation (const Config_T &config, const shared_ptr< StructuredBlockStorage > &blocks, const uint_t level, const ConstBlockDataID &fieldId, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &fluid, const std::string &configBlockName=walberla::field::internal::massEvaluationConfigBlock, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
template<typename DensityField_T , typename Filter_T , typename Config_T >
shared_ptr< walberla::field::MassEvaluation< DensityField_T, Filter_T > > makeMassEvaluation (const Config_T &config, const shared_ptr< StructuredBlockStorage > &blocks, const uint_t level, const ConstBlockDataID &fieldId, const Filter_T &filter, const std::string &configBlockName=walberla::field::internal::massEvaluationConfigBlock, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
template<typename DensityField_T , bool Pseudo2D, typename Config_T >
shared_ptr< walberla::field::MassEvaluation< DensityField_T, field::DefaultEvaluationFilter, Pseudo2D > > makeMassEvaluation (const Config_T &config, const shared_ptr< StructuredBlockStorage > &blocks, const uint_t level, const ConstBlockDataID &fieldId, const std::string &configBlockName=walberla::field::internal::massEvaluationConfigBlock, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
template<typename DensityField_T , typename FlagField_T , bool Pseudo2D, typename Config_T >
shared_ptr< walberla::field::MassEvaluation< DensityField_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, Pseudo2D > > makeMassEvaluation (const Config_T &config, const shared_ptr< StructuredBlockStorage > &blocks, const uint_t level, const ConstBlockDataID &fieldId, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &fluid, const std::string &configBlockName=walberla::field::internal::massEvaluationConfigBlock, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
template<typename DensityField_T , typename Filter_T , bool Pseudo2D, typename Config_T >
shared_ptr< walberla::field::MassEvaluation< DensityField_T, Filter_T, Pseudo2D > > makeMassEvaluation (const Config_T &config, const shared_ptr< StructuredBlockStorage > &blocks, const uint_t level, const ConstBlockDataID &fieldId, const Filter_T &filter, const std::string &configBlockName=walberla::field::internal::massEvaluationConfigBlock, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
 WALBERLA_LBM_CELLWISE_SWEEP_CLASS_HEAD_AND_STREAM (std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::MRT_tag > &&std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q19 > &&! LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==2 &&std::is_same_v< DensityVelocityIn_T, DefaultDensityEquilibriumVelocityCalculation >) WALBERLA_LBM_CELLWISE_SWEEP_STREAM_COLLIDE_HEAD(std
 
 WALBERLA_LBM_CELLWISE_SWEEP_CLASS_HEAD_AND_STREAM ((std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag > &&std::is_same_v< typename LatticeModel_T::Stencil, stencil::D2Q9 > &&LatticeModel_T::CollisionModel::constant &&! LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==2 &&std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > &&std::is_same_v< DensityVelocityIn_T, DefaultDensityEquilibriumVelocityCalculation >)) WALBERLA_LBM_CELLWISE_SWEEP_STREAM_COLLIDE_HEAD((std
 
 WALBERLA_LBM_CELLWISE_SWEEP_COLLIDE_FOOT () WALBERLA_LBM_CELLWISE_SWEEP_CLASS_HEAD_AND_STREAM((std
 
template<typename LatticeModel_T , typename Filter_T , typename DensityVelocityIn_T , typename DensityVelocityOut_T >
shared_ptr< CellwiseSweep< LatticeModel_T, Filter_T, DensityVelocityIn_T, DensityVelocityOut_T > > makeCellwiseSweep (const BlockDataID &pdfFieldId, const Filter_T &filter, const DensityVelocityIn_T &densityVelocityIn, const DensityVelocityOut_T &densityVelocityOut)
 
template<typename LatticeModel_T , typename Filter_T , typename DensityVelocityIn_T , typename DensityVelocityOut_T >
shared_ptr< CellwiseSweep< LatticeModel_T, Filter_T, DensityVelocityIn_T, DensityVelocityOut_T > > makeCellwiseSweep (const BlockDataID &src, const BlockDataID &dst, const Filter_T &filter, const DensityVelocityIn_T &densityVelocityIn, const DensityVelocityOut_T &densityVelocityOut)
 
template<typename LatticeModel_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::DefaultEvaluationFilter, DefaultDensityEquilibriumVelocityCalculation, DefaultDensityVelocityCallback > > makeCellwiseSweep (const BlockDataID &pdfFieldId)
 
template<typename LatticeModel_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::DefaultEvaluationFilter, DefaultDensityEquilibriumVelocityCalculation, DefaultDensityVelocityCallback > > makeCellwiseSweep (const BlockDataID &src, const BlockDataID &dst)
 
template<typename LatticeModel_T , typename FlagField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, DefaultDensityEquilibriumVelocityCalculation, DefaultDensityVelocityCallback > > makeCellwiseSweep (const BlockDataID &pdfFieldId, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &cellsToEvaluate)
 
template<typename LatticeModel_T , typename FlagField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, DefaultDensityEquilibriumVelocityCalculation, DefaultDensityVelocityCallback > > makeCellwiseSweep (const BlockDataID &src, const BlockDataID &dst, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &cellsToEvaluate)
 
template<typename LatticeModel_T , typename FlagField_T , typename VelocityField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, DefaultDensityEquilibriumVelocityCalculation, VelocityCallback< VelocityField_T > > > makeCellwiseSweep (const BlockDataID &pdfFieldId, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &cellsToEvaluate, const BlockDataID &velocityFieldId)
 
template<typename LatticeModel_T , typename FlagField_T , typename VelocityField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, DefaultDensityEquilibriumVelocityCalculation, VelocityCallback< VelocityField_T > > > makeCellwiseSweep (const BlockDataID &src, const BlockDataID &dst, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &cellsToEvaluate, const BlockDataID &velocityFieldId)
 
template<typename LatticeModel_T , typename FlagField_T , typename VelocityField_T , typename DensityField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, DefaultDensityEquilibriumVelocityCalculation, DensityVelocityCallback< VelocityField_T, DensityField_T > > > makeCellwiseSweep (const BlockDataID &pdfFieldId, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &cellsToEvaluate, const BlockDataID &velocityFieldId, const BlockDataID &densityFieldId)
 
template<typename LatticeModel_T , typename FlagField_T , typename VelocityField_T , typename DensityField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, DefaultDensityEquilibriumVelocityCalculation, DensityVelocityCallback< VelocityField_T, DensityField_T > > > makeCellwiseSweep (const BlockDataID &src, const BlockDataID &dst, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &cellsToEvaluate, const BlockDataID &velocityFieldId, const BlockDataID &densityFieldId)
 
template<typename LatticeModel_T , typename VelocityField_T , typename Filter_T , typename DensityVelocityOut_T >
shared_ptr< CellwiseSweep< LatticeModel_T, Filter_T, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, DensityVelocityOut_T > > makeCellwiseAdvectionDiffusionSweep (const BlockDataID &pdfFieldId, const ConstBlockDataID &velocityFieldId, const Filter_T &filter, const DensityVelocityOut_T &densityVelocityOut)
 
template<typename LatticeModel_T , typename VelocityField_T , typename Filter_T , typename DensityVelocityOut_T >
shared_ptr< CellwiseSweep< LatticeModel_T, Filter_T, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, DensityVelocityOut_T > > makeCellwiseAdvectionDiffusionSweep (const BlockDataID &src, const BlockDataID &dst, const ConstBlockDataID &velocityFieldId, const Filter_T &filter, const DensityVelocityOut_T &densityVelocityOut)
 
template<typename LatticeModel_T , typename VelocityField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::DefaultEvaluationFilter, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, DefaultDensityVelocityCallback > > makeCellwiseAdvectionDiffusionSweep (const BlockDataID &pdfFieldId, const ConstBlockDataID &velocityFieldId)
 
template<typename LatticeModel_T , typename VelocityField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::DefaultEvaluationFilter, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, DefaultDensityVelocityCallback > > makeCellwiseAdvectionDiffusionSweep (const BlockDataID &src, const BlockDataID &dst, const ConstBlockDataID &velocityFieldId)
 
template<typename LatticeModel_T , typename VelocityField_T , typename FlagField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, DefaultDensityVelocityCallback > > makeCellwiseAdvectionDiffusionSweep (const BlockDataID &pdfFieldId, const ConstBlockDataID &velocityFieldId, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &cellsToEvaluate)
 
template<typename LatticeModel_T , typename VelocityField_T , typename FlagField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, DefaultDensityVelocityCallback > > makeCellwiseAdvectionDiffusionSweep (const BlockDataID &src, const BlockDataID &dst, const ConstBlockDataID &velocityFieldId, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &cellsToEvaluate)
 
template<typename LatticeModel_T , typename VelocityField_T , typename FlagField_T , typename VelocityFieldOut_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, VelocityCallback< VelocityFieldOut_T > > > makeCellwiseAdvectionDiffusionSweep (const BlockDataID &pdfFieldId, const ConstBlockDataID &velocityFieldId, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &cellsToEvaluate, const BlockDataID &velocityFieldOutId)
 
template<typename LatticeModel_T , typename VelocityField_T , typename FlagField_T , typename VelocityFieldOut_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, VelocityCallback< VelocityFieldOut_T > > > makeCellwiseAdvectionDiffusionSweep (const BlockDataID &src, const BlockDataID &dst, const ConstBlockDataID &velocityFieldId, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &cellsToEvaluate, const BlockDataID &velocityFieldOutId)
 
template<typename LatticeModel_T , typename VelocityField_T , typename FlagField_T , typename VelocityFieldOut_T , typename DensityFieldOut_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, DensityVelocityCallback< VelocityFieldOut_T, DensityFieldOut_T > > > makeCellwiseAdvectionDiffusionSweep (const BlockDataID &pdfFieldId, const ConstBlockDataID &velocityFieldId, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &cellsToEvaluate, const BlockDataID &velocityFieldOutId, const BlockDataID &densityFieldOutId)
 
template<typename LatticeModel_T , typename VelocityField_T , typename FlagField_T , typename VelocityFieldOut_T , typename DensityFieldOut_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, DensityVelocityCallback< VelocityFieldOut_T, DensityFieldOut_T > > > makeCellwiseAdvectionDiffusionSweep (const BlockDataID &src, const BlockDataID &dst, const ConstBlockDataID &velocityFieldId, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &cellsToEvaluate, const BlockDataID &velocityFieldOutId, const BlockDataID &densityFieldOutId)
 
template<typename Kernel >
StreamSweep< Kernel > makeStreamSweep (const shared_ptr< Kernel > &kernel)
 
template<typename Kernel >
CollideSweep< Kernel > makeCollideSweep (const shared_ptr< Kernel > &kernel)
 
 WALBERLA_LBM_CELLWISE_SWEEP_CLASS_HEAD_AND_STREAM ((std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::TRT_tag > &&std::is_same_v< typename LatticeModel_T::Stencil, stencil::D2Q9 > &&! LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==2 &&std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > &&std::is_same_v< DensityVelocityIn_T, DefaultDensityEquilibriumVelocityCalculation >)) WALBERLA_LBM_CELLWISE_SWEEP_STREAM_COLLIDE_HEAD((std
 

Typedef Documentation

◆ PdfFieldPackInfo

Initial value:
field::communication::StencilRestrictedPackInfo< PdfField<LatticeModel_T>,
typename LatticeModel_T::Stencil>

Optimized PackInfo for PDF fields (communicates only components pointing to neighbor)

In principle a PDF field can be communicated using a FieldPackInfo which copies all entries (=values for f) of the ghost layer.

For PDF fields, however, it is sufficient to communicate only those discrete velocities which point into the direction of the neighboring block

This PackInfo sends only these required components and therefore the sizes of the messages decrease.

see also documentation for FieldPackInfo

Warning
For fields with nrOfGhostLayers > 1: only the components pointing towards the boundary are communicated, which may not be the desired behavior for the 'inner' ghost layers

Function Documentation

◆ addPdfFieldToStorage() [1/4]

template<typename LatticeModel_T , typename BlockStorage_T >
BlockDataID walberla::lbm::addPdfFieldToStorage ( const shared_ptr< BlockStorage_T > & blocks,
const std::string & identifier,
const LatticeModel_T & latticeModel,
const field::Layout & layout = field::fzyx,
const Set< SUID > & requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > & incompatibleSelectors = Set<SUID>::emptySet(),
const shared_ptr< field::FieldAllocator< real_t > > alloc = nullptr )

◆ addPdfFieldToStorage() [2/4]

template<typename LatticeModel_T , typename BlockStorage_T >
BlockDataID walberla::lbm::addPdfFieldToStorage ( const shared_ptr< BlockStorage_T > & blocks,
const std::string & identifier,
const LatticeModel_T & latticeModel,
const uint_t ghostLayers,
const field::Layout & layout = field::fzyx,
const Set< SUID > & requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > & incompatibleSelectors = Set<SUID>::emptySet(),
const shared_ptr< field::FieldAllocator< real_t > > alloc = nullptr )

◆ addPdfFieldToStorage() [3/4]

template<typename LatticeModel_T , typename BlockStorage_T >
BlockDataID walberla::lbm::addPdfFieldToStorage ( const shared_ptr< BlockStorage_T > & blocks,
const std::string & identifier,
const LatticeModel_T & latticeModel,
const Vector3< real_t > & initialVelocity,
const real_t initialDensity,
const field::Layout & layout = field::fzyx,
const Set< SUID > & requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > & incompatibleSelectors = Set<SUID>::emptySet(),
const shared_ptr< field::FieldAllocator< real_t > > alloc = nullptr )

◆ addPdfFieldToStorage() [4/4]

template<typename LatticeModel_T , typename BlockStorage_T >
BlockDataID walberla::lbm::addPdfFieldToStorage ( const shared_ptr< BlockStorage_T > & blocks,
const std::string & identifier,
const LatticeModel_T & latticeModel,
const Vector3< real_t > & initialVelocity,
const real_t initialDensity,
const uint_t ghostLayers,
const field::Layout & layout = field::fzyx,
const Set< SUID > & requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > & incompatibleSelectors = Set<SUID>::emptySet(),
const shared_ptr< field::FieldAllocator< real_t > > alloc = nullptr )

◆ getDensity()

template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t walberla::lbm::getDensity ( const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it )
inline

◆ getDensityAndEquilibriumMomentumDensity()

template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t walberla::lbm::getDensityAndEquilibriumMomentumDensity ( Vector3< real_t > & momentumDensity,
const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it )
inline

◆ getDensityAndEquilibriumVelocity()

template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t walberla::lbm::getDensityAndEquilibriumVelocity ( Vector3< real_t > & velocity,
const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it )
inline

◆ getDensityAndMomentumDensity()

template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t walberla::lbm::getDensityAndMomentumDensity ( Vector3< real_t > & momentumDensity,
const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it )
inline

◆ getDensityAndVelocity()

template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t walberla::lbm::getDensityAndVelocity ( Vector3< real_t > & velocity,
const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it )
inline

◆ getDensityAndVelocitySI() [1/2]

template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t walberla::lbm::getDensityAndVelocitySI ( Vector3< real_t > & velocity,
const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it,
const real_t rho_SI,
const real_t dx_SI,
const real_t dt_SI )
inline

◆ getDensityAndVelocitySI() [2/2]

template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t walberla::lbm::getDensityAndVelocitySI ( Vector3< real_t > & velocity,
const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it,
const real_t rho_SI,
const real_t dxDividedByDt_SI )
inline

◆ getDensitySI()

template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t walberla::lbm::getDensitySI ( const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it,
const real_t rho_SI )
inline

◆ getEquilibriumMomentumDensity() [1/2]

template<typename LatticeModel_T , typename FieldPtrOrIterator >
Vector3< real_t > walberla::lbm::getEquilibriumMomentumDensity ( const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it )
inline

◆ getEquilibriumMomentumDensity() [2/2]

template<typename LatticeModel_T , typename FieldPtrOrIterator >
void walberla::lbm::getEquilibriumMomentumDensity ( Vector3< real_t > & momentumDensity,
const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it )
inline

◆ getEquilibriumVelocity() [1/2]

template<typename LatticeModel_T , typename FieldPtrOrIterator >
Vector3< real_t > walberla::lbm::getEquilibriumVelocity ( const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it )
inline

◆ getEquilibriumVelocity() [2/2]

template<typename LatticeModel_T , typename FieldPtrOrIterator >
void walberla::lbm::getEquilibriumVelocity ( Vector3< real_t > & velocity,
const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it )
inline

◆ getMomentumDensity() [1/2]

template<typename LatticeModel_T , typename FieldPtrOrIterator >
Vector3< real_t > walberla::lbm::getMomentumDensity ( const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it )
inline

◆ getMomentumDensity() [2/2]

template<typename LatticeModel_T , typename FieldPtrOrIterator >
void walberla::lbm::getMomentumDensity ( Vector3< real_t > & momentumDensity,
const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it )
inline

◆ getPressureTensor() [1/2]

template<typename LatticeModel_T , typename FieldPtrOrIterator >
Matrix3< real_t > walberla::lbm::getPressureTensor ( const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it )
inline

◆ getPressureTensor() [2/2]

template<typename LatticeModel_T , typename FieldPtrOrIterator >
void walberla::lbm::getPressureTensor ( Matrix3< real_t > & velocity,
const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it )
inline

◆ getQCriterion()

template<typename VelocityField_T , typename Filter_T >
real_t walberla::lbm::getQCriterion ( const VelocityField_T & velocityField,
const Filter_T & filter,
const cell_idx_t x,
const cell_idx_t y,
const cell_idx_t z,
real_t dx = real_t(1),
real_t dy = real_t(1),
real_t dz = real_t(1) )
inline

◆ getShearRate()

template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t walberla::lbm::getShearRate ( const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it )
inline

◆ getVelocity() [1/2]

template<typename LatticeModel_T , typename FieldPtrOrIterator >
Vector3< real_t > walberla::lbm::getVelocity ( const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it )
inline

◆ getVelocity() [2/2]

template<typename LatticeModel_T , typename FieldPtrOrIterator >
void walberla::lbm::getVelocity ( Vector3< real_t > & velocity,
const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it )
inline

◆ getVelocitySI() [1/4]

template<typename LatticeModel_T , typename FieldPtrOrIterator >
Vector3< real_t > walberla::lbm::getVelocitySI ( const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it,
const real_t dx_SI,
const real_t dt_SI )
inline

◆ getVelocitySI() [2/4]

template<typename LatticeModel_T , typename FieldPtrOrIterator >
Vector3< real_t > walberla::lbm::getVelocitySI ( const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it,
const real_t dxDividedByDt_SI )
inline

◆ getVelocitySI() [3/4]

template<typename LatticeModel_T , typename FieldPtrOrIterator >
void walberla::lbm::getVelocitySI ( Vector3< real_t > & velocity,
const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it,
const real_t dx_SI,
const real_t dt_SI )
inline

◆ getVelocitySI() [4/4]

template<typename LatticeModel_T , typename FieldPtrOrIterator >
void walberla::lbm::getVelocitySI ( Vector3< real_t > & velocity,
const LatticeModel_T & latticeModel,
const FieldPtrOrIterator & it,
const real_t dxDividedByDt_SI )
inline

◆ getVorticity()

template<typename VelocityField_T , typename Filter_T >
Vector3< real_t > walberla::lbm::getVorticity ( const VelocityField_T & velocityField,
const Filter_T & filter,
const cell_idx_t x,
const cell_idx_t y,
const cell_idx_t z,
real_t dx = real_t(1),
real_t dy = real_t(1),
real_t dz = real_t(1) )
inline

◆ intersectionRatio() [1/2]

template<typename Body >
real_t walberla::lbm::intersectionRatio ( const Body & body,
const Vector3< real_t > & fluidPoint,
const Vector3< real_t > & direction,
const real_t epsilon )

Computes the intersection of a ray segment with a body surface.

Let P_i be the intersection point

Parameters
bodysurface
fluidPoint(P_f), start point of ray
direction(d) of ray (length of d is the length of the ray segment)
epsilonabortion criterion for iterative methods. Epsilon relates to the distance of P_i to the surface
Returns
Intersection ratio: | P_i - P_f | / | d |

◆ intersectionRatio() [2/2]

real_t walberla::lbm::intersectionRatio ( const geometry::Sphere & sphere,
const Vector3< real_t > & fluidPoint,
const Vector3< real_t > & direction,
const real_t = real_t(0) )
inline

◆ intersectionRatioBisection()

template<typename Body >
real_t walberla::lbm::intersectionRatioBisection ( const Body & body,
const Vector3< real_t > & fluidPoint,
const Vector3< real_t > & direction,
const real_t epsilon )

◆ intersectionRatioSphere()

real_t walberla::lbm::intersectionRatioSphere ( const geometry::Sphere & sphere,
const Vector3< real_t > & fluidPoint,
const Vector3< real_t > & direction )

◆ makeCellwiseAdvectionDiffusionSweep() [1/10]

template<typename LatticeModel_T , typename VelocityField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::DefaultEvaluationFilter, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, DefaultDensityVelocityCallback > > walberla::lbm::makeCellwiseAdvectionDiffusionSweep ( const BlockDataID & pdfFieldId,
const ConstBlockDataID & velocityFieldId )

◆ makeCellwiseAdvectionDiffusionSweep() [2/10]

template<typename LatticeModel_T , typename VelocityField_T , typename FlagField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, DefaultDensityVelocityCallback > > walberla::lbm::makeCellwiseAdvectionDiffusionSweep ( const BlockDataID & pdfFieldId,
const ConstBlockDataID & velocityFieldId,
const ConstBlockDataID & flagFieldId,
const Set< FlagUID > & cellsToEvaluate )

◆ makeCellwiseAdvectionDiffusionSweep() [3/10]

template<typename LatticeModel_T , typename VelocityField_T , typename FlagField_T , typename VelocityFieldOut_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, VelocityCallback< VelocityFieldOut_T > > > walberla::lbm::makeCellwiseAdvectionDiffusionSweep ( const BlockDataID & pdfFieldId,
const ConstBlockDataID & velocityFieldId,
const ConstBlockDataID & flagFieldId,
const Set< FlagUID > & cellsToEvaluate,
const BlockDataID & velocityFieldOutId )

◆ makeCellwiseAdvectionDiffusionSweep() [4/10]

template<typename LatticeModel_T , typename VelocityField_T , typename FlagField_T , typename VelocityFieldOut_T , typename DensityFieldOut_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, DensityVelocityCallback< VelocityFieldOut_T, DensityFieldOut_T > > > walberla::lbm::makeCellwiseAdvectionDiffusionSweep ( const BlockDataID & pdfFieldId,
const ConstBlockDataID & velocityFieldId,
const ConstBlockDataID & flagFieldId,
const Set< FlagUID > & cellsToEvaluate,
const BlockDataID & velocityFieldOutId,
const BlockDataID & densityFieldOutId )

◆ makeCellwiseAdvectionDiffusionSweep() [5/10]

template<typename LatticeModel_T , typename VelocityField_T , typename Filter_T , typename DensityVelocityOut_T >
shared_ptr< CellwiseSweep< LatticeModel_T, Filter_T, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, DensityVelocityOut_T > > walberla::lbm::makeCellwiseAdvectionDiffusionSweep ( const BlockDataID & pdfFieldId,
const ConstBlockDataID & velocityFieldId,
const Filter_T & filter,
const DensityVelocityOut_T & densityVelocityOut )

◆ makeCellwiseAdvectionDiffusionSweep() [6/10]

template<typename LatticeModel_T , typename VelocityField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::DefaultEvaluationFilter, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, DefaultDensityVelocityCallback > > walberla::lbm::makeCellwiseAdvectionDiffusionSweep ( const BlockDataID & src,
const BlockDataID & dst,
const ConstBlockDataID & velocityFieldId )

◆ makeCellwiseAdvectionDiffusionSweep() [7/10]

template<typename LatticeModel_T , typename VelocityField_T , typename FlagField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, DefaultDensityVelocityCallback > > walberla::lbm::makeCellwiseAdvectionDiffusionSweep ( const BlockDataID & src,
const BlockDataID & dst,
const ConstBlockDataID & velocityFieldId,
const ConstBlockDataID & flagFieldId,
const Set< FlagUID > & cellsToEvaluate )

◆ makeCellwiseAdvectionDiffusionSweep() [8/10]

template<typename LatticeModel_T , typename VelocityField_T , typename FlagField_T , typename VelocityFieldOut_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, VelocityCallback< VelocityFieldOut_T > > > walberla::lbm::makeCellwiseAdvectionDiffusionSweep ( const BlockDataID & src,
const BlockDataID & dst,
const ConstBlockDataID & velocityFieldId,
const ConstBlockDataID & flagFieldId,
const Set< FlagUID > & cellsToEvaluate,
const BlockDataID & velocityFieldOutId )

◆ makeCellwiseAdvectionDiffusionSweep() [9/10]

template<typename LatticeModel_T , typename VelocityField_T , typename FlagField_T , typename VelocityFieldOut_T , typename DensityFieldOut_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, DensityVelocityCallback< VelocityFieldOut_T, DensityFieldOut_T > > > walberla::lbm::makeCellwiseAdvectionDiffusionSweep ( const BlockDataID & src,
const BlockDataID & dst,
const ConstBlockDataID & velocityFieldId,
const ConstBlockDataID & flagFieldId,
const Set< FlagUID > & cellsToEvaluate,
const BlockDataID & velocityFieldOutId,
const BlockDataID & densityFieldOutId )

◆ makeCellwiseAdvectionDiffusionSweep() [10/10]

template<typename LatticeModel_T , typename VelocityField_T , typename Filter_T , typename DensityVelocityOut_T >
shared_ptr< CellwiseSweep< LatticeModel_T, Filter_T, AdvectionDiffusionDensityEquilibriumVelocityCalculation< VelocityField_T >, DensityVelocityOut_T > > walberla::lbm::makeCellwiseAdvectionDiffusionSweep ( const BlockDataID & src,
const BlockDataID & dst,
const ConstBlockDataID & velocityFieldId,
const Filter_T & filter,
const DensityVelocityOut_T & densityVelocityOut )

◆ makeCellwiseSweep() [1/10]

◆ makeCellwiseSweep() [2/10]

template<typename LatticeModel_T , typename FlagField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, DefaultDensityEquilibriumVelocityCalculation, DefaultDensityVelocityCallback > > walberla::lbm::makeCellwiseSweep ( const BlockDataID & pdfFieldId,
const ConstBlockDataID & flagFieldId,
const Set< FlagUID > & cellsToEvaluate )

◆ makeCellwiseSweep() [3/10]

template<typename LatticeModel_T , typename FlagField_T , typename VelocityField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, DefaultDensityEquilibriumVelocityCalculation, VelocityCallback< VelocityField_T > > > walberla::lbm::makeCellwiseSweep ( const BlockDataID & pdfFieldId,
const ConstBlockDataID & flagFieldId,
const Set< FlagUID > & cellsToEvaluate,
const BlockDataID & velocityFieldId )

◆ makeCellwiseSweep() [4/10]

template<typename LatticeModel_T , typename FlagField_T , typename VelocityField_T , typename DensityField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, DefaultDensityEquilibriumVelocityCalculation, DensityVelocityCallback< VelocityField_T, DensityField_T > > > walberla::lbm::makeCellwiseSweep ( const BlockDataID & pdfFieldId,
const ConstBlockDataID & flagFieldId,
const Set< FlagUID > & cellsToEvaluate,
const BlockDataID & velocityFieldId,
const BlockDataID & densityFieldId )

◆ makeCellwiseSweep() [5/10]

template<typename LatticeModel_T , typename Filter_T , typename DensityVelocityIn_T , typename DensityVelocityOut_T >
shared_ptr< CellwiseSweep< LatticeModel_T, Filter_T, DensityVelocityIn_T, DensityVelocityOut_T > > walberla::lbm::makeCellwiseSweep ( const BlockDataID & pdfFieldId,
const Filter_T & filter,
const DensityVelocityIn_T & densityVelocityIn,
const DensityVelocityOut_T & densityVelocityOut )

◆ makeCellwiseSweep() [6/10]

◆ makeCellwiseSweep() [7/10]

template<typename LatticeModel_T , typename FlagField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, DefaultDensityEquilibriumVelocityCalculation, DefaultDensityVelocityCallback > > walberla::lbm::makeCellwiseSweep ( const BlockDataID & src,
const BlockDataID & dst,
const ConstBlockDataID & flagFieldId,
const Set< FlagUID > & cellsToEvaluate )

◆ makeCellwiseSweep() [8/10]

template<typename LatticeModel_T , typename FlagField_T , typename VelocityField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, DefaultDensityEquilibriumVelocityCalculation, VelocityCallback< VelocityField_T > > > walberla::lbm::makeCellwiseSweep ( const BlockDataID & src,
const BlockDataID & dst,
const ConstBlockDataID & flagFieldId,
const Set< FlagUID > & cellsToEvaluate,
const BlockDataID & velocityFieldId )

◆ makeCellwiseSweep() [9/10]

template<typename LatticeModel_T , typename FlagField_T , typename VelocityField_T , typename DensityField_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, DefaultDensityEquilibriumVelocityCalculation, DensityVelocityCallback< VelocityField_T, DensityField_T > > > walberla::lbm::makeCellwiseSweep ( const BlockDataID & src,
const BlockDataID & dst,
const ConstBlockDataID & flagFieldId,
const Set< FlagUID > & cellsToEvaluate,
const BlockDataID & velocityFieldId,
const BlockDataID & densityFieldId )

◆ makeCellwiseSweep() [10/10]

template<typename LatticeModel_T , typename Filter_T , typename DensityVelocityIn_T , typename DensityVelocityOut_T >
shared_ptr< CellwiseSweep< LatticeModel_T, Filter_T, DensityVelocityIn_T, DensityVelocityOut_T > > walberla::lbm::makeCellwiseSweep ( const BlockDataID & src,
const BlockDataID & dst,
const Filter_T & filter,
const DensityVelocityIn_T & densityVelocityIn,
const DensityVelocityOut_T & densityVelocityOut )

◆ makeCollideSweep()

template<typename Kernel >
CollideSweep< Kernel > walberla::lbm::makeCollideSweep ( const shared_ptr< Kernel > & kernel)
inline

◆ makeMassEvaluation() [1/12]

template<typename DensityField_T , typename FlagField_T , typename Config_T >
shared_ptr< walberla::field::MassEvaluation< DensityField_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T > > > walberla::lbm::makeMassEvaluation ( const Config_T & config,
const shared_ptr< StructuredBlockStorage > & blocks,
const uint_t level,
const ConstBlockDataID & fieldId,
const ConstBlockDataID & flagFieldId,
const Set< FlagUID > & fluid,
const std::string & configBlockName = walberla::field::internal::massEvaluationConfigBlock,
const Set< SUID > & requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > & incompatibleSelectors = Set<SUID>::emptySet() )

◆ makeMassEvaluation() [2/12]

template<typename DensityField_T , typename FlagField_T , bool Pseudo2D, typename Config_T >
shared_ptr< walberla::field::MassEvaluation< DensityField_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, Pseudo2D > > walberla::lbm::makeMassEvaluation ( const Config_T & config,
const shared_ptr< StructuredBlockStorage > & blocks,
const uint_t level,
const ConstBlockDataID & fieldId,
const ConstBlockDataID & flagFieldId,
const Set< FlagUID > & fluid,
const std::string & configBlockName = walberla::field::internal::massEvaluationConfigBlock,
const Set< SUID > & requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > & incompatibleSelectors = Set<SUID>::emptySet() )

◆ makeMassEvaluation() [3/12]

template<typename DensityField_T , typename Filter_T , typename Config_T >
shared_ptr< walberla::field::MassEvaluation< DensityField_T, Filter_T > > walberla::lbm::makeMassEvaluation ( const Config_T & config,
const shared_ptr< StructuredBlockStorage > & blocks,
const uint_t level,
const ConstBlockDataID & fieldId,
const Filter_T & filter,
const std::string & configBlockName = walberla::field::internal::massEvaluationConfigBlock,
const Set< SUID > & requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > & incompatibleSelectors = Set<SUID>::emptySet() )

◆ makeMassEvaluation() [4/12]

template<typename DensityField_T , typename Filter_T , bool Pseudo2D, typename Config_T >
shared_ptr< walberla::field::MassEvaluation< DensityField_T, Filter_T, Pseudo2D > > walberla::lbm::makeMassEvaluation ( const Config_T & config,
const shared_ptr< StructuredBlockStorage > & blocks,
const uint_t level,
const ConstBlockDataID & fieldId,
const Filter_T & filter,
const std::string & configBlockName = walberla::field::internal::massEvaluationConfigBlock,
const Set< SUID > & requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > & incompatibleSelectors = Set<SUID>::emptySet() )

◆ makeMassEvaluation() [5/12]

template<typename DensityField_T , typename Config_T >
shared_ptr< walberla::field::MassEvaluation< DensityField_T > > walberla::lbm::makeMassEvaluation ( const Config_T & config,
const shared_ptr< StructuredBlockStorage > & blocks,
const uint_t level,
const ConstBlockDataID & fieldId,
const std::string & configBlockName = walberla::field::internal::massEvaluationConfigBlock,
const Set< SUID > & requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > & incompatibleSelectors = Set<SUID>::emptySet() )

◆ makeMassEvaluation() [6/12]

template<typename DensityField_T , bool Pseudo2D, typename Config_T >
shared_ptr< walberla::field::MassEvaluation< DensityField_T, field::DefaultEvaluationFilter, Pseudo2D > > walberla::lbm::makeMassEvaluation ( const Config_T & config,
const shared_ptr< StructuredBlockStorage > & blocks,
const uint_t level,
const ConstBlockDataID & fieldId,
const std::string & configBlockName = walberla::field::internal::massEvaluationConfigBlock,
const Set< SUID > & requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > & incompatibleSelectors = Set<SUID>::emptySet() )

◆ makeMassEvaluation() [7/12]

template<typename DensityField_T , typename FlagField_T >
shared_ptr< walberla::field::MassEvaluation< DensityField_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T > > > walberla::lbm::makeMassEvaluation ( const shared_ptr< StructuredBlockStorage > & blocks,
const uint_t level,
const ConstBlockDataID & fieldId,
const ConstBlockDataID & flagFieldId,
const Set< FlagUID > & fluid,
const uint_t plotFrequency,
const uint_t logFrequency,
const std::string & filename = walberla::field::internal::massEvaluationFilename,
const Set< SUID > & requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > & incompatibleSelectors = Set<SUID>::emptySet() )

◆ makeMassEvaluation() [8/12]

template<typename DensityField_T , typename FlagField_T , bool Pseudo2D>
shared_ptr< walberla::field::MassEvaluation< DensityField_T, walberla::field::FlagFieldEvaluationFilter< FlagField_T >, Pseudo2D > > walberla::lbm::makeMassEvaluation ( const shared_ptr< StructuredBlockStorage > & blocks,
const uint_t level,
const ConstBlockDataID & fieldId,
const ConstBlockDataID & flagFieldId,
const Set< FlagUID > & fluid,
const uint_t plotFrequency,
const uint_t logFrequency,
const std::string & filename = walberla::field::internal::massEvaluationFilename,
const Set< SUID > & requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > & incompatibleSelectors = Set<SUID>::emptySet() )

◆ makeMassEvaluation() [9/12]

template<typename DensityField_T , typename Filter_T >
shared_ptr< walberla::field::MassEvaluation< DensityField_T, Filter_T > > walberla::lbm::makeMassEvaluation ( const shared_ptr< StructuredBlockStorage > & blocks,
const uint_t level,
const ConstBlockDataID & fieldId,
const Filter_T & filter,
const uint_t plotFrequency,
const uint_t logFrequency,
const std::string & filename = walberla::field::internal::massEvaluationFilename,
const Set< SUID > & requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > & incompatibleSelectors = Set<SUID>::emptySet() )

◆ makeMassEvaluation() [10/12]

template<typename DensityField_T , typename Filter_T , bool Pseudo2D>
shared_ptr< walberla::field::MassEvaluation< DensityField_T, Filter_T, Pseudo2D > > walberla::lbm::makeMassEvaluation ( const shared_ptr< StructuredBlockStorage > & blocks,
const uint_t level,
const ConstBlockDataID & fieldId,
const Filter_T & filter,
const uint_t plotFrequency,
const uint_t logFrequency,
const std::string & filename = walberla::field::internal::massEvaluationFilename,
const Set< SUID > & requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > & incompatibleSelectors = Set<SUID>::emptySet() )

◆ makeMassEvaluation() [11/12]

template<typename DensityField_T >
shared_ptr< walberla::field::MassEvaluation< DensityField_T > > walberla::lbm::makeMassEvaluation ( const shared_ptr< StructuredBlockStorage > & blocks,
const uint_t level,
const ConstBlockDataID & fieldId,
const uint_t plotFrequency,
const uint_t logFrequency,
const std::string & filename = walberla::field::internal::massEvaluationFilename,
const Set< SUID > & requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > & incompatibleSelectors = Set<SUID>::emptySet() )

Mass Evaluation for the LBM

Some 'makeMassEvaluation' functions for evaluating the mass evolution of LBM-based simulations. For an extensive documentation see Mass Evaluation in 'field/MassEvaluation.h'.

Please note that the 'makeMassEvaluation' functions for the LBM pre-configure the domain normalization such that the volume of a cell on level 'level' (0 by default) is equal to 1. This is in accordance with dimensionless lattice units.

If you do not have a dedicated field for storing the density of your LBM-based simulation, you can use

BlockDataID densityId = field::addFieldAdaptor< lbm::Adaptor<LatticeModel_T>::Density >( blocks, pdfFieldId,
"density adaptor" );

for creating a density adaptor. The type of this adaptor/field is 'lbm::Adaptor<LatticeModel_T>::Density'. An example for using a SharedFunctor that can be used to register the mass evaluation at a time loop might look like as follows:

uint_t(0), densityId ) )
Adaptor for walberla::field::GhostLayerField.
Definition GhostLayerFieldAdaptor.h:83
shared_ptr< walberla::field::MassEvaluation< DensityField_T > > makeMassEvaluation(const shared_ptr< StructuredBlockStorage > &blocks, const uint_t level, const ConstBlockDataID &fieldId, const uint_t plotFrequency, const uint_t logFrequency, const std::string &filename=walberla::field::internal::massEvaluationFilename, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
Definition MassEvaluation.h:92
SharedFunctor< F > makeSharedFunctor(const shared_ptr< F > &functorPtr)
Definition SharedFunctor.h:46
std::size_t uint_t
Definition DataTypes.h:133

Note that for this example the plot and log frequency can be controlled via the configuration file. In this example, all cells are processed. If not all of your cells are actually fluid cells, you should use a 'makeMassEvaluation' function that only processes cells marked as fluid cells in a flag field:

config, blocks, uint_t(0), densityId, flagFieldId, fluidFlagUID ) )
GhostLayerField that stores bit masks.
Definition FlagField.h:83

◆ makeMassEvaluation() [12/12]

template<typename DensityField_T , bool Pseudo2D>
shared_ptr< walberla::field::MassEvaluation< DensityField_T, field::DefaultEvaluationFilter, Pseudo2D > > walberla::lbm::makeMassEvaluation ( const shared_ptr< StructuredBlockStorage > & blocks,
const uint_t level,
const ConstBlockDataID & fieldId,
const uint_t plotFrequency,
const uint_t logFrequency,
const std::string & filename = walberla::field::internal::massEvaluationFilename,
const Set< SUID > & requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > & incompatibleSelectors = Set<SUID>::emptySet() )

◆ makeStreamSweep()

template<typename Kernel >
StreamSweep< Kernel > walberla::lbm::makeStreamSweep ( const shared_ptr< Kernel > & kernel)
inline

◆ setDensityAndVelocity()

template<typename LatticeModel_T , typename FieldPtrOrIterator >
void walberla::lbm::setDensityAndVelocity ( FieldPtrOrIterator & it,
const LatticeModel_T & latticeModel,
const Vector3< real_t > & velocity = Vector3real_t >( real_t(0.0) ),
const real_t rho = real_t(1.0) )
inline

◆ setToEquilibrium()

template<typename LatticeModel_T , typename FieldPtrOrIterator >
void walberla::lbm::setToEquilibrium ( FieldPtrOrIterator & it,
const Vector3< real_t > & velocity = Vector3real_t >( real_t(0.0) ),
const real_t rho = real_t(1.0) )
inline

◆ WALBERLA_LBM_CELLWISE_SWEEP_CLASS_HEAD_AND_STREAM() [1/4]

walberla::lbm::WALBERLA_LBM_CELLWISE_SWEEP_CLASS_HEAD_AND_STREAM ( (std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::Cumulant_tag > && std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q27 > && LatticeModel_T::compressible && LatticeModel_T::equilibriumAccuracyOrder==2 && std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > && std::is_same_v< DensityVelocityIn_T, DefaultDensityEquilibriumVelocityCalculation >) )

◆ WALBERLA_LBM_CELLWISE_SWEEP_CLASS_HEAD_AND_STREAM() [2/4]

walberla::lbm::WALBERLA_LBM_CELLWISE_SWEEP_CLASS_HEAD_AND_STREAM ( (std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag > && std::is_same_v< typename LatticeModel_T::Stencil, stencil::D2Q9 > && LatticeModel_T::CollisionModel::constant && ! LatticeModel_T::compressible && LatticeModel_T::equilibriumAccuracyOrder==2 && std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > && std::is_same_v< DensityVelocityIn_T, DefaultDensityEquilibriumVelocityCalculation >) )

◆ WALBERLA_LBM_CELLWISE_SWEEP_CLASS_HEAD_AND_STREAM() [3/4]

walberla::lbm::WALBERLA_LBM_CELLWISE_SWEEP_CLASS_HEAD_AND_STREAM ( (std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::TRT_tag > && std::is_same_v< typename LatticeModel_T::Stencil, stencil::D2Q9 > && ! LatticeModel_T::compressible && LatticeModel_T::equilibriumAccuracyOrder==2 && std::is_same_v< typename LatticeModel_T::ForceModel::tag, force_model::None_tag > && std::is_same_v< DensityVelocityIn_T, DefaultDensityEquilibriumVelocityCalculation >) )

◆ WALBERLA_LBM_CELLWISE_SWEEP_CLASS_HEAD_AND_STREAM() [4/4]

walberla::lbm::WALBERLA_LBM_CELLWISE_SWEEP_CLASS_HEAD_AND_STREAM ( std::is_same_v< typename LatticeModel_T::CollisionModel::tag, collision_model::MRT_tag > &&std::is_same_v< typename LatticeModel_T::Stencil, stencil::D3Q19 > &&! LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder = = 2 && std::is_same_v< DensityVelocityIn_T, DefaultDensityEquilibriumVelocityCalculation >)

◆ WALBERLA_LBM_CELLWISE_SWEEP_COLLIDE_FOOT()

walberla::lbm::WALBERLA_LBM_CELLWISE_SWEEP_COLLIDE_FOOT ( )

◆ WALBERLA_LBM_CELLWISE_SWEEP_STREAM_COLLIDE_FOOT()

walberla::lbm::WALBERLA_LBM_CELLWISE_SWEEP_STREAM_COLLIDE_FOOT ( )