template<typename PdfField_T, typename BoundaryHandling_T, typename ParticleAccessor_T, typename Reconstructor_T>
class walberla::lbm_mesapd_coupling::PdfReconstructionManager< PdfField_T, BoundaryHandling_T, ParticleAccessor_T, Reconstructor_T >
Class to manage the reconstruction of PDFs that is needed when cells are becoming uncovered by moving obstacles.
Due to the explicit mapping of particles into the fluid domain via flags, the PDFs of cells that turned from obstacle to fluid are missing and must be reconstructed in order to continue with the simulation. This class is to be used as a sweep in a LBM simulation with moving obstacles and calls for each cell that is tagged as 'formerObstacle' the specified reconstructor (see Reconstructor.h for the available variants). After the successful reconstruction of all PDFs, the flags are updated to 'fluid'. For small obstacle fractions, an optimized variant is available that only looks for 'formerObstacle' cells in the vicinity of available particles. It is activated via the 'optimizeForSmallObstacleFraction' argument in the constructor.
Note: A potential problem arises when the cell that is to be reconstructed, i.e. filled with fluid, is surrounded (given by the LBM stencil) by only boundary cells. Consequently, the successive calls to LBM will simulate a local system containing a single fluid cell surrounded by boundary cells with different velocity boundary conditions. This system is not divergence free (as required by the mass conservation equation) and will thus lead to mass loss/gain depending on the boundary conditions. This is a very rare case but if it happens, it will almost always lead to malicious oscillations in the density. Note that this can also happen if several cells are locally "trapped" by surrounding boundary cells. Such a case can not be detected easily and also not be curred easily. It has to be inspected whether the behavior arising from this issue leads to problems in real simulations.