## 3 Numerical Implementations and Algorithms
### Additional Solid Routines
Then, considering this special case for LBMS (\(\sum_{i}{g_{i}}^{(1)}=0\), \(\sum\xi_{i}\delta_{i}^{(1)}=\
abla_{x}\cdot(\sigma)\), \(\sum\xi_{i}\otimes\xi_{i}\delta_{i}^{(1)}=\Big{(}v^{(eq)}\otimes\
abla_{x} \cdot(\sigma)+\
abla_{x}\cdot(\sigma)\otimes v^{(eq)}\Big{)}\)), the macroscopic equation solved becomes:

\[\widehat{f}_{i}(\mathbf{x}+\xi_{i}\Delta t,t+\Delta t) =\widehat{f}_{i}(\mathbf{x},t)-\Delta t\widehat{\omega}\Big{(} \widehat{f}_{i}(\mathbf{x},t)-f_{i}^{(eq)}(\mathbf{x},t)\Big{)}-\Delta t\bigg{(}1- \frac{\widehat{\omega}\Delta t}{2}\bigg{)}g_{i}(\mathbf{x},t)+\mathcal{O}\Big{(} \Delta t^{3}\Big{)}. \tag{20}\]0 \[\widehat{f}_{i}(\mathbf{x}+\xi_{i}\Delta t,t+\Delta t) =\widehat{f}_{i}(\mathbf{x},t)-\Delta t\widehat{\omega}\Big{(} \widehat{f}_{i}(\mathbf{x},t)-f_{i}^{(eq)}(\mathbf{x},t)\Big{)}-\Delta t\bigg{(}1- \frac{\widehat{\omega}\Delta t}{2}\bigg{)}g_{i}(\mathbf{x},t)+\mathcal{O}\Big{(} \Delta t^{3}\Big{)}. \tag{20}\]1 (108) \[\widehat{f}_{i}(\mathbf{x}+\xi_{i}\Delta t,t+\Delta t) =\widehat{f}_{i}(\mathbf{x},t)-\Delta t\widehat{\omega}\Big{(} \widehat{f}_{i}(\mathbf{x},t)-f_{i}^{(eq)}(\mathbf{x},t)\Big{)}-\Delta t\bigg{(}1- \frac{\widehat{\omega}\Delta t}{2}\bigg{)}g_{i}(\mathbf{x},t)+\mathcal{O}\Big{(} \Delta t^{3}\Big{)}. \tag{20}\]2The last equation is nothing else than the undefined equation of the motion. Furthermore, using the static equilibrium (\(\
u^{(eq)}=0\)) it simplifies to:

\[\widehat{f}_{i}(\mathbf{x}+\xi_{i}\Delta t,t+\Delta t) =\widehat{f}_{i}(\mathbf{x},t)-\Delta t\widehat{\omega}\Big{(} \widehat{f}_{i}(\mathbf{x},t)-f_{i}^{(eq)}(\mathbf{x},t)\Big{)}-\Delta t\bigg{(}1- \frac{\widehat{\omega}\Delta t}{2}\bigg{)}g_{i}(\mathbf{x},t)+\mathcal{O}\Big{(} \Delta t^{3}\Big{)}. \tag{20}\]3 \[\widehat{f}_{i}(\mathbf{x}+\xi_{i}\Delta t,t+\Delta t) =\widehat{f}_{i}(\mathbf{x},t)-\Delta t\widehat{\omega}\Big{(} \widehat{f}_{i}(\mathbf{x},t)-f_{i}^{(eq)}(\mathbf{x},t)\Big{)}-\Delta t\bigg{(}1- \frac{\widehat{\omega}\Delta t}{2}\bigg{)}g_{i}(\mathbf{x},t)+\mathcal{O}\Big{(} \Delta t^{3}\Big{)}. \tag{20}\]4

## Appendix B Tensors Details

The used tensors in algorithms are detailed here for symmetric strain and stress tensors related to 2D applications. They are defined across the whole lattice and thus contain information for all cells. The displacement tensor field has the following form:

\[\mathbb{U}= \begin{bmatrix}\mathbb{U}[0,0]=u_{0,0}=\begin{bmatrix}u_{x}\\ u_{y}\end{bmatrix}_{0,0}&\ldots&u_{0,N_{y}-1}=\begin{bmatrix}u_{x}\\ u_{y}\end{bmatrix}_{0,N_{y}-1}\\ \vdots&\ddots&\vdots\\ u_{N_{x}-1,0}=\begin{bmatrix}u_{x}\\ u_{y}\end{bmatrix}_{N_{x}-1,0}&\ldots&u_{N_{x}-1,N_{y}-1}=\begin{bmatrix}u_{x }\\ u_{y}\end{bmatrix}_{N_{x}-1,N_{y}-1}\end{bmatrix} . \tag{106}\]

Then, the strain tensor field is calculated thanks to the displacement one:

\[\mathbb{E}= \begin{bmatrix}\mathbb{E}[0,0]=\varepsilon_{0,0}=\begin{bmatrix} \varepsilon_{xx}\\ \varepsilon_{yy}\\ \varepsilon_{xy}\end{bmatrix}_{0,0}&\ldots&\varepsilon_{0,N_{y}-1}= \begin{bmatrix}\varepsilon_{xx}\\ \varepsilon_{yy}\\ \varepsilon_{xy}\end{bmatrix}_{0,N_{y}-1}\\ \vdots&\ddots&\vdots\\ \varepsilon_{N_{x}-1,0}=\begin{bmatrix}\varepsilon_{xx}\\ \varepsilon_{yy}\\ \varepsilon_{xy}\end{bmatrix}_{N_{x}-1,0}&\ldots&\varepsilon_{N_{x}-1,N_{y}-1 }=\begin{bmatrix}\varepsilon_{xx}\\ \varepsilon_{yy}\\ \varepsilon_{xy}\end{bmatrix}_{N_{x}-1,N_{y}-1}\end{bmatrix} . \tag{107}\]

The stress tensor field is obtained through a constitutive law and reads:

\[\mathbb{E}= \begin{bmatrix}\mathbb{E}[0,0]=\sigma_{0,0}=\begin{bmatrix} \sigma_{xx}\\ \sigma_{yy}\\ \sigma_{xy}\end{bmatrix}_{0,0}&\ldots&\sigma_{0,N_{y}-1}=\begin{bmatrix} \sigma_{xx}\\ \sigma_{yy}\\ \sigma_{xy}\end{bmatrix}_{0,N_{y}-1}\\ \vdots&\ddots&\vdots\\ \sigma_{N_{x}-1,0}=\begin{bmatrix}\sigma_{xx}\\ \sigma_{yy}\\ \sigma_{xy}\end{bmatrix}_{N_{x}-1,0}&\ldots&\sigma_{N_{x}-1,N_{y}-1}= \begin{bmatrix}\sigma_{xx}\\ \sigma_{yy}\\ \sigma_{xy}\end{bmatrix}_{N_{x}-1,N_{y}-1}\end{bmatrix} .