1 Introduction

Equations governing incompressible fluid flows correspond to the low Mach number limit of compressible flow equations. However, the incompressible flow solvers are significantly different from the compressible flow solvers, due to the nature of pressure in the low Mach number limit, difference in mathematical representation (with compressible solvers focusing mainly on hyperbolicity) and the changing nature of the equation of state. The equations governing the incompressible flow are the Navier–Stokes (NS) equations given by

$$\begin{aligned} \nabla \cdot \mathbf {u}&= 0,\end{aligned}$$
(1a)
$$\begin{aligned} \frac{\partial \mathbf {u}}{\partial t} + \left( \mathbf {u}\cdot \nabla \right) \mathbf {u}&= -\nabla p +\nu \Delta \mathbf {u}, \end{aligned}$$
(1b)

where \(\mathbf {u}\) is the velocity of the flow, p denotes the pressure and \(\nu\) is the kinematic viscosity of the fluid. Clearly, the above is an underdetermined system. The exact solution to the NS equations is still an open problem.

The solutions of flows governed by (1) need to be obtained by the techniques of computational fluid dynamics (CFD). Since there is no separate evolution equation for pressure, the numerical methods focus mainly on obtaining or eliminating the pressure. Several techniques have been introduced over the decades, including vorticity-stream function approach (pressure elimination method), pressure based methods (pressure Poisson equation based method), pressure correction methods (Marker and Cell (MAC) method [1], SIMPLE family, projection methods [2, 3] or fractional step methods), artificial compressibility method and a few more. For a detailed review of these methods, the reader is referred to the standard books including [4, 5, 6].

There are also the methods that take an altogether different approach to obtain the solutions of incompressible flow, e.g., lattice Boltzmann method (LBM) [7] and kinetically reduced local Navier–Stokes (KRLNS) equation [8] approach. These methods are described at the kinetic level and tend towards the incompressible flow (Eq. (1)) in the hydrodynamic limit. In the traditional lattice Boltzmann method, the Gaussian equilibrium distribution functions (used to get compressible flow equations in the hydrodynamic limit) are truncated to low Mach numbers, restricting the method to the incompressible flow applications. The relation between density and pressure is defined by an artificial equation of state. In KRLNS approach, the equations are rewritten in terms of velocity and grand potential, describing the thermodynamics of the fluid flow at low Mach numbers. Based on the framework of relaxation schemes which solve the hyperbolic conservation laws [9] and their connection to the discrete velocity Boltzmann system [10], a lattice Boltzmann relaxation scheme is introduced recently for solving compressible fluid flows [11, 12]. In the present work, introducing a similar framework, a new lattice Boltzmann relaxation scheme (LBRS) is presented for incompressible flow simulations. First an artificial compressibility formulation is used to get a hyperbolic system of inviscid incompressible flow equations. Later a discrete velocity formulation for the vector conservation laws is used to get a new lattice Boltzmann method for inviscid incompressible flow equations. Its further extension to viscous flows is based on Chapman–Enskog type expansion.

1.1 Artificial compressibility method (ACM)

In 1967, Chorin [13] proposed an artificial compressibility method, consisting of a modified continuity equation. Since pressure is the only undetermined variable in (1), a time derivative of pressure (through a time derivative of density), based on an artificial equation of state \(p = \rho c^2_s\), is added to the divergence free constraint (1a). Hence, the modified system of equations is given as

$$\begin{aligned} \frac{\partial \rho }{\partial t} + \nabla \cdot \mathbf {u}&= 0, \end{aligned}$$
(2a)
$$\begin{aligned} \frac{\partial \mathbf {u}}{\partial t} + \left( \mathbf {u}\cdot \nabla \right) \mathbf {u}&= -\nabla p +\nu \Delta \mathbf {u}. \end{aligned}$$
(2b)

Here \(c_s^2\) is connected with the artificial compressibility parameter, with \(c_s\) being the artificial speed of sound. With this modification, the original incompressible flow system gets converted to a system of hyperbolic-parabolic equations. In other words, an artificial wave propagation model is introduced in the system with a finite speed for the distribution of pressure pulses, contrary to the infinite speed inherent in the case of incompressible flow. The speed of these waves depends on the choice of the square of the artificial speed of sound, \(c^2_s\). From the introduced artificial equation of state, it is clear that for a quick recovery of divergence free property of the flow, the value of \(c^2_s\) must be as high as possible. This upper limit of the parameter is dependent entirely on the algorithm used to simulate the flow.

For an inviscid 1-D incompressible flow, the ACM formulation is given as

$$\begin{aligned}&\frac{\partial p}{\partial t} + c^2_s\frac{\partial u}{\partial x} = 0,\end{aligned}$$
(3a)
$$\begin{aligned}&\frac{\partial u}{\partial t} + \frac{\partial (u^2+p)}{\partial x} = 0, \end{aligned}$$
(3b)

which, in vector form, can be rewritten as

$$\begin{aligned} \frac{\partial U}{\partial t} + \frac{\partial F}{\partial x}=0 \end{aligned}$$

where

$$\begin{aligned} U = \left[ \begin{array}{c} p \\ u \end{array} \right] \ \text {and} \ F = \left[ \begin{array}{c} c_{s}^{2} u \\ u^{2} + p \end{array} \right] . \end{aligned}$$

Flux Jacobian matrix A for the above system is

$$\begin{aligned} A=\frac{\partial F}{\partial U} = \left[ \begin{array}{lc} 0\quad c_s^2\\ 1 \quad 2u \\ \end{array}\right] \end{aligned}$$

The corresponding eigenvalues of the system are \(\lambda = u \pm \sqrt{u^2+c^2_s}\). Defining the pseudo speed of sound, a, as \(a = \sqrt{u^2 + c^2_s}\), the eigenvalues \(\lambda = u \pm a\) are real and distinct, thus producing a strictly hyperbolic system as in the compressible case. The corresponding artificial Mach number of the flow is given as \(M=\frac{u}{a}=\frac{u}{\sqrt{u^2 + c^2_s}}<1\). Thus, we are assured that the introduced hyperbolic system will not produce any discontinuous solutions (shock waves), as the flow will always remain subsonic in nature.

For steady flow, the above system needs no modification, as the system is equivalent to the incompressible system of equations when the unsteady term in the continuity equation vanishes. When the time accurate solution is sought, the above system is modified by introducing a dual time-stepping approach [5, 6]. For the solution to converge, the artificial waves introduced should travel the whole domain at least once so that pressure field is well distributed. This implies that the time at which the artificial wave is travelling should be less compared to physical time. Hence, for a time accurate solution of the incompressible flow, the algorithm is designed in such a way that pressure field attains steady state in every iteration. A pseudo-time (\(\tau\)) derivative is introduced for the momentum equation, similar to the temporal derivative of pressure.

$$\begin{aligned}&\frac{\partial p}{\partial \tau } + c^2_s\frac{\partial u}{\partial x} = 0,\end{aligned}$$
(4a)
$$\begin{aligned}&\frac{\partial u}{\partial \tau } + \frac{\partial u}{\partial t} + \frac{\partial (u^2+p)}{\partial x} = 0, \end{aligned}$$
(4b)

First, the system is iterated in pseudo time \(\tau\) till the divergence-free flow field is numerically driven to zero, which refers to the inner loop. Then, the time-marching is done in real time t, which constitutes the outer loop. For unsteady flows or low-Reynolds-number flows, the stability of dual time stepping approach and the choice of \(c^2_s\) become restrictive, leading to slow convergence rates [14].

There are significant similarities between ACM and LBM, as noted by Ohwada et al. [15]. They note that LBM can be regarded as a mesoscopic version of ACM in the sense that the asymptotic expansion of LBM leads to artificial compressibility (Eq. (2a)). Asinari et al. [16] introduced a scheme which combines the artificial compressibility method with the lattice Boltzmann method, called link-wise ACM (LW-ACM). In this work, we introduce a different lattice Boltzmann relaxation scheme, linking ACM with a relaxation system and then to a discrete velocity Boltzmann system.

2 Lattice Boltzmann relaxation scheme (LBRS) for 1-D incompressible inviscid flow

2.1 1-D ACM framework

We first formulate the ACM framework for the governing equations of 1-D inviscid incompressible flows. The governing equations in the artificial compressibility formulation, as mentioned previously in (3), are

$$\begin{aligned} \frac{\partial p}{\partial t} + c_s^2 \frac{\partial u}{\partial x}=0, \nonumber \\ \frac{\partial u}{\partial t} + \frac{\partial \left( u^2+p\right) }{\partial x} = 0. \end{aligned}$$
(5)

In vector form, the above hyperbolic system can be rewritten as

$$\begin{aligned} \frac{\partial U}{\partial t} + \frac{\partial F}{\partial x} = 0. \end{aligned}$$
(6)

As mentioned earlier, the eigenvalues of the Jacobian \(A=\frac{\partial F}{\partial U}\) are \(\lambda = u\pm \sqrt{u^2+c_s^2}\) which are real and distinct.

2.2 1-D relaxation system for ACM

We now introduce a relaxation system for the 1-D ACM, as in Jin and Xin [9]. Introducing a new variable V which replaces the nonlinear flux vector F in the first equation and then introducing its relaxation equation, the governing Eq. (6) in relaxation form is given by

$$\begin{aligned} \frac{\partial U}{\partial t} + \frac{\partial V}{\partial x}&= 0,\\ \frac{\partial V}{\partial t} + \Lambda ^\prime \frac{\partial U}{\partial x}&= -\frac{1}{\epsilon }\left[ V-F\right] , \end{aligned}$$

where

$$\begin{aligned} \Lambda ^\prime = \left[ \begin{array}{c} \lambda _1^2\\ 0\\ \end{array} \begin{array}{c} 0\\ \lambda _2^2\\ \end{array} \right] . \end{aligned}$$

It can be rewritten as

$$\begin{aligned} \frac{\partial Q}{\partial t} + D \frac{\partial Q}{\partial x} = H, \end{aligned}$$
(7)

where the vectors Q, H and the matrix D are written as

$$\begin{aligned} Q = \left[ \begin{array}{c} p\\ u \\ V_1\\ V_2\\ \end{array} \right] \text {,} \quad D = \left[ \begin{array}{cccc} 0 &{} 0 &{} 1 &{} 0 \\ 0 &{} 0 &{} 0 &{} 1 \\ \lambda _1^{2} &{} 0 &{} 0 &{} 0\\ 0 &{} \lambda _2^{2} &{} 0 &{} 0\\ \end{array} \right] \text {and} \quad H = \left[ \begin{array}{c} 0 \\ 0\\ -\frac{1}{\epsilon }\left[ V_1-F_1\right] \\ -\frac{1}{\epsilon }\left[ V_2-F_2\right] \\ \end{array} \right] . \end{aligned}$$

In the above expressions, \(\epsilon\) is the relaxation parameter \((\epsilon \in {\mathbb {R}}^+\), \(\epsilon<<1)\). In the limit \(\epsilon \rightarrow 0\), the newly introduced variables in the system (7) relax to their equilibrium values (\(\{ V_1,V_2 \}=\{ F_1,F_2 \}\)), thus recovering the original system of governing Eq. (6).

The eigenvalues of the matrix D are \(\left\{ \pm \lambda _1,\ \pm \lambda _2\right\}\). Since all the eigenvalues are real and distinct, the system (7) can be converted to its corresponding diagonal form. Let \(D = R^{-1}\Lambda R\), where the matrix \(\Lambda\) is given as

$$\begin{aligned} \Lambda = \left[ \begin{array}{cccc} -\lambda _1 &{}\quad 0 &{}\quad 0 &{}\quad 0\\ 0 &{}\quad \lambda _1 &{} \quad 0 &{} \quad 0\\ 0 &{} \quad 0 &{} \quad -\lambda _2 &{} \quad 0\\ 0 &{}\quad 0 &{}\quad 0 &{}\quad \lambda _2 \\ \end{array} \right] . \end{aligned}$$

In order to decouple the relaxation system, we introduce characteristic variables, defined by \({\textbf {f}} = R^{-1}Q\), or \(Q = R{\textbf {f}}\). We then rewrite the relaxation system (7) in terms of the characteristic variables by multiplying it by \(R^{-1}\). Thus, we obtain the diagonal form of the relaxation system as

$$\begin{aligned} \frac{\partial {\textbf {f}}}{\partial t} + \Lambda \frac{\partial {\textbf {f}}}{\partial x} = R^{-1}H. \end{aligned}$$
(8)

Using the definition \({\textbf {f}} = R^{-1}Q\), we obtain

$$\begin{aligned} {\textbf {f}} = \left[ \begin{array}{c} f_{1} \\ f_{2} \\ f_{3} \\ f_{4} \end{array} \right] = R^{-1}Q = \left[ \begin{array}{c} \left( \frac{U_1}{2} - \frac{V_1}{2\lambda _1}\right) \\ \left( \frac{U_1}{2} + \frac{V_1}{2\lambda _1}\right) \\ \left( \frac{U_2}{2} - \frac{V_2}{2\lambda _2}\right) \\ \left( \frac{U_2}{2} + \frac{V_2}{2\lambda _2}\right) \\ \end{array}\right] . \end{aligned}$$
(9)

2.3 Diagonal form as discrete velocity Boltzmann equation

The resulting relaxation system (8) can now be interpreted as a discrete velocity Boltzmann equation, as done by Natalini in [10]. We define new variables \({\textbf {f}}^{eq} = \{ {\textbf {f}}\ |\ \epsilon \rightarrow 0\}\). Using this, the decoupled relaxation system (8) can be rewritten as

$$\begin{aligned} \frac{\partial {\textbf {f}}}{\partial t} + \Lambda \frac{\partial {\textbf {f}}}{\partial x} = - \frac{1}{\epsilon } \left[ {\textbf {f}} - {\textbf {f}}^{eq}\right] \end{aligned}$$
(10)

where

$$\begin{aligned} {\textbf {f}} = \left[ \begin{array}{c} \left( \frac{U_1}{2} - \frac{V_1}{2\lambda _1}\right) \\ \left( \frac{U_1}{2} + \frac{V_1}{2\lambda _1}\right) \\ \left( \frac{U_2}{2} - \frac{V_2}{2\lambda _2}\right) \\ \left( \frac{U_2}{2} + \frac{V_2}{2\lambda _2}\right) \\ \end{array}\right] , {\textbf {f}}^{eq} = \left[ \begin{array}{c} \left( \frac{U_1}{2} - \frac{F_1}{2\lambda _1}\right) \\ \left( \frac{U_1}{2} + \frac{F_1}{2\lambda _1}\right) \\ \left( \frac{U_2}{2} - \frac{F_2}{2\lambda _2}\right) \\ \left( \frac{U_2}{2} + \frac{F_2}{2\lambda _2}\right) \\ \end{array}\right] \end{aligned}$$
(11)

The flow variables can be recovered using the following moment relations.

$$\begin{aligned} U_1=\sum \limits _{i=1}^2 f_i = \sum \limits _{i=1}^2 f^{eq}_i,\quad U_2=\sum \limits _{i=3}^4 f_i = \sum \limits _{i=3}^4 f^{eq}_i \end{aligned}$$

Assuming the initial condition for (6) as \(U(x,t=0) = U_0(x)\), the initial condition for (10) is given as \({\textbf {f}}(x,t=0) = {\textbf {f}}^{eq}(U_0(x))\), where \({\textbf {f}}^{eq}\) is defined in (11). The relaxation system in the form (10) is very similar to the classical Boltzmann equation, except for having a discrete set of velocities (instead of continuous molecular velocity), namely \(\{\pm \lambda _{\{ 1,2 \}}\}\) (for 1-D system).

The generalized version of the moments for the relaxation system (10) can be summed up by the following expression for the dependent variables as

$$\begin{aligned} U = \sum \limits _{k=1}^n {\textbf {f}}^k = \sum \limits _{k=1}^n {\textbf {f}}^{k,eq},\quad F = \sum \limits _{k=1}^n \lambda _k{\textbf {f}}^{k,eq}, \end{aligned}$$
(12)

where \(\quad U = \left[ U_{1}, U_{2}, \cdots , U_{m} \right] ^T\quad\) and \(\quad {\textbf {f}}^{k,eq} = \left[ {f}^{k,eq}_{1}, {f}^{k,eq}_{2}, \cdots , {f}^{k,eq}_{m} \right] ^T\).

The value k represents the number of discrete velocities considered for computations. Clearly, for \(k=4\), the discrete velocities of the system are \(\lambda _{1,3} = - \lambda _{\{1,2\}}\) and \(\lambda _{2,4} = \lambda _{\{ 1,2 \}}\).

2.4 Sub-characteristic condition

It remains to assign acceptable values for the discrete velocities \(\lambda _\alpha ,\forall \alpha \in \lbrace 1,\cdots , n\rbrace\). We can rewrite the second part of the system (7) as follows.

$$\begin{aligned} V = F-\epsilon \left( \frac{\partial V}{\partial t} + \Lambda ^{'}\frac{\partial U}{\partial x}\right) \end{aligned}$$
(13)
$$\begin{aligned} \text {or}\quad V=F+O\left( \epsilon \right) . \end{aligned}$$
(14)

Let us utilize both these equations in the above relaxation system independently. Using the above information, we derive an expression for \(\partial _t V_{\{1,2\}}\). Substituting the expression in (13), we obtain \(V_{\{1,2\}}\) in terms of \(U_{\{1,2\}}\). Further, substituting the expression for V in \(\frac{\partial V}{\partial x}\) in (7), we get

$$\begin{aligned} \frac{\partial U}{\partial t} + \frac{\partial F}{\partial x} = \epsilon \frac{\partial }{\partial x}\left[ \left( \Lambda ^{'}-A^2 \right) \frac{\partial U}{\partial x}\right] . \end{aligned}$$
(15)

The term in the RHS of the above expression represents the diffusion or the viscous term. Thus, it is clear that the relaxation system (7) provides a vanishing viscosity model to the original equation (6). Clearly, for the model to be stable, the coefficient of diffusion must be non-negative. Analysing the coefficient of diffusion component-wise, we get

$$\begin{aligned} \lambda _i^2 \ge (\text {Eigenvalues of }A)^2 = (u\pm \sqrt{u^2+c_s^2})^2. \end{aligned}$$
(16)

In other words, we obtain

$$\begin{aligned} -{\lambda _i} \le u\pm \sqrt{u^2+c_s^2} \le \lambda _{i}. \end{aligned}$$
(17)

The condition (17) is called as the sub-characteristic condition for the relaxation system (7). In general, \(\lambda\) is chosen as \(\lambda = \mathrm {max} \left( u\pm \sqrt{u^2+c_s^2} \right) {\rm in \ the \ domain.}\)

2.5 Lattice Boltzmann relaxation scheme (LBRS-ACM)

The motivation of the framework for lattice Boltzmann relaxation scheme (LBRS) is taken from traditional Lattice Boltzmann Method (LBM). Hence, the solution methodology is obtained using operator splitting. Thus, the solution consists of two steps: 1) streaming step and 2) collision step.

  • Collision step

    $$\begin{aligned} {\textbf {f}}_i^{\prime \prime }\left( x, t\right) = (1-\omega ){\textbf {f}}_i \left( x,t \right) + \omega {\textbf {f}}_i^{eq} \left( x,t \right) \end{aligned}$$
  • Streaming step

    $$\begin{aligned} {\textbf {f}}_i\left( x+\lambda _i \nabla t, t+\nabla t\right) = {\textbf {f}}_i^{\prime \prime } \left( x,t \right) \end{aligned}$$

Both these steps together will constitute for one time-step in the time evolution of the distribution functions \(\mathbf{f}_{\mathbf{i}}\). The essential advantage of the lattice Boltzmann formulation is the exact nature of streaming in which truncation error is zero, unlike in the traditional CFD methods. Thus, the particles hop exactly to the neighbouring lattice points in the streaming step. Combined with the collision step in the operator splitting procedure, this simple lattice Boltzmann strategy typically yields near second order accuracy, unlike in the traditional CFD methods which require additional procedures to increase the accuracy. Further, the simplicity of the two step algorithm is convenient for programming and is easily amenable to parallelization.

2.6 Multiple scale Chapman–Enskog expansion

The LBRS framework consists of three different phenomena associated with three different time scales [17]. Let us consider a small number \(\zeta\). Then, the three phenomena can be described as: (i) relaxation towards equilibrium—associated relaxation time scale \(\left( \zeta ^0\right)\), (ii) convection of the waves, which is slower than the relaxation time scale—associated convection time scale \(\left( \zeta ^{-1}\right)\) and (iii) diffusion of the waves, which is slower than the convection waves—associated diffusive time scale \(\left( \zeta ^{-2}\right)\). Based on this, we denote the three time variables corresponding to the three phenomena, as \(t_0\), \(t_1\) and, \(t_2\). Relaxation, convection and diffusion spatially occur in similar manner; hence, it can be described with just one spatial scale \(x_1\). Hence, we can expand the temporal and spatial derivatives as \(\partial _t \rightarrow \zeta \partial _{t_1} + \zeta ^2\partial _{t_2}, \ \ \partial _x \rightarrow \zeta \partial _{x_1}.\) Consider an expansion for the distribution function \(\mathbf {f}_\alpha\) w.r.t. small perturbations in equilibrium distribution function.

$$\begin{aligned} \mathbf {f}_\alpha = \mathbf {f}_\alpha ^{(0)} + \zeta \mathbf {f}_\alpha ^{(1)} + \zeta ^2 \mathbf {f}_\alpha ^{(2)} + {O}(\zeta ^3) \end{aligned}$$
(18)

From (12), we can say that \(\mathbf{f}_{\alpha }\) and the equilibrium distribution functions \(\mathbf {f}^{(0)}_\alpha = \mathbf {f}^{eq}_{\alpha }\), must have the same zeroth- and first-order moment. Therefore,

$$\begin{aligned} \sum _{\alpha } {\textbf {f}}_{\alpha } = \sum _{\alpha } {\textbf {f}}^{(0)}_{\alpha } = U, \ \ \sum _{\alpha } \lambda _{\alpha } {\textbf {f}}_{\alpha } = \sum _{\alpha } \lambda _{\alpha } {\textbf {f}}^{(0)}_{\alpha } = F. \end{aligned}$$
(19)

Substituting (18) in the above moment relations, we get \(\sum \limits _\alpha \mathbf {f}_{\alpha }^{(1)} = 0, \sum \limits _\alpha \lambda _\alpha \mathbf {f}_{\alpha }^{(1)} = 0\) and \(\sum \limits _\alpha \mathbf {f}_{\alpha }^{(2)} = 0, \sum \limits _\alpha \lambda _\alpha \mathbf {f}_{\alpha }^{(2)} = 0.\) Consider the Taylor series expansion for \(\mathbf {f}_\alpha\).

$$\begin{aligned}& \mathbf{f}_{\alpha} \left( x+\lambda _{\alpha } \Delta t, t+\Delta t\right) = \mathbf {f}_{\alpha }\left( x,t \right) + \Delta t\dfrac{\partial \mathbf {f}_\alpha }{\partial t} + \Delta t \lambda _\alpha \dfrac{\partial \mathbf {f}_\alpha }{\partial x}\\ &{} \quad + \dfrac{\left( \Delta t\right) ^2}{2}\left[ \dfrac{\partial ^2 \mathbf {f}_\alpha }{\partial t^2} + 2\lambda _\alpha \dfrac{\partial ^2 \mathbf {f}_\alpha }{\partial t \partial x} + \lambda _{\alpha }^2 \dfrac{\partial ^2 \mathbf {f}_\alpha }{\partial x^2}\right] + {O}\left( \Delta t^3\right) . \end{aligned}$$

We substitute the above expansion in the LBRS framework, then substitute the multiscaling of time t and space x, and the expansion of \(\mathbf {f}_\alpha\), (18). Collecting terms of order \({O}(\zeta )\) from the resulting expression, we get

$$\begin{aligned} \underbrace{\Delta t\left( \frac{\partial \mathbf {f}_{\alpha }^{(0)}}{\partial t_1}+\lambda _\alpha \frac{\partial \mathbf {f}_{\alpha }^{(0)}}{\partial x_1}\right) +\omega \mathbf {f}_{\alpha }^{(1)}}_{=\mathsf {E}_{\alpha }^{(1)}} = 0. \end{aligned}$$
(20)

Similarly, collecting terms of order \({O}(\zeta ^2)\), we get

$$\begin{aligned} \underbrace{\begin{array}{l}\Delta t\left( \frac{\partial \mathbf {f}_{\alpha }^{(1)}}{\partial t_1}+\frac{\partial \mathbf {f}_{\alpha }^{(0)}}{\partial t_2}+\lambda _\alpha \frac{\partial \mathbf {f}_{\alpha }^{(1)}}{\partial x_1}\right) + \frac{\left( \Delta t\right) ^2}{2}\left( \frac{\partial ^2 \mathbf {f}_{\alpha }^{(0)}}{\partial t_1^2} + 2\lambda _\alpha \frac{\partial ^2 \mathbf {f}_{\alpha }^{(0)}}{\partial t_1 \partial x_1} + \lambda _{\alpha }^2 \frac{\partial ^2 \mathbf {f}_{\alpha }^{(0)}}{\partial x_1^2}\right) +\omega \mathbf {f}_{\alpha }^{(2)}\end{array}}_{=\, \mathsf{E}_{\alpha }^{(2)}}=0. \end{aligned}$$
(21)

Hence, we have \(\quad \zeta \mathsf {E}_{\alpha }^{(1)}+\zeta ^2 \mathsf {E}_{\alpha }^{(2)}+ {O}(\zeta ^3)=\text {0}\). Using previous information of moments and summing the expression of \(\mathsf {E}_{\alpha }^{(1)}\) over \(\alpha\), we get

$$\begin{aligned} \sum _{\alpha } \mathsf {E}^{(1)}_{\alpha } = 0,\quad \text {or,}\ \ \frac{\partial }{\partial t_1}\left( U\right) + \frac{\partial }{\partial x_1}\left( F\right) = 0. \end{aligned}$$
(22)

Hence, from expression corresponding to \({O}(\zeta )\), we recover the 1D inviscid incompressible flow equations. We similarly analyse the term \(\mathsf {E}_{\alpha }^{(2)}\). Since we have recovered the dynamics corresponding to the convection time scale \(t_1\), we wish to analyse only the diffusive scaling of the equation. Hence, we ignore the convection scaling of time, i.e., \(t_1\). Thus the equation for \(\mathsf {E}_{\alpha }^{(2)}\), (21), can be rewritten as,

$$\begin{aligned} \mathsf {E}_{\alpha }^{(2)}=\Delta t\left( \frac{\partial \mathbf {f}_{\alpha }^{(0)}}{\partial t_2}+\lambda _\alpha \frac{\partial \mathbf {f}_{\alpha }^{(1)}}{\partial x_1}\right) + \frac{\left( \Delta t\right) ^2}{2}\left( \lambda _{\alpha }^2 \frac{\partial ^2 \mathbf {f}_{\alpha }^{(0)}}{\partial x_1^2}\right) +\omega \mathbf {f}_{\alpha }^{(2)} = 0. \end{aligned}$$

Using (20), the second term of in the above equation can be rewritten as

$$\begin{aligned} \mathbf {f}_{\alpha }^{(1)} = -\frac{\Delta t}{\omega }\left( \frac{\partial \mathbf {f}_{\alpha }^{(0)}}{\partial t_1}+\lambda _\alpha \frac{\partial \mathbf {f}_{\alpha }^{(0)}}{\partial x_1}\right) . \end{aligned}$$

After few algebraic steps the sum of \(\mathsf {E}_{\alpha }^{(2)}\) is given as

$$\begin{aligned}&\Delta t\frac{\partial }{\partial t_2}\left( \sum \limits _\alpha \mathbf {f}_{\alpha }^{(0)}\right) + \left( \Delta t\right) ^2\left( \frac{1}{2}-\frac{1}{\omega }\right) \left[ \frac{\partial ^2 }{\partial x_1^2}\left( \sum \limits _\alpha \lambda _{\alpha }^2 \mathbf {f}_{\alpha }^{(0)}\right) \right] \nonumber \\&\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad +\omega \sum \limits _\alpha \mathbf {f}_{\alpha }^{(2)} = 0, \nonumber \\&\qquad\Longrightarrow \quad \Delta t\frac{\partial U}{\partial t_2} = \left( \Delta t\right) ^2\left( \frac{1}{\omega }-\frac{1}{2}\right) \left[ \frac{\partial ^2 }{\partial x_1^2}\left( \sum \limits _\alpha \lambda _{\alpha }^2 \mathbf {f}_{\alpha }^{(0)}\right) \right] . \end{aligned}$$
(23)

Adding (22) and (23), and using the definitions for \(t_0, t_1, t_2,\) and \(x_1\), we get the additional diffusion term to the original system of conservation laws on RHS as

$$\begin{aligned} \frac{\partial U}{\partial t} + \frac{\partial F}{\partial x} = \Delta t \left( \frac{1}{\omega }-\frac{1}{2}\right) \left[ \lambda _i^2\frac{\partial ^2 U_i}{\partial x^2} \right] . \end{aligned}$$
(24)

For this numerical framework to be stable, the coefficient of diffusion must be positive, which gives us

$$\begin{aligned} \Delta t \left( \frac{1}{\omega }-\frac{1}{2}\right) \lambda _i^2 > 0 \quad \Rightarrow \quad 0<\omega <2. \end{aligned}$$

2.7 Stability analysis for LBRS

A general DdQn model in the LBRS framework (after combining the streaming step and collision step) can be written as

$$\begin{aligned} {\textbf {f}}_\alpha (x_i,t+\Delta t) = (1-\omega ){\textbf {f}}_\alpha (x_i -\lambda _{\alpha } \Delta t,t) + \omega {\textbf {f}}_{\alpha }^{eq}({x}_i-{\lambda }_\alpha \Delta t,t),\quad \alpha \in \{1,\dots , n\}, \end{aligned}$$
(25)

where \(\lambda _\alpha\) represent the discrete velocities. For the case of \(d=1,n=2\) we have \(\alpha \in \{1,2\},\ \lambda _\alpha = \pm \lambda\). The initial condition, same as the initial equilibrium function \(\mathbf {f}^{eq}_{\alpha }(x_i,0)\), is given as

$$\begin{aligned} {\textbf {f}}_\alpha (x_i,0) = {\textbf {f}}_{\alpha }^{eq}(x_i,0) = \frac{U(x_i,0)}{2} + \frac{F(U(x_i,0))}{2\lambda _\alpha } = \frac{U_0(x_i)}{2} + \frac{F(U_0(x_i))}{2\lambda _\alpha }. \end{aligned}$$
(26)

Hence, the initial value problem for the governing equations is given by equations (25) and (26). It can be shown that for the case \(d=1,n=2\) the LBRS framework enjoys TV-, \(l _\infty-\) and \(l _1-\) stability [18]. This can be extended to the general model DdQn with a similar analysis. Let us consider the following assumptions on the initial condition and the flux function of the governing equations.

  1. (i)

    \(U_{j,0}(x)\ \in \ \mathbf {BV}({\mathbb {R}})\cap {\mathbf {L}}^1({\mathbb {R}})\), where \(j\in {1,2}\)

    • \(\Rightarrow \Vert U_j,0\Vert _{\mathbf {BV}}\le \beta _1/2\) (some constant),

    • \(\Rightarrow \mathbf {TV}(U_0) = \sum \limits _i |U_{j,0,(i+1)}-U_{j,0,(i)}|\le \beta _1/2\).

  2. (ii)

    \(\max \limits _{|\xi |\le \Vert U_{j,0}\Vert _{\infty }}\left( \xi \pm \sqrt{\xi ^2+c_s^2}\right) ^2 \le \lambda _j^2\), with \(\xi\) representing the eigenvalues of the flux Jacobian matrix. This condition is satisfied by the sub-characteristic condition (17).

    • Since \(U_{j,0} \in \mathbf {BV}({\mathbb {R}})\), the above can be generalized as \(\sup \limits _{|\xi |< \beta }\left( \xi \pm \sqrt{\xi ^2+c_s^2}\right) ^2 \le \lambda _j^2\), where \(\beta > \beta _1\ge \Vert U_{j,0}\Vert _{\mathbf {BV}}\).

    • Since \(U_{j,0}\ \in \ \mathbf {BV}({\mathbb {R}})\cap {\mathbf {L}}^1({\mathbb {R}})\), we can conclude that \(U_{j,0}(-\infty )=0\), or,

      $$\begin{aligned} |\xi | = |U_{j,0}(x)|\le \Vert U_0\Vert _{\mathbf {BV}} + U_{j,0}(-\infty ) \le \beta _1<\beta . \end{aligned}$$
  3. (iii)

    \(F_j(0) = 0\)

  4. (iv)

    \(\omega \le 1\)

The total variation for n functions is defined as

$$\begin{aligned} \mathbf {TV}(\eta _1, \ldots , \eta _n):=\sum \limits _i \sum \limits _{\alpha =1}^{n}| \eta _{\alpha ,i+1}-\eta _{\alpha ,i}|. \end{aligned}$$
(27)

Hence, for \(\mathbf{f}_1^0\) and \(\mathbf{f}_2^0\), the \(\mathbf {TV}\) bound can be calculated as follows

$$\begin{aligned} \mathbf {TV}(f_1^0,f_2^0)= & {} \sum \limits _i \left( |\mathbf{f}^0_{1,i+1}-\mathbf{f}^0_{1,i}| + |\mathbf{f}^0_{2,i+1}-\mathbf{f}^0_{2,i}| \right) \\\le & {} \sum \limits _i \left( |U_{j,0,i+1}-U_{j,0,i}| + | \frac{F_{j,0,i+1}-F_{j,0,i}}{ \lambda }| \right) \\\le & {} \beta _1 \quad \text {(by the second assumption).} \end{aligned}$$

With the following lemma and proposition, it can be shown that LBRS scheme is stable.

Lemma 1

Under the assumptions (i), (ii) and (iv), the scheme described in (25),(26) is \(\mathbf {TVD}\) (Total Variation Diminishing), i.e., 

$$\begin{aligned} \mathbf {TV}\left( f_1^{n+1},f_2^{n+1}\right) \le \mathbf {TV}\left( f_1^{n},f_2^{n}\right) < \beta , \end{aligned}$$

and hence the solution of the scheme, \(U^n(x,t)\) is bounded.

Uniform boundedness of the solution from the LBRS framework, i.e., \(\{U_j^n\}\), follows directly from the above lemma. Using the above lemma, we can show, as in [18], the following.

Proposition 1

The numerical solution of the LBRS framework, \(\{U_j^n\}\), under the assumptions (i)–(ii)–(iii), satisfies the following estimates.

  1. (a)

    \(\mathbf {TV}-\) Stability, i.e., \(\mathbf {TV}(U_j^n)< \beta\).

  2. (b)

    \(l^{\infty }-\) Stability, i.e., \(\sup \limits _{i\in {\mathbb {Z}}}\left|{U_{j,i}^n}\right| < \beta\).

  3. (c)

    \(l^1-\) Stability, i.e., \(\Delta x\sum \limits _{i\in {\mathbb {Z}}}\left|{U_{j,i}^n}\right|\le 2\left\Vert {U_{j,0}}\right\Vert _{{\mathbf {L}}_1}\).

We would like to point out that the assumption (iv) is a sufficient condition. The LBRS framework still obtains correct results even if assumption (iv) is violated. Note, however, that the condition derived for \(\omega\), given as \(0<\omega <2\), is a necessary condition.

Remark 1

The results presented can be easily extended for any number of distribution functions, \(\mathbf{f}_\alpha\), where \(\alpha = 1, \cdots , N\)

3 Application to Quasi-1-D incompressible flows

For 1-D flows, using the divergence free condition, we get \(u(t,x) = u(t)\). Therefore, there is no variation in velocity w.r.t. space and the second equation gets converted into an ODE. Hence, the obtained solution is trivial. In order to validate the framework on simpler domains first, let us formulate the framework for quasi-1-D incompressible flow, i.e., flows where the area is a function of the spatial coordinate, x. Example of such a flow is the flow in a converging-diverging channel (venturi tube). Flow in a converging-diverging channel can be represented as an essentially 1-D hyperbolic system with terms involving a varying cross-sectional area A. The area can be expressed as a function of the spatial coordinate x. Using the information of A, the equations can be reformulated in such a way that the equations represent a quasi-1-D flow [19].

The governing equations for incompressible flow in a converging-diverging channel, in artificial compressibility formulation, are given as

$$\begin{aligned} \frac{1}{c_s^2}\frac{\partial p}{\partial t} + \frac{\partial u}{\partial x} + \frac{u}{A} \frac{\mathrm{d}A}{\mathrm{d}x} = 0 \nonumber \\ \frac{\partial u}{\partial t} + \frac{\partial \left( u^2+p\right) }{\partial x} + \frac{u^2}{A} \frac{\mathrm{d}A}{\mathrm{d}x} =0 \end{aligned}$$
(28)

The LBRS framework needs to be reformulated in accordance to the above defined set of equations. Let us consider the terms that involve area, i.e., the rightmost term in both the equations of (28), as source term. The relaxation system is now assumed to have the form

$$\begin{aligned} \frac{\partial U}{\partial t} + \frac{\partial V}{\partial x}&= {\mathcal {H}} \\ \frac{\partial V}{\partial t} + \Lambda ^\prime \frac{\partial U}{\partial x}&= -\frac{1}{\epsilon }\left[ V-F\right] \end{aligned}$$

where \(U = \left[ p,u \right] ^T, \ F = \left[ u, u^{2} + p \right] ^T \ \text {and} \ {\mathcal {H}} = \left[ {\mathcal {H}}_1, {\mathcal {H}}_2 \right] ^T = \left[ -c_s^2\dfrac{u}{A} \dfrac{\mathrm{d}A}{\mathrm{d}x}, -\dfrac{u^2}{A} \dfrac{\mathrm{d}A}{\mathrm{d}x} \right] ^T\). Using the same methodology for the construction of the framework as explained before, the discrete velocity Boltzmann form of the above relaxation system is given as

$$\begin{aligned} \frac{\partial {\textbf {f}}}{\partial t} + \Lambda \frac{\partial {\textbf {f}}}{\partial x} = \widehat{{\mathcal {H}}}-\frac{1}{\epsilon }\left[ {\textbf {f}}-{\textbf {f}}^{eq}\right] \end{aligned}$$
(29)

where \(\widehat{{\mathcal {H}}} = \left[ \frac{{\mathcal {H}}_1}{2}, \frac{{\mathcal {H}}_1}{2}, \frac{{\mathcal {H}}_2}{2}, \frac{{\mathcal {H}}_2}{2}\right] ^T\).

The derivation of obtaining an LBRS framework remains the same. Thus, obtained LBRS framework for quasi-1-D incompressible flow is given as follows.

  • Collision step

    $$\begin{aligned} {\textbf {f}}_i^{\prime \prime }\left( x, t\right) = (1-\omega ){\textbf {f}}_i \left( x,t \right) + \omega {\textbf {f}}_i^{eq} \left( x,t \right) + \Delta t \widehat{{\mathcal {H}}}_i \end{aligned}$$
  • Streaming step

    $$\begin{aligned} {\textbf {f}}_i\left( x+\lambda _i \nabla t, t+\nabla t\right) = {\textbf {f}}_i^{\prime \prime } \left( x,t \right) \end{aligned}$$

4 Application to 2-D incompressible flows

The idea for the 2-D LBRS framework, in general, remains same as that for the 1-D case. Firstly, a relaxation system is constructed from the 2-D conservation law. The relaxation system can then be rewritten in the form of a discrete velocity Boltzmann equation (see [18] for details). The transformed set of equations, in vector form, is given as

$$\begin{aligned} \frac{\partial {{\textbf {f}}}}{\partial t} + \Lambda _{1} \frac{\partial {{\textbf {f}}}}{\partial x} + \Lambda _{2} \frac{\partial {{\textbf { f}}}}{\partial y} = - \frac{1}{\epsilon } \left[ {{\textbf {f}}} - {{\textbf { f}}}^{eq}\right] . \end{aligned}$$
(30)

The moment relation for the above system is given as

$$\begin{aligned} U = P {{\textbf {f}}} = P {{\textbf { f}}}^{eq}, \ F_{1}(u) = P \Lambda _{1} {{\textbf {f}}}^{eq} \ \text {and} \ F_{2}(u) = P \Lambda _{2} {{\textbf {f}}}^{eq} \end{aligned}$$

where \(P = \left[ 1, \cdots , 1 \right] _{1\times n}\).

We use the same procedure for the Chapman–Enskog type expansion, as in the previous case. From the final expression of the modified PDE for the 2-D scalar conservation law, we identify the coefficient of diffusion, in any system, as positive. Using this, we get the sub-characteristic condition for the discrete velocities as

$$\begin{aligned} -\lambda \le \sqrt{\left( \frac{\partial g_{1}(u)}{\partial u}\right) ^{2} + \left( \frac{\partial g_{2}(u)}{\partial u}\right) ^{2}} \le \lambda . \end{aligned}$$

It can be clearly observed that the sub-characteristic condition obtained cannot be extended for the vector case easily.

Now let us consider the 2-D artificial compressibility form of the incompressible Euler equations.

$$\begin{aligned}&\frac{\partial p}{\partial t} + \frac{\partial \left( c_s^2u\right) }{\partial x} + \frac{\partial \left( c_s^2 v\right) }{\partial x}=0 \\&\frac{\partial u}{\partial t} + \frac{\partial \left( u^2+p\right) }{\partial x} + \frac{\partial (uv)}{\partial y}= 0 \\&\frac{\partial v}{\partial t} + \frac{\partial (uv)}{\partial x} + \frac{\partial \left( v^2+p\right) }{\partial y} = 0 \end{aligned}$$

The above equations in vector form can be rewritten as

$$\begin{aligned} \frac{\partial U}{\partial t} + \frac{\partial F_{1}}{\partial x} + \frac{\partial F_{2}}{\partial y} = 0. \end{aligned}$$

The two flux Jacobian matrices, A and B, are given by

$$\begin{aligned} A = \frac{\partial F_{1}}{\partial U} =\left[ \begin{array}{c} 0\\ 1\\ 0\\ \end{array} \begin{array}{c} c_s^2\\ 2u\\ v\\ \end{array} \begin{array}{c} 0\\ 0\\ u\\ \end{array} \right] \text {,}\ \ B = \frac{\partial F_{2}}{\partial U} =\left[ \begin{array}{c} 0\\ 0\\ 1\\ \end{array} \begin{array}{c} 0\\ v\\ 0\\ \end{array} \begin{array}{c} c_s^2\\ u\\ 2v\\ \end{array} \right] . \end{aligned}$$

Let us denote artificial sound speed, \(a = \sqrt{u^2+c_s^2}\). The eigenvalues of the Jacobians A and B turn out to be \(\lbrace u,\ u\pm a\rbrace \) and \(\lbrace v,\ v\pm a\rbrace,\) respectively. We observe that the eigenvalues of the incompressible flow system are similar to those of compressible flow equations in the artificial compressibility formulation. So we can compare the nature of the waves of both the systems in smooth regions.

For the 2-D systems, a 2-D discrete velocity Boltzmann equation, which is based on the isotropic relaxation system introduced by Raghurama Rao and was utilized in [11, 12, 20, 21, 22, 23], is appropriate. Let us consider the extension of isotropic relaxation system as the LBRS framework for the above vector conservation laws.

$$\begin{aligned} \frac{\partial {{\textbf {f}}}}{\partial t} + \Lambda _{1}\frac{\partial {{\textbf {f}}}}{\partial x} + \Lambda _{2}\frac{\partial {{\textbf {f}}}}{\partial y} = - \frac{1}{\epsilon } \left( {{\textbf {f}}} - {{\textbf {f}}}^{eq}\right) \end{aligned}$$
(31)

Here, \(\Lambda _1\) and \(\Lambda _2\) are given as

$$\begin{aligned} \Lambda _{1} = \left[ \begin{array}{cccc} -\lambda &{} 0 &{} 0 &{} 0 \\ 0 &{} \lambda &{} 0 &{} 0 \\ 0 &{} 0 &{} \lambda &{} 0 \\ 0 &{} 0 &{} 0 &{} -\lambda \end{array} \right] \ \text {and} \ \Lambda _{2} = \left[ \begin{array}{cccc} -\lambda &{} 0 &{} 0 &{} 0 \\ 0 &{} -\lambda &{} 0 &{} 0 \\ 0 &{} 0 &{} \lambda &{} 0 \\ 0 &{} 0 &{} 0 &{} \lambda \end{array} \right] . \end{aligned}$$

The equilibrium function \({\textbf {f}}^{eq}\) is defined as in the 1-D LBRS framework.

$$\begin{aligned} {{\textbf {f}}}^{eq} = \left[ \begin{array}{c} {{\textbf {f}}}^{eq}_{1} \\ {\textbf {f}}^{eq}_{2} \\ {\textbf {f}}^{eq}_{3} \\ {\textbf {f}}^{eq}_{4} \end{array} \right] = \left[ \begin{array}{c} \frac{U}{4} - \frac{F_{1}}{4\lambda } - \frac{F_{2}}{4\lambda } \\ \frac{U}{4} + \frac{F_{1}}{4\lambda } - \frac{F_{2}}{4\lambda } \\ \frac{U}{4} + \frac{F_{1}}{4\lambda } + \frac{F_{2}}{4\lambda } \\ \frac{U}{4} - \frac{F_{1}}{4\lambda } + \frac{F_{2}}{4\lambda } \end{array} \right] \end{aligned}$$

As we have observed earlier, the sub-characteristic condition obtained for 2-D scalar conservation law cannot be directly extended for the vector case. Let us consider an N-dimensional conservation law.

$$\begin{aligned} \frac{\partial U}{\partial t} + \sum _{j=1}^{N} \frac{\partial }{\partial x_{j}} F_{j}(U) = 0 . \end{aligned}$$

For the 2-D incompressible case defined above, the multidimensional vector conservation law as given above can be rewritten as a discrete velocity Boltzmann equation. The Maxwellian function for the constructed discrete velocity Boltzmann equation, \({{\textbf {f}}}^{eq}(U)\), is given by the following expression.

$$\begin{aligned} {{\textbf {f}}}^{eq}(U) = \alpha _{0}U + \sum _{j=1}^{N} \alpha _{j} F_{j}(U) \end{aligned}$$

Let \(\sigma ({{\textbf {f}}}^{\prime ,eq}_{i}(U))\) denote the eigenspectrum of the Jacobian of the \(i^{th}\) vector in the Maxwellian function with respect to the conserved variable vector U (\({\partial _U{\textbf {f}}}^{eq}_{i}(U)\)). Bouchut in [24] has shown that under some assumptions, the Jacobians, \(\partial _{U}{{\textbf {f}}}^{eq}_{i}(U)\), for a discrete velocity Boltzmann equation, are diagonalizable. Bouchut established that if \(\sigma (f^{\prime ,eq}_{i}(U)) \subset [0,\infty )\), then the constructed discrete kinetic system admits a kinetic entropy, and in the hydrodynamic limit, as \(\epsilon \rightarrow 0\), the Lax entropy condition is satisfied.

For the present LBRS framework, the Jacobians are written as

$$\begin{aligned} {{\textbf {f}}}^{\prime ,eq}(U) = \left[ \begin{array}{c} {{\textbf {f}}}^{\prime ,eq}_{1}(U) \\ {{\textbf {f}}}^{\prime ,eq}_{2}(U) \\ {{\textbf {f}}}^{\prime ,eq}_{3}(U) \\ {{\textbf {f}}}^{\prime ,eq}_{4}(U) \end{array} \right] = \left[ \begin{array}{c} \frac{I}{4} - \frac{F_{1}^{'}}{4\lambda } - \frac{F_{2}^{'}}{4\lambda } \\ \frac{I}{4} + \frac{F_{1}^{'}}{4\lambda } - \frac{F_{2}^{'}}{4\lambda } \\ \frac{I}{4} + \frac{F_{1}^{'}}{4\lambda } + \frac{F_{2}^{'}}{4\lambda } \\ \frac{I}{4} - \frac{F_{1}^{'}}{4\lambda } + \frac{F_{2}^{'}}{4\lambda } \end{array} \right] . \end{aligned}$$

The eigenspectrum associated with Jacobians defined above is as follows.

$$\begin{aligned} \sigma ({{\textbf {f}}}^{\prime ,eq}_{1}(U))= & {} \left[ \begin{array}{c} \dfrac{(\lambda + u+v)}{4\lambda } \\ \dfrac{\lambda + \sqrt{\left( \left( u+v\right) ^2 +2 c_s^2 \right) } + (u+v)}{4\lambda } \\ \dfrac{\lambda - \sqrt{\left( \left( u+v\right) ^2 +2 c_s^2 \right) } + (u+v)}{4\lambda } \end{array} \right] ,\\ \sigma ({{\textbf {f}}}^{\prime ,eq}_{2}(U))= & {} \left[ \begin{array}{c} \dfrac{(\lambda - u+v)}{4\lambda } \\ \dfrac{\lambda + \sqrt{\left( \left( u-v\right) ^2 +2 c_s^2 \right) } - (u-v)}{4\lambda } \\ \dfrac{\lambda - \sqrt{\left( \left( u-v\right) ^2 +2 c_s^2 \right) } - (u-v)}{4\lambda } \end{array} \right] \\ \sigma ({{\textbf {f}}}^{\prime ,eq}_{3}(U))= & {} \left[ \begin{array}{c} \dfrac{(\lambda - u-v)}{4\lambda } \\ \dfrac{\lambda + \sqrt{\left( \left( u+v\right) ^2 +2 c_s^2 \right) } - (u+v)}{4\lambda } \\ \dfrac{\lambda - \sqrt{\left( \left( u+v\right) ^2 +2 c_s^2 \right) } - (u+v)}{4\lambda } \end{array} \right] ,\\ \sigma ({{\textbf {f}}}^{\prime ,eq}_{4}(U))= & {} \left[ \begin{array}{c} \dfrac{(\lambda + u-v)}{4\lambda } \\ \dfrac{\lambda + \sqrt{\left( \left( u-v\right) ^2 +2 c_s^2 \right) } + (u-v)}{4\lambda } \\ \dfrac{\lambda - \sqrt{\left( \left( u-v\right) ^2 +2 c_s^2 \right) } + (u-v)}{4\lambda } \end{array} \right] \end{aligned}$$

The stability criteria states that \(\sigma (f^{\prime ,eq}_{i}(U)) \subset [0,\infty )\). We use this information to obtain a value for the discrete velocity \(\lambda\). We consider \(\sigma (f^{\prime ,eq}_{i}(U)) = 0\) and calculate the value of \(\lambda\). Hence, we get the condition for calculating the discrete velocity \(\lambda\) as

$$\begin{aligned} \lambda = \text {max}\left( \begin{array}{c} |u+v|, |u-v|,\\ \left|{\sqrt{\left( \left( u+v\right) ^2 +2 c_s^2 \right) } - (u+v)}\right|, \left|{\sqrt{\left( \left( u+v\right) ^2 +2 c_s^2 \right) } + (u+v)}\right|,\\ \left|{\sqrt{\left( \left( u-v\right) ^2 +2 c_s^2 \right) } - (u-v)}\right|, \left|{\sqrt{\left( \left( u-v\right) ^2 +2 c_s^2 \right) } + (u-v)}\right| \end{array}\right) . \end{aligned}$$
(32)

The above result is for a D2Q4 model of the LBRS framework. We can similarly derive the limits on \(\lambda\) for D2Q5 and D2Q9 models (see [11] for details).

5 Application to viscous incompressible flows

Navier–Stokes equations for viscous incompressible flows are given as in Eqs. [(1a), (1b)].

$$\begin{aligned} \nabla \cdot \mathbf {u}&= 0,\\ \frac{\partial \mathbf {u}}{\partial t} + \left( \mathbf {u}\cdot \nabla \right) \mathbf {u}&= -\nabla p +\nu \Delta \mathbf {u}. \end{aligned}$$

We use two different methodologies to develop two numerical frameworks for the viscous equations, as in [11]. We name the two as LBRS - 1 and LBRS - 2.

5.1 LBRS - 1

In this approach, we use the Chapman–Enskog expansion, as described in the previous section, to formulate a numerical LBRS framework for the viscous equations. Let us compare Eqs. (1b) and (24). This provides us with a relationship between the discrete velocity \(\lambda _i\), relaxation time \(\epsilon\) and viscosity \(\nu\) as

$$\begin{aligned} \nu = \Delta t \left( \frac{1}{\omega }-\frac{1}{2}\right) \lambda _i^2, \ \text {with} \ \omega = \Delta t/\epsilon . \end{aligned}$$
(34)

In the above expression \(\lambda _{\{ 1,2 \}}\ (=\frac{\Delta t}{\Delta x}), \Delta t, \nu\) are specified; hence, the only unknown is \(\omega\) (or, \(\epsilon\)). Solving (34) for \(\omega\) we get

$$\begin{aligned} \omega = 1/\left( \frac{\nu }{\Delta x^2}\Delta t + \frac{1}{2} \right) . \end{aligned}$$

If we assume \(\omega = 1\), then we can rewrite the above equation as

$$\begin{aligned} \Delta t = \frac{\Delta x^2}{2\nu }. \end{aligned}$$
(35)

5.2 LBRS - 2

Here, we utilize the equivalent relaxation system formulation used to estimate a viscous conservation law, as in [25]. We start with the general form of the relaxation scheme for scalar equation as

$$\begin{aligned}&\frac{\partial u}{\partial t} + \frac{\partial v}{\partial x} = 0 \\&\frac{\partial v}{\partial t} + {\mathcal {M}}^\prime (u)\frac{\partial u}{\partial x} = -\frac{1}{\epsilon }\left[ v-g(u)\right] . \end{aligned}$$

The same can be extended for system of equations as follows.

$$\begin{aligned}&\frac{\partial U}{\partial t} + \frac{\partial V}{\partial x} = 0 \\&\frac{\partial V}{\partial t} + {\mathcal {M}}^\prime (U)\frac{\partial U}{\partial x} = -\frac{1}{\epsilon }\left[ V-F\right] \end{aligned}$$

By the Chapman–Enskog type expansion for the above system, we get

$$\begin{aligned} \frac{\partial U}{\partial t} + \frac{\partial F}{\partial x} = \epsilon \frac{\partial }{\partial x}\left[ \left( {\mathcal {M}}^\prime (U)-A^2 \right) \frac{\partial U}{\partial x} \right] +O\left( {\epsilon }^2 \right) . \end{aligned}$$

Comparing the above with the viscous system \(\frac{\partial U}{\partial t} + \frac{\partial F}{\partial x} = \left[ 0 , \nu \frac{\partial ^2 u}{\partial x^2}\right] ^T, \ (\frac{\partial F}{\partial U} = A)\), we get

$$\begin{aligned} \left[ \begin{array}{lc} 0\\ \nu \end{array}\right] = \epsilon \left( {\mathcal {M}}^\prime (U)-A^2 \right) \end{aligned}$$

In other words, we get \({\mathcal {M}}^\prime (U) = \left( \frac{\partial F}{\partial U} \right) ^2 + \left[ \begin{array}{llcc} 0 &{} 0\\ 0 &{} \frac{\nu }{\epsilon } \end{array}\right]\). We can consider the Jacobian \(\frac{\partial F}{\partial U}\) in its diagonal form. Comparing the obtained relaxation system with the previously defined relaxation system, we get \(\lambda\) as

$$\begin{aligned} \lambda = \text{ max }\left[ \pm \sqrt{({u+\sqrt{c_s^2 + u^2}})}, \pm \sqrt{({u+\sqrt{c_s^2 + u^2}}) + \frac{\nu }{\epsilon }}\right] . \end{aligned}$$

Since \(\nu , \epsilon\) are positive, \(({u+\sqrt{c_s^2 + u^2}}) < [({u+\sqrt{c_s^2 + u^2}}) + \frac{\nu }{\epsilon }]\). Hence, we can rewrite the condition for \(\lambda\) as

$$\begin{aligned} \lambda = \text{ max }\left[ \pm \sqrt{({u+\sqrt{c_s^2 + u^2}}) + \frac{\nu }{\epsilon }}\right] . \end{aligned}$$
(36)

Remark 2

From the derivation of LBRS - 1 and LBRS - 2, we observe that the basic numerical framework of the scheme, defined by the streaming step and the collision step, remains unchanged. Only the way the variables are determined is changed.

6 Numerical experiments

Numerical experiments presented in [18] suggest that LBRS-2 is slightly better in performance than LBRS-1. Hence, the results are presented here with LBRS-2.

6.1 Flow through a venturi tube

The geometry under consideration for this test case is for a venturi tube. A venturi tube represents a channel with both convergent and divergent cross sections. The computational domain considered in the present test case is \(x\in \Omega =[0,1]\) and the cross-sectional area of the tube is given as

$$\begin{aligned} A(x) = \left\{ \begin{array}{c} \frac{7}{4} - \frac{3}{4}\mathrm{cos}(2\pi x-\pi ),\quad 0\le x \le 0.5, \\ \frac{5}{4} - \frac{1}{4}\mathrm{cos}(2\pi x-\pi ),\quad 0.5 < x \le 1. \end{array} \right. \end{aligned}$$

The initial conditions are as specified in [19]. Since the channel has both a convergent followed by a divergent cross-sectional area, it will constitute a throat. This induces a discontinuous curvature in the flow variables, i.e., at the throat region, the pressure will decrease to its lowest value and velocity will reach the maximum value.

A D1Q2 model is used to simulate the flow for this test case. The results obtained by this inviscid LBRS framework (Fig. 1) represent a good approximation to the exact solution. The \(L_{\infty }\) convergence plot for the above test case is as shown in Fig. 2. The steady state is reached in about 50 time steps.

Fig. 1
figure 1

Pressure and velocity plot for flow in the converging-diverging channel, after the steady state is reached

Fig. 2
figure 2

Convergence rate for flow in a converging-diverging channel

6.2 Lid driven cavity flow

Flow in a lid-driven cavity is a standard benchmark test case used for checking the stability, accuracy and robustness of the numerical schemes [26]. The domain for the test case is \(\Omega = [0,1]\times [0,1]\). The left, right and bottom boundaries are stationary walls, whereas the top wall is considered as a moving wall.

Fig. 3
figure 3

Geometry for lid-driven cavity test case

This test case is important because the pressure develops a singularity at the lid corners for some schemes. This makes it a severe test for robustness and stability of a numerical scheme. The flow inside the cavity is laminar up to Reynolds number \(Re = 7500\).

In the following test case, we consider the velocity of the lid as \((u,v) = (1.0,0.0)\). At the lid corners, we impose the velocity as the lid velocity. For the stationary walls, bounce-back boundary condition is applied for velocity. At all the walls, stationary and moving, the pressure is extrapolated (Fig. 3).

The results are obtained for Re = 100, 400 and 1000. The results are compared to the standard results of Ghia et al. [26] and ACM \(1\text{st}\) and \(2\text{nd}\) order accurate results presented in [27] (Figs. 4, 5, 6, 7, 8, 9, 10). It can be observed that the results with LBRS-2 are generally closer to the results of the second-order accurate ACM.

Fig. 4
figure 4

v along centre horizontal line passing through the cavity (Re = 100)

Fig. 5
figure 5

u along centre vertical line passing through the cavity (Re = 100)

Fig. 6
figure 6

v along centre horizontal line passing through the cavity (Re = 400)

Fig. 7
figure 7

u along centre vertical line passing through the cavity (Re = 400)

Fig. 8
figure 8

Lid-driven cavity test case with \(Re=1000\)

Fig. 9
figure 9

v along centre horizontal line passing through the cavity (Re = 1000)

Fig. 10
figure 10

u along centre vertical line passing through the cavity (Re = 1000)

6.3 Flow over a backward facing step

The flow over a backward-facing step is a simple example to observe separating, recirculating and reattaching flows in nature. These can also be observed in various engineering applications. A few examples are the flows around buildings, flows inside combustors, industrial ducts, and in cooling of electronic devices. In the context of aeronautical applications, these kinds of flows result in a loss of lift force and increased drag.

The domain and initial conditions for this test case have been taken from Biswas et al. [28]. In the paper by Armaly et al. [29], it is observed that the flow appears to be three-dimensional above Reynolds numbers close to 400. Around this Reynolds number, they have also observed that a discrepancy in the primary recirculation length occurs, between the experimental and numerical results. Hence, we present results for \(\mathrm{Re}<400\) (Fig. 11).

The results presented are generated with the framework LBRS-2.

Fig. 11
figure 11

Backward-facing step flow

The results are also compared with those of Biswas et al. and are given in Fig. 12. The results of the LDC for Re = 100 and Re = 400 are shown in Figs. 13, 14 respectively.

Fig. 12
figure 12

End-point of the vortex generated (x/S) versus Re plot compared with Biswas et al

Fig. 13
figure 13

Lid-driven cavity test case with \(Re=100\)

Fig. 14
figure 14

Lid-driven cavity test case with \(Re=400\)

7 Conclusions

In this work, a novel lattice Boltzmann relaxation scheme is proposed for the numerical simulation of incompressible fluid flows. The derivation of this scheme needed two important tools: (i) linearization using discrete velocity Boltzmann equation formulation and further utilization of truncation error free streaming step for the convection part of the equation, as in the LBM framework, and (ii) analysing the stability of the resultant scheme. The foundation of the scheme is based on the artificial compressibility (ACM) formulation of the incompressible flow equations, together with the relaxation approximation and its diagonal form, with the resulting discrete velocity Boltzmann formulation.

The results for typical benchmark incompressible flow test cases are presented using the LBRS-ACM scheme. The formulation is slightly modified to analyse the results for quasi-1-D case. Later the formulation is extended to 2-D fluid flow equations and tested for the standard benchmark cases of the incompressible flow. The results are comparable to the second order accurate results of the standard ACM solvers, are slightly more diffusive, but are much better than the corresponding first-order accurate schemes. In general, the typical expectations of empirical second-order accuracy of lattice Boltzmann schemes are fulfilled.