walberla::lbm Namespace Reference

Namespaces

 collision_model
 
 communication
 
 evaluations
 
 force_model
 
 initializer
 
 internal
 
 refinement
 
 viscoelastic
 

Classes

class  ActiveCellSweep
 
struct  Adaptor
 
struct  AdaptorsFromLatticeModels
 
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 &&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 &&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  Curved
 
class  D2Q9
 
class  D3Q15
 
class  D3Q19
 
class  D3Q27
 
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  DensityAdaptorsFromLatticeModels
 
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...
 
struct  ExtendedBoundaryHandlingsFromLatticeModels
 
class  FlagFieldSweepBase
 
class  FreeDiffusion
 
class  FreeSlip
 
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  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  ShearRate
 
class  ShearRateAdaptionFunction
 
struct  ShearRateAdaptorsFromLatticeModels
 
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  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  type
 
class  type
 
class  type
 
class  UBB
 
class  VelocityAdaptionFunction
 
struct  VelocityAdaptorsFromLatticeModels
 
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
 
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::zyxf, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
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::zyxf, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
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::zyxf, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
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::zyxf, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet())
 
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)
 
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 &)
 
 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
 
template<typename LatticeModels , typename FlagFields >
void exportBasic ()
 
template<typename LatticeModels , typename FlagFields >
void exportBoundary ()
 
template<typename LatticeModels , typename FlagFields >
void exportSweeps ()
 
 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

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

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::zyxf,
const Set< SUID > &  requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > &  incompatibleSelectors = Set<SUID>::emptySet() 
)
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::zyxf,
const Set< SUID > &  requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > &  incompatibleSelectors = Set<SUID>::emptySet() 
)
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::zyxf,
const Set< SUID > &  requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > &  incompatibleSelectors = Set<SUID>::emptySet() 
)
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::zyxf,
const Set< SUID > &  requiredSelectors = Set<SUID>::emptySet(),
const Set< SUID > &  incompatibleSelectors = Set<SUID>::emptySet() 
)
template<typename LatticeModel_T >
void walberla::lbm::connectToGui ( gui::GUI )
template<typename LatticeModels , typename FlagFields >
void walberla::lbm::exportBasic ( )
template<typename LatticeModels , typename FlagFields >
void walberla::lbm::exportBoundary ( )
template<typename LatticeModels , typename FlagFields >
void walberla::lbm::exportSweeps ( )
template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t walberla::lbm::getDensity ( const LatticeModel_T latticeModel,
const FieldPtrOrIterator &  it 
)
inline
template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t walberla::lbm::getDensityAndEquilibriumMomentumDensity ( Vector3< real_t > &  momentumDensity,
const LatticeModel_T latticeModel,
const FieldPtrOrIterator &  it 
)
inline
template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t walberla::lbm::getDensityAndEquilibriumVelocity ( Vector3< real_t > &  velocity,
const LatticeModel_T latticeModel,
const FieldPtrOrIterator &  it 
)
inline
template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t walberla::lbm::getDensityAndMomentumDensity ( Vector3< real_t > &  momentumDensity,
const LatticeModel_T latticeModel,
const FieldPtrOrIterator &  it 
)
inline
template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t walberla::lbm::getDensityAndVelocity ( Vector3< real_t > &  velocity,
const LatticeModel_T latticeModel,
const FieldPtrOrIterator &  it 
)
inline
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
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
template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t walberla::lbm::getDensitySI ( const LatticeModel_T latticeModel,
const FieldPtrOrIterator &  it,
const real_t  rho_SI 
)
inline
template<typename LatticeModel_T , typename FieldPtrOrIterator >
Vector3< real_t > walberla::lbm::getEquilibriumMomentumDensity ( const LatticeModel_T latticeModel,
const FieldPtrOrIterator &  it 
)
inline
template<typename LatticeModel_T , typename FieldPtrOrIterator >
void walberla::lbm::getEquilibriumMomentumDensity ( Vector3< real_t > &  momentumDensity,
const LatticeModel_T latticeModel,
const FieldPtrOrIterator &  it 
)
inline
template<typename LatticeModel_T , typename FieldPtrOrIterator >
Vector3< real_t > walberla::lbm::getEquilibriumVelocity ( const LatticeModel_T latticeModel,
const FieldPtrOrIterator &  it 
)
inline
template<typename LatticeModel_T , typename FieldPtrOrIterator >
void walberla::lbm::getEquilibriumVelocity ( Vector3< real_t > &  velocity,
const LatticeModel_T latticeModel,
const FieldPtrOrIterator &  it 
)
inline
template<typename LatticeModel_T , typename FieldPtrOrIterator >
Vector3< real_t > walberla::lbm::getMomentumDensity ( const LatticeModel_T latticeModel,
const FieldPtrOrIterator &  it 
)
inline
template<typename LatticeModel_T , typename FieldPtrOrIterator >
void walberla::lbm::getMomentumDensity ( Vector3< real_t > &  momentumDensity,
const LatticeModel_T latticeModel,
const FieldPtrOrIterator &  it 
)
inline
template<typename LatticeModel_T , typename FieldPtrOrIterator >
Matrix3< real_t > walberla::lbm::getPressureTensor ( const LatticeModel_T latticeModel,
const FieldPtrOrIterator &  it 
)
inline
template<typename LatticeModel_T , typename FieldPtrOrIterator >
void walberla::lbm::getPressureTensor ( Matrix3< real_t > &  velocity,
const LatticeModel_T latticeModel,
const FieldPtrOrIterator &  it 
)
inline
template<typename LatticeModel_T , typename FieldPtrOrIterator >
real_t walberla::lbm::getShearRate ( const LatticeModel_T latticeModel,
const FieldPtrOrIterator &  it 
)
inline
template<typename LatticeModel_T , typename FieldPtrOrIterator >
Vector3< real_t > walberla::lbm::getVelocity ( const LatticeModel_T latticeModel,
const FieldPtrOrIterator &  it 
)
inline
template<typename LatticeModel_T , typename FieldPtrOrIterator >
void walberla::lbm::getVelocity ( Vector3< real_t > &  velocity,
const LatticeModel_T latticeModel,
const FieldPtrOrIterator &  it 
)
inline
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
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
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
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
real_t walberla::lbm::intersectionRatio ( const pe::RigidBody peRigidBody,
const Vector3< real_t > &  fluidPoint,
const Vector3< real_t > &  direction,
const real_t  epsilon 
)
inline
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
fluidPoint(P_f), start point of ray
direction(d) of ray (length of d is the length of the ray segment)
policydefines behavior in erroneous cases
epsilonabortion criterion for iterative methods. Epsilon relates to the distance of P_i to the surface
Returns
Intersection ratio: | P_i - P_f | / | d |
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
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 
)
real_t walberla::lbm::intersectionRatioEllipsoidPe ( const pe::Ellipsoid ellipsoid,
const Vector3< real_t > &  fluidPoint,
const Vector3< real_t > &  direction 
)
real_t walberla::lbm::intersectionRatioPlanePe ( const pe::Plane plane,
const Vector3< real_t > &  fluidPoint,
const Vector3< real_t > &  direction 
)
real_t walberla::lbm::intersectionRatioSphere ( const geometry::Sphere sphere,
const Vector3< real_t > &  fluidPoint,
const Vector3< real_t > &  direction 
)
real_t walberla::lbm::intersectionRatioSpherePe ( const pe::Sphere sphere,
const Vector3< real_t > &  fluidPoint,
const Vector3< real_t > &  direction 
)
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 
)
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 
)
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 
)
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 
)
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 
)
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 
)
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 
)
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 
)
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 
)
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 
)
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 
)
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 
)
template<typename LatticeModel_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::DefaultEvaluationFilter, DefaultDensityEquilibriumVelocityCalculation, DefaultDensityVelocityCallback > > walberla::lbm::makeCellwiseSweep ( const BlockDataID &  pdfFieldId)
template<typename LatticeModel_T >
shared_ptr< CellwiseSweep< LatticeModel_T, walberla::field::DefaultEvaluationFilter, DefaultDensityEquilibriumVelocityCalculation, DefaultDensityVelocityCallback > > walberla::lbm::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 > > walberla::lbm::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 > > walberla::lbm::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> > > walberla::lbm::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> > > walberla::lbm::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> > > walberla::lbm::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> > > walberla::lbm::makeCellwiseSweep ( const BlockDataID &  src,
const BlockDataID &  dst,
const ConstBlockDataID &  flagFieldId,
const Set< FlagUID > &  cellsToEvaluate,
const BlockDataID &  velocityFieldId,
const BlockDataID &  densityFieldId 
)
template<typename Kernel >
CollideSweep< Kernel > walberla::lbm::makeCollideSweep ( const shared_ptr< Kernel > &  kernel)
inline
template<typename Kernel >
StreamSweep< Kernel > walberla::lbm::makeStreamSweep ( const shared_ptr< Kernel > &  kernel)
inline
template<typename LatticeModel_T , typename FieldPtrOrIterator >
void walberla::lbm::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) 
)
inline
template<typename LatticeModel_T , typename FieldPtrOrIterator >
void walberla::lbm::setToEquilibrium ( FieldPtrOrIterator &  it,
const Vector3< real_t > &  velocity = Vector3< real_t >( real_t(0.0) ),
const real_t  rho = real_t(1.0) 
)
inline
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::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::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::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::WALBERLA_LBM_CELLWISE_SWEEP_COLLIDE_FOOT ( )
walberla::lbm::WALBERLA_LBM_CELLWISE_SWEEP_STREAM_COLLIDE_FOOT ( )