Next Article in Journal
Multi-Isotope Characterization of Water in the Water Supply System of the City of Ljubljana, Slovenia
Previous Article in Journal
Biological Degradation of the Azo Dye Basic Orange 2 by Escherichia coli: A Sustainable and Ecofriendly Approach for the Treatment of Textile Wastewater
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Macroscopic Lattice Boltzmann Method for Shallow Water Equations

Department of Computing and Mathematics, Manchester Metropolitan University, Manchester M1 5GD, UK
Water 2022, 14(13), 2065; https://doi.org/10.3390/w14132065
Submission received: 10 May 2022 / Revised: 16 June 2022 / Accepted: 23 June 2022 / Published: 28 June 2022
(This article belongs to the Section Hydraulics and Hydrodynamics)

Abstract

:
The lattice Boltzmann method (LBM) is characterised by its simplicity, parallel processing and easy treatment of boundary conditions. It has become an alternative powerful numerical method in computational physics, playing a more and more important role in solving challenging problems in science and engineering. In particular, the lattice Boltzmann method with the single relaxation time (SLBM) is the simplest and most popular form of the LBM that is used in research and applications. However, there are two long-term unresolved problems that prevent the SLBM from being an automatic simulator for any flows: (1) stability problem associated with the single relaxation time and (2) no method of direct implementation of physical variables as boundary conditions. Recently, the author has proposed the macroscopic lattice Boltzmann method (MacLAB) to solve the Navier–Stokes equations for fluid flows, resolving the aforementioned problems; it is unconditionally stable and uses physical variables as boundary conditions at lower computational cost compared to conventional LBMs. The MacLAB relies on one fundamental parameter of lattice size δ x , and is a minimal version of the lattice Boltzmann method. In this paper, the idea of the MacLAB is further developed to formulate a macroscopic lattice Boltzmann method for shallow water equations (MacLABSWE). It inherits all the advantages from both the MacLAB and the conventional LBM. The MacLABSWE is developed regardless of the single relaxation time τ . Physical variables such as water depth and velocity can directly be used as boundary conditions, retaining their initial values for Dirichlet’s boundary conditions without updating them at each time step. This makes not only the model to achieve the exact no-slip boundary condition but also the model’s efficiency superior to the most efficient bounce-back scheme for approximate no-slip boundary condition in the LBMs, although the scheme can similarly be implemented in the proposed model when it is necessary. The MacLABSWE is applied to simulate a 1D unsteady tidal flow, a 2D steady wind-driven flow in a dish-shaped lake and a 2D steady complex flow over a bump. The results are compared with available analytical solutions and other numerical studies, demonstrating the potential and accuracy of the model.

1. Introduction

In nature, many flows have large and dominant horizontal flow characteristics compared to the vertical ones, e.g., tidal flows, waves, open channel flows, dam breaks, and atmospheric flows. Those flows are called shallow-water flows and are described by the shallow-water flow equations [1]. As numerical solutions to the equations turn out to be a very successful tool in studying diverse flow problems encountered in engineering [1,2,3,4,5,6,7], the corresponding research has received considerable attention, leading to many numerical methods ranging from finite difference method, finite element method and the Godunov type to the lattice Botzmann method. For example, Casulli [3] proposed a semi-implicit finite difference method for the two-dimensional shallow water equations; Zhou [8] developed a SIMPLE-like finite volume scheme to solve the shallow water equations; Alcrudo and Garcia-Navarro [2] described a high-resolution Godunov-type finite volume method for solution of the inviscid shallow water equations; Zhou et al. [9] proposed a surface gradient method for the treatment of source terms in the shallow water equations using Godunov-type finite volume method; and Zhou [10] formulated a lattice Boltzmann method for the shallow water equations.
In all methods mentioned above, the lattice Boltzmann method (LBM) is characterised by its simplicity, parallel processing and easy treatment of boundary conditions. It has become an alternative powerful numerical method in computational physics, playing a more and more important role in solving challenging problems in science and engineering. Its simplest and most popular version is the lattice Boltzmann method with the single relaxation time (SLBM), which is widely used in research and applications for various flow problems such as nonideal fluids [11], microscale flow in fibrous porous media [12], groundwater flows [13] and morphological change [14]. The study on lattice Boltzmann method for the shallow water equations has continuously been undertaken and improved by the author, e.g., the removal of calculating the first order derivative associated with a bed slope for consistency of the lattice Boltzmann dynamics [15], and determination of theoretical relation between the coefficients in the respective local equilibrium distribution function and the lattice Boltzmann equation for complex shallow water flows [16]. This makes the development of the lattice Boltzmann method for the shallow water equations (eLABSWE) to a point where it is able to produce accurate solutions to complex shallow water flow problems in an efficient way. The method has been applied to several complex flow problems, including large-scale practical applications, demonstrating its potential, capability and accuracy in simulating shallow water flows [17,18,19,20].
However, there are two main gaps in the research on the lattice Boltzmann method for the shallow water equations using the single relaxation time, i.e., (1) the stability problem related to single relaxation time and (2) the lack of a method for the direct implementation of physical variables as boundary conditions. They are, in fact, two long-term unresolved problems that prevent the SLBM from being an automatic simulator for any flow problems. In addition, although there are 1st- and 2nd-order accurate bounce-back schemes for no-slip boundary conditions in the LBMs [21], neither can generate exact no-slip boundary condition. If the collision term can be removed, the former problem will be resolved forever; if a lattice Boltzmann method can be formulated based on physical variables only, the latter will be resolved and an exact no-slip boundary condition will also be ensured. Recently, the author has proposed the macroscopic lattice Boltzmann method (MacLAB) and successfully resolved these two problems to solve the Navier–Stokes equations; it is unconditionally stable and uses physical variables as boundary conditions at lower computational cost. The MacLAB relies on one fundamental parameter of lattice size δ x , and is a minimal version of lattice Boltzmann method. We refer to the author’s paper about the MacLAB [22] for details of other relevant literature review.
In this paper, the MacLAB is further extended and developed to formulate a new macroscopic lattice Boltzmann method for the shallow water equations (MacLABSWE). The main contributions and novelty of this research are that (1) the collision step associated with single relaxation time is removed for unconditional stability and only lattice size is required in the model, leading to a precise “Lattice” Boltzmann method for shallow water flows; (2) the eddy viscosity is embedded in a natural way through the particle speed in the local equilibrium distribution function, changing the conventional way of determining suitable values of the parameters such as single relaxation time and lattice size for it; (3) the particle speed or time step is no longer independent and is determined with the eddy viscosity and lattice size, resulting in an automatic model for shallow water flows without choosing or tuning other simulation parameters by trial and error; (4) the model shares the same valid condition as that of the local equilibrium distribution function and becomes unconditionally stable in this regard; (5) physical variables such as water depth and velocity can directly be retained at boundaries, making modelling not only more efficient but also an exact no-slip boundary conditions at lower computational cost. All these make the MacLABSWE an ideal automatic simulator for simulation of any scale shallow water flows, especially when a super-fast computer such as a quantum computer becomes available in the future. The model is validated through modelling a 1D unsteady tidal flow, a 2D steady wind-driven flow in a dish-shaped lake and a 2D steady complex flow over a bump.

2. Shallow Water Equations

The 2D shallow water equations with a force term for all forces such as bed friction and wind shear stress may be written in tensor notation as [8]
h t + ( h u j ) x j = 0
and
( h u i ) t + ( h u i u j ) x j = g 2 h 2 x i g h z b x i + ν 2 ( h u i ) x j 2 + F i ,
where i and j are indices and the Einstein summation convention is used, i.e., repeated indices mean a summation over the space coordinates; x i is the Cartesian coordinate; h is the water depth; t is the time; u i is the depth-averaged velocity component in i t h direction; z b is the bed elevation above a datum; g = 9.81 m/s 2 is the gravitational acceleration; ν is the depth-averaged eddy viscosity; and F i is the force term and defined as
F i = τ w i ρ τ b i ρ + Ω h u y δ i x Ω h u x δ i y ,
in which τ w i is the wind shear stress in i t h direction and is generally defined by
τ w i = ρ a C w u w i u w j u w j ,
where ρ a = 1.293 kg/m 3 is the air density, u w i is the component of wind speed in i t h direction with C w = 0.0026 ; and τ b i is the bed shear stress in i t h direction defined by the depth-averaged velocities as
τ b i = ρ C b u i u j u j ,
where ρ is the water density and C b is the bed friction coefficient, which is linked to Chezy coefficient C z as C b = g / C z 2 ; Ω is the Coriolis parameter for the effect of the earth’s rotation; and δ i j is the Kronecker delta function,
δ i j = 0 , i j , 1 , i = j .

3. Review of Enhanced Lattice Boltzmann Equation for Shallow Water Equations

The enhanced lattice Boltzmann equation for the shallow water Equations (1) and (2) (eLABSWE) is described and reported in [15,16]. The eLABSWE is developed on a 2D square lattice with nine particle velocities (D2Q9) shown in Figure 1 and reads
f α ( x + e α δ t , t + δ t ) = f α ( x , t ) 1 τ [ f α ( x , t ) f α e q ( x , t ) ] g h ¯ e 2 C α [ z b ( x + e α δ t ) z b ( x ) ] + δ t e 2 C α e α j F j ,
where f α is the particle distribution function; x is the space vector defined by Cartesian coordinates, i.e., x = ( x , y ) in 2D space; t is the time; δ t is the time step; e α is the particle velocity vector; e α j is the component of e α in j t h direction; e = δ x / δ t is the particle speed, δ x is the lattice size; τ is the single relaxation time [23]; C α = 1 / 3 when α = 1 , 3 , 5 , 7 and C α = 1 / 12 when α = 2 , 4 , 6 , 8 and f α e q is the local equilibrium distribution function defined as
f α e q = h 1 5 g h 6 e 2 2 u i u i 3 e 2 , α = 0 , λ α h g h 6 e 2 + e α i u i 3 e 2 + e α i e α j u i u j 2 e 4 u i u i 6 e 2 , α 0 ,
in which λ α = 1 when α = 1 , 3 , 5 , 7 and λ α = 1 / 4 when α = 2 , 4 , 6 , 8 ; and h ¯ is defined by
h ¯ = 0.5 [ h ( x + e α δ t , t + δ t ) + h ( x , t ) ] ,
which is in an implicit form for h ¯ and reduces efficiency in the model. Although such implicitness can be eliminated by using the method by He et al. [24], it is founded that the use of a semi-implicit form, h ¯ = 0.5 [ h ( x + e α δ t , t ) + h ( x , t ) ] , is explicit, efficient and able to produce accurate solutions, which is preferred in practice for efficient simulations.
The physical variables of water depth and velocity are calculated as
h = α f α ,
and
u i = 1 h α e α i f α .
The depth-averaged eddy viscosity in eLASWE is determined as
ν = e 2 δ t 6 ( 2 τ 1 ) .
The solution procedure for the eLABSWE is as follows:
  • Initialise water depth and velocity;
  • Select suitable lattice size δ x and time step δ t ;
  • Choose single relaxation time τ according to the stability condition;
  • Calculate f α e q from Equation (8) using water depth and velocity;
  • Compute the particle distribution function f α via the lattice Boltzmann Equation (7);
  • Update the depth and velocity using Equations (10) and (11);
  • Apply the bounce-back scheme for no-slip boundary condition or implement others through conversion of physical variables into particle distribution functions;
  • Repeat Step (4) until a solution is reached.

4. Macroscopic Lattice Boltzmann Method (MacLABSWE)

To formulate a new macroscopic lattice Boltzmann method for the shallow water equations through the macroscopic physical variables of water depth and velocity without calculating particle distribution functions, Equation (7) is rearranged as
f α ( x + e α δ t , t + δ t ) = f α e q ( x , t ) + 1 1 τ [ f α ( x , t ) f α e q ( x , t ) ] g h ¯ e 2 C α [ z b ( x + e α δ t ) z b ( x ) ] + δ t e 2 C α e α j F j ,
Taking ∑ Equation (13) and e α i Equation (13) yields
f α ( x + e α δ t , t + δ t ) = f α e q ( x , t ) g e 2 C α h ¯ [ z b ( x + e α δ t ) z b ( x ) ] + δ t e 2 C α e α j F j ,
and
e α i f α ( x + e α δ t , t + δ t ) = e α i f α e q ( x , t ) g e 2 C α e α i h ¯ [ z b ( x + e α δ t ) z b ( x ) ] + δ t e 2 C α e α i e α j F j
due to conservation of zeroth and first moments in the lattice Boltzmann method,
f α ( x , t ) = f α e q ( x , t ) , e α i f α ( x , t ) = e α i f α e q ( x , t ) .
The above Equations (14) and (15) can be rewritten as
f α ( x , t ) = f α e q ( x e α δ t , t δ t ) g e 2 C α h ¯ [ z b ( x ) z b ( x e α δ t ) ] + δ t e 2 C α e α j F j ,
and
e α i f α ( x , t ) = e α i f α e q ( x e α δ t , t δ t ) + δ t e 2 C α e α i e α j F j g e 2 C α e α i h ¯ [ z b ( x ) z b ( x e α δ t ) ] .
where
h ¯ = 0.5 [ h ( x , t ) + h ( x e α δ t , t δ t ) ] ,
and the force term F j , according to the centred scheme [7,25], can be evaluated at the midpoint between ( x e α δ t , t δ t ) and ( x , t ) for accurate solution [15,16] as
F j = F j x 1 2 e α δ t , t 1 2 δ t .
By using Equations (10) and (11), the Equations (17) and (18) can be expressed as
h ( x , t ) = f α e q ( x e α δ t , t δ t ) g e 2 C α h ¯ [ z b ( x ) z b ( x e α δ t ) ] + δ t e 2 C α e α j F j
and
h ( x , t ) u i ( x , t ) = e α i f α e q ( x e α δ t , t δ t ) + δ t e 2 C α e α i e α j F j g e 2 C α e α i h ¯ [ z b ( x ) z b ( x e α δ t ) ] .
It can be seen from Equations (21) and (22) that the water depth and velocity are determined using the macroscopic physical variables through the local equilibrium distribution function without calculating the particle distribution function from Equation (7) that is required in Equations (10) and (11) for the depth and velocity in the eLABSWE. Equations (21) and (22) form the macroscopic lattice Boltzmann method for the shallow water equations (MacLABSWE). Clearly, it seems nowhere in the MacLABSWE to account for the eddy viscosity. This problem arises from the removal of the collision term in the lattice Boltzmann equation. As demonstrated in MacLAB [22], the problem is completely resolved through the discovery that the following formula
e = 6 ν / δ x ,
is used for the particle speed e in the local equilibrium distribution function (8) for determining f α e q instead of using e = δ x / δ t in the conventional lattice Boltzmann method. It will be shown in the recovery section that the eddy viscosity ν is already embedded in the model after Equation (23) is used.
The simulation procedure for MacLABSWE is as follows.
  • Initialise water depth and velocity;
  • Choose the lattice size δ x and determine the particle speed e from Equation (23);
  • Calculate f α e q from Equation (8) using water depth and velocity;
  • Update the depth and velocity using Equations (21) and (22);
  • Only apply the boundary conditions when it is necessary;
  • Repeat Step (3) until a solution is reached.

5. Recovery of the Shallow Water Equations

In this Section, we prove that the water depth and velocity calculated from Equations (21) and (22) satisfy the shallow water Equations (1) and (2). By realising that (A) Equations (21) and (22) are equivalent to Equations (17) and (18) due to the definitions of Equations (10) and (11), and (B) Equation (18) is obtained through e α i × Equation (17), without loss of generality, we may start the derivation with Equation (17).
According to the Chapman–Enskog analysis, f α can be expanded around local equilibrium distribution function as
f α = f α ( 0 ) + f α ( 1 ) δ t + f α ( 2 ) δ t 2 + O ( δ t 3 ) ,
where f α ( 0 ) = f α e q for conventional notation in the analysis. Substituting Equation (24) into Equation (17) leads to
[ f α ( 0 ) + f α ( 1 ) δ t + f α ( 2 ) δ t 2 + O ( δ t 3 ) ] = f α ( 0 ) ( x e α δ t , t δ t ) g e 2 C α h ¯ [ z b ( x ) z b ( x e α δ t ) ] + δ t e 2 C α e α j F j ,
Taking a Taylor expansion to the first term, f α ( 0 ) ( x e α δ t , t δ t ) , on the right-hand side of above Equation (25) in time and space at point ( x , t ) yields
f α ( 0 ) ( x e α δ t , t δ t ) = f α ( 0 ) δ t t + e α j x j f α ( 0 ) + 1 2 δ t 2 t + e α j x j 2 f α ( 0 ) + O ( δ t 3 ) .
Similarly, the second term on the right hand side of Equation (25) can also be expressed via the Taylor expansion,
g C α e 2 h δ t 2 h t + e α j h x j δ t e α j z b x j δ t 2 2 e α i e α j 2 z b x i x j + O ( δ t 3 ) ,
and the third term given by Equation (20) on the right hand side of Equation (25) can be written, via a Taylor expansion, as
F j x 1 2 e α δ t , t 1 2 δ t = F j δ t 2 t + e α j x j F j + O ( δ t 2 ) .
After the substitution of Equations (26)–(28) into Equation (25), equating the coefficients of δ t results in, for the first-order δ t 1 ,
t + e α j x j f α ( 0 ) = f α ( 1 ) g h C α e α j e 2 z b x j + C α e α j F j e 2 ,
and for the second-order δ t 2 ,
1 2 t + e α j x j 2 f α ( 0 ) = f α ( 2 ) + C α g e α j 2 e 2 h t + e α i h x i z b x j + g h C α e α i e α j 2 e 2 2 z b x i x j C α e α j 2 e 2 F j t + e α i F j x i .
Substitution of Equation (29) into Equation (30) gives
1 2 t + e α j x j f α ( 1 ) = f α ( 2 ) .
Taking ∑ [(29) + δ t × (31)] about α provides
t α f α ( 0 ) + x j α e α j f α ( 0 ) = 0 .
which is in fact the second-order accurate continuity Equation (1) in local equilibrium distribution function, i.e., Equation (1) can be recovered by substitution of Equations (10), (11) and (16) into the Equation (32).
Taking ∑ e α i [(29) + δ t × (31)] about α after mathematical manipulations yields
t α e α i f α ( 0 ) + x j α e α i e α j f α ( 0 ) + δ t 2 x j α e α i e α j f α ( 1 ) = g h z b x i + F i .
After using Equations (10), (11), (16) and (23), the above equation becomes the momentum Equation (2) with the eddy viscosity ν , which is second-order accurate. Undoubtedly, the use of Equation (23) naturally embeds the eddy viscosity in the MacLABSWE without any treatment.
It should be pointed out that the shallow water equations have been recovered from the MacLABSWE and its proof is independent of the single relaxation time τ , which is consistent with the development of the model in Section 4.

6. Unique Features and Main Limitation of the MacLABSWE

As the collision step is removed and only stream step or lattice size δ x is retained, the MacLABSWE becomes a precise lattice Boltzmann method and takes a minimal version of the method for shallow water flows. It may be stressed that the MacLABSWE is developed regardless of chosen value for the single relaxation time τ , i.e., there is no assumption of setting τ = 1 . The main features and limitation of the model is described and discussed in this section.

6.1. Unique Features

  • Only lattice size δ x is required: After a lattice size δ x is chosen, the MacLABSWE is ready to simulate a flow with an eddy viscosity ν as seen from the solution procedure in Section 4. This is because ( x j e α j δ t ) stands for a neighbouring lattice point; f α e q at time of ( t δ t ) represents its known quantity at the current time; and the particle speed e is determined from Equation (23) for use in computation of f α e q .
  • There is no need to choose time step δ t : the time step δ t is no longer an independent parameter and calculated as δ t = δ x / e , which is used to calculate time in simulations of unsteady flows, and has no effect on steady flows.
  • It is unconditionally stable: The method is unconditionally stable as it shares the same valid condition as that for f α e q , or the Mach number M = U c / e is much smaller than 1, which is the intrinsic restriction on the lattice Boltzmann method, where U c is a characteristic flow speed. The Mach number can also be expressed as a lattice Reynolds number of R l e = U c δ x / ν via Equation (23). In practice, it is found that the model is stable if R l e = U m δ x / ν < 1 where U m is the maximum flow speed and is used as the characteristic flow speed.
  • Physical variables are directly implemented as boundary conditions: As only macroscopic physical variables such as water depth and velocity are required, they are directly retained as boundary conditions with a minimum memory requirement at lower computational cost. At the same time, the most efficeint bounce-back scheme can be implemented as that in the standard lattice Botlzmann method if it is required, e.g., if the water depth is unknown and no-slip boundary condition is applied at south boundary for a straight channel, f 2 e q , f 3 e q , f 4 e q in Equation (21) are unknown and they can be determined as f 2 e q = f 6 e q , f 3 e q = f 7 e q , f 4 e q = f 8 e q using the bounce-back scheme for no-slip boundary condition, after which the water depth can be determined from Equation (21) and in this case Equation (22) is no longer required for calculation of velocity as the initial zero velocity will retain as no-slip boundary condition there.
  • It is more efficient and needs less memory: compared to the eLABSWE [15,16], the proposed model is more efficient and needs less computer storage because for each time step in the eLABSWE, (1) calculations of particle distribution function f α needs both additional computational cost and computer storage, and (2) conversion of physical variables into particle distribution function also needs additional computational cost for boundary conditions.
  • It is an automatic simulator: All above features make the MacLABSWE an automatic simulator without tuning other simulation parameters for modelling a large flow system when a super-fast computer, such as a quantum computer, becomes available in the future.

6.2. Main Limitation

The only limitation of the proposed model is that, for a very small eddy viscosity or very high speed flow, the chosen lattice size after satisfying R l e < 1 may turn out to generate very large lattice points (Lattice points, e.g., for one dimension with length of L is calculated as N L = L / δ x and N L is the lattice points); if the total of lattice points is too big such that the demanding computations are beyond the current power of a computer, the simulation cannot be carried out. Such difficulties may be solved or relaxed through parallel computing using computer techniques such as GPU processors and multiple servers, and will be largely or completely removed using a quantum computer when it becomes available.

7. Validation

In order to verify the described model, three numerical tests typical of shallow water flows are presented. The SI Units are used for the physical variables in the following numerical simulations.

7.1. 1D Tidal Flow

First of all, a tidal flow over an irregular bed is predicted, which is a common flow problem in coastal engineering. The bed is defined with data listed in Table 1. Here, we consider a 1D problem with the initial and boundary conditions of
h ( x , 0 ) = 16 z b ( x ) ,
u x ( x , 0 ) = 0
and
h ( 0 , t ) = 20 4 sin π 4 t 86 , 400 + 1 2 ,
u x ( 1500 , t ) = 0 .
In the simulation, δ x = 7.5 m or 200 lattices are used with eddy viscosity of ν = 31.25 m 2 /s for same computational parameters used in [15]. This is an unsteady flow. Two numerical results at t = 10,800 s and t = 32,400 s corresponding to the half-risen tidal flow with maximum positive velocities and to the half-ebb tidal flow with maximum negative velocities are compared with the analytical solutions [26] and depicted in Figure 2 and Figure 3, respectively. The maximum relative errors are less than 0.005% for the water level, less than 0.05% for velocity larger than 0.002 m/s, and less than 0.3% for smaller velocity, revealing excellent agreements. After compared with the results using eLABSWE [15,16], it is revealed that the two models effectively predict the similar accurate results up to machine-accuracy of a computer. However, the current model is more efficient and needs less computer storage to generate the solutions.

7.2. 2D Wind-Driven Circulation

Secondly, we consider a wind-driven circulation in a lake, which may generate a complex flow phenomenon depending on the bed topography of a lake and the wind speed. In this test, a uniform wind shear stress is applied to the shallow water in a circular basin with the bed topography defined by the still water depth H,
H ( x , y ) = 1 1.3 1 2 + 1 2 x 2 + y 2 386.4 ,
from which, the bed level can be determined as z b ( x , y ) = H ( 0 , 0 ) H ( x , y ) . The same dish-shaped basin is also used by Rogers et al. [27] to test a Godunov-type method. Initially, the water in the basin is still and then a uniform wind speed of u w = 5 m/s blows from southwest to northeast, at which wind shear stress is calculated from Equation (4). Its steady flow consists of two relatively strong counter-rotating gyres with flow in the deeper water against the direction of the wind, exhibiting complex flow phenomenon. In the numerical computation, δ x = 2 or 200 × 200 lattices are used with eddy viscosity of ν = 5.33 m 2 /s. After the steady solution is obtained, the flow field is shown in Figure 4 and the normalised resultant velocities at cross section A-A are compared with the analytical solution [28] in Figure 5, exhibiting similar agreement to that by Zhou and Liu using eLABSWE [16] for the same test. Although there is discrepancy between the numerical prediction and the analytical solution, such agreement is reasonable due to the fact that the assumptions of both the rigid-lid approximation for the water surface and a parabolic distribution for the eddy viscosity were used in the analytical solution.

7.3. Flow over a 2D Hump

Finally, a steady shallow water flow over a 2D hump is investigated. The 2D hump is defined as
z b ( x , y ) = ψ ( x , y ) , if ( x , y ) Ω , 0 , otherwise ,
where Ω = [ 300 , 500 ] × [ 400 , 600 ] and
ψ ( x , y ) = sin 2 π ( x 300 ) 200 sin 2 π ( y 400 ) 200 .
The flow conditions are: discharge per unit width is q = 10 m 2 /s; water depth is h = 10 m at the outflow boundary and the channel is 1000 m long and 1000 m wide. This is the same test as that used by researchers in validation of numerical methods [29,30,31] for sediment transport under shallow water flows. Here, only steady flow over the fixed bed without sediment transport is simulated as prediction of correct flow plays an essential role in the determination of bed evolution, and hence it is a suitable test for the proposed scheme. We use δ x = 5 or 200 × 200 lattices in the simulation. After the steady solution is obtained, the velocities u x and u y are shown in Figure 6 and Figure 7, respectively, demonstrating good agreements with those obtained using high-resolution Godunov-type numerical methods [29,30,31]. The results are also compared to that using the eLABSWE and again show similar accuracy.

8. Conclusions

The paper presents a novel macroscopic lattice Boltzmann method for the shallow water equations (MacLABSWE). The collision step is removed and the model is completely determined by the lattice size only, creating a minimal version of the lattice Boltzmann method, MacLABSWE. This changes the standard view of two integral steps of streaming and collision in the conventional lattice Boltzmann method. The shallow water equations are recovered from the MacLABSWE to ensure that the calculated water depth and velocities from the mode are the solutions to the shallow water equations. The derivation of the model and the recovery of the flow equations are independent of the single relaxation time τ and consistent with each other. Steady and unsteady numerical tests have shown that the method can provide accurate solutions. The main conclusions are
  • The method is unconditionally stable, which shares the same validation as that of the local equilibrium distribution function. This takes the research on the method into a new era in which future work may focus on improving the accuracy of or formulating a new local equilibrium distribution function.
  • The model depends on physical variables only and they are directly applied as boundary condition without converting them to their corresponding distribution functions, which not only save computational storage at lower computational cost but also achieve an exact no-slip boundary condition unlike the use of the first or second order-accurate bounce-back scheme.
  • The MacLABSWE is an automatic model for water flows once a lattice size is chosen. It is an ideal model for simulation of any scale flows to achieve an ultimate goal of generating real-time predictions for solving challenging flow problems such as weather forecast and flooding when a super-fast computer such as a quantum computer becomes available in the future.
  • It is discovered that the use of Equation (23) for the particle speed e in the local equilibrium distribution function naturally embeds the eddy viscosity in the MacLABSWE without any treatment.
  • The model preserves the simple arithmetic calculations of the lattice Boltzmann method at the full advantages of the conventional lattice Boltzann method. The most efficient bounce-back scheme can be applied straightforwardly, if it is necessary.
  • The solution procedure involves two fewer steps compared to eLABSWE and the conventional lattice Boltzmann method, making the model more efficient.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The author declares no conflict of interest.

References

  1. Vreugdenhil, C.B. Numerical Methods for Shallow-Water Flow; Kluwer Academic Publishers: Dordrecht, The Netherland, 1994. [Google Scholar]
  2. Alcrudo, A.; Garcia-Navarro, P. A High Resolution Godunov-Type Scheme in Finite Volumes for the 2D Shallow Water Equations. Int. J. Numer. Methods Fluids 1993, 16, 489–505. [Google Scholar] [CrossRef]
  3. Casulli, V. Semi-implicit Finite Difference Methods for the Two-dimensional Shallow Water Equations. J. Comput. Phys. 1990, 86, 56–74. [Google Scholar] [CrossRef]
  4. Borthwick, A.G.L.; Akponasa, G.A. Reservoir flow prediction by contravariant shallow water equations. J. Hydr. Eng. Div. ASCE 1997, 123, 432–439. [Google Scholar] [CrossRef]
  5. Yulistiyanto, B.; Zech, Y.; Graf, W.H. Flow around a cylinder: Shallow-water modeling with diffusion-dispersion. J. Hydraul. Eng. ASCE 1998, 124, 419–429. [Google Scholar] [CrossRef]
  6. Hu, K.; Mingham, C.G.; Causon, D.M. Numerical simulation of wave overtopping of coastal structures using the non-linear shallow water equations. Coast. Eng. 2000, 41, 433–465. [Google Scholar] [CrossRef]
  7. Zhou, J.G. Lattice Boltzmann Methods for Shallow Water Flows; Springer: Berlin, Germany, 2004. [Google Scholar]
  8. Zhou, J.G. Velocity-Depth Coupling in Shallow Water Flows. J. Hydr. Eng. ASCE 1995, 121, 717–724. [Google Scholar] [CrossRef]
  9. Zhou, J.G.; Causon, D.M.; Mingham, C.G.; Ingram, D.M. The surface gradient method for the treatment of source terms in the shallow-water equations. J. Comput. Phys. 2001, 168, 1–25. [Google Scholar] [CrossRef]
  10. Zhou, J.G. A lattice Boltzmann model for the shallow water equations. Comput. Methods Appl. Mech. Eng. 2002, 191, 3527–3539. [Google Scholar] [CrossRef]
  11. Swift, M.R.; Osborn, W.R.; Yeomans, J.M. Lattice Boltzmann Simulation of Nonideal Fluids. Phys. Rev. Lett. 1995, 75, 830–833. [Google Scholar] [CrossRef] [Green Version]
  12. Spaid, M.A.A.; Phelan, F.R., Jr. Lattice Boltzmann method for modeling microscale flow in fibrous porous media. Phys. Fluids 1997, 9, 2468–2474. [Google Scholar] [CrossRef]
  13. Zhou, J.G. A lattice Boltzmann Model for Groundwater Flows. Int. J. Mod. Phys. C 2007, 18, 973–991. [Google Scholar] [CrossRef]
  14. Zhou, J.G. Lattice Boltzmann morphodynamic model. J. Comput. Phys. 2014, 270, 255–264. [Google Scholar] [CrossRef]
  15. Zhou, J.G. Enhancement of the LABSWE for shallow water flows. J. Comput. Phys. 2011, 230, 394–401. [Google Scholar] [CrossRef]
  16. Zhou, J.G.; Liu, H. Determination of bed elevation in the enhanced lattice Boltzmann method for the shallow-water equations. Phys. Rev. E 2013, 88, 023302. [Google Scholar] [CrossRef]
  17. Liu, H.; Zhou, J.G.; Burrows, R. Lattice Boltzmann model for shallow water flows in curved and meandering channels. Int. J. Comput. Fluid Dyn. 2009, 23, 209–220. [Google Scholar] [CrossRef]
  18. Liu, H.; Zhou, J.G.; Burrows, R. Multi-block lattice Boltzmann simulations of subcritical flow in open channel junctions. Comput. Fluids 2009, 38, 1108–1117. [Google Scholar] [CrossRef]
  19. Liu, H.; Zhou, J.G.; Burrows, R. Numerical modelling of turbulent compound channel flow using the lattice Boltzmann method. Int. J. Numer. Methods Fluids 2009, 59, 753–765. [Google Scholar] [CrossRef]
  20. Liu, H.; Zhou, J.G.; Li, M.; Zhao, Y. Multi-block lattice Boltzmann simulations of solute transport in shallow water flows. Adv. Water Resour. 2013, 58, 24–40. [Google Scholar] [CrossRef]
  21. Ladd, A.J. Numerical simulations of particulate suspensions via a discretized Boltzmann equation. Part 1.Theoretical foundation. J. Fluid Mech. 1994, 285, 285–309. [Google Scholar] [CrossRef] [Green Version]
  22. Zhou, J.G. Macroscopic Lattice Boltzmann Method. Water 2021, 13, 61. [Google Scholar] [CrossRef]
  23. Bhatnagar, P.L.; Gross, E.P.; Krook, M. A model for collision processes in gases. I: Small amplitude processes in charged and neutral one-component system. Phys. Rev. 1954, 94, 511–525. [Google Scholar] [CrossRef]
  24. He, X.; Chen, S.; Doolen, G.D. A Novel Thermal Model for the Lattice Boltzmann Method in Incompressible Limit. J. Comput. Phys. 1998, 146, 282–300. [Google Scholar] [CrossRef]
  25. Zhou, J.G. Axisymmetric lattice Boltzmann method revised. Phys. Rev. E 2011, 84, 036704. [Google Scholar] [CrossRef] [PubMed]
  26. Bermudez, A.; Vázquez, M.E. Upwind Methods for Hyperbolic Conservation Laws with Source Terms. Comput. Fluids 1994, 23, 1049–1071. [Google Scholar] [CrossRef]
  27. Rogers, B.; Fujihara, M.; Borthwick, A.G.L. Adaptive Q-tree Godunov-Type Scheme for Shallow Water Equations. Int. J. Numer. Methods Fluids 2001, 35, 247–280. [Google Scholar] [CrossRef]
  28. Kranenburg, C. Wind-driven chaotic advection in a shallow model lake. J. Hydr. Res. 1992, 30, 29–46. [Google Scholar] [CrossRef]
  29. Benkhaldoun, F.; Sahmim, S.; Seaïd, M. A two-dimensional finite volume morphodynamic model on unstructured triangular grids. Int. J. Numer. Methods Fluids 2010, 63, 1296–1327. [Google Scholar] [CrossRef]
  30. Huang, J.; Borthwick, A.G.L.; Soulsby, R.L. Adaptive Quadtree Simulation of Sediment Transport. Proc. Inst. Civ. Eng. J. Eng. Comput. Mech. 2010, 163, 101–110. [Google Scholar] [CrossRef] [Green Version]
  31. Hudson, J.; Sweby, P.K. A high-resolution scheme for the equations governing 2D bed-load sediment transport. Int. J. Numer. Methods Fluids 2005, 47, 1085–1091. [Google Scholar] [CrossRef]
Figure 1. Two-dimensional square lattice for nine-particle velocities, which are labelled by Numbers 1–8 for directions and 0 for still particle (D2Q9).
Figure 1. Two-dimensional square lattice for nine-particle velocities, which are labelled by Numbers 1–8 for directions and 0 for still particle (D2Q9).
Water 14 02065 g001
Figure 2. Comparison of velocity at t = 10,800 s when flow is in the half-risen tide with maximum positive velocities for 1D tidal flow.
Figure 2. Comparison of velocity at t = 10,800 s when flow is in the half-risen tide with maximum positive velocities for 1D tidal flow.
Water 14 02065 g002
Figure 3. Comparison of velocity at t = 32,400 s when the flow is in the half-ebb tide with maximum negative velocities for 1D tidal flow.
Figure 3. Comparison of velocity at t = 32,400 s when the flow is in the half-ebb tide with maximum negative velocities for 1D tidal flow.
Water 14 02065 g003
Figure 4. Flow field for wind-driven flow, showing well-developed counter-rotating gyres with flow in the deeper water against the direction of the wind.
Figure 4. Flow field for wind-driven flow, showing well-developed counter-rotating gyres with flow in the deeper water against the direction of the wind.
Water 14 02065 g004
Figure 5. Comparison of the resultant velocities along cross-section A-A (see Figure 4) with the analytical solution [28], where U 0 = 0.129 and s = u x + u y .
Figure 5. Comparison of the resultant velocities along cross-section A-A (see Figure 4) with the analytical solution [28], where U 0 = 0.129 and s = u x + u y .
Water 14 02065 g005
Figure 6. Velocity u x distribution for a steady flow over a 2D bump.
Figure 6. Velocity u x distribution for a steady flow over a 2D bump.
Water 14 02065 g006
Figure 7. Velocity u y distribution for a steady flow over a 2D bump.
Figure 7. Velocity u y distribution for a steady flow over a 2D bump.
Water 14 02065 g007
Table 1. Bed elevation z b for irregular bed.
Table 1. Bed elevation z b for irregular bed.
Horizontal distance x ( m ) 050100150250300350400
Bed elevation z b ( m ) 002.555355
x ( m ) 425435450475500505530550565575
z b ( m ) 7.58999.19965.55.5
x ( m ) 60065070075080082090095010001500
z b ( m ) 54332.321.20.400
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Zhou, J.G. Macroscopic Lattice Boltzmann Method for Shallow Water Equations. Water 2022, 14, 2065. https://doi.org/10.3390/w14132065

AMA Style

Zhou JG. Macroscopic Lattice Boltzmann Method for Shallow Water Equations. Water. 2022; 14(13):2065. https://doi.org/10.3390/w14132065

Chicago/Turabian Style

Zhou, Jian Guo. 2022. "Macroscopic Lattice Boltzmann Method for Shallow Water Equations" Water 14, no. 13: 2065. https://doi.org/10.3390/w14132065

APA Style

Zhou, J. G. (2022). Macroscopic Lattice Boltzmann Method for Shallow Water Equations. Water, 14(13), 2065. https://doi.org/10.3390/w14132065

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop