walberla::lbm::DefaultDensityVelocityCallback Class Reference

Detailed Description

Density/Velocity Callback

These callback functors are called after the calculation of the density and equilibrium velocity. The density and velocity passed to these callback functors are the same density and velocity that are used to calculate the equilibrium distribution for the collision step. These callback functors always work on block local cell coordinates.

The concept for a density/velocity callback functor looks like as follows (class with two member functions):

  1. void operator()( IBlock & block ) -> called every time a new block is processed
  2. void operator()( const cell_idx_t x, const cell_idx_t y, const cell_idx_t z, const LatticeModel_T & latticeModel, const Vector3<real_t> & velocity, const real_t rho ) -> called every time a new cell is processed and the density and equilibrium velocity have been calculated prior to being used for performing the collision step of the LBM. Might be called in parallel, i.e, must be threat-safe!

#include <DensityVelocityCallback.h>

Public Member Functions

void operator() (IBlock &) const
 
template<typename LatticeModel_T >
void operator() (const cell_idx_t, const cell_idx_t, const cell_idx_t, const LatticeModel_T &, const Vector3< real_t > &, const real_t) const
 

Member Function Documentation

◆ operator()() [1/2]

template<typename LatticeModel_T >
void walberla::lbm::DefaultDensityVelocityCallback::operator() ( const  cell_idx_t,
const  cell_idx_t,
const  cell_idx_t,
const LatticeModel_T ,
const Vector3< real_t > &  ,
const  real_t 
) const
inline

◆ operator()() [2/2]

void walberla::lbm::DefaultDensityVelocityCallback::operator() ( IBlock ) const
inline

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