## Abstract

In this work, the lattice Boltzmann (LB) method was applied to simulate incompressible steady and unsteady low Reynolds number (Re) flows around a confined cylinder. In the LB method, different collision models (Bhatnagar–Gross–Krook model, two-relaxation-time model, multi-relaxation-time model, and entropic lattice Boltzmann model) and a regularization model were used, and the results were compared. Numerical results pertaining to a two-dimensional flow around a cylinder are reported and compared with numerical and experimental data available in the literature. The results agree with the predictions made from the literature. A correlation for Strouhal number (St) for 55 \(\le\) Re \(\le\) 300 is suggested.

## 1 Introduction

The lattice Boltzmann (LB) method is a numerical tool based around a discrete form of statistical–mechanical Boltzmann equation [1]. One of LB’s primary uses is hydrodynamics computations. Several collision models have been proposed in the past, that include the Bhatnagar–Gross–Krook model—BGK [2], the two-relaxation-time model—TRT [3], the multi-relaxation-time model—MRT [4], the entropic lattice Boltzmann model—ELB [5], and, although technically not a collision model, the regularized lattice Boltzmann model—RLB [6]. By applying the right parameters, all of these models can reproduce the Navier–Stokes equations. However, each collision model has a specific window of application, which for some is wider, for others narrower. The “better” collision models usually carry a greater computational cost, and different problems require different approaches in terms of collision model choice. Different collision models have been put head-to-head before, e.g., their performance in finding a steady-state solution of a 2D lid-driven cavity flow benchmark was compared [7]; however, the ELB implementation therein received a follow-up comment [8].

Another popular computational fluid dynamics (CFD) benchmark is fluid flow around a cylinder [9]. The flow around a cylinder is often considered for testing different solid boundary conditions. Curved walls of the cylinder represent a challenge to be modeled properly, especially in LB computations, as these are usually performed on square lattices [10,11,12,13,14,15,16]. This benchmark serves well in comparing different CFD approaches. However, flow around a cylinder is also a good starting point for testing the solver’s performance in solving flow through complex geometries [17, 18]. With the onset of an unsteady solution at Reynolds numbers (Re) above its critical value (Re\(_{\mathrm{crit}}\)), where a vortex street (von Kármán vortex street) appears, flow around a cylinder is also popular for testing the performance in solving unsteady flows [19,20,21] and turbulent flows [22].

The aim of this work is to: first verify and validate an in-house-developed LB solver, utilizing the BGK, TRT, MRT, ELB, and RLB models, via the CFD benchmark for flow around a cylinder in both states—steady and unsteady [9]; and second to study the flow around a confined cylinder using the verified model. The first part is also meant to compare the different models’ performance in solving the benchmark problem. In the second part Re\(_{\mathrm{crit}}\), as well as the correlation between the Strouhal number (St) and Re in the laminar and transition vortex shedding modes [23], will be investigated.

## 2 Methods and materials

### 2.1 The lattice Boltzmann method

The LB method is performed on a square lattice where at each node there is a discrete number of directions in which the fluid particles can move. In this study, a 2D model with nine lattice velocities—the *D*2*Q*9, will be discussed and applied.

A general form of the LB equation can be written as follows [1]:

where \(f_i\) is a discrete distribution function at position \(\varvec{x}\), with average particle lattice velocity \(\varvec{e}_i\), pointing in direction *i* (see Fig. 1), at time *t*. \(\varOmega ^{\mathrm{coll}}\) is the collision operator, and will be discussed later. \(\varvec{e}_i = (e_{x,i}, e_{y,i})\) is the directional vector and it takes the following values:

The local fluid density \(\rho\) is computed as the sum of all \(f_i\)’s on site. The expression for *D*2*Q*9 lattice model is the following:

The local fluid velocity \(\varvec{u} = \left( u_x, u_y\right)\) can be computed from the expression for local momentum:

### 2.2 Bhatnagar–Gross–Krook model

The Bhatnagar–Gross–Krook (BGK) model has the simplest form of the presented collision operators, which reads as follows [1, 2]:

\(f_i^{\mathrm{eq}}\) is the local equilibrium distribution function, and is computed from the local macroscopic velocity \(\varvec{u}\), and local density \(\rho\):

where \(w_i\) is the equilibrium weight factor in the *i*th direction. Its values add up to 1, and in *D*2*Q*9 they equal:

\(\omega\) is the relaxation rate and is the inverse of the relaxation time \(\tau = \frac{1}{\omega }\). From the relaxation rate, the fluid’s kinematic viscosity \(\nu\) can be calculated:

### 2.3 Two-relaxation-time model

The two-relaxation-time (TRT) collision model is an improved form of the BGK, and at the same time a reduced, and simpler form of the multi-relaxation time model, which will be discussed later. It takes the following form [3]:

The \(f_i^+\) and \(f_i^-\) are, respectively, the symmetric and anti-symmetric parts of the *i*th distribution function, and are defined as follows:

where the index \(\bar{i}\) stands for the direction opposite of the direction of index *i* (see Fig. 1). Expressions for \(f_i^{\mathrm{eq}+}\) and \(f_i^{\mathrm{eq}-}\) follow suit, but *f* is replaced by \(f^{\mathrm{eq}}\) which can be calculated using Eq. 6:

\(\omega ^+\) and \(\omega ^-\) are relaxation rates of the model. They are linked via the “magic parameter” \(\varLambda\):

For almost all of the benchmarking, \(\varLambda = \frac{1}{4}\) was used as this was proven to be its most stable value [24]. Indeed, this \(\varLambda\) gave the best results, but it was numerically unstable in some cases. There \(\varLambda = 10^{-5}\) was used. The positive relaxation rate \(\omega ^+\) plays an identical role in TRT as \(\omega\) does in BGK, and therefore directly correlates with the kinematic viscosity of the fluid \(\nu\):

### 2.4 Multi-relaxation-time model

The multi-relaxation-time (MRT) model was developed almost simultaneously with the LB method itself [4]. The form of MRT presented and used in this study is of the Gram–Schmidt type [25, 26]. The algorithm of MRT collision is as follows: the \(f_i\)’s at a node in the population space are transformed into the moment space to moments \(m_i\)’s via the transformation matrix \(\varvec{M}\), where the collision is carried out through the relaxation matrix \(\varvec{S}\), and finally \(m_i\)’s are transformed back to \(f_i\)’s via the inverse of the transformation matrix \(\varvec{M}^{-1}\). In general, the MRT collision operator can be written as:

where \(\varvec{f} = \left( f_0, f_1, \ldots , f_8\right)\), and \(\varvec{f}^{\mathrm{eq}} = \left( f^{\mathrm{eq}}_0, f^{\mathrm{eq}}_1, \ldots , f^{\mathrm{eq}}_8\right)\). The streaming step is carried out with \(f_i\)’s in the population space. Gram–Schmidt \(\varvec{M}\) for the *D*2*Q*9 model takes the following form:

The inverse matrix \(\varvec{M}^{-1}\) can be looked up in the literature [25, 26] or it can be computed with the help of a computer solver. After the transformation to moment space, the moments relax toward the equilibrium moments \(m_i^{\mathrm{eq}}\) which are:

The relaxation is done through \(\varvec{S}\), which in Gram–Schmidt procedure takes the form of a diagonal matrix, and can thus be written as:

where \(\omega _{\nu }\) is of particular interest, as it correlates with the fluid’s kinematic viscosity in the same way as \(\omega\) in BGK:

\(\omega _{\epsilon }\) is correlated with the fluid’s bulk viscosity. However, it, along with the other relaxation rates (except \(\omega _{\nu }\)) is usually set to a fixed value, which requires some tuning on the user’s part to find the optimal values. For the purpose of this study, the following values were used \(\varvec{S} = {\mathrm{diag}}(0, 1.95, 1.95, 0, 1.4, 0, 1.4, \omega _{\nu }, \omega _{\nu })\).

### 2.5 Entropic lattice Boltzmann model

The entropic lattice Boltzmann (ELB) model was derived by finding the entropy functions through which the Navier–Stokes equations could be recovered [5, 27]. For ELB, the collision operation can be written as:

At the first glance, Eq. 19 seems very similar to BGK equation (Eq. 5), and indeed, if \(\alpha = 2\) it becomes the BGK collision operator, as \(\beta = \frac{1}{2 \tau }\). \(\beta\) is therefore directly correlated with the fluid’s kinematic viscosity \(\nu\):

However, \(f^{\mathrm{eq}}\) in ELB take a slightly different form:

To understand the parameter \(\alpha,\) the entropy function *H* should be considered first. In *D*2*Q*9, *H* is defined as:

\(\alpha\) should then be numerically determined as the non-trivial solution of the following equation, using the \(f^{\mathrm{eq}}\) calculated with Eq. 21:

### 2.6 Regularized lattice Boltzmann model

The regularized lattice Boltzmann (RLB) model actually incorporates the BGK collision, but it includes a regularization of the \(f_i\)’s before the collision step itself [6]. There are several related regularization procedures in the literature [6, 28, 29]. In this study, the high-order regularization with filtered central moments by Mattila et al. was used [29]. First, let there be a non-equilibrium distribution function \(f_i^{\mathrm{neq}}\) introduced:

Then by combining Eqs. 1, 5, and 24, the LB equation can be rearranged as follows:

The high-order \(f^{\mathrm{eq}}_i\) is computed as:

The actual regularization step occurs by computing \(f_i^{\mathrm{neq}}\) as:

where:

### 2.7 Boundary conditions

As a cylinder (or its 2D projection—a circle) requires the use of curved boundaries, the multi-reflection (MR) boundary condition was used for solid walls [30]. Unlike other approaches to curved boundaries, MR formulation is independent of the distance of the wall from the wet node *q* [31]. This property makes the MR fairly easy to implement and does not greatly increase the overall computational costs, especially in its reduced form [31, 32]:

*q* takes a value between 0 and 1, and represents the relative distance between the actual wall position and the boundary node. The positional parameters *B* and *N* represent the boundary, and neighboring nodes, respectively, \(N = B + \varvec{e}_i \varDelta t\). Straight walls had the value of *q* set to 0.5, which reduces Eq. 29 to the standard no-slip bounce-back boundary condition.

The inlet boundary condition can be a simple Dirichlet boundary condition, where the multi-reflection boundary is slightly modified:

where the \({u_x}_{\mathrm{in}}\) is the inlet velocity, a function of *y*-coordinate, as in computations in this study a parabolic inlet velocity profile was applied. \(\rho _{\mathrm{in}}\) is the density at inlet, and it can be calculated as [33]:

For the outlet boundary conditions, the non-equilibrium boundary was utilized [34]. This one is formulated in the following manner:

where the parameters for \(f_i^{\mathrm{eq}}\) indicate the values that are used in its computation. \(\rho _0\) takes a user-defined value and represents the constant density (pressure) at the outlet.

### 2.8 Benchmarking the code

The code was first tested in a simple setup—steady and unsteady 2D flow around a cylinder. The benchmark is such as described by Schäfer et al. [9]. A 2D domain, which is bounded on the north and south sides by static no-slip walls, was designed. A cylinder was positioned slightly off-midstream (Fig. 2); the inlet boundary condition is a fully developed parabolic profile, and the outlet boundary condition can be chosen freely. In this study, the boundary conditions were chosen as described above. For MR, at straight walls *q* equaled 0.5.

The benchmarking is done at two different benchmark Reynolds numbers, Re\(_{\mathrm{bm}}\):

where \(\bar{u}_x\) is the mean flow speed in the *x*-direction at the inlet, *D* is the cylinder diameter, and \(\nu\) is the fluid’s kinematic viscosity. The benchmark for the steady flow is set at Re\(_{\mathrm{bm}} = 20\), while the unsteady case is studied at Re\(_{\mathrm{bm}} = 100.\)

The tested values were: the drag coefficient \(c_D\), the lift coefficient \(c_L\), the recirculation length \(L_a\) at Re\(_{\mathrm{bm}} = 20\), the Strouhal number St\(_{\mathrm{bm}}\) at Re\(_{\mathrm{bm}} = 100\), and the downstream pressure drop at the cylinder \(\varDelta P\):

where \(F_D\) and \(F_L\) are the drag and lift components of the force acting on the cylinder (\(\varvec{F} = \left( F_D, \, F_L\right)\)), respectively, and \(\rho\) is the fluid density. \(x_r\) is the *x*-coordinate downstream from the cylinder, where \(u_x\) equals 0, \(x_e\) is the *x*-coordinate on the edge of the cylinder that is the furthest downstream, equaling 0.25, and \(x_a\) lies on the opposing side of the cylinder upstream. \(f_{\mathrm{sh}}\) is the vortex shedding frequency, and it was determined as the frequency at which there was a maximum of the Fourier transformed data of \(c_L\).

In the steady case, the resulting \(c_D\) and \(c_L\) were the steady solutions, whereas in the unsteady case both parameters in question were their maximum values, \(c_D^{\mathrm{max}}\) and \(c_L^{\mathrm{max}}\), when a periodic steady state was reached (the von Kármán vortex street). \(F_D\) and \(F_L\) were calculated as the change of momentum in a time period \(\varDelta t\) in a given direction, also accounting for the curved wall position *q* [30]:

*B* represents all solid cylinder boundary nodes, *N* represents \(B + \varvec{e}_i \varDelta t\) if the said point is fluid, and \(N + 1\) represents \(B + 2 \varvec{e}_i \varDelta t\).

The benchmarks were performed at different *D*’s: 8, 16, 32, and 64. Additionally, different collision models were used, to test any differences in the obtained results. For TRT, \(\varLambda = \frac{1}{4}\) was used for all computations, with the exception of \(D = 8\) and \(D = 16\) at Re\(_{\mathrm{bm}} = 100\), as the benchmark was numerically more stable with \(\varLambda = 10^{-5}\).

### 2.9 Simulation setup

Again a cylinder is put between two walls in a 2D system. Unlike in the benchmark, here a channel with a cylinder placed midstream and a fifth of the channel length downstream was set up. The channel width was 8 times the cylinder diameter *D*, and channel length was 4 times the channel width. The channel-width-to-cylinder-diameter of 8 (blockage ratio of 0.125) was found to reproduce the results of an unbounded cylinder [35]. These dimensions also made sure that the inlet and outlet boundary conditions did not interfere with the computations. The setup is represented in Fig. 3. The boundary conditions used were the same as above.

The computations logged the density difference \(\varDelta \rho\) through the middle of the cylinder in *the y*-direction. These measurements are proportional to the pressure drop in the same direction. By processing these data, the frequency of vortex shedding \(f_{\mathrm{sh}}\) could be obtained. The simulations were performed in a range of Reynolds numbers Re between 50 and 300. Re is defined as follows:

The flow speed \(\bar{u}^\star\) is calculated as the average *x*-component of the velocity, \(u_x\), at inlet over the obstacle’s projection onto the inlet [36], in this case:

According to Chen et al., this formulation of average flow speed allows for comparison of bounded and unbounded cylinders [36]. Additionally, the critical Reynolds number Re\(_{\mathrm{crit}}\) was determined by increasing Re between 50 and 60 in increments of 1. Re\(_{\mathrm{crit}}\) is the Re at which an instability in flow occurs.

To compare the present results to the ones found in other published work, \(f_{\mathrm{sh}}\) was converted to the Strouhal number St. This was then plotted against Re. St is defined as:

The simulations ran for a total of 200 000 time steps per value of Re. The output data were then transformed with the Fourier transformation to obtain the vortex shedding frequency spectra. The simulations for Re\(_{\mathrm{crit}}\) ran for 2 000 000 time steps, as it took longer for instabilities to develop at lower Re.

The cylinder diameter chosen for the simulations was \(D = 32\). Computations were performed with the MRT collision model.

### 2.10 Hardware and software

The computations were carried out with an in-house-developed LB solver, written in CUDA C++. The code ran on two separate machines, namely the benchmarking was performed on an Intel^{®} Core™ i7-6700HQ, 16 GB RAM, NVIDIA^{®} GeForce^{®} GTX 960M 4 GB laptop, and the simulations ran on an Intel^{®} Core™ i7-8700K, 8 GB RAM, NVIDIA^{®} GeForce^{®} GTX 1060 6 GB desktop computer. Both machines were using Ubuntu 18.04.1 LTS operating system, NVIDIA^{®} CUDA^{®} Compiler Driver (nvcc) from NVIDIA^{®} Toolkit version 9.1, and GNU C++ (g++) compiler version 7.3.0. Data analysis was performed with ParaView 5.4.1, and Python 3.6.5, using the numpy, scipy, and matplotlib libraries. The Fourier transform utilized was the scipy.fftpack.fft. To smooth out the datasets computed in the benchmark (especially for the \(c_L^{\mathrm{max}}\) and \(c_D^{\mathrm{max}}\) determination), the Savitzky–Golay filter (scipy.signal.savgol_filter) was applied. This reduced the errors significantly.

## 3 Results

### 3.1 Benchmarks

The benchmarking results are given in Table 1, and are graphically depicted in Figs. 4 and 6. Also displayed are examples of velocity profiles of fully developed flows in Figs. 5 and 7. At Re\(_{\mathrm{bm}} = 20\) it can be noticed, that at the smallest *D* (8) the performance is the worst, and it gets better as the value of *D* increases. The errors for all methods are the greatest for \(c_L\), followed by \(c_D\). In both cases, the methods converged to the prescribed limits with greater resolution. ELB and RLB, however, were not able to fall within the limits, except RLB for \(c_L\) at \(D = 64\). \(\varDelta P\) errors converge with increased grid resolution. \(L_a\) results are in good agreement with the expected values, apart from the outlying ELB results. For \(D = 32\) and 64, the results for all of the collision models seem to fall more or less within the range prescribed in [9].

At Re\(_{\mathrm{bm}} = 100\) the trend is similar to the Re\(_{\mathrm{bm}} = 20\)—higher resolution computations performed better. ELB again failed to perform well in \(c_D^{\mathrm{max}}\) and \(c_L^{\mathrm{max}}\) tests, but it captured the emergent flow properties (St\(_{\mathrm{bm}}\)) well. Similarly as at Re\(_{\mathrm{bm}} = 20\) the errors are the greatest for \(c_L^{\mathrm{max}}\) and \(c_D^{\mathrm{max}}\). \(\varDelta P\) was the most accurate at \(D = 64\). It is, however, surprising that St\(_{\mathrm{bm}}\) was the same for all methods, with only difference being at \(D = 8\), where ELB, RLB, and MRT differ from TRT and BGK. At higher *D,* there are no differences between the methods.

From these results, it is evident that the emerging flow pattern remains pretty much unaffected by the size of *D* (results for St\(_{\mathrm{bm}}\)) and the choice of the collision operator. However, MRT and RLB were the most stable, but MRT required shorter computation times (data not shown), so further computations were performed using it. \(D = 32\) appears to be a good enough resolution for further computations, as \(D = 64\) does not greatly improve the results, and smaller *D* would result in greater errors. All the presented models performed better in the unsteady (Re\(_{\mathrm{bm}} = 100\)) case, which is good for this study, as the flow in the transition range of Re that was investigated later does not give a steady-state solution. The overall benchmarking results suggest that the presented approach is suitable for simulating 2D fluid flow around a cylinder. Overall the computation time of the BGK, TRT, and MRT models was similar (\(\pm 6\%\)), whereas ELB and RLB computation time was about twice as long (data not shown). It should be noted, however, that RLB implementation here was not as far optimized as the other models’.

### 3.2 Simulations

#### 3.2.1 Re\(_{\mathrm{crit}}\) determination

Blockage ratio of the channel has an effect on Re\(_{\mathrm{crit}}\), which is the lowest Re at which a disturbance in the wake of the cylinder can be noticed. In general, Re\(_{\mathrm{crit}}\) increases with greater blockage ratio. Sahin and Owens investigated this phenomenon [37]; however, in that study Re\(_{\mathrm{crit}}\) was not determined for blockage ratio of 0.125, which was used here. By interpolating their data, it was determined that in this case Re\(_{\mathrm{crit}}\) should be about Re = 54.6. The results of the numerical experiments, which were used to determine Re\(_{\mathrm{crit}}\) of the investigated system, are displayed in Fig. 8. In Fig. 8a, the maximum peak size of the Fourier transform of the data log was plotted against Re. The peak size is affected by the frequency and the amplitude of the signal. A more intense (higher amplitude) wave produces a higher peak size. Because the disturbance appears sooner in flows with higher Re, only the last 150,000 logged points were used in the Fourier transform. At this point, the disturbances were already fully developed, and the comparison between the signals could be made. Figure 8b displays the \(u_y\) at the channel mid-point along the *x*-axis after 2,000,000 time steps. The plots shown are for Re = 53, 54, 55. This shows that practically no change in flow pattern occurs between Re 53 and 54, but a significant disturbance appears at Re = 55. Both plots mentioned above suggest that Re\(_{\mathrm{crit}} = 55.0\pm 0.5\), which favors the prediction made above (Figs. 6, 7).

#### 3.2.2 Correlation between St and Re

The correlation between St and Re was investigated and compared to some results found in the literature, which were both experimental and computational [23, 38,39,40,41,42]. The results of these simulations are presented in Fig. 9, and an example of a velocity profile of fully developed flow at Re = 250 is displayed in Fig. 10. The present results agree well with the others. A general trend of St increasing with higher Re can be observed. At lower Re, St increases faster, but the increase slows down at higher Re. In particular, the agreement is good between the present results and [38, 39] in the range \(55\left( =\hbox {Re}_{\mathrm{crit}}\right) \le {\mathrm{Re}} \le 100\). A function to fit the data was also calculated:

## 4 Conclusions

A brief overview of the LB collision models was presented, along with the benchmark model for 2D flow around a cylinder [9]. The presented LB collision models were applied to the benchmark, and were compared among one another. For the specific problem, no significant differences between the models were noticed, especially at higher grid resolutions, and all were able to reproduce the flow, as prescribed by the benchmark, as indicated by correctly computed \(L_a\) and St\(_{\mathrm{bm}}\). The computations of \(c_D\), \(c_L\), \(c_D^{\mathrm{max}}\), and \(c_L^{\mathrm{max}}\) set the models further apart (especially ELB). The poor performance of ELB in the benchmark is surprising. However, the method is said to have an edge over others, especially in high Re flows which exceed the range of the presented study [8]. ELB also does not require any parameter tuning, unlike MRT, which makes its use easier for the end user. Similarly, RLB also did not appear to have an edge over other methods, apart from great stability, but like ELB it involves no parameter tuning, and it is (in these authors’ humble opinion) even simpler to implement. Also surprising is poor stability of TRT at Re\(_{\mathrm{bm}} = 100\) that caused the need to use a different \(\varLambda\) in this case. The instability developed from the inlet boundary condition (data not shown), which suggests its poor compatibility with TRT. Among the collision models, there is no clear-cut winner in this application.

The flow around a confined cylinder was studied and compared to diverse data from the literature, mainly data for an unconfined cylinder. For the purpose of these computations, the MRT collision model was used. Re\(_{\mathrm{crit}}\) for the cylinder with the blockage ratio 0.125 was determined to be \(55.0\pm 0.5\), which agrees with the earlier prediction from the literature. The results from the laminar and transition vortex shedding modes agree well with the literature. A correlation for St in \(55 \le {\mathrm{Re}} \le 300\) was suggested.

## References

Succi S (2001) The lattice Boltzmann equation: for fluid dynamics and beyond. Numerical mathematics and scientific computation. Clarendon Press, Oxford

Bhatnagar PL, Gross EP, Krook M (1954) A model for collision processes in gases. I. Small amplitude processes in charged and neutral one-component systems. Phys Rev 94:511. https://doi.org/10.1103/PhysRev.94.511

Ginzburg I (2005) Equilibrium-type and link-type lattice Boltzmann models for generic advection and anisotropic-dispersion equation. Adv Water Resour 28(11):1171. https://doi.org/10.1016/j.advwatres.2005.03.004

D’Humières D (1992) Generalized lattice-Boltzmann equations, vol 159. AIAA, Washington, pp 450–458. https://doi.org/10.2514/5.9781600866319.0450.0458

Karlin IV, Ferrante A, Öttinger HC (1999) Perfect entropy functions of the lattice Boltzmann method. EPL (Europhys Lett) 47(2):182

Latt J, Chopard B (2006) Lattice Boltzmann method with regularized pre-collision distribution functions. Math Comput Simul 72(2):165

Luo LS, Liao W, Chen X, Peng Y, Zhang W (2011) Numerics of the lattice Boltzmann method: effects of collision models on the lattice Boltzmann simulations. Phys Rev E 83:056710. https://doi.org/10.1103/PhysRevE.83.056710

Karlin IV, Succi S, Chikatamarla SS (2011) Comment on “Numerics of the lattice Boltzmann method: effects of collision models on the lattice Boltzmann simulations”. Phys Rev E 84:068701. https://doi.org/10.1103/PhysRevE.84.068701

Schäfer M, Turek S, Durst F, Krause E, Rannacher R (1996) Benchmark computations of laminar flow around a cylinder. Vieweg+Teubner Verlag, Wiesbaden, pp 547–566. https://doi.org/10.1007/978-3-322-89849-4_39

Filippova O, Hänel D (1998) Grid refinement for lattice-BGK models. J Comput Phys 147(1):219. https://doi.org/10.1006/jcph.1998.6089

Filippova O, Hänel D (2000) Acceleration of lattice-BGK schemes with grid refinement. J Comput Phys 165(2):407. https://doi.org/10.1006/jcph.2000.6617

Chen DJ, Lin KH, Lin CA (2007) Immersed boundary method based lattice Boltzmann method to simulate 2D and 3D complex geometry flows. Int J Mod Phys C 18(04):585. https://doi.org/10.1142/S0129183107010826

Chang C, Liu CH, Lin CA (2009) Boundary conditions for lattice Boltzmann simulations with complex geometry flows. Comput Math Appl 58(5):940. https://doi.org/10.1016/j.camwa.2009.02.016

Mussa A, Asinari P, Luo LS (2009) Lattice Boltzmann simulations of 2D laminar flows past two tandem cylinders. J Comput Phys 228(4):983. https://doi.org/10.1016/j.jcp.2008.10.010

Yang CH, Chang C, Lin CA (2009) A direct forcing immersed boundary method based lattice Boltzmann method to simulate flows with complex geometry. Comput Mater Contin 11(3):209

Beigzadeh-Abbassi M, Taeibi-Rahni M, Beigzadeh-Abbassi M, Beigzadeh-Abbassi A (2012) A comparative study of three different bounce-back scheme based methods for a moving curved solid boundary implementation in the lattice Boltzmann method. J Am Sci 8(3):218

Yojina J, Ngamsaad W, Nuttavut N, Triampo D, Lenbury Y, Kanthang P, Sriyab S, Triampo W (2010) Investigating flow patterns in a channel with complex obstacles using the lattice Boltzmann method. J Mech Sci Technol 24(10):2025. https://doi.org/10.1007/s12206-010-0712-x

Regulski W, Szumbarski J (2012) Numerical simulation of confined flows past obstacles—the comparative study of lattice Boltzmann and spectral element methods. Arch Mech 64(01):423

Abas A, Gan ZL, Ishak MHH, Nasip NS, Fuat Khor S (2015) Lattice Boltzmann study of vortex street in pressurized underfill manufacturing process. J Ind Eng Res 1(10):30

Asano Y, Watanabe H, Noguchi H (2018) Polymer effects on Kármán vortex: molecular dynamics study. J Chem Phys 148(14):144901. https://doi.org/10.1063/1.5024010

Han Y, Cundall P (2017) Verification of two-dimensional LBM-DEM coupling approach and its application in modeling episodic sand production in borehole. Petroleum 3(2):179. https://doi.org/10.1016/j.petlm.2016.07.001

Parnaudeau P, Carlier J, Heitz D, Lamballais E (2008) Experimental and numerical studies of the flow over a circular cylinder at Reynolds number 3900. Phys Fluids 20(8):085101. https://doi.org/10.1063/1.2957018

Roshko A (1954) On the development of turbulent wakes from vortex streets. Technical report, California Institute of Technology, Pasadena

Ginzburg I, D’Humières D, Kuzmin A (2010) Optimal stability of advection-diffusion lattice Boltzmann models with two relaxation times for positive/negative equilibrium. J Stat Phys 139(6):1090. https://doi.org/10.1007/s10955-010-9969-9

Lallemand P, Luo LS (2000) Theory of the lattice Boltzmann method: dispersion, dissipation, isotropy, Galilean invariance, and stability. Phys Rev E 61:6546. https://doi.org/10.1103/PhysRevE.61.6546

Krueger T, Kusumaatmaja H, Kuzmin A, Shardt O, Silva G, Viggen E (2016) The lattice Boltzmann method: principles and practice. graduate texts in physics. Springer, Berlin

Ansumali S, Karlin IV (2002) Entropy function approach to the lattice Boltzmann method. J Stat Phys 107:291

Coreixas C, Wissocq G, Puigt G, Boussuge JF, Sagaut P (2017) Recursive regularization step for high-order lattice Boltzmann methods. Phys Rev E 96:033306. https://doi.org/10.1103/PhysRevE.96.033306

Mattila KK, Philippi PC, Hegele LA (2017) High-order regularization in lattice-Boltzmann equations. Phys Fluids 29(4):046103. https://doi.org/10.1063/1.4981227

Ginzburg I, d’Humières D (2003) Multireflection boundary conditions for lattice Boltzmann models. Phys Rev E 68:066614. https://doi.org/10.1103/PhysRevE.68.066614

Fattahi E, Waluga C, Wohlmuth BI, Rüde U, Manhart M, Helmig R (2015) Pore-scale lattice Boltzmann simulation of laminar and turbulent flow through a sphere pack, CoRR arxiv:abs/1508.02960

Ginzburg I, Verhaeghe F, Humieres Dd (2008) Two-relaxation-time lattice Boltzmann scheme: about parametrization, velocity, pressure and mixed boundary conditions. Commun Comput Phys 3(2):427

Zou Q, He X (1997) On pressure and velocity boundary conditions for the lattice Boltzmann BGK model. Phys Fluids 9(6):1591. https://doi.org/10.1063/1.869307

Zhao-Li G, Chu-Guang Z, Bao-Chang S (2002) Non-equilibrium extrapolation method for velocity and pressure boundary conditions in the lattice Boltzmann method. Chin Phys 11(4):366. https://doi.org/10.1088/1009-1963/11/4/310

Singha S, Sinhamahapatra KP (2010) Flow past a circular cylinder between parallel walls at low Reynolds numbers. Ocean Eng 37(8–9):757. https://doi.org/10.1016/j.oceaneng.2010.02.012

Chen JH, Pritchard WG, Tavener SJ (1995) Bifurcation for flow past a cylinder between parallel planes. J Fluid Mech 284:23. https://doi.org/10.1017/S0022112095000255

Sahin M, Owens RG (2004) A numerical investigation of wall effects up to high blockage ratios on two- dimensional flow past a confined circular cylinder. Phys Fluids 16(5):1305. https://doi.org/10.1063/1.1668285

Tritton DJ (1959) Experiments on the flow past a circular cylinder at low Reynolds numbers. J Fluid Mech 6(06):547

Norberg C (1994) An experimental investigation of the flow around a circular cylinder: influence of aspect ratio. J Fluid Mech 258(April):287. https://doi.org/10.1017/S0022112094003332

Zhang Hq, Fey U, Noack BR, König M, Eckelmann H (1995) On the transition of the cylinder wake. Phys Fluids 7(4):779. https://doi.org/10.1063/1.868601

Behara S, Mittal S (2010) Wake transition in flow past a circular cylinder. Phys Fluids 22(11):114104. https://doi.org/10.1063/1.3500692

Mittal S, Raghuvanshi A (2001) Control of vortex shedding behind circular cylinder for flows at low Reynolds numbers. Int J Numer Methods Fluids 35(4):421. https://doi.org/10.1002/1097-0363(20010228)35:4<421::AID-FLD100>3.0.CO;2-M

## Acknowledgements

The financial support of the Slovenian Research Agency through Ph.D. Grant MR-39080 (FS), Grant P2-0191, and projects J7-1816, and N2-0067 is acknowledged. The support through the H2020 project COMPETE (Grant No. 811040) is also acknowledged.

## Author information

### Authors and Affiliations

### Corresponding author

## Ethics declarations

### Conflict of interest

The authors declare that they have no conflict of interest.

## Additional information

Technical Editor: Edson José Soares, Ph.D.

### Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

## Rights and permissions

**Open Access** This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

## About this article

### Cite this article

Strniša, F., Urbic, T. & Plazl, I. A lattice Boltzmann study of 2D steady and unsteady flows around a confined cylinder.
*J Braz. Soc. Mech. Sci. Eng.* **42**, 103 (2020). https://doi.org/10.1007/s40430-020-2176-y

Received:

Accepted:

Published:

DOI: https://doi.org/10.1007/s40430-020-2176-y

### Keywords

- Lattice Boltzmann model
- Collision models
- Flow around cylinder
- Strouhal number
- Von Kármán vortex street
- 2D flow