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):
- void operator()( IBlock & block ) -> called every time a new block is processed
- 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!