walberla::lbm Namespace Reference

Namespaces

 collision_model
 
 communication
 
 evaluations
 
 force_model
 
 initializer
 
 internal
 
 internal_d3q19srt_kernel_collide
 
 internal_d3q19srt_kernel_getter
 
 internal_d3q19srt_kernel_initialise
 
 internal_d3q19srt_kernel_stream
 
 internal_d3q19srt_kernel_streamCollide
 
 internal_d3q19srt_kernel_streamOnlyNoAdvancement
 
 internal_d3q27srt_kernel_collide
 
 internal_d3q27srt_kernel_getter
 
 internal_d3q27srt_kernel_initialise
 
 internal_d3q27srt_kernel_stream
 
 internal_d3q27srt_kernel_streamCollide
 
 internal_d3q27srt_kernel_streamOnlyNoAdvancement
 
 internal_fixeddensityd3q19_even
 
 internal_fixeddensityd3q27_even
 
 internal_freeslipd3q19_even
 
 internal_freeslipd3q27_even
 
 internal_noslipd3q19_even
 
 internal_noslipd3q27_even
 
 internal_outflowd3q19_even
 
 internal_outflowd3q27_even
 
 internal_ubbd3q19_even
 
 internal_ubbd3q27_even
 
 refinement
 

Classes

class  ActiveCellSweep
 
struct  Adaptor
 
class  AdvectionDiffusionCellOperation
 
class  AdvectionDiffusionCellOperation< LM_AdvDiff, LM_Hydro, typename std::enable_if< std::is_same< typename LM_AdvDiff::CollisionModel::tag, collision_model::SRT_tag >::value &&LM_AdvDiff::CollisionModel::constant &&LM_AdvDiff::compressible &&std::is_same< typename LM_AdvDiff::ForceModel::tag, force_model::Correction_tag >::value >::type >
 
class  AdvectionDiffusionCellOperation< LM_AdvDiff, LM_Hydro, typename std::enable_if< std::is_same< typename LM_AdvDiff::CollisionModel::tag, collision_model::SRT_tag >::value &&LM_AdvDiff::CollisionModel::constant &&LM_AdvDiff::compressible &&std::is_same< typename LM_AdvDiff::ForceModel::tag, force_model::None_tag >::value >::type >
 
class  AdvectionDiffusionDensityEquilibriumVelocityCalculation
 
class  AdvectionDiffusionSweep
 
class  AdvectionDiffusionSweep< LM_AdvDiff, VelocityAdapter_T, FlagField_T, VectorField_T, typename std::enable_if< std::is_same< typename LM_AdvDiff::CollisionModel::tag, collision_model::SRT_tag >::value &&! LM_AdvDiff::CollisionModel::constant &&LM_AdvDiff::compressible &&std::is_same< typename LM_AdvDiff::ForceModel::tag, force_model::None_tag >::value &&!(std::is_same< typename LM_AdvDiff::Stencil, stencil::D3Q19 >::value &&LM_AdvDiff::equilibriumAccuracyOrder==1) >::type >
 
class  AdvectionDiffusionSweep< LM_AdvDiff, VelocityAdapter_T, FlagField_T, VectorField_T, typename std::enable_if< std::is_same< typename LM_AdvDiff::CollisionModel::tag, collision_model::SRT_tag >::value &&! LM_AdvDiff::CollisionModel::constant &&std::is_same< typename LM_AdvDiff::ForceModel::tag, force_model::None_tag >::value &&std::is_same< typename LM_AdvDiff::Stencil, stencil::D3Q19 >::value &&LM_AdvDiff::compressible &&LM_AdvDiff::equilibriumAccuracyOrder==1 >::type >
 
class  AdvectionDiffusionSweep< LM_AdvDiff, VelocityAdapter_T, FlagField_T, VectorField_T, typename std::enable_if< std::is_same< typename LM_AdvDiff::CollisionModel::tag, collision_model::SRT_tag >::value &&LM_AdvDiff::CollisionModel::constant &&LM_AdvDiff::compressible &&std::is_same< typename LM_AdvDiff::ForceModel::tag, force_model::Correction_tag >::value &&!(std::is_same< typename LM_AdvDiff::Stencil, stencil::D3Q19 >::value &&LM_AdvDiff::equilibriumAccuracyOrder==1) >::type >
 
class  AdvectionDiffusionSweep< LM_AdvDiff, VelocityAdapter_T, FlagField_T, VectorField_T, typename std::enable_if< std::is_same< typename LM_AdvDiff::CollisionModel::tag, collision_model::SRT_tag >::value &&LM_AdvDiff::CollisionModel::constant &&LM_AdvDiff::compressible &&std::is_same< typename LM_AdvDiff::ForceModel::tag, force_model::None_tag >::value &&!(std::is_same< typename LM_AdvDiff::Stencil, stencil::D3Q19 >::value &&LM_AdvDiff::equilibriumAccuracyOrder==1) >::type >
 
class  AdvectionDiffusionSweep< LM_AdvDiff, VelocityAdapter_T, FlagField_T, VectorField_T, typename std::enable_if< std::is_same< typename LM_AdvDiff::CollisionModel::tag, collision_model::SRT_tag >::value &&LM_AdvDiff::CollisionModel::constant &&std::is_same< typename LM_AdvDiff::ForceModel::tag, force_model::Correction_tag >::value &&std::is_same< typename LM_AdvDiff::Stencil, stencil::D3Q19 >::value &&LM_AdvDiff::compressible &&LM_AdvDiff::equilibriumAccuracyOrder==1 >::type >
 
class  AdvectionDiffusionSweep< LM_AdvDiff, VelocityAdapter_T, FlagField_T, VectorField_T, typename std::enable_if< std::is_same< typename LM_AdvDiff::CollisionModel::tag, collision_model::SRT_tag >::value &&LM_AdvDiff::CollisionModel::constant &&std::is_same< typename LM_AdvDiff::ForceModel::tag, force_model::None_tag >::value &&std::is_same< typename LM_AdvDiff::Stencil, stencil::D3Q19 >::value &&LM_AdvDiff::compressible &&LM_AdvDiff::equilibriumAccuracyOrder==1 >::type >
 
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< std::is_same< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag >::value &&LatticeModel_T::CollisionModel::constant &&std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::Guo_tag >::value >::type >
 
class  DefaultCellOperation< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag >::value &&LatticeModel_T::CollisionModel::constant &&std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&! LatticeModel_T::compressible &&std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::None_tag >::value >::type >
 
class  DefaultCellOperation< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag >::value &&LatticeModel_T::CollisionModel::constant &&std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&LatticeModel_T::compressible &&std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::None_tag >::value >::type >
 
class  DefaultCellOperation< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag >::value &&LatticeModel_T::CollisionModel::constant &&std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::None_tag >::value >::type >
 
class  DefaultCellOperation< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::CollisionModel::tag, collision_model::TRT_tag >::value &&! std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::None_tag >::value >::type >
 
class  DefaultCellOperation< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::CollisionModel::tag, collision_model::TRT_tag >::value &&std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&! LatticeModel_T::compressible &&std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::None_tag >::value >::type >
 
class  DefaultCellOperation< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::CollisionModel::tag, collision_model::TRT_tag >::value &&std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&LatticeModel_T::compressible &&std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::None_tag >::value >::type >
 
class  DefaultDensityEquilibriumVelocityCalculation
 
class  DefaultDensityVelocityCallback
 
class  DefaultDiffusionBoundaryHandlingFactory
 
struct  Density
 
struct  Density< LatticeModel_T, typename std::enable_if< ! LatticeModel_T::compressible >::type >
 
struct  Density< LatticeModel_T, typename std::enable_if< LatticeModel_T::compressible >::type >
 
class  DensityAdaptionFunction
 
struct  DensityAndMomentumDensity
 
struct  DensityAndMomentumDensity< LatticeModel_T, typename std::enable_if< ! std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value >::type >
 
struct  DensityAndMomentumDensity< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value >::type >
 
struct  DensityAndVelocity
 
struct  DensityAndVelocityRange
 
struct  DensityAndVelocityRange< LatticeModel_T, FieldIteratorXYZ, typename std::enable_if< ! LatticeModel_T::ForceModel::constant >::type >
 
struct  DensityAndVelocityRange< LatticeModel_T, FieldIteratorXYZ, typename std::enable_if< LatticeModel_T::ForceModel::constant >::type >
 
class  DensityCallback
 
class  DensitySIVTKWriter
 
class  DensityVelocityCallback
 
class  DensityVTKWriter
 
class  DiffusionDirichlet
 
class  DynamicUBB
 
struct  Equilibrium
 
struct  Equilibrium< LatticeModel_T, typename std::enable_if< ! LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==1 >::type >
 
struct  Equilibrium< LatticeModel_T, typename std::enable_if< ! std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&! LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==2 >::type >
 
struct  Equilibrium< LatticeModel_T, typename std::enable_if< ! std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==2 >::type >
 
struct  Equilibrium< LatticeModel_T, typename std::enable_if< LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==1 >::type >
 
struct  Equilibrium< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&! LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==2 >::type >
 
struct  Equilibrium< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==2 >::type >
 
class  EquilibriumDistribution
 
class  EquilibriumDistribution< LatticeModel_T, typename std::enable_if< ! LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==1 >::type >
 
class  EquilibriumDistribution< LatticeModel_T, typename std::enable_if< ! LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==2 >::type >
 
class  EquilibriumDistribution< LatticeModel_T, typename std::enable_if< LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==1 >::type >
 
class  EquilibriumDistribution< LatticeModel_T, typename std::enable_if< LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==2 >::type >
 
struct  EquilibriumRange
 
struct  EquilibriumRange< LatticeModel_T, FieldIteratorXYZ, typename std::enable_if< ! LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==1 >::type >
 
struct  EquilibriumRange< LatticeModel_T, FieldIteratorXYZ, typename std::enable_if< ! LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==2 >::type >
 
struct  EquilibriumRange< LatticeModel_T, FieldIteratorXYZ, typename std::enable_if< LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==1 >::type >
 
struct  EquilibriumRange< LatticeModel_T, FieldIteratorXYZ, typename std::enable_if< LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==2 >::type >
 
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, typename std::enable_if< ! std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value >::type >
 
struct  MomentumDensity< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value >::type >
 
class  MomentumDensityAdaptionFunction
 
class  MomentumDensityVectorAdaptionFunction
 
struct  NeighborsStencil
 
struct  NeighborsStencil< LatticeModel_T, typename std::enable_if< LatticeModel_T::Stencil::D==2 >::type >
 
struct  NeighborsStencil< LatticeModel_T, typename std::enable_if< LatticeModel_T::Stencil::D==3 >::type >
 
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  PdfFieldDisplayAdaptor
 Class for drawing a slice of a D3Q19 PDF field. More...
 
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< std::is_same< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag >::value &&LatticeModel_T::CollisionModel::constant &&std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&! LatticeModel_T::compressible &&std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::None_tag >::value >::type >
 
class  SplitPureSweep< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag >::value &&LatticeModel_T::CollisionModel::constant &&std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&LatticeModel_T::compressible &&std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::None_tag >::value >::type >
 
class  SplitPureSweep< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::CollisionModel::tag, collision_model::TRT_tag >::value &&std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&! LatticeModel_T::compressible &&std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::None_tag >::value >::type >
 
class  SplitPureSweep< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::CollisionModel::tag, collision_model::TRT_tag >::value &&std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&LatticeModel_T::compressible &&std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::None_tag >::value >::type >
 
class  SplitSweep
 
class  SplitSweep< LatticeModel_T, FlagField_T, typename std::enable_if< std::is_same< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag >::value &&LatticeModel_T::CollisionModel::constant &&std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&! LatticeModel_T::compressible &&std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::None_tag >::value >::type >
 
class  SplitSweep< LatticeModel_T, FlagField_T, typename std::enable_if< std::is_same< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag >::value &&LatticeModel_T::CollisionModel::constant &&std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&LatticeModel_T::compressible &&std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::None_tag >::value >::type >
 
class  SplitSweep< LatticeModel_T, FlagField_T, typename std::enable_if< std::is_same< typename LatticeModel_T::CollisionModel::tag, collision_model::TRT_tag >::value &&std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&! LatticeModel_T::compressible &&std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::None_tag >::value >::type >
 
class  SplitSweep< LatticeModel_T, FlagField_T, typename std::enable_if< std::is_same< typename LatticeModel_T::CollisionModel::tag, collision_model::TRT_tag >::value &&std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&LatticeModel_T::compressible &&std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::None_tag >::value >::type >
 
struct  Stream
 
struct  Stream< LatticeModel_T, FlagField_T, typename std::enable_if< ! std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value >::type >
 
struct  Stream< LatticeModel_T, FlagField_T, typename std::enable_if< std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value >::type >
 
struct  StreamEverything
 
struct  StreamEverything< LatticeModel_T, typename std::enable_if< ! std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value >::type >
 
struct  StreamEverything< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value >::type >
 
struct  StreamPull
 
struct  StreamPull< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::Stencil, stencil::D2Q9 >::value >::type >
 
struct  StreamPull< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value >::type >
 
struct  StreamPull< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q27 >::value >::type >
 
struct  StreamPullEverything
 
struct  StreamPullEverything< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::Stencil, stencil::D2Q9 >::value >::type >
 
struct  StreamPullEverything< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value >::type >
 
struct  StreamPullEverything< LatticeModel_T, typename std::enable_if< std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q27 >::value >::type >
 
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, typename std::enable_if< std::is_same< typename VelocityField_T::value_type, Vector3< real_t > >::value >::type >
 
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 = field::communication::StencilRestrictedPackInfo< PdfField< LatticeModel_T >, typename LatticeModel_T::Stencil >
 Optimized PackInfo for PDF fields (communicates only components pointing to neighbor) More...
 

Functions

 WALBERLA_LBM_CELLWISE_SWEEP_CLASS_HEAD_AND_STREAM ((std::is_same< typename LatticeModel_T::CollisionModel::tag, collision_model::Cumulant_tag >::value &&std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q27 >::value &&LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==2 &&std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::None_tag >::value &&std::is_same< DensityVelocityIn_T, DefaultDensityEquilibriumVelocityCalculation >::value)) 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. More...
 
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 LatticeModel_T >
void connectToGui (gui::GUI &)
 
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< typename LatticeModel_T::CollisionModel::tag, collision_model::MRT_tag >::value &&std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q19 >::value &&! LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==2 &&std::is_same< DensityVelocityIn_T, DefaultDensityEquilibriumVelocityCalculation >::value) WALBERLA_LBM_CELLWISE_SWEEP_STREAM_COLLIDE_HEAD(std
 
 WALBERLA_LBM_CELLWISE_SWEEP_CLASS_HEAD_AND_STREAM ((std::is_same< typename LatticeModel_T::CollisionModel::tag, collision_model::SRT_tag >::value &&std::is_same< typename LatticeModel_T::Stencil, stencil::D2Q9 >::value &&LatticeModel_T::CollisionModel::constant &&! LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==2 &&std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::None_tag >::value &&std::is_same< DensityVelocityIn_T, DefaultDensityEquilibriumVelocityCalculation >::value)) 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< typename LatticeModel_T::CollisionModel::tag, collision_model::TRT_tag >::value &&std::is_same< typename LatticeModel_T::Stencil, stencil::D2Q9 >::value &&! LatticeModel_T::compressible &&LatticeModel_T::equilibriumAccuracyOrder==2 &&std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::None_tag >::value &&std::is_same< DensityVelocityIn_T, DefaultDensityEquilibriumVelocityCalculation >::value)) WALBERLA_LBM_CELLWISE_SWEEP_STREAM_COLLIDE_HEAD((std
 
real_t intersectionRatioSpherePe (const pe::Sphere &sphere, const Vector3< real_t > &fluidPoint, const Vector3< real_t > &direction)
 
real_t intersectionRatioPlanePe (const pe::Plane &plane, const Vector3< real_t > &fluidPoint, const Vector3< real_t > &direction)
 
real_t intersectionRatioEllipsoidPe (const pe::Ellipsoid &ellipsoid, const Vector3< real_t > &fluidPoint, const Vector3< real_t > &direction)
 
real_t intersectionRatio (const pe::RigidBody &peRigidBody, const Vector3< real_t > &fluidPoint, const Vector3< real_t > &direction, const real_t epsilon)
 

Typedef Documentation

◆ PdfFieldPackInfo

template<typename LatticeModel_T >
using walberla::lbm::PdfFieldPackInfo = typedef 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 
)

◆ connectToGui()

template<typename LatticeModel_T >
void walberla::lbm::connectToGui ( gui::GUI )

◆ 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/3]

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/3]

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

◆ intersectionRatio() [3/3]

real_t walberla::lbm::intersectionRatio ( const pe::RigidBody peRigidBody,
const Vector3< real_t > &  fluidPoint,
const Vector3< real_t > &  direction,
const real_t  epsilon 
)
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 
)

◆ intersectionRatioEllipsoidPe()

real_t walberla::lbm::intersectionRatioEllipsoidPe ( const pe::Ellipsoid ellipsoid,
const Vector3< real_t > &  fluidPoint,
const Vector3< real_t > &  direction 
)

◆ intersectionRatioPlanePe()

real_t walberla::lbm::intersectionRatioPlanePe ( const pe::Plane plane,
const Vector3< real_t > &  fluidPoint,
const Vector3< real_t > &  direction 
)

◆ intersectionRatioSphere()

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

◆ intersectionRatioSpherePe()

real_t walberla::lbm::intersectionRatioSpherePe ( const pe::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]

template<typename LatticeModel_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::DefaultEvaluationFilter, DefaultDensityEquilibriumVelocityCalculation, DefaultDensityVelocityCallback > > walberla::lbm::makeCellwiseSweep ( const BlockDataID pdfFieldId)

◆ 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]

template<typename LatticeModel_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::DefaultEvaluationFilter, DefaultDensityEquilibriumVelocityCalculation, DefaultDensityVelocityCallback > > walberla::lbm::makeCellwiseSweep ( const BlockDataID src,
const BlockDataID dst 
)

◆ 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:

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 ) )

◆ 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< typename LatticeModel_T::CollisionModel::tag, collision_model::Cumulant_tag >::value && std::is_same< typename LatticeModel_T::Stencil, stencil::D3Q27 >::value && LatticeModel_T::compressible && LatticeModel_T::equilibriumAccuracyOrder==2 && std::is_same< typename LatticeModel_T::ForceModel::tag, force_model::None_tag >::value && std::is_same< DensityVelocityIn_T, DefaultDensityEquilibriumVelocityCalculation >::value)  )

◆ WALBERLA_LBM_CELLWISE_SWEEP_CLASS_HEAD_AND_STREAM() [2/4]

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

◆ WALBERLA_LBM_CELLWISE_SWEEP_CLASS_HEAD_AND_STREAM() [3/4]

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

◆ WALBERLA_LBM_CELLWISE_SWEEP_CLASS_HEAD_AND_STREAM() [4/4]

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

◆ 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 ( )
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
field::GhostLayerFieldAdaptor< DensityAdaptionFunction< LatticeModel_T >, 0 > Density
Definition: Adaptors.h:202
std::size_t uint_t
Definition: DataTypes.h:133
FlagField< flag_t > FlagField_T
Definition: 02_LBMLatticeModelGeneration.cpp:64