# How to avoid density getting “deleted” in two way rigid body coupling with LBM CFD?

I've been reading this paper recently, which talks about using Lattice Boltzmann methods and two way coupling. Specifically, it outlines fluid solid coupling, and solid fluid coupling, and how simply using both results in two way coupling. The force from the fluid on the ridgid body makes sense, what doesn't make sense is how movements from the ridgid body can actually effect the fluid.

It only explains boundary conditions, it never explains what happens to fluid when you physically move the rigid body.

For example, what if during an update step, my box moves from a set of voxels A, with centroid at (0,0,0), to a set of voxels B, with centroid (10,0,0)? When the body leaves an area, that makes sense, you are left with zero density voxels which will be filled in automatically by LBM. What happens on the opposite end makes no sense to me. When we move through fluid in real life that fluid should be displaced. I do not see how this is accomplished in the paper.

To me it looks like they just... ignore and delete this density. That does not make sense to me, and would be a huge source of error. The closest thing I can find where they structurally consider even thinking about this is in two parts:

Section 5.3 pg 40 (simple boundary reflection):

This technique is limited in two ways: First, moving boundaries do not accelerate the fluid, and second, the accuracy is limited to grid spacing. This poses an additional issue, since it creates a “staircase-effect”, which shows non-realistic characteristics (Figure 5.4).

and here:

Section 5.3 pg 45 (approach using fluid solid fraction, ε):

A disadvantage of this approach is that solid cells are still handled as fluid cells. This means that the collision and streaming steps are still applied, even when the collision result is multiplied by 0 and the streaming step just bounces the result between two neighboring nodes. Analytically this does not cause problems, but incoming fluid molecules that cannot escape the solid cause the density in border cells to rise. When the float parameter overflows, the GPU treats the value as infinity, which is not rectified by multiplying by 0. Additionally, this can cause problems when a solid moves away from a fluid cell holding high density values. By capping the density value, this can be avoided. Holdych [Holdych, 2003] proposes a solution to this problem for every cell whose ε > 0.95 that applies the assumption that the cell density difference between two neighboring cells is negligible. A fluid fraction $$\bar{ε}$$ is defined as $$ε = \sum_{i} (1 − ε_i)$$ (5.9) where $$ε_i$$ is the solid fraction ε of the neighboring cell in direction $$e_i$$ . The fluid density for these cells is then calculated depending on $$\bar{ε}$$: $$ρ = \begin{cases} \frac{1}{\bar{ε}} \sum_{i}(1 − ε_i)ρ_i, & \text{if \bar{ε} > 0.01} \\ 0, & \text{otherwise} \end{cases}$$ where $$ρ_i$$ is the density value of the cell in direction $$e_i$$ .

And while I believe I understand what is going on here, there still doesn't appear to be any solution to the "moving boundary doesn't move fluid" problem, yet the whole thing comes off as if this has already been solved!

What am I missing here?

• Fluid-Structure coupling in LBM is just an immature topic. It's not a really good idea to couple LBM and mechanical deformation solver cause LBM is sensitive to change of density specially at the boundaries. You found one of the biggest challenges to couple LBM and mechanical deformation solvers as: usually a deformable wall violates conservation of mass specifically at the boundaries. – Alone Programmer Dec 11 '19 at 19:06
• @AloneProgrammer I don't care about deformable walls, I only care about rigid moving objects, I still don't see how that is taken into account. – whn Dec 11 '19 at 19:49
• You better have a look at immersing boundary method coupled to LBM. – Alone Programmer Dec 11 '19 at 19:50
• @AloneProgrammer I've looked into that, but I'm not sure how it solves this problem either, IBM appears to be tackling the stair stepping effect, but I don't see papers talking about how it would solve the issue of an object moving over multiple voxels. It appears as if you would need to advect all those densities to the edge of the mesh where fluid could be, but I'm not sure how this would be formalized, and again, I've never seen a paper discuss this. – whn Dec 11 '19 at 19:59
• Ok, if you think the approach described in this paper is flawed why you don’t move on and find something that makes more sense to you. If it is flawed, it is flawed and probably there is no an easy fix for that. Do you have any insist on using this paper or what? If this question is just about discussing the limitation or flaws in this paper, you might want to contact the authors directly to have a better answer. – Alone Programmer Dec 11 '19 at 20:49