Table of Contents

Boundary conditions (BC) are a quite complex problem in lattice Boltzmann (LB) methods. The difficulties arise from the fact that there exists no physical intuition on the behaviour of the velocities distribution function on boundaries. Usually we only have macroscopic information (e.g. no slip BC on walls for fluid flows). We therefore have to translate this macroscopic information on the microscopic distribution functions. There is no unique way of doing this translation and many authors propose their own solution. One should be aware that the BC chosen is of primary importance since it affects greatly the numerical accuracy of the simulation but also its stability.

In the following presentation, the available boundary conditions for LB are attributed to two main classes. In the “wet node”-approach, boundary nodes are wet, i.e. they are part of the fluid. Consequently, the particle populations of such a node comply with the results of the Chapman-Enskog expansion. They can be split into equilibrium and off-equilibrium part and associated with the macroscopic variables of the flow. In the “bounce-back” approach, the boundary nodes are located outside the fluid. They implement a bounce-back dynamics, or a variation thereof: the value of the known particle populations is copied to their unknown neighbor pointing in the opposite direction. As these nodes are not part of the fluid, they follow different rules. It is usually not possible to compute macroscopic variables as momenta of particle populations, or to apply other results of the Chapman-Enskog expansion.

It is common for the boundary (the “physical” boundary: the exact place where the fluid asymptotically complies with the constraints imposed by the boundary condition) to pass right through boundary nodes in the “wet node” approach, whereas it is located somewhere half-way between a boundary node and the next fluid node in the “bounce-back” approach. In both approaches, there exist however ways to adapt the desired location of the boundary and to implement higher-order accurate off-lattice boundaries.

An overview of boundary conditions for straight walls in the “wet node” category may also be found in the review paper Straight velocity boundaries in the lattice Boltzmann method, along with a detailed description of the corresponding algorithms.

With this method, only unknown particle populations are replaced. They are instantiated at an equilibrium distribution with the desired density, and with a velocity which is shifted by a “slip velocity” parallel to the wall. Although it is easy to implement this condition in 2D, the 3D version can be somehow tricky. The Inamuro method is exceptionally accurate in most 2D benchmarks, but its numerical stability is often deficient at higher Reynolds numbers. Find out more about this boundary condition in Inamuro e.a. 1995.

As for the Inamuro method, the Zou/He approach replaces only unknown particle populations. Again, the strong point is numerical accuracy, especially in 2D, and the weak point is the deficient numerical stability at higher Reynolds numbers. In the Zou/He method, a bounce-back principle is applied to off-equilibrium parts of the particle populations. This boundary condition is easy to implement in 2D and 3D. It is described in Zou and He 1997.

In this method, all particle populations are replaced, independently of whether they are known or unknown. In a first step, the local value of the stress tensor is deduced from the known particle populations. This information is then used to attribute the value of the regularized LB method (as described on the LB models page) to all particle populations. This approach tends to be somewhat less accurate than the previous ones at low Reynolds number. The strength of the regularized boundary condition becomes apparent at higher Reynolds number, where its numerical stability is exceeded only by the following, non-local boundary condition. This method is easy to implement in 2D and 3D. It is introduced in this thesis.

The off-equilibrium part of particle populations is known to depend on the gradients of the velocity. Instead of retrieving this information from the known particle populations on a lattice known, one may obtain it by accessing neighboring nodes and applying a finite difference scheme. Several approaches are proposed in the literature. In general, all particle populations on a boundary node are replaced by this method. These methods are most often quite accurate and exceptionally stable. Furthermore, they are easy to implement in a general context, and to extend to off-lattice boundaries. One may however hesitate to implement them, as they violate one of base principles of LB, which is locality of the collision step. A boundary condition with finite difference approximations is introduced in Skordos 1993.

Here, an extrapolation scheme is used fine-tune the location of the wall, which may be located at any position between two sites. We attribute this method to the “wet-node” category, because boundary nodes execute a normal BGK collision step. The boundary nodes, i.e. those that receive a special treatment by means of this method, are however located beyond the physical boundary. They are thus in a region which, as far as the physical interpretation is concerned, is not part of the fluid. The following decisions are taken to reconstruct equilibrium and off-equilibrium parts of the particle populations on these nodes. The density is copied from a neighbor in the bulk of the fluid. The velocity is extrapolated from a neighbor in the bulk of the fluid, and from the imposed velocity value on the boundary. All off-equilibrium components are copied from a neighbor in the bulk. This method and a numerical validation are presented in Guo e.a. 2002.

On a Full-way bounce-back node, the incoming particle populations are treated as follows: each population is replaced by the value of the population with a velocity vector pointing in opposite direction. This completes the collision step, and the propagation step is executed directly after. The result of this operation is well defined, because all unknown populations leave the computational domain. They are so to say streamed back to where they came from. Full-way bounce-back is used to implement no-slip (zero-velocity) walls. And in spite of what the name seems to suggest, the wall is located half-way between the bounce-back node and its next neighboring fluid node. Full-way bounce-back nodes are extremely easy to implement, because the algorithm is independent of the orientation of the wall. They are implemented just the same in any circumstance.

In the half-way bounce-back approach, only unknown particle populations are replaced. At a given iteration step *t*, they are assigned the post-collision value adopted by the population in opposite direction at time *t-1*. After this, a regular (BGK or other) collision step is executed. To put this into other words, particle populations which during the streaming step would leave the domain are retained on the node and copied to their opposite location. Because of this interpretation, on can say that the half-way bounce-back scheme keeps the usual collision step but modifies the streaming step, as opposed to the full-way bounce-back scheme which keeps the usual streaming step but uses a modified collision step.

As in the case of full-way bounce-back, the effect of this is a no-slip condition half-way between two nodes. The boundary can however be manipulated in order to implement a Dirichlet condition with arbitrary velocity. For this, some momentum is added to the unknown populations, right after they have been assigned the “previous-time opposite post-collision value”. An extension of half-way bounce-back is the Bouzidi algorithm, in which the boundary can adopt any desired position between the bounce-back node and its next neighboring fluid node.

The different boundary conditions are compared among each other on the benchmark page