Moments Represented IB-LBM#
Some aspects must be taken into consideration when implementing the IBM along with the moment represented LBM. In the population based representation, after the force spreading, the macroscopic values used for calculation of equilibrium populations and regularization already take into consideration the IBM force that was spread previously.
In order to return the same result as the population based representation, the moment represented IB-LBM must update its macroscopic values with the spread forces before the collision of moments.
Important
A important aspect to be taken into account is that the populations do not change its value during the IBM force spread, hence population moments such as \(\sum f_{i}c_{i,\alpha}c_{i,\beta} = \Pi_{\alpha\beta}\) do not vary during IBM. This is not true for the equilibrium and non-equilibrium populations moments that depend on the values of \(u_{\alpha}\) and \(S_{\alpha\beta}\).
The macroscopics to be updated are the velocity and rate-of strain, since \(\rho\) depends exclusively of the populations that do not change during IBM. For a result \(\Delta F_{\alpha}\left(t\right) = F_{\alpha}\left(t\right) - F_{\alpha}\left(t-\Delta t\right)\) spread into a node, the macroscopic velocity is updated with:
where the superscript “IBM” stands for macroscopics updated after the IBM force spread.
Note
In an iterative procedure with reset of forces \(\Delta F_{\alpha}\) is represented \(\Delta F_{\alpha} = F_{\alpha, k+1} - F_{\alpha,k}\).
The rate of strain can be written as:
After the force spreading, the value of \(\sum f_{i}c_{i,\alpha}c_{i,\beta} = \Pi_{\alpha\beta}\) is the only of the above equation that will be kept constant. Hence this value is stored as:
where \(\Pi_{\alpha\beta}^{\mathrm{eq}}=\sum f_{i}^{\mathrm{eq}}c_{i,\alpha}c_{i,\beta}= \rho \left(u_{\alpha}u_{\beta}+c_{s}^{2}\delta_{\alpha\beta}\right)\).
The value \(\Pi_{\alpha\beta}^{\mathrm{eq,IBM}}\) is calculated using the updated velocity \(u_{\alpha}^{\mathrm{IBM}}\). That way, the rate-of-strain after force spreading is given by:
The LBM collision of moments is then performed with the updated IBM forces \(F_{\alpha}\left(t\right)\) and macroscopics \(\rho\), \(u_{\alpha}^{\mathrm{IBM}}\), and \(S_{\alpha\beta}^{\mathrm{IBM}}\). After the streaming, the IBM forces are removed, the macroscopics are calculated without them and stored. That assures that the multiblock communication between levels occur without IBM forces.
The previously removed forces are added to macroscopics at the following time-step before IBM interpolation-spread, and macroscopics are updated as described aboved under consideration that \(F_{\alpha}(t) = 0\) and \(\Delta F_{\alpha} = F_{\alpha}(t-1)\).
After the intepolation-spread, the same kernel is executed but with the value of \(\Delta F\) recalculated through IBM, and \(F_{\alpha}(t)=F_{\alpha}(t-1) + \Delta F_{\alpha}\).
After reseting the forces, \(F_{\alpha}(t)=\Delta F_{\alpha}\) and \(F_{\alpha}(t-1)=0\).