# Steady-State Anderson Accelerated Coupling of Lattice Boltzmann and Navier–Stokes Solvers

^{*}

## Abstract

**:**

## 1. Introduction

## 2. Materials and Methods

#### 2.1. Navier–Stokes

Algorithm 1 Navier–Stokes time stepping scheme |

while ${t}_{n}<{t}_{end}$ doset boundary conditions assemble right hand side of Poisson equation solve Poisson equation ($\to {p}^{n+1}$) do time step for velocities ($\to {\mathbf{u}}^{n+1}$) $n\leftarrow n+1$ end while |

#### 2.2. Lattice Boltzmann

#### 2.3. Coupling Strategies

#### 2.3.1. Spatial Coupling: General Methodology

#### Domain Decomposition, Interpolation and Unit Conversion

#### From Lattice Boltzmann to Navier–Stokes

#### From Navier–Stokes to Lattice Boltzmann

#### 2.3.2. Sequential Coupling

Algorithm 2 Sequential Schwarz coupling |

while global solution not converged dowhile LB not at steady-state dosolve LB end whilesend data from LB to NS and init boundaries while NS not at steady-state dosolve NS end whilesend data from NS to LB and init boundaries end while |

#### 2.3.3. Parallel Coupling

Algorithm 3 Parallel Schwarz coupling |

while global solution not converged dosend data from LB/NS to NS/LB and init boundaries while LB and NS not at steady-state dosolve LB and NS simultaneously end whileend while |

#### 2.3.4. Anderson Accelerated Coupling

Algorithm 4 Parallel Anderson accelerated coupling |

while global solution not converged dosend data from LB/NS to NS/LB and init boundaries while LB and NS not at steady-state dosolve LB and NS simultaneously end whileperform Anderson acceleration with LB and NS data end while |

Algorithm 5 Anderson acceleration in pseudocode |

$k=0$, initial value ${x}^{k}$, ${\tilde{x}}^{k}=H\left({x}^{k}\right)$, and ${R}^{k}={\tilde{x}}^{k}-{x}^{k}$ ${x}^{k+1}={x}^{k}+{R}^{0}$ while fixed-point iteration (global solution) not converged do$k=k+1$ // send data from LB/NS to NS/LB and solve LB/NS simultaneously ${\tilde{x}}^{k}=H\left({x}^{k}\right)$ and ${R}^{k}={\tilde{x}}^{k}-{x}^{k}$ // perform Anderson acceleration ${V}^{k}=[\Delta {R}_{0}^{k},\dots ,\Delta {R}_{k-1}^{k}]$ with $\Delta {R}_{i}^{k}={R}^{i}-{R}^{k}$ ${W}_{k}=[\Delta {\tilde{x}}_{0}^{k},\dots ,\Delta {\tilde{x}}_{k-1}^{k}]$ with $\Delta {\tilde{x}}_{i}^{k}={\tilde{x}}^{i}-{\tilde{x}}^{k}$ decompose ${V}^{k}={Q}^{k}{U}^{k}$ solve the first k lines of ${U}^{k}\alpha =-{{Q}^{k}}^{T}{R}^{k}$ $\Delta \tilde{x}=W\alpha $ ${x}^{k+1}={\tilde{x}}^{k}+\Delta {\tilde{x}}^{k}$ end while |

## 3. Results

#### 3.1. Implementation

`preCICE`, a coupling library particularly designed for fluid-structure interaction [36].

#### 3.2. Validation: Optimization-Based LB Boundary Conditions

- Normal: the LB grid is aligned with the plates and the main flow direction, cf. Figure 3a. The main flow direction is thus given by ${(1,0,0)}^{\top}$.
- Diagonal: the LB grid is rotated ${45}^{\circ}$ away from the main flow axis and kept aligned with the plates, cf. Figure 3b. The main flow direction is hence parallel to ${(1,1,0)}^{\top}$.
- Bi-Diagonal: the LB grid is rotated such that only one corner is placed on each boundary plane, cf. Figure 3c. The main flow direction is aligned with ${(1,1,1)}^{\top}$, the normal of the plates is given by $\pm {\sqrt{6}}^{-1}{(1,-2,1)}^{\top}$.

#### 3.3. LBNS Validation: Plane Channel

#### 3.4. LBNS: Flow Past Spherical Obstacle

#### 3.5. Anderson Acceleration: Parameter Study

#### 3.6. LBNS Showcase: Flow in Porous Structures

## 4. Conclusions

## Supplementary Materials

## Acknowledgments

## Author Contributions

## Conflicts of Interest

## Abbreviations

LB | Lattice Boltzmann |

NS | Navier–Stokes |

PDE | Partial differential equation |

HPC | High-performance computing |

BGK | Bhatnagar-Gross-Krook |

MCMD | multiple component multiple data |

## References

- Ferziger, J.; Perić, M. Computational Methods for Fluid Dynamics, 2nd ed.; Springer: Berlin/Heidelberg, Germany, 1999. [Google Scholar]
- Fletcher, C. Computational Techniques for Fluid Dynamics, Volume 2: Specific Techniques for Different Flow Categories, 2nd ed.; Springer: Berlin, Germany, 1997. [Google Scholar]
- Succi, S. The Lattice Boltzmann Equation for Fluid Dynamics and Beyond; Oxford University Press: Oxford, UK, 2001. [Google Scholar]
- Wolf-Gladrow, D. Lattice-Gas Cellular Automata and Lattice Boltzmann Models—An Introduction; Springer: Berlin, Germany, 2000. [Google Scholar]
- Geller, S.; Krafczyk, M.; Tölke, J.; Turek, S.; Hron, J. Benchmark computations based on lattice-Boltzmann, finite element and finite volume methods for laminar flows. Comput. Fluids
**2006**, 35, 888–897. [Google Scholar] [CrossRef] - Mehl, M.; Neckel, T.; Neumann, P. Navier–Stokes and Lattice-Boltzmann on octree-like grids in the Peano framework. Int. J. Numer. Methods Fluids
**2010**, 65, 67–86. [Google Scholar] [CrossRef] - Junk, M.; Klar, A.; Luo, L.S. Asymptotic analysis of the lattice Boltzmann equation. J. Comput. Phys.
**2005**, 210, 676–704. [Google Scholar] [CrossRef] - Chen, L.; He, Y.L.; Kang, Q.; Tao, W.Q. Coupled numerical approach combining finite volume and lattice Boltzmann methods for multi-scale multi-physicochemical processes. J. Comput. Phys.
**2013**, 255, 83–105. [Google Scholar] [CrossRef] - Latt, J.; Chopard, B.; Albuquerque, P. Spatial Coupling of a Lattice Boltzmann fluid model with a Finite Difference Navier–Stokes solver. 2005; arXiv:physics/0511243. Available online: http://xxx.lanl.gov/abs/physics/0511243 (accessed on 11 October 2016). [Google Scholar]
- Neumann, P. Hybrid Multiscale Simulation Approaches for Micro- and Nanoflows. Ph.D. Thesis, Technische Universität München, Institut für Informatik, Munich, Germany, 2013. [Google Scholar]
- Neumann, P.; Bungartz, H.-J.; Mehl, M.; Neckel, T.; Weinzierl, T. A Coupled Approach for Fluid Dynamic Problems Using the PDE Framework Peano. Commun. Comput. Phys.
**2012**, 12, 65–84. [Google Scholar] [CrossRef] - Yeshala, N. A Coupled Lattice-Boltzmann–Navier–Stokes Methodology for Drag Reduction. Ph.D. Thesis, Georgia Institute of Technology, Atlanta, GA, USA, 2010. [Google Scholar]
- Albuquerque, P.; Alemani, D.; Chopard, B.; Leone, P. Coupling a Lattice Boltzmann and a Finite Difference Scheme. In Computational Science–ICCS 2004; Springer: Berlin/Heidelberg, Germany, 2004; pp. 540–547. [Google Scholar]
- Albuquerque, P.; Alemani, D.; Chopard, B.; Leone, P. A Hybrid Lattice Boltzmann Finite Difference Scheme for the Diffusion Equation. Int. J. Mult. Comp. Eng.
**2006**, 4, 209–219. [Google Scholar] - Neumann, P. On transient hybrid Lattice Boltzmann–Navier–Stokes flow simulations. J. Comput. Sci.
**2016**, in press. [Google Scholar] [CrossRef] - Degroote, J.; Bathe, K.; Vierendeels, J. Performance of a new partitioned procedure versus a monolithic procedure in fluid-structure interaction. Comput. Struct.
**2009**, 87, 793–801. [Google Scholar] [CrossRef] - Lott, P.; Walker, H.; Woodward, C.; Yang, U. An accelerated Picard method for nonlinear systems related to variably saturated flow. Adv. Water Resour.
**2012**, 38, 92–101. [Google Scholar] [CrossRef] - Ni, P. Anderson Acceleration of Fixed-Point Iteration with Applications to Electronic Structure Computations. Ph.D. Thesis, Worcester Polytechnic Institute, Worcester, MA, USA, 2009. [Google Scholar]
- Anderson, D.G. Iterative procedures for nonlinear integral equations. J. ACM
**1965**, 12, 547–560. [Google Scholar] [CrossRef] - Fang, H.; Saad, Y. Two classes of multisecant methods for nonlinear acceleration. Numer. Linear Algebra Appl.
**2009**, 16, 197–221. [Google Scholar] [CrossRef] - Walker, H.; Ni, P. Anderson acceleration for fixed-point iterations. SIAM J. Numer. Anal.
**2011**, 49, 1715–1735. [Google Scholar] [CrossRef] - Shan, X. Lattice Boltzmann in micro- and nano-flow simulations. IMA J. Appl. Math.
**2011**, 76, 650–660. [Google Scholar] [CrossRef] - Meng, J.; Zhang, Y.; Shan, X. Multiscale lattice Boltzmann approach to modeling gas flows. Phys. Rev. E
**2011**, 83, 046701. [Google Scholar] [CrossRef] [PubMed] - Dünweg, B.; Schiller, U.; Ladd, A. Statistical Mechanics of the Fluctuating Lattice Boltzmann Equation. Phys. Rev. E
**2007**, 76, 036704. [Google Scholar] [CrossRef] [PubMed] - Griebel, M.; Dornseifer, T.; Neunhoeffer, T. Numerical Simulation in Fluid Dynamics. A Practical Introduction; SIAM: Philadelphia, PA, USA, 1997. [Google Scholar]
- Bhatnagar, P.; Gross, E.; Krook, M. A Model for Collision Processes in Gases. I. Small Amplitude Processes in Charged and Neutral One-Component Systems. Phys. Rev.
**1954**, 94, 511–525. [Google Scholar] [CrossRef] - Chapman, S.; Cowling, T. The Mathematical Theory of Nonuniform Gases; Cambridge University Press: London, UK, 1970. [Google Scholar]
- Zou, Q.; He, X. On pressure and velocity boundary conditions for the lattice Boltzmann BGK model. Phys. Fluids
**1997**, 9, 1591–1598. [Google Scholar] [CrossRef] - Latt, J.; Chopard, B.; Malaspinas, O.; Deville, M.; Michler, A. Straight velocity boundaries in the lattice Boltzmann method. Phys. Rev. E
**2008**, 77. [Google Scholar] [CrossRef] [PubMed] - Chikatamarla, S.; Ansumali, S.; Karlin, I. Grad’s approximation for missing data in lattice Boltzmann simulations. Europhys. Lett.
**2006**, 74, 215–221. [Google Scholar] [CrossRef] - Schwarz, H. Ueber einen Grenzübergang durch alternierendes Verfahren. Vierteljahrsschrift der Naturforschenden Gesellschaft Zürich
**1870**, 15, 272–286. (In German) [Google Scholar] - Uekermann, B.; Bungartz, H.-J.; Gatzhammer, B.; Mehl, M. A parallel, black-box coupling algorithm for fluid-structure interaction. In Proceedings of the 5th International Conference on Computational Methods for Coupled Problems in Science and Engineering, Ibiza, Spain, 17–19 June 2013; pp. 1–12.
- Atanasov, A. Software Idioms for Component-Based and Topology-Aware Simulation Assembly and Data Exchange in High Performance Computing and Visualisation Environments. Ph.D. Thesis, Technische Universität München, Institut für Informatik, Munich, Germany, 2014. [Google Scholar]
- Atanasov, A.; Bungartz, H.-J.; Unterweger, K.; Weinzierl, T.; Wittmann, R. A Case Study on Multi-Component Multi-Cluster Interaction with an AMR Solver. In Proceedings of the Third International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing (WOLFHPC 2013), Denver, CO, USA, 18 November 2013.
- Balay, S.; Adams, M.F.; Brown, J.; Brune, P.; Buschelman, K.; Eijkhout, V.; Gropp, W.D.; Kaushik, D.; Knepley, M.G.; McInnes, L.C.; et al. PETSc Web Page. Available online: http://www.mcs.anl.gov/petsc (accessed on 17 November 2014).
- Bungartz, H.-J.; Lindner, F.; Gatzhammer, B.; Mehl, M.; Scheufele, K.; Shukaev, A.; Uekermann, B. preCICE—A Fully Parallel Library for Multi-Physics Surface Coupling. Comput. Fluids
**2016**, in press. [Google Scholar] [CrossRef] - Khirevich, S.; Ginzburg, I.; Tallarek, U. Coarse- and fine-grid numerical behavior of MRT/TRT lattice-Boltzmann schemes in regular and random sphere packings. J. Comput. Phys.
**2014**, 281, 708–742. [Google Scholar] [CrossRef] - Grucelski, A.; Pozorski, J. Lattice Boltzmann simulations of flow past a circular cylinder and in simple porous media. Comput. Fluids
**2013**, 71, 406–416. [Google Scholar] [CrossRef]

**Figure 1.**Decomposition of the computational domain into subdomains ${\mathsf{\Omega}}^{NS}$ and ${\mathsf{\Omega}}^{LB}$ for the NS and LB solver, and an overlap region ${\mathsf{\Omega}}^{Ovlp}$.

**Figure 2.**Grids and interpolation rules. (

**a**) Interpolation of LB values. The outer red-colored nodes correspond to the LB boundary layer. The surrounding NS values in- and outside the (gray-colored) overlap region are used to interpolate density, velocity and shear stresses on these LB nodes; (

**b**) Interpolation of NS values. The LB nodes marked as red crosses are used to interpolate the velocity values at the marked green locations of the staggered NS grid.

**Figure 3.**Test setups for the optimization-based boundary treatment in the LB solver. The blue region corresponds to the Cartesian grid-based computational domain used by the LB solver, the direction of the parabolic flow profile is sketched on the left side of the gray plates. (

**a**) Setup Normal; (

**b**) Setup Diagonal; (

**c**) Setup Bi-Diagonal.

**Figure 4.**Velocity and stress profiles in setups Normal, Diagonal, Bi-Diagonal for discretizations D3Q15, D3Q19, D3Q27. The best approximation “Lin. Fit” matches the analytic solution within a tolerance of ≤1%. The small oscillations in the setup Bi-Diagonal stem from the evaluation and data extraction of flow quantities from the Cartesian grid data structure, abstaining from interpolation despite the consideration of a rotated system.

**Figure 5.**Convergence of the velocity profile at cross-section through empty channel at $(1.5,y\xb7d{x}^{NS},1.0)$, $y\in [0,20]$, towards steady state. (

**a**) Simple parallel coupling; (

**b**) Anderson accelerated parallel coupling.

**Figure 6.**Pressure and velocity profile in channel flow for LB and LBNS. (

**a**) Velocity profile at cross-section $(1.5,y,1.0)$, $y\in [0.0,2.0]$; (

**b**) Pressure profile along centerline of the channel $(x,1.0,1.0)$, $x\in [0.5,2.5]$.

**Figure 7.**Steady-state velocity field for the LBNS scenario for flow past a spherical obstacle. The inner black-framed box shows the LB simulation domain, the region between inner black- and white-framed box corresponds to the overlap region.

**Figure 8.**Convergence of the velocity profile for channel flow past a spherical obstacle at cross-section at $x=2.0$, $y\in [0.0,2.0]$ towards steady state. (

**a**) Simple parallel coupling; (

**b**) Anderson accelerated coupling.

**Figure 9.**Velocity profile at different cross-sections for channel flow past a spherical obstacle obtained from LB and LBNS simulations. (

**a**) $(0.5,y,1.0)$; (

**b**) $(1.5,y,1.0)$; (

**c**) $(3.0,y,1.0)$, $y\in [0,2.0]$.

**Figure 10.**(

**a**) Relative convergence criterion of the simple parallel (Jacobi-type) coupling scheme compared to the Anderson acceleration scheme (normalized, primary: ${\mathbf{u}}_{ovlp}^{NS}$, ${\mathbf{u}}_{ovlp}^{LB}$, secondary: ${p}_{ovlp}^{NS}$); (

**b**) Relative convergence criterion of the Anderson acceleration scheme. Normalized coupling variables are compared to the original values (primary: ${\mathbf{u}}_{ovlp}^{NS}$, ${\mathbf{u}}_{ovlp}^{LB}$, secondary: ${p}_{ovlp}^{NS}$).

**Figure 11.**Channel flow with 100 random-sized rigid spherical obstacles forming a porous structure. The gray and black lines indicate the domain decomposition of NS and LB solver.

**Figure 12.**Visualization of the flow field of the channel flow with porous structure. (

**a**) Flow field of the whole computational domain; (

**b**) Flow field inside the porous structure; (

**c**) Cut through the velocity field at $y=8.0$ in porous structure. $velNS\phantom{\rule{3.33333pt}{0ex}}Magnitude$ corresponds to the magnitude of the velocity in NS units.

**Table 1.**Influence of normalization and the choice of primary and secondary variables for the Anderson accelerated coupling. Runs with only one primary coupling variable do not converge. The bold numbers in columns 4,5 correspond to the absolute number of coupling iterations (maximum of the given iteration numbers for each coupling variable) to reach convergence. We use dim(${\mathbf{u}}_{ovlp}^{NS})=302580$ and dim(${\mathbf{u}}_{ovlp}^{LB})=5760$.

Primary | Secondary | Norm. | Iterations till ${10}^{-5}$ | Iterations till ${10}^{-7}$ |
---|---|---|---|---|

(${\mathbf{u}}^{NS}$/${\mathbf{u}}_{ovlp}^{LB}$/${p}_{ovlp}^{NS}$) | (${\mathbf{u}}_{ovlp}^{NS}$/${\mathbf{u}}_{ovlp}^{LB}$/${p}_{ovlp}^{NS}$) | |||

${\mathbf{u}}_{ovlp}^{NS}$, ${\mathbf{u}}_{ovlp}^{LB}$ | ${p}_{ovlp}^{NS}$ | no | 15 / 13 / 15 | 23 / 21 / 23 |

${\mathbf{u}}_{ovlp}^{NS}$, ${\mathbf{u}}_{ovlp}^{LB}$ | ${p}_{ovlp}^{NS}$ | yes | 14 / 15 / 14 | 20 / 23 / 20 |

${\mathbf{u}}_{ovlp}^{NS}$, ${\mathbf{u}}_{ovlp}^{LB}$, ${p}_{ovlp}^{NS}$ | - | yes | 15 / 15 / 15 | 22 / 23 / 22 |

${p}_{ovlp}^{NS}$, ${\mathbf{u}}_{ovlp}^{LB}$ | ${\mathbf{u}}_{ovlp}^{NS}$ | yes | 14 / 17 / 14 | 22 / 24 / 22 |

**Table 2.**Influence of the ratio, and of the normalization on the convergence behavior of the Anderson accelerated coupling. All runs use ${\mathbf{u}}_{ovlp}^{NS}$ and ${\mathbf{u}}_{ovlp}^{LB}$ as primary variables, and ${p}_{ovlp}^{NS}$ as a secondary variable. The mesh is coarsened by a factor of two compared to the results in Table 1. The bold numbers in columns 5,6 correspond to the absolute number of coupling iterations (maximum of the given iteration numbers for each coupling variable) to reach convergence.

Ratio | dim(${\mathbf{u}}_{\mathit{o}\mathit{v}\mathit{l}\mathit{p}}^{\mathit{N}\mathit{S}}$) | dim(${\mathbf{u}}_{\mathit{o}\mathit{v}\mathit{l}\mathit{p}}^{\mathit{L}\mathit{B}}$) | Norm. | Iterations till ${10}^{-5}$ | Iterations till ${10}^{-7}$ |
---|---|---|---|---|---|

(${\mathbf{u}}_{ovlp}^{NS}$/${\mathbf{u}}_{ovlp}^{LB}$/${p}_{ovlp}^{NS}$) | (${\mathbf{u}}_{ovlp}^{NS}$/${\mathbf{u}}_{ovlp}^{LB}$/${p}_{ovlp}^{NS}$) | ||||

1 | 10080 | 460 | no | 9 / 9 / 9 | 12 / 13 / 12 |

1 | 10080 | 460 | yes | 8 / 10 / 8 | 12 / 13 / 16 |

2 | 34980 | 460 | no | 10 / 7 / 10 | 13 / 11 / 13 |

2 | 34980 | 460 | yes | 8 / 10 / 8 | 12 / 14 / 13 |

4 | 129780 | 460 | no | 11 / 7 / 10 | 14 / 13 / 17 |

4 | 129780 | 460 | yes | 8 / 11 / 8 | 13 / 15 / 17 |

8 | 499380 | 460 | no | 11 / 7 / 11 | 16 / 14 / 16 |

8 | 499380 | 460 | yes | 8 / 11 / 8 | 14 / 15 / 14 |

© 2016 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC-BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Atanasov, A.; Uekermann, B.; Pachajoa Mejía, C.A.; Bungartz, H.-J.; Neumann, P.
Steady-State Anderson Accelerated Coupling of Lattice Boltzmann and Navier–Stokes Solvers. *Computation* **2016**, *4*, 38.
https://doi.org/10.3390/computation4040038

**AMA Style**

Atanasov A, Uekermann B, Pachajoa Mejía CA, Bungartz H-J, Neumann P.
Steady-State Anderson Accelerated Coupling of Lattice Boltzmann and Navier–Stokes Solvers. *Computation*. 2016; 4(4):38.
https://doi.org/10.3390/computation4040038

**Chicago/Turabian Style**

Atanasov, Atanas, Benjamin Uekermann, Carlos A. Pachajoa Mejía, Hans-Joachim Bungartz, and Philipp Neumann.
2016. "Steady-State Anderson Accelerated Coupling of Lattice Boltzmann and Navier–Stokes Solvers" *Computation* 4, no. 4: 38.
https://doi.org/10.3390/computation4040038