Top Banner
Computational Study of Two Dimensional Free Surface Simulation Using Lattice Boltzmann Method by Md. Kamrul Hasan Supervisor: Prof. Rho-Taek Jung School of Naval Architecture and Ocean Engineering University of Ulsan January, 2012
63
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Hasan_Thesis

Computational Study of Two Dimensional Free Surface

Simulation Using Lattice Boltzmann Method

by

Md. Kamrul Hasan

Supervisor: Prof. Rho-Taek Jung

School of Naval Architecture and Ocean Engineering

University of Ulsan

January, 2012

Page 2: Hasan_Thesis
Page 3: Hasan_Thesis

i

Abstract

Free surface has long been one of the most popular topics in the field of

Computational Fluid Dynamics (CFD) because of its importance in many engineering

applications. On the other hand, Lattice Boltzmann Method (LBM) has also evolved the

reputation in CFD world due to its simplicity in coding and ease of implementation.

In this thesis, an algorithm about how to simulate two dimensional dam breaking with

lattice Boltzmann method (LBM) is presented. LBM is a relatively new simulation

technique for complex fluid systems and has attracted interest from researchers in

computational physics. Unlike the traditional CFD methods, which solve the conservation

equations of macroscopic properties (i.e., mass, momentum, and energy) numerically. LBM

considers a typical volume element of fluid to be composed of a collection of particles that

is represented by a particle velocity distribution function for each fluid component at each

grid. We use the modified Lattice Boltzmann Method for incompressible fluid and surely

there is a difference in the LBM between the compressible and incompressible fluid. We

will represent detailed information on single phase flow which considers only the water

instead of both air and water. Interface treatment and conservation of mass are the most

important things in simulating free surface where the interface is treated by mass exchange

within the water region. We consider free surface boundary condition on the interface and

bounce back boundary condition for the treatment of solid obstacles. Finally, the results of

the simulation will be compared with some other methods like Volume of Fluid, Level Set

Method etc and some examples related with free surface will also be provided in the thesis.

Page 4: Hasan_Thesis

ii

Acknowledgements

Foremost, I would like to thank my Allah (God) for creating me in this world and

for giving me such a wonderful life. Then I wish to express my sincere gratitude to my

advisor Prof. Rho-Taek Jung, for the continuous support of my Master’s study and

research, for his patience, motivation, enthusiasm, and immense knowledge. His guidance

helped me all the time of my research and writing of this thesis. I could not have imagined

having a better advisor and mentor for my research.

Besides my advisor, I would like to thank the member of my thesis committee, Prof. Hyung

Taek Ahn and Prof. Weoncheol Koo, for their encouragement and insightful comments.

My sincere thanks also go to all the professors of the school of NAOE for giving the

guidance through their lectures in the class to carry out my research. I am really very much

thankful to my lab mates specially, Md. Sayeemuzzaman, for the stimulating discussions,

for the sleepless nights we were working together before deadlines, and for all the fun we

have had during the last two years. I also thank my other colleagues in the department.

I would like to express the deepest appreciation to my parents Md. Mosharraf Hossaian

and Mrs. Kamrun Nesa, to give me their endless love and my brother Md. Samiul Hasana

and cousine Abu Lahel, to assist my in various occasions since my childhood. Finally, I

would like to give warm thanks to my wife, Tanziha Tasnim, for her support, concern and

always kind & friendly encouragements throughout my study.

Page 5: Hasan_Thesis

iii

Contents

Abstract i

Acknowledgement ii

Contents iii

List of Figures iv

List of Tables vi

CHAPTER 1 Introduction 1

CHAPTER 2 Numerical Methods in Fluid Study 3

CHAPTER 3 Lattice Boltzmann Method 6

3.1 Lattice Gas Automata 6

3.2 Boltzmann Gas concept 9

3.3 LBM Framework 11

3.4 Advantage & Disadvantage of LBM 21

CHAPTER 4 Free Surface Treatments 23

4.1 Governing Equations 23

4.2 Gravitational Effect in Free Surface 23

4.3 Free Surface 24

4.4 Interface Advections 25

4.5 Boundary Conditions 28

4.6 Handling of excess mass 32

4.7 Force on the boundary 33

CHAPTER 5 Implementation and Result 35

5.1 Algorithm of the Process to Simulate Breaking Dam 35

5.2 Numerical Results 38

CHAPTER 6 Concluding Remarks 51

References 53

Page 6: Hasan_Thesis

iv

List of Figures

Figure 3.1: FHP unit velocity vectors 8

Figure 3.2: Zero net momentum, head-on, 2- and 3- particle collisions 9

Figure 3.3: D2Q9 lattice & velocity directions 12

Figure 4.1: Mass exchange between two interface cells 27

Figure 4.2: Reconstruction of distribution function coming from empty cells 29

Figure 4.3: Modified bounceback 30

Figure 5.1: Computational Domain 38

Figure 5.2(a): time 0.00212s 39

Figure 5.2(b): time 0.00637s 39

Figure 5.2(c): time 0.0106s 39

Figure 5.2(d): time 0.0148s 39

Figure 5.2(e): time 0.0212s 39

Figure 5.2(f): time 0.0255s 39

Figure 5.2(g): time 0.0318s 40

Figure 5.2(h): time 0.0425s 40

Figure 5.2(i): time 0.0531s 40

Figure 5.2(j): time 0.0637s 40

Figure 5.2(k): time 0.0743s 40

Figure 5.2(l): time 0.0828s 40

Figure 5.3(a): time 0.00094s 42

Figure 5.3(b): time 0.0094s 42

Figure 5.3(c): time 0.0141s 42

Figure 5.3(d): time 0.0188s 42

Figure 5.3(e): time 0.0236s 42

Figure 5.3(f): time 0.0283s 42

Figure 5.3(g): time 0.033s 43

Figure 5.3(h): time 0.0424s 43

Figure 5.3(i): time 0.0576s 43

Figure 5.3(j): time 0.0708s 43

Figure 5.3(k): time 0.0755s 43

Figure 5.3(l): time 0.085s 43

Figure 5.4(a): time 0.00053s 44

Page 7: Hasan_Thesis

v

Figure 5.4(b): time 0.008s 44

Figure 5.4(c): time 0.016s 44

Figure 5.4(d): time 0.0217s 44

Figure 5.4(e): time 0.024s 44

Figure 5.4(f): time 0.027s 44

Figure 5.4(g): time 0.0324s 45

Figure 5.4(h): time 0.0398s 45

Figure 5.4(i): time 0.0478s 45

Figure 5.4(j): time 0.053s 45

Figure 5.4(k): time 0.0637s 45

Figure 5.4(l): time 0.0743s 45

Figure 5.5(a): Horizontal position of free surface at various time steps. 47

Figure 5.5(b): Conservation of mass at various time steps. 48

Figure 5.5(c): Computational forces on right vertical wall at various time steps 49

Figure 5.5(d): Physical forces on right vertical wall at various time steps 50

Page 8: Hasan_Thesis

vi

List of Tables

Table 4.1: velocity directions and weight functions of D2Q9 13

Page 9: Hasan_Thesis

1

CHAPTER 1

Introduction

One of the important applications of free surface is breaking dam as it is directly

related to free surface flow. A free surface is the surface of a fluid that is subject to constant

perpendicular normal stress and zero parallel shear stress, such as the boundary between

two homogenous fluids, for example liquid water and the air in the Earth's atmosphere. This

means free surface flow is defined as a multiphase flow. But in case of particular

application such as dam breaking, the air part can be neglected and so the multiphase is

converted to single phase. The reason for the term "free" comes from the huge difference in

the densities of the gas and liquid. For example, water has a density of 1000 kgm-3

whereas

air has a density of 1.2041 kgm-3

. A low gas density means that its inertia can generally be

ignored compared to that of the liquid. In this sense the liquid moves independently, or

freely, with respect to the gas. The only influence of the gas is the pressure it exerts on the

liquid surface. In other words, the gas-liquid surface is not constrained, but free.

In the numerical study we use the Lattice Boltzmann Method for incompressible flow. The

entire framework is constituted from a particle perspective where collisions, streaming and

particle-particle interactions. LBM is quite handy to simulate single as well as multiphase

flow. A rich variety of behaviors, including unsteady flows, phase separation, evaporation,

condensation, cavitations, solute and heat transport, buoyancy and fluid structure

interactions can easily be simulated. Besides, due to the ease of extensibility and very good

computational efficiency, Lattice Boltzmann Method has achieved a promising alternative

over the conventional Navier-Stokes equations.

Free surface treatment, as one of the heart touching topics in computational fluid dynamics,

has been carried out already by many fluid dynamists. Interactive free surface fluids [1],

Stable free surface flows on adaptively coarsened grids [2], Implementation of virtual river

[3], Interfacial wave modeling [4] are some of major works done with Lattice Boltzmann

Method. In the thesis, a computational study is developed to simulate the breaking dam. In

Page 10: Hasan_Thesis

2

order to simulate the free surface one has to be very careful in handling the interface as the

proper treatment of interface gives good simulation result. We will provide mathematical

presentation of interface movement by mass exchange between interface-interface and

interface-fluid region. Interface advection is done with the help of the fluid fraction, which

is updated by recording the inflow and outflow of mass via distribution functions.

Maintaining the conservation of mass is one of the vital tasks in free surface simulation. We

apply the second order bounce back boundary conditions for the treatment of solid and for

the free surface boundary condition we give a reconstruction method in the interface

between air and water.

Page 11: Hasan_Thesis

3

CHAPTER 2

Numerical Methods in Fluid Study

Study of Fluid Motion

Computational Fluid dynamics (CFD) has developed mainly around using

numerical techniques to solve the Navier-Stokes equation and the continuity equation or an

equation derived from them. Another approach which has proved less popular is the

molecular dynamics approach.

Fluid motion can take a variety of forms ranging from simple flows such as laminar flow in

a pipe, to more complex flows such as vortex shedding behind cylinders, wave motion and

turbulence. It incorporates both liquid and gaseous flows also which is the objective of this

thesis. Many of the different flow situations have been examined experimentally; however

it is advantageous to develop a numerical model capable of simulating the many flow

structures experienced in the motion of different fluids.

2.1.1 Numerical Solutions of Navier-Stokes Equations

The most popular method in CFD is the numerical solution of the Navier-Stokes

Equation. Given the Navier-Stokes equation and a set of suitable boundary conditions it is

possible to solve on a grid using the standard numerical techniques. This works well for

simple flows; however more complex problems frequently require a more complex

approach. There are many standard texts on numerical methods in fluids including Roach

[1] and Conner and Brebbia [2].

2.1.2 Molecular Dynamics

One obvious way to simulate a fluid on a computer is to model the individual

molecules which make up the fluid. Then, provided the inter-molecular interactions are

Page 12: Hasan_Thesis

4

modeled correctly, the system should behave as a fluid [3]. Different situations can be

modeled by changing the average energy of the molecules and their separation.

The main disadvantage with such an approach is that large computer resources are required,

many simulations taking hours to evolve a fraction of a second [4]. The system must be

updated in small time steps, the new position and velocity of all particles being calculated,

at every time step, from a knowledge of their previous position and velocity, taking into

account any external forces which are acting on them. Any particles which collided during

the previous time step have to be identified and their new trajectories calculated. This can

be restrictively time consuming when considering even a very small volume of fluid. Even

when a gas is being considered where there are fewer molecules and a larger time step can

be used, because of the longer mean free path of the molecules, the number of molecules

which can be considered is severely limited.

2.1.3 Lattice Gas Modelling

Over the past ten years, a new method for the computer simulation of fluids has

been developed: the lattice gas model [5]. Instead of considering a large number of

individual molecules, the molecular dynamics approach, a much smaller number of fluid

particles are considered. A fluid particle is a large group of molecules which although much

larger than a molecule is still considerably smaller than the smallest length scale of the

simulation. This reduces the amount of data which needs to be stored since large

simulations can be performed using less than one million particles. This is justified on the

grounds that the macroscopic properties do not depend directly on the microscopic behavior

of the fluid. This can be seen in low Mach flows where, provided the Reynolds number is

the same, experiments carried out in a water tank and a wind tunnel produce the same

results. These two fluids have different microscopic structures, but they both exhibit the

same macroscopic features. In a lattice gas model the particles are restricted to move on the

links of a regular underlying grid and the motion evolves in discrete time steps. The

conservation laws are incorporated into update rules which are applied at each discrete

time. A lattice gas model in which the state of the fluid needs to be known only at the

Page 13: Hasan_Thesis

5

lattice sites and only at discrete times can run much faster on a computer than a molecular

dynamics simulation. The lattice gas model has another big advantage over molecular

simulation since all the collisions occur at the same time. This is a particular advantage if

the simulation is being run on a parallel computer. These two time saving advantages of the

lattice gas model allow simulations of a significantly large scale to be performed.

2.1.4 Lattice Boltzmann Models

The lattice Boltzmann model has evolved from the lattice gas model. There are a

number of difficulties with the lattice gas approach to fluid modeling; various modifications

have been made to overcome these difficulties and the outcome is the lattice Boltzmann

model. As the name suggests this technique involves simulating the Boltzmann equation.

= Ω (f,f) (2.1)

Where Ω (f,f) is a collision function, is the particle velocity and f is the distribution

function. The distribution function is a statistical parameter from which the macroscopic

properties of the fluid can be found. The simulation of the Boltzmann equation is

performed on a regular lattice and the forms of the collision function Ω is taken to be the

BGK [6] collision operator which was first considered to represent collisions in the non-

discrete Boltzmann equation. The computation reflects the evolution from the lattice gas

model. The model is updated in the same manner as the lattice gas model except that now,

instead of considering individual particles to be travelling along the links, it is the

distribution function which is evolved. The lattice Boltzmann model has the advantages

associated with the lattice gas model but all the lattice gas difficulties have been overcome.

Thus the lattice Boltzmann model is an ideal tool in fluid simulation.

Page 14: Hasan_Thesis

6

CHAPTER 3

Lattice Boltzmann Method

3.1 Lattice Gas Automata

Lattice gas cellular automaton [10] models were the predecessors of LBM. They

represent simpler and possibly more intuitive framework for learning gases on lattice and

might be helpful to developing a fuller understanding of LBM.

3.1.1 Cellular automaton

A cellular automaton (CA) [9] is an algorithmic entity that occupies a position on a

grid or lattice point in space and interacts with its identical neighbors. It is a discrete model

studied in computability theory, mathematics, physics, complexity science, theoretical

biology and microstructure modeling. A cellular automaton generally examines its own

state and the state of some number of its neighbors at any particular time step and then

resets its own state for the next time step according to simple rules [21]. Hence, the rules

and initial and boundary conditions imposed on the group of the cellular automata uniquely

their evolution of time. It consists of a regular grid of cells, each in one of a finite number

of states, such as "On" and "Off" (in contrast to a coupled map lattice). The grid can be in

any finite number of dimensions. For each cell, a set of cells called its neighborhood

(usually including the cell itself) is defined relative to the specified cell. For example, the

neighborhood of a cell might be defined as the set of cells a distance of 2 or less from the

cell. An initial state (time t=0) is selected by assigning a state for each cell. A new

generation is created (advancing t by 1), according to some fixed rule (generally, a

mathematical function) that determines the new state of each cell in terms of the current

state of the cell and the states of the cells in its neighborhood. For example, the rule might

be that the cell is "On" in the next generation if exactly two of the cells in the neighborhood

are "On" in the current generation; otherwise the cell is "Off" in the next generation.

Page 15: Hasan_Thesis

7

Typically, the rule for updating the state of cells is the same for each cell and does not

change over time, and is applied to the whole grid simultaneously, though exceptions are

known.

The main motivation for the transition from LGA to LBM was the desire to remove the

statistical noise by replacing the Boolean particle number in a lattice direction with its

ensemble average, the so-called density distribution function. Accompanying this

replacement, the discrete collision rule is also replaced by a continuous function known as

the collision operator. In the LBM development, an important simplification is to

approximate the collision operator with the Bhatnagar-Gross-Krook (BGK) relaxation term

[6]. This lattice BGK (LBGK) model makes simulations more efficient and allows

flexibility of the transport coefficients. On the other hand, it has been shown that the LBM

scheme can also be considered as a special discretized form of the continuous Boltzmann

equation. From Chapman-Enskog theory, one can recover the governing continuity and

Navier-Stokes equations from the LBM algorithm. In addition, the pressure field is also

directly available from the density distributions and hence there is no extra Poisson

equation to be solved as in traditional CFD methods.

3.1.2 Two Dimensional Lattice Gas Model of Fluid Flow

Lattice gas cellular automata were presented as a viable means of solving the

Navier-Stokes equations of fluid motion in a landmark paper that appeared in 1986. Frish,

Hasslacher, and Pomeau (Frish et al. 1986) provide the first lattice gas model that could

properly simulate the 2-dimensional Navier-Stokes equations [5]. It is commonly referred

to as the ‘FHP’ model after these authors. This model is constructed on a equilateral

triangle lattice that provides an isotropic solution. Lattice points are separated by 1 lattice

unit (lu) and all particles have only one speed 1 lu/time step. At each lattice point x, there

may be upto six particles – one for each of the possible velocities defined by the particle

speed and one of the six possible directions: ei = (cos πi/3, sin πi/3) where i = 1,2,….,6

and ea is the velocity vector pointing from the origin (0,0) to the Cartesian coordinate (cos

πi/3, sin πi/3). A string of Boolean variables n = (n1, n2, …., n6) contains the states 0 or 1)

Page 16: Hasan_Thesis

8

indicating the presence (1) or absence (0) of particles moving from a lattice gas site at x

to a neighboring site at x + ei.

The evolution of a lattice gas model proceeds in two steps that take place during each time

step. The first step is a propagation or streaming step in which the particles move to new

sites according the their previous positions and their velocities. Next, the particles collide

and scatter according to collision rules.

Collision Rules:

There are several possible types of collisions on the hexagonal lattice. Only two

types are considered in the simplest FHP model; two-body collisions involve two particles

while three-body collisions involve three. Two critical features of the lattice gas that allow

it to simulate the Navier-Stokes equations are mass conservation and momentum

conservation. Thus, it is essential that the microscopic-scale collisions honor mass and

momentum conservation. In the lattice gas, all particles have the same mass and speed so

that the momentum conservation reduces to the conservation of the vector sum of the

velocities. Head-on collisions between two particles (or three particles approaching one

another from 120° separation) have no net momentum. Hence the results of these collisions

must have zero net momentum.

Page 17: Hasan_Thesis

9

The vectors shown in these figures represent velocity vectors attributable to particles at the

centre of each hexagon just prior to and just after the collision step.

3.2 Boltzmann Gas concept

The basic idea of Boltzmann’s work is that a gas is composed of interactive

particles that can be described by classical mechanics, and, because there are so many

particles, a statistical treatment is necessary and appropriate. The mechanics can be

extremely simple and encapsulated by just the notions of the streaming in space and

billiard-like collision interactions. In this section how the Boltzmann equation comes will

be described.

3.2.1 Kinetic Theory

Let us consider a dilute gas consisting of hard spherical particles moving at great

velocity (~300ms-1

). We limit their interaction to elastic collisions. Hypothetically, it would

be possible to know the position vector (x) and momentum (p) of each individual particle at

some instant in time. Such information would give the exact dynamic state of the system

which, together with classical mechanics, would allow exact prediction of all future

states.We could describe the system by a distribution function f(N)

(xN,p

N,t) where N is the

number of particles. Here the distribution is thought of as residing in a ‘phase space’, which

is a space in which the coordinates are given by the position, momentum vectors and time.

Page 18: Hasan_Thesis

10

3.2.2 First Order Distribution Function

Statistical mechanics offers a statistical approach in which we represent a system by an

ensemble of many copies. The distribution function f(1)

(x,p,t) gives the probability of

finding a particle molecule with a given position and momentum; the positions and

momenta of the remaining N-1 molecules can remain unspecified because no experiment

can distinguish between molecules, so the choice of which molecule does not matter. This

is the single particle distribution function. f(1)

is adequate all gas properties that do not

depend on relative positions of molecules.

The probable number of molecules with position coordinates in the range x±dx and

momentum p±dp is given by f(1)

(x,p,t) dxdp. Let us consider an external force F that is

small relative to intermolecular forces. If there are no collisions, then at time t+dt, the new

positions of molecules starting at x are x + (p/m)dt = x + (dx/dt) dt = x + dx and the new

momentum would be p = p + Fdt = p + (dp/dt)dt = p + dp.

Thus, when the positions and momentum are known at a particular time t, incrementing

them allows us to determine f(1)

at a future time t+dt.

f(1)

( x + dx, p + dp, t+dt) dx dp = f(1)

(x,p,t) dxdp (3.1)

This is the streaming process. There are however collisions that result in some phase points

starting at (x,p) not arriving at (x + p/mdt,p + Fdt) = (x + dx, p + dp) and some not starting

at (x,p) arriving there too. We set Γ(-)

dxdpdt equal to the number of molecules that do not

arrive in the expected portion of phase space due to collisions during time dt. Similarly, we

set Γ(+)

dxdpdt equal to the number of molecules that start somewhere other than (x,p) and

arrive in that portion of phase space due to collisions during time dt. If we start with the

above equation and add tha changes in f(1)

due to these collisions we obtain

f(1)

( x + dx, p + dp, t+dt) dx dp = f(1)

(x,p,t) dxdp + [Γ(+)

- Γ(-)

] dxdpdt (3.2)

Page 19: Hasan_Thesis

11

The first order terms of a taylor series expansion of L.H.S of Eq. (3.2),

f(1)

( x + dx, p + dp, t+dt) dx dp =

f(1)

(x,p,t) + dx · ∇x f(1)

+ dp · ∇p f(1)

+ )

dt +….. , (3.3)

gives the Boltzmann equation

[ f(1 )

(x,p,t) +dx · ∇x f(1)

+ dp · ∇p f(1)

+ )

dt …..] dx dp= f

(1)(x,p,t)dxdp

+ [Γ(+)

- Γ(-)

]dxdpdt

From which we get the following:

v · ∇x f(1)

+ F · ∇p f(1)

+ )

…..= [Γ

(+) - Γ

(-)] (3.4)

In its complete form with the collision operator written more explicitly, the Boltzmann

equation is a nonlinear integral differential equation and is particularly complicated.

According to [7], 50 years elapsed from the time that Boltzmann derived the equation

before an approximate solution was found. With Lattice Boltzmann methods, we

approximately solve the equation from the particle perspective and focus on an equation

strongly akin to Eq. (3.2); it explicitly contains the collide and stream notion central to

LBM.

3.3 LBM Frameworks

Lattice Boltzmann methods vastly simplify Boltzmann’s original conceptual view

by reducing the number of possible particle spatial positions and microscopic momenta

from a continuum to just a handful and similarly discretizing time into distinct steps.

Particle positions are confined to the nodes of the lattice. In the thesis we will focus on 2-D

model where variations in momenta that could have been due to a continuum of velocity

directions and magnitudes and varying particle mass are reduced to eight directions, three

magnitudes, and a single particle mass.

Page 20: Hasan_Thesis

12

3.3.1 Lattice Boltzmann Models and Macroscopic & Microscopic Variables

There are various models in the study of Lattice Boltzmann methods. This LBM

classification scheme was proposed in [8] and is in widespread use.

The above figure shows the directional specification and the velocities ei where i =

0,1,…..,8 is a direction index and e0 indicates particles at rest. This model is known as

D2Q9 as it is two dimensional and contains 9 velocities.. The lattice unit (lu) is the

fundamental measure of length in the Lattice Boltzmann models and time steps (ts) are the

time unit. Besides this model there are some other models too. In case of two dimensional

models there some models like D2Q5, D2Q6. D2Q5 is a two dimensional square lattice

which has five velocity directional velocities and D2Q6 is a hexagonal lattice having six

directions. On the other hand, there are 3-D models in Lattice Boltzmann study like

D3Q15, D3Q27. There are 15 and 27 velocity directions in the case of D3Q15 and D3Q27

respectively.

In our study, we concentrate on D2Q9 lattice. The velocity magnitude of e1 through e4 is 1

lattice unit per time step and the velocity magnitude of e5 through e8 is 2 lattice unit per

time step. These velocities are exceptionally convenient in that all of their x- and y-

components are either 0 or ±1.

Page 21: Hasan_Thesis

13

The discrete velocity directions are obtained from the following equations.

ei = (0,0) for i = 0

ei = [ cos{ 0.5(i-1)π} , sin{ 0.5(i-1)π} ] for i = 1-4

ei = [ √2cos{ 0.25(2i-9)π} , √2sin{ 0.25(2i-9)π} ] for i = 5-8

These equations are used to find out the velocity directions for D2Q9 lattice. Actually there

are different types of equations in order to get the velocity directions for each of the model.

Below a table is given which shows the velocity directions for D2Q9 LB model

MODEL D2Q9

Directions 0 1 2 3 4 5 6 7 8

Discrete

velocity

Vectors

ex

ey

0

0

1

0

0

1

-1

0

0

-1

1

1

-1

1

-1

-1

1

-1

MODEL D2Q9

Directions 0 1 2 3 4 5 6 7 8

Discrete

velocity

Vectors

ex

ey

0

0

1

0

0

1

-1

0

0

-1

1

1

-1

1

-1

-1

1

-1

Table 4.1: velocity directions and weight functions of D2Q9

The next step is to incorporate the single-particle distribution function f, which is

essentially the one that appears in equation (3.2), except that it has only nine discrete ‘bins’

instead of being a continuous function. These distribution functions along nine directions

(for D2Q9) give us the hydrodynamic variables. The macroscopic fluid density is the

summation of all distribution functions of various directions.

= (3.5)

Page 22: Hasan_Thesis

14

The macroscopic velocity u is the average of the microscopic velocities ea weighted by the

directional density functions.

u =

(3.6)

This simple equation allows us to pass from the discrete microscopic velocities that

comprise the LBM back to a continuum of microscopic velocities representing the fluid’s

motion.

3.3.2 Derivation Governing Equations

The Boltzmann equation is a partial differential equation (PDE) describing the

evolution of the single particle distribution function f in phase space. This distribution

function is defined in such a way that f(x, ξ, t) is the probability for particles to be located

within a phase space control element dx dξ about x and ξ at time t where x and ξ are the

spatial position vector and the particle velocity vector, respectively [14]. The macroscopic

quantities, such as the density ρ and the velocity u, can then be obtained by evaluating the

first moments of the distribution function.

In the following paragraphs, we outline the major steps of the brief derivation of the

relevant equations and relations of the lattice Boltzmann method. Neglecting external

forces, the transport equation for f(x, ξ, t) can be expressed by the Boltzmann equation as

= Ω(f,f) (3.7)

The collision term Ω(f,f) is quadratic in f, consisting of a complex integra-differential

expression. A suitable simplification of the collision integral for the near equilibrium state

of low Mach number hydrodynamics is the single relaxation time approximation, the so-

called Bhatnagar Gross-Krook (BGK) model [6].

Ω(f,f) = -

( f -f

(0) ) (3.8)

where f(0)

is the Maxwell-Boltzmann equilibrium distribution function, and λ is the

relaxation time which controls the rate of approaching equilibrium, or in other words the

Page 23: Hasan_Thesis

15

viscosity of the fluid. The BGK relaxation still fulfills Boltzmann’s H-theorem and locally

conserves mass and momentum.

In order to solve for distribution function numerically, (3.7) is first discretized in the

velocity space using a finite set of velocity vectors (a = 0, 1. . .,N) leading to the velocity

discrete Boltzmann equation,

+ ei

= -

i = 0,1,….,N (3.9)

Where N is the total number of velocity directions. It should be noted that (x, t) is

equivalent to f (x, ei , t).

To obtain the main equation of the lattice Boltzmann approach, (13.3) is discretized

numerically in a very special manner. The discretization of space and time is accomplished

by an explicit finite difference approximation. By scaling the lattice spacing, the time step

and the discrete velocities appropriately, the discretized equations take the following

explicit form:

, ) , ) =

, )

, ) (3.10)

Where τ = λ/∆t is the dimensionless relaxation time and x is a point in the discretized

physical space.

For simulating two-dimensional flows, the 9-velocity D2Q9 model (i = 0, . . . , 8), and for

three-dimensional simulations, both, the 15-velocity D3Q15 (i = 0, . . . , 14) and the 19-

velocity D3Q19 model (i = 0, . . . , 18) are widely used. Surprisingly, the discretization with

such a low number of collocation points is sufficient to describe the fluid in the near-

equilibrium state of low Mach number hydrodynamics. Collisions of the fluid particles are

considered as a relaxation towards a local equilibrium. In Lattice Boltzmann method, for all

of these models there is a suitable equilibrium function.

Page 24: Hasan_Thesis

16

The equilibrium function

is a function of velocity directions, velocity and density and

is defined as

= 1

)

)

) (3.11)

With c =

and discrete velocity vectors . is the computational spatial step and is

the computational time step. In the Eq. (3.11) we can see the weighting factors which

depend on the lattice model [8] and are given in the following table with three models (2D

and 3D).

The above mentioned equilibrium function is usually used for compressible fluid flow but

there is also another equilibrium function for incompressible fluid and surely there is

difference between these two functions. As we know the main difference between

incompressible fluid and compressible fluid lies in the density. Similarly, in order to

distinguish the two functions in the case of lattice Boltzmann equilibrium function the

difference is in density. We will describe briefly in the next section about it.

Now some explanation of the Eq. (3.10) will be given. The right hand side of (3.10) is

usually called collision step and the left hand side is called streaming step. In streaming, we

move the direction-specific densities to the nearest neighbor lattice nodes.

Collision is the last key element of a Lattice Boltzmann Model. Traverse the domain and

implement of the governing equation at each node is the main task at collision process. For

the collision step, the equilibrium distribution function has to be calculated at each cell and

at each time step from the local density ρ using (3.5) and the local macroscopic flow

velocity u using (3.6). In particular when dealing with complicated formulations of the

boundary conditions, it can be advantageous or even necessary to split the update process

into the following two equations.

, ) =

, )

, ) , ) (3.12)

Page 25: Hasan_Thesis

17

, ) =

, ) (3.13)

Where , ) denotes the distribution values after collision (but before propagation),

and , ) are the values after collision and propagation, thus the values entering the

neighboring cell as data for the next time step. The Navier-Stokes equations (up to second

order accuracy in space and time) can be derived formally from the lattice Boltzmann

equation through the Chapman-Enskog expansion by a standard multi-scale expansion with

time and space rescaled and the distribution function fi expanded up to second order [11,

12, 13].

The relation between the relaxation time τ and the kinematic shear viscosity ν, including a

correction for the truncation error due to the discretization, can be obtained from the result

of the Chapman-Enskog expansion. As the discretization error is known a priori from this

analysis, it can be corrected and thus, the lattice Boltzmann method does not suffer from

numerical diffusion as many other finite difference methods do. The final relation for the

kinematic viscosity for D2Q9 is

=

(3.14)

The unit of kinematic viscosity is . It should be noted that τ > ½ for positive

(physical) viscosity. Numerical difficulties arise when the relaxation parameter approaches

to ½. A value of τ = 1 is safest. is the speed of sound of the fluid.

Now we can draw a flow chart on how to implement the lattice Boltzmann Method. A

straightforward implementation would consist of three nested loops over the three spatial

dimensions and treat the collision step separately from the propagation process. This

algorithm would read the values of the current time step from the local cell, execute the

relaxation and write the results back to a temporary array, as this can be done independently

for all cells. In a separate nested loop which would only contain copy operations, these

Page 26: Hasan_Thesis

18

values would then be propagated back to adjacent cells in the original array.

Flow chart of the implementation of LBM

3.3.3 LBM for Incompressible Fluid

The lattice Boltzmann (LB) method has emerged as a new and effective numerical

technique of computational fluid dynamics. Modeling of the incompressible Navier-Stokes

equation is among many of its wide applications. Indeed, the lattice Boltzmann equation

(LBE) was first proposed to simulate the incompressible Navier-Stokes equations. The

incompressible Navier-Stokes equations can be derived from the lattice Boltzmann

equation through the Chapman-Enskog procedure if the density fluctuation is assumed to be

negligible. Unfortunately, this is not always the case in numerical simulations by using

LBE method. The compressible effect in the existing LBE models may produce some

serious errors in numerical simulations. There have been efforts to reduce or to eliminate

the compressible effect in the LBE method (6-8). However, the results are not entirely

Calculation of macroscopic variables and also the equilibrium distribution function

Collision process: relaxation of the particle distributions towards equilibrium

Propagation: Streaming of the distribution functions according to their direction to the next nodes

Page 27: Hasan_Thesis

19

satisfactory mainly for the reason that the existing models for incompressible flow are only

valid for steady flows in theory. Therefore, it is still necessary to improve the LBE method

for simulations of the incompressible Navier-Stokes equations in general, especially for

unsteady flows.

Actually, the incompressibility can be achieved only when the mass density becomes a

constant. However, it is practically impossible to maintain a constant density in lattice

Boltzmann models. Theoretically the lattice Boltzmann equation always simulates the

compressible Navier-Stokes equation instead of the incompressible one, because the spatial

density variation is not zero in LBE simulations. In order to correctly simulate the

incompressible Navier-Stokes equation in practice, one must ensure that the Mach number,

M, and the density variation, δp, are of the order (ζ) and order (ζ), respectively, where ζ is

the Knudsen number [16]. However, in numerical simulations such as flow through porous

media, a pressure gradient is applied to drive the system, and the pressure gradient is

established by maintaining a density gradient in the system. Moreover, this is the only way

to implement the boundary condition of a pressure gradient in the system by using the

method of the LBE or the lattice gas automata (LGA), because of the simple ideal gas

equation of state of the system, and because pressure is not an independent dynamical

variable in the LBE or LGA methods. Under this circumstance, the assumption of constant

density is no longer valid and the magnitude of the density variation may be rather

significant. This would inevitably bring in an error in the LBE simulations of the

incompressible Navier-Stokes equations.

It is well known that the lattice Boltzmann method is only applicable to the low Mach

number hydrodynamics, because a small velocity expansion is (implicitly) used in

derivation of the Navier-Stokes equation from the lattice Boltzmann equation. It should be

noted that the small Mach number limit is equivalent to the incompressible limit. Thus, it

should be possible to develop a lattice Boltzmann model to simulate the incompressible

Navier-Stokes equation properly. In our thesis we used the equilibrium distribution function

for incompressible fluid flow [16].

Page 28: Hasan_Thesis

20

The equilibrium distribution function of incompressible fluid for Lattice Boltzmann method

is defined as

=

)

)

) (3.15)

If we compare the equilibrium function for incompressible fluid and compressible fluid

then we can see the difference actually in the density which also satisfies the real difference

between compressible and incompressible fluid. In the case of compressible fluid, the

density is used to multiply the bracket which consists of velocity and lattice speed whereas

in the case of incompressible fluid, the density is added with the term inside the bracket.

3.3.4 Boundary Condition

Boundary conditions are very necessary before we can compute any meaningful

results. Since the early 1990s, many papers have proposed and investigated the behavior of

various boundary conditions. This work continues, though workable boundary conditions

for many types of simulations are now available. Here some brief description will be given

for different types of boundary conditions and in the chapter 4; detailed description of the

boundary condition that is used in the thesis will be presented.

3.3.4.1 Periodic Boundaries

The simplest boundary conditions are periodic in that the system becomes closed by

the edged being treated as if they are attached to the opposite edges. Most of the papers

used these conditions along with bounceback boundaries. For example, in simulating slit

bonceback boundaries would be applied at the slit walls and periodic boundaries would be

applied at the open end of the slit. There are two types of periodic boundaries; one is ‘wrap

around’ and another is fully periodic boundary.

3.3.4.2 Bounceback Boundaries

Bounceback boundaries are particularly simple and have been playing important

role in making LBM popular among the modelers interested in simulating fluids in domains

characterized by complex geometries and solid walls. Their beauty lies in that one simply

Page 29: Hasan_Thesis

21

needs to designate a particular node as a solid obstacle and no special programming

treatment is required. It should be noted that bounceback boundaries come in several

variants and do not work perfectly. Nevertheless, with proper considerations of the

effective boundary location and for τ =1, quite satisfactory results can be obtained.

Besides these two there are some other boundary conditions. Von Neumann (flux)

boundary condition is one of them where a velocity vector is specified from which density/

pressure is computed on the basis of conditions inside the domain. Macroscopic density/

pressure is the only part needs to be computed. Moreover, there is another one named

Dirichlet (pressure) boundary condition. It constrains the pressure/density at the boundaries.

3.4 Advantage & Disadvantage of LBM

As a computational tool, the lattice Boltzmann method differs from methods which

are directly based on the Navier-Stokes equations in various aspects. The major differences

are summarized according to Yu et al. [17] as follows:

[1] The Navier-Stokes equations are second-order partial differential equations

(PDEs); the discrete velocity Boltzmann equation from which the lattice

Boltzmann model is derived, consists of a set of first order PDEs.

[2] Navier-Stokes solvers inevitably need to treat the nonlinear convective term

u·∇u. The lattice Boltzmann method totally avoids the nonlinear convective

term, because the convection becomes a simple advection (uniform data

shift). The non-linearity of the Navier-Stokes equations is hidden in the

quadratic velocity terms of the equilibrium distribution function.

[3] CFD solvers for the incompressible Navier-Stokes equations need to solve

the Poisson equation for the pressure. This involves global data

communication, while in the lattice Boltzmann method data communication

is always local and the pressure is obtained through an equation of state.

Page 30: Hasan_Thesis

22

[4] In the lattice Boltzmann method, the Courant-Friedrichs-Lewy (CFL)

number is proportional to

, in other words, the grid CFL number is equal

to unity based on the lattice units of = = 1. Consequently, the time

dependent lattice Boltzmann method is inefficient for solving steady-state

problems, because its speed of convergence is dictated by acoustic

propagation, which is very slow.

[5] Boundary conditions involving complicated geometries require a careful

treatment in both Navier-Stokes and lattice Boltzmann solvers. In Navier-

Stokes solvers, normal and shear stress components require appropriate

handling of geometric estimates of normals and tangents, as well as one-

sided extrapolations. In lattice Boltzmann solvers, the boundary condition

issue arises because the continuum framework, such as the no-slip condition

at the wall, does not have a direct counterpart.

[6] Since the Boltzmann equation is kinetic-based, the physics associated with

molecular level interactions can be incorporated more easily. Hence, the

lattice Boltzmann model might be fruitfully applied to micro-scale fluid flow

problems.

[7] The spatial discretization in the lattice Boltzmann method is dictated by the

discretization of the particle velocity space. This coupling between

discretized velocity space and configuration space leads to regular square

grids. This is a limitation of the lattice Boltzmann methods, especially for

aerodynamic applications where both the far field boundary condition and

the near wall boundary layer need to be carefully implemented. Local grid

refinement techniques cannot completely solve this issue.

However, the algorithm of the LBM is similar to the structure of Jacobi’s method for the

iterative solution of linear systems on structured meshes. In particular, the time loop in the

LBM corresponds to the iteration loop in Jacobi’s method.

Page 31: Hasan_Thesis

23

CHAPTER 4

Free Surface Treatment

4.1 Governing Equations

The LBM usually works on an equidistant grid of cells, each of which stores a

discrete number of velocities, the particle distribution functions (DFs). Two dimensional

Lattice Boltzmann equation is governed by the following equation:

, ) , ) =

, )

, ) (4.1)

Along with the equilibrium distribution function for incompressible fluid

=

)

)

) (4.2)

Where f indicates the distribution function and is the equilibrium distribution function.

The density and the velocity can be calculated according to the Eq. (3.5) and Eq. (3.6)

respectively. The process of getting the weight functions and discrete velocity directions

have already been described in Table (3.1).

So the governing equation of the Lattice Boltzmann method is very simple. Moreover, the

implementation of LBM is also very easy as we will discuss about it in the next chapter 5.

4.2 Gravitational Effect in Free Surface

A number of methods are considered in order to incorporate the gravitational effect

in the Lattice Boltzmann method. When there is no density variation across the fluid,

gravity can be introduced in the form of an altered pressure gradient. This method correctly

satisfies the Navier-Stokes equation; however, if there is a non-negligible density variation

present (produced by the body force or otherwise) this method becomes less accurate as the

Page 32: Hasan_Thesis

24

density variation increases and the constant density approximation becomes less valid. So

there are some other methods also considered for application when there is a non-negligible

density variation. Among these methods only one method will be considered for the free

surface treatment that is considered in this thesis.

4.2.1 Incorporating Gravity in Equilibrium Function:

Incorporating external force like gravity in the equilibrium function is one of the

methods of adding the force term in the Lattice Boltzmann method. Gravity can be

introduced into the lattice Boltzmann scheme by considering the momentum change

produced by a body force. If a gravitational force F is acting, then at every time step there

is a change of momentum ∆P = F. To incorporate this into the model an equilibrium

distribution the velocity is changed to from u in such a way that

= (4.3)

Where is the new equilibrium velocity [18]. The velocity is deafened in the same way

as in Eq. (3.6) and τ is relaxation parameter. Here the body forces F = mg and g is the

gravitational acceleration. So the equilibrium function is now not a function of ρ & u.

Instead, it is a function of ρ & , where contains the gravity.

4.3 Free Surface

In this thesis, a two dimensional breaking dam is going to be simulated with the new

simulation technique named Lattice Boltzmann method. The simulation of free surfaces

clearly requires a distinction between regions that contain fluid and regions that don't. To

track free surfaces we introduce two additional cell types along with the fluid cell. These

are interface cells and empty cells. Empty cells are void of fluid, while partially filled

interface cells are required to separate empty cells from fluid cells [19]. The interface cells

form a closed layer between fluid cells and empty cells. In simulating the free surface

tracking the interface is the main task. Free surface boundary conditions are set for

Page 33: Hasan_Thesis

25

interface cells, which also store a fluid fraction value, similar to volume-of-fluid methods

for conventional NS solvers [20]. Furthermore cell type conversions need to be handled if

interface cells become completely filled or empty. The boundary conditions presented here

do not compute the gas phase as a separate fluid, but assume a viscosity difference between

gas and fluid phase that is high enough to approximate the gas velocity near the interface

with the fluid velocity. This is especially suitable for simulations with large gas regions,

since these do not require any computations. Empty cells that contain no fluid need not be

considered in the algorithm until they are eventually converted to interface cells as

described below. In our simulation we will also face the solid obstacles and the solid

boundary is treated by modified bounceback method.

4.4 Interface Advection

The movement of the free surface is computed directly from the distribution

functions, as these are the values that are actually advected during the streaming step and

these are also the main variable in Lattice Boltzmann method. The movement of the fluid

interface is tracked by the calculation of the mass that is contained in each cell. For this

purpose, we initialize two additional values; one is mass of each cell and another is fluid

fraction of that cell. The fluid fraction is defined as ratio of the mass to the product of

volume and density of the fluid cell and mathematically it is expressed as

, ) = , )

, ) (4.4)

Where , t) is the fluid fraction of the cell whose position is in x at time t. Similarly, m, ρ

and v indicates the mass, density and volume of each cell at position x and at time t.

During the streaming the interface advection is done by the mass exchange between

interface cells and fluid cells. It is done through two ways: mass exchange between

interface-interface and another is mass exchange between interface-fluid. As it has been

already mentioned that Gas cells are separated from liquid cells by a layer of interface cells

Page 34: Hasan_Thesis

26

the interface cells form a completely closed boundary, so it is assumed that no distribution

function is directly advected from gas to fluid cells and also to interface cells. In this case

we will need a reconstruction step that will be described later. This is a crucial point to

assure mass conservation since mass coming from the liquid or mass transferred to the

liquid always passes through the interface cells where the total mass is balanced. Hence,

global conservation laws are fulfilled if mass and momentum conservation is ensured for

interface cells. Per definition, the volume fraction of fluid and gas cells is 1 and 0,

respectively. The fluid mass content of a cell is denoted with m = m(x, t). The mass content

is a function of the volume fraction and the density. For a gas cell the fluid mass content m

is zero whereas that of a fluid cell is given by its density that means density and mass are

equivalent to each other. Fluid cell gains and losses mass due to distribution functions. I f

we consider the interface cell, density and mass are not equivalent and we have to account

for the partially filled state by introducing a second parameter, as it has already been

defined in Eq.(4.4) the volume fraction = (x, t). The fluid mass content m, the volume

fraction and the density ρ are related by m(x, t) = ρ (x, t) · (x, t) for x∈ interface cells.

All cells are able to change their state. It is important to notice that direct state changes

from fluid to gas and vice versa are not possible. Hence, fluid and gas cells are only

allowed to transform into interface cells whereas interface cells can be transformed into

both gas and fluid cells. A fluid cell is transformed into an interface cell if a direct neighbor

is transformed into a gas cell. At the moment of transformation the fluid cell contains a

certain amount of fluid mass m which is stored. During further development the interface

cell may gain mass from or lose mass to the neighboring cells. These mass currents are

calculated and lead to a temporal change of m. If m drops below zero, the interface cell is

transformed into a gas cell and this procedure will be described in the next section.

As it is mentioned that the free surface movement is done by the mass exchange [19], this

mass exchange is carried out by only two factors; fluid fraction and distribution function.

At each time step the mass exchange is calculated and is added to the old mass in order to

get the new mass. This new mass will be used as old mass in the next time step. Let us

Page 35: Hasan_Thesis

27

assume that the position of a cell is x and the position of another cell is x + ei. Then the

exchanged mass is calculated by the following equation.

, ) = , ) , ) (4.5)

In the above equation Ī = -I, this means the two distribution functions are opposite to each

other. So the mass exchange is calculated from the difference of the two opposite

distribution functions. The first term inside the bracket indicates the distribution function

coming from the opposite direction of the distribution function which is indicated by the

second term. This is quite understandable from the position of the two cells; one is at and

the other is at . Figure (4.1) also illustrates the phenomena very clearly.

The Eq. (4.5) is used to calculate the mass exchange between a fluid cell and an interface

cell. But in the case of mass exchange between an interface and interface, an additional

term is multiplied with this equation. The interchange between an interface and a fluid cell

should be the same as that of two fluid cells since the cell boundary is completely covered

with liquid. In this case, the mass exchange can be directly calculated from the particle

distribution functions. The interchange between two interface cells is approximated by

assuming that the mass current is weighted by the mean occupied volume fraction. This

equation looks like the following equation:

Page 36: Hasan_Thesis

28

, ) = , ) , ) , ) , )

(4.6)

In the Eq. (4.6) we can see an extra term related to fluid fraction. As the mass exchange

between the two opposite interface cells is needed to calculate so the average fluid fraction

of the two cells are considered. Both equations are completely symmetric, as of course the

amount of fluid leaving one cell, has to enter the other one and vice versa, which means

)= - e t). This also corresponds the conservation of mass. It should be

noted that there is no mass transfer between interface cells and gas cells. Also no mass

transfer is computed between the fluid cells.

After getting calculating the mass exchange for all the interface cells, new mass is

calculated by adding the exchanged mass with the old mass.

, ) = , ) , ) (4.7)

So , ) is new mass at the new time step. We need to remember that these mass

exchange equations will not be used for gas cell.

4.5 Boundary Condition

Boundary conditions are of great importance in order to get good simulation result

in the CFD world. In our thesis, we have used two boundary condition; one is free surface

physical boundary condition in the interface and another is bounceback boundary condition

for treatment of solid boundary cells.

4.5.1 Interface Boundary Condition:

It has already been mentioned there is no computation for the gas cell. Though free

surface simulations mean simulation of multiphase but here we consider only the water

region. So multiphase is easily converted to single phase. During the streaming of the

interface cells it is required to know the distribution functions that are coming from the gas

cell. As there is no distribution function in the empty or gas cell, so we need a

Page 37: Hasan_Thesis

29

reconstruction procedure in order to find out this distribution function. From Figure (4.2)

we can get a quite clear understanding.

In Fig. (4.2) a dotted line is seen. This is distribution function that we do not have in our

computations. So this distribution function is reconstructed by the following way [19].

, t t) = , ) , +

, (4.8)

Equilibrium distribution function is a function of density and velocity. In the Eq. (4.8) we

can see there is a difference in density. In the previous cases we have used the for the

density. But here in the reconstruction term, has been used. Actually, is the density of

air. We know that . So in the interface for the distribution functions that are coming from

empty cells is used to satisfy free surface physical boundary condition. It should be

noted that in the Lattice Boltzmann method the pressure is derives directly from the density

(distribution function).

In the Eq. ((4.8) the velocity of the interface is used. This also satisfies the free surface

kinematic boundary condition as according to this boundary condition the air moves the

same way as the interface does. So air is moving with velocity similar to the velocity of the

interface.

Page 38: Hasan_Thesis

30

4.5.2 Modified Bounceback Slip Boundary Condition:

The lattice Boltzmann method has traditionally been used with the bounce back

boundary condition for the particles at the slip interface boundary. Consider, for example,

the particles at the bottom boundary. From here and on, boundary conditions are considered

for the representative case of the bottom boundary. However, arguments given below can

be also applied for slip boundaries other than the bottom one.

Let us denote a unit cell at the bottom boundary in Fig. (4.3). Let us first assume that the

fluid-solid interface boundary is at the line A. Then, the lattice sites 6, 2, 5 above the

boundary belong to the fluid and the lattice sites 7, 4, 8 below the boundary belong to the

solid.

The lattice sites 3, 0, 1 are right on the boundary. At the time t, the particles are at the node

0 of which the position is x. The particles at (x, t) moving in the directions of e4, e8, e7 into

the solid region reflect back into the position x. turning to the opposite directions e2, e5, e6,

respectively, at the next time t + 1.

Page 39: Hasan_Thesis

31

This can be explicitly written as, for the particle distributions f2, f5, f6.

, 1) = , )

, )

, ) (4.9)

, 1) = , )

, )

, ) (4.10)

, 1) = , )

, )

, ) (4.11)

The bounce back method that used Eqs. (4.9) – (4.11) has traditionally been used in

conjunction with the boundary at the regular lattice sites, as denoted by the line A in Fig.

(4.3). This bounce back method is known as being of the first order in error, implying that

the numerical error of the LBGK solution from the exact solution reduces linearly with the

mesh size. We refer to this boundary method as the traditional bounce back or TBB method.

A variant of the TBB method is the one obtained by locating the boundary off the regular

lattice sites, halfway between the nodes. Let us denote this boundary by the line B in Fig

(4.3). In this boundary condition, the lattice sites 3, 0, 1 as well as the lattice sites 6, 2, 5

belong to the fluid and the lattice sites 7, 4, 8 belong to the solid. The bounce back method

that uses Eqs. (4.9) - (4.11) has been frequently referred to as the shifted bounce back or

SBB method, since the boundary is shifted from the regular lattice sites. The SBB method

is known to have better error characteristics than the TBB method. Indeed, the SBB method

is found to be of the second order in error while the TBB method is of the first order.

The specular reflection exactly at the regular lattice sites, as denoted by the line A in Fig.

(4.3), can be realized by letting it take place for a unit time interval from t to t + 1, instead

of the instant reflection at t +

. A particle, for example, moving in the direction of e4 finds

that the destination is not allowed and then spends a unit time to turn to the opposite

direction into the fluid, keeping its speed unchanged. For the paticles moving in the

directions of e4, e7, e8 into the solid at (x. t) at the node 0 in the bottom boundary, the

particle distributions at the new time t +1can be simply written as following:

, 1) = , ) (4.12)

, 1) = , ) (4.13)

, 1) = , ) (4.14)

Page 40: Hasan_Thesis

32

This is the standard or alternative bounceback slip boundary conditions (ABB). With the

ABB method of the delayed reflection (4.12) - (4014) at hand, the bounce back method can

be generalized. This generalized bounce back method can be used for boundaries that lie at

the arbitrary locations between the neighboring regular lattice sites. This generalization is

done by linearly combining the above two different boundary methods, namely, the SBB

and ABB methods. For the bottom boundary, if an interpolation parameter to is used for the

particles moving in the directions of e4, e7, e8, the particle distributions , 1) ,

, 1), , 1) are then computed by

, 1) = 1 ) , ) , )

, )

, ) (4.15)

, 1) = 1 ) , ) , )

, )

, ) (4.16)

, 1) = 1 ) , ) , )

, )

, ) (4.17)

This bounceback method is called the modified bounceback method and in the thesis we

have used this method with the value of = 1.

4.6 Handling of Excess Mass

After getting all the distribution functions for an interface cell, the density and velocity are

calculated. Then the new mass and new density is used to calculate to find out the new fluid

fraction of each interface cell. It is very important to mention that the fluid frction formula

is not used for the fluid cells. We all the time assume that the fluid fraction of the fluid cell

is always equal to one. There might be computations for the density and velocity but no

computation for the fluid fraction for the fluid cells. In the case of empty cells we do not

need to compute anything.

When we get the new fluid fraction for each of the interface cells, sometimes it is found

that the fluid fraction is greater than one or less than zero for the interface cells. This means

the interface has some positive or negative excess mass that are needed to be distributed to

Page 41: Hasan_Thesis

33

the surrounding cells in order to keep the conservation of mass. If > 1 the cell is called

filled cell and if < 0 it is called emptied cells. For the filled cells the excess mass is

calculated as

= ) (4.18)

and for the emptied cells it is calculated as

= (4.19)

As we are having some excess mass in the interface cell, so this excess mass needs to be

distributed to the surrounding cells. Also we have to keep the fact in mind that the layer of

the interface cells has to be closed. The excess masses for the filled cells are distributed to

the surrounding interface and empty cells. In order to do that first we have to make the

empty cell into interface and then the excess mass is distributed evenly to the surrounding

interface and empty cells. To do that the distribution function of the new interface cell,

which was an empty neighbor of the filled cell, is initialized by the equilibrium distribution

function which is a function of average density and average velocity of the surrounding

fluid and interface cells and the flag of the filled cell is re-initialized to fluid cell. In case of

emptied cells, the excess mass is distributed evenly among the interface and fluid cells and

the flag of the emptied cell is re-initialized to empty cell.

4.7 Force on the Solid Boundary

Force is calculated on the solid wall by the momentum exchange method described

in [22]. In the momentum exchange method force is calculated after the collision step is

carried out. After the collision step we get the distribution function that is coming from the

boundary wall. Also we are having the distribution function at the previous time step. So

the difference in momentum between the two opposite direction gives us the force.

= (4.20)

Page 42: Hasan_Thesis

34

Where and are opposite to each other. The fluid fraction, volume and velocity are

represented by , ν and . So the force is found out by the above equation which

illustrates the momentum exchange. After getting the force in all directions, the total

force is calculated by summing up all the directional forces.

= (4.21)

Page 43: Hasan_Thesis

35

CHAPTER 5

Implementation and Results

In this chapter we will provide some detailed information of the algorithm of the total

process. That means the steps that are used to implement the procedure in the code and also

we will present the computational and physical values of various parameters that have been

used fir the simulation.

5.1 Algorithm of the process to simulate the breaking dam

For the simulation of the free surface we have used FORTRAN 77 programming language

to develop the code. The algorithm is given below:

Step [1]: Initialization of variables:

A computational domain is set up for the simulation of free surface. The

computational and the physical values are given below:

Kinematic viscosity, ν = . 6 1 s

Gravitational acceleration, = . 1 s

Physical time step, =

=

=

Physical density of water, = 1000

Computational density of water, ρ= 1

Fluid fraction for interface cell initially, = . and fluid cell, = 1.

Computational Gravitational acceleration =

Computational Kinematic viscosity,ν = ν

(5.1)

CFL Condition,

(5.2)

From the equation (5.2) by using the value of Physical time step , we can easily get the

physical time step . Then using this physical time step in the equation (5.1) along with

the value of physical Kinematic viscosity we get the computational Kinematic viscosity, ν.

Now from equation (3.14) we get the following

=

Page 44: Hasan_Thesis

36

From this equation we can easily calculate the relaxation parameter, by using the value of

sound speed of the fluid and the physical time step.

Step [2]: Initialization of equilibrium function:

Equilibrium function is a function of density and velocity. From the equation (4.3)

the gravity is incorporate in the velocity term. At the point (i, j) and in the direction n the

equilibrium function is written as follows

, , ) = , )

, )

, )

, ) , )

Step [3]: Initialization of distribution function:

The distribution function is initialized by the equilibrium distribution function. At

point (i, j) and in the direction n the distribution function is written as follows

, , ) = , , )

Step [4]: Streaming & collision are carried out:

After defining the equilibrium distribution function and initial distribution function

along with the relaxation parameter, the streaming and collision are carried out that means

the governing equations is applied. At point (i,j) and in the direction of n it looks like the

following:

, , ) = , , )

, , )

, , )

Here the , , ) is new distribution function at time step t+1 where , , ) is at time

step t.

Step [10]: Applying the boundary conditions:

The free surface boundary conditions are applied in the interface. To treat the solid

obstacles we use the modified bounceback method in our implementation.

Step [6]: calculation of density and velocity:

Having all the distribution function at the current time step the new density and

velocity are calculated according to the Eq.(3.5) and (3.6) respectively.

Page 45: Hasan_Thesis

37

Step [7]: Mass exchange is performed & new mass is calculated:

Mass exchange is performed according to equation (4.5) & (4.6).So mass exchange

between two interface cell is given by the equation below:

, , 6) = 1, 1, ) , , 6) 1, 1) , )

2

Where (i,j) are the grid points. After calculating the exchanged mass, this mass is added to

the old mass to get the new mass.

, ) = , )

Step [8]: Calculation of fluid fraction:

After having the new density and new mass of an interface cell, the fluid fraction is

calculated according to the formula given in the Eq. (4.4). Again it is being mentioned that

there will be no computation of the fluid fraction for the fluid cell and empty or gas cell.

Fluid fraction of fluid cell is assumed always equal to 1 whereas for the case of gas cell it is

equal to 0.

Step [9]: Distribution of excess mass:

When we will have the new fluid fraction for the interface cell, we may have filled

cell and emptied cell according to the section (4.6). If we have either positive or negative

excess mass, then these masses should be distributed to the surrounding cells according to

the section (4.6).If we do not have any excess mass, then there will be nothing to be

distributed.

Step [10]: Re-calculation of fluid fraction:

We need this step if we have step 8. That means if there is filled cells or emptied

cells, then we need this step. The neighbors of filled cell have to be converted into interface

cells. So the fluid fraction of new interface cell is calculated which was a gas cell in

previous time step. Similarly, the neighbors of emptied cell have to be converted into

interface cells. So the fluid fraction of new interface cell is calculated which was a fluid cell

in previous time step.

Page 46: Hasan_Thesis

38

5.2 Numerical Results

With the procedure described above we have got several simulation results at

various computational time steps. We set up a 101 x 101 computational domain where the

size of 51x51 comprises the domain for water region and rest of the domain is air. We

assume the compressibility limit g = 0.0025 and using the equation (5.2), where the CFL

number has been taken less than 1 and assuming the physical velocity of water 1 ,we

get the physical time step ∆t = 0.00002125s. The physical spatial step, ∆x is taken to

0.000025 m. By using these values we get the non-dimensional relaxation parameter τ

whose value is 0.581702. The results have been given in the Fig:2(a)-2(l).The

computational time step and spatial step is normalized to 1.

Fig5.1: Computational Domain

i

j

10 20 30 40 50

10

20

30

40

50

Page 47: Hasan_Thesis

39

5.2.1 Results for 101x101 Domain:

Figure 5.2(a): time 0.00212s Figure 5.2(b): time 0.00637s

Figure 5.2(c): time 0.0106s Figure 5.2(d): time 0.0148s

Figure 5.2(e): time 0.0212s Figure 5.2(f): time 0.0255s

i

j

50 100

10

20

30

40

50

60

70

80

90

100

i

j

50 100

10

20

30

40

50

60

70

80

90

100

i

j

50 100

10

20

30

40

50

60

70

80

90

100

i

j

50 100

10

20

30

40

50

60

70

80

90

100

i

j

50 100

10

20

30

40

50

60

70

80

90

100

i

j

50 100

10

20

30

40

50

60

70

80

90

100

Page 48: Hasan_Thesis

40

Figure 5.2(g): time 0.0318s Figure 5.2(h): time 0.0425s

Figure 5.2(i): time 0.0531s Figure 5.2(j): time 0.0637s

Figure 5.2(k): time 0.0743s Figure 5.2(l): time 0.0828s

i

j

50 100

10

20

30

40

50

60

70

80

90

100

i

j

50 100

10

20

30

40

50

60

70

80

90

100

i

j

50 100

10

20

30

40

50

60

70

80

90

100

i

j

50 100

10

20

30

40

50

60

70

80

90

100

i

j

50 100

10

20

30

40

50

60

70

80

90

100

i

j

50 100

10

20

30

40

50

60

70

80

90

100

Page 49: Hasan_Thesis

41

In the above figures we can see the advection of interface as time goes by. Results are

shown for various computational time steps. We can also observe the velocity vectors and

their directions. Due to the gravitational effect the water keeps going downward and shown

from the fig: 5.2(a) to fig: 5.2(c). After some time it hits the right hand side solid boundary.

We can see the water moves up after hitting the wall from the fig: 5.2(d) to fig: 5.2(f) which

is quite physical. Then the water comes down because of the gravity and goes to the left

side which is observed from fig: 5.2(g) to fig: 5.2(j). Then the simulation results of fig:

5.2(k) to fig: 5.2(l) shows us that the fluid is coming from the left side and going to the

right side.

5.2.2 Grid Dependency Test with 151x151 and 201x201 Domain :

Grid dependency test has been carried out for various domain size. Here two more

domain size 151x151 and 201x201 are taken into account in order to see the free surface

effect. The tendency is to observe how much the result varies from the initial domain size

(101x101)

In the grid dependency test, the length of the physical domain is kept same but the

size of the domain is changed. Since the domain size has been changed, so the physical

spatial step has also been changed. As depending on the physical spatial step and CFL

condition we find out the physical time step, so the time step consequently is also changed.

. We made the same relaxation parameter by changing the CFL number. We tried to

observe the tendency of the result with the same relaxation parameter but with a different

grid size. The free surface simulation figures are given following for the two above

mentioned grid or domain size.

Page 50: Hasan_Thesis

42

5.2.2.1 Domain size 151x151:

Figure 5.3 (a): time 0.00094s Figure 5.3 (b): time 0.0094s

Figure 5.3(c): time 0.0141s Figure 5.3(d): time 0.0188s

Figure 5.3(e): time 0.0236s Figure 5.3(f): time 0.0283s

i

j

50 100 150

10

20

30

40

50

60

70

80

90

100

110

120

130

140

150

i

j

50 100 150

10

20

30

40

50

60

70

80

90

100

110

120

130

140

150

i

j

50 100 150

10

20

30

40

50

60

70

80

90

100

110

120

130

140

150

i

j

50 100 150

10

20

30

40

50

60

70

80

90

100

110

120

130

140

150

i

j

50 100 150

10

20

30

40

50

60

70

80

90

100

110

120

130

140

150

i

j

50 100 150

10

20

30

40

50

60

70

80

90

100

110

120

130

140

150

Page 51: Hasan_Thesis

43

Figure 5.3(g): time 0.033s Figure 5.3(h): time 0.0424s

Figure 5.3(i): time 0.0576s Figure 5.3(j): time 0.0708s

Figure 5.3(k): time 0.0755s Figure 5.3(l): time 0.085s

i

j

50 100 150

10

20

30

40

50

60

70

80

90

100

110

120

130

140

150

i

j

50 100 150

10

20

30

40

50

60

70

80

90

100

110

120

130

140

150

i

j

50 100 150

10

20

30

40

50

60

70

80

90

100

110

120

130

140

150

i

j

50 100 150

10

20

30

40

50

60

70

80

90

100

110

120

130

140

150

i

j

50 100 150

10

20

30

40

50

60

70

80

90

100

110

120

130

140

150

i

j

50 100 150

10

20

30

40

50

60

70

80

90

100

110

120

130

140

150

Page 52: Hasan_Thesis

44

5.2.2.2 Domain Size 201x201:

Figure 5.4(a): time 0.00053s Figure 5.4(b): time 0.008s

Figure 5.4(c): time 0.016s Figure 5.4(d): time 0.0217s

Figure 5.4(e): time 0.024s Figure 5.4(f): time 0.027s

i

j

50 100 150 200

25

50

75

100

125

150

175

200

i

j

50 100 150 200

25

50

75

100

125

150

175

200

i

j

50 100 150 200

25

50

75

100

125

150

175

200

i

j

50 100 150 200

25

50

75

100

125

150

175

200

i

j

50 100 150 200

25

50

75

100

125

150

175

200

i

j

50 100 150 200

25

50

75

100

125

150

175

200

Page 53: Hasan_Thesis

45

Figure 5.4(g): time 0.0324s Figure 5.4(h): time 0.0398s

Figure 5.4(i): time 0.0478s Figure 5.4(j): time 0.053s

Figure 5.4(k): time 0.0637s Figure 5.4(l): time 0.0743s

i

j

50 100 150 200

25

50

75

100

125

150

175

200

i

j

50 100 150 200

25

50

75

100

125

150

175

200

i

j

50 100 150 200

25

50

75

100

125

150

175

200

i

j

50 100 150 200

25

50

75

100

125

150

175

200

i

j

50 100 150 200

25

50

75

100

125

150

175

200

i

j

50 100 150 200

25

50

75

100

125

150

175

200

Page 54: Hasan_Thesis

46

The movement of interface has been shown by the figures given above. The illustration of

the figures is same as for the domain size 101x101. Due to the gravity the water comes

down and moves in the same way as the fluid moves naturally. Fig 5.3(a)-5.3(l) gives the

result for the 151x151 domain size whereas the results for the 201x201 are given by the

figures from 5.4(a)-5.4(l).

Page 55: Hasan_Thesis

47

5.2.3 Comparison of results with experiment:

Simulation results are compared with the experimental results given in [23]. We

have found out the results of the rate of advection at different time step and compared the

results with the experimental one. The non-dimensional parameters are given below:

n2a = original height of the column, a = a dimension characteristic of column base, z =

distance of surge front from the axis, η = height of the residual column, g = gravitational

acceleration, t = time.

=

, =

, =

, with n = 1

Fig 5.4(a) shows us the position of free surface at the horizontal solid boundary. As time

goes by the value of the position increases that means the free surface goes forward.

The results of different grid size have been provided here. We can see the numerical results

show good characteristics compared with the computational results.

Figure 5.5(a): Horizontal position of free surface at various time steps.

T

Z

0 0.5 11

1.1

1.2

1.3

1.4

1.5

1.6

1.7

1.8 experimetal position

101x101

151x151

201x201

Page 56: Hasan_Thesis

48

5.2.3 Conservation of Mass:

As we have already mentioned that in order to simulate the free surface one has to be

careful about the handling of fluid fraction and also needs to keep in mind the mass

conservation law. In the case of multiphase simulation with Lattice Boltzmann Method, the

mass and fluid fraction is not same. Because fluid fraction formula is only valid for the

interface cell. For the fluid cell we always assume the fluid fraction is equal to one. So

there is a difference between the mass and fluid fraction. So the mass is always constant

which is a great advantage of LBM. But the fluid fraction does not remain constant all the

time.

Below a figure has been given for the checking of equation of continuity or conservation of

mass. Initially we can see there are some fluctuations but as time goes on it converges to

the initial value and the percentage is very small.

Figure 5.5(b): Conservation of mass at various time steps.

T

Flu

idF

ract

ion

10 20-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

3

101x101

151x151

201x201

Page 57: Hasan_Thesis

49

5.2.3 Calculation of force on the vertical wall :

Force on the right vertical wall has been calculated. Here the force is calculated

using momentum exchange method. Force is defined here by the amount of momentum the

wall gets after being hit by the fluid at various time steps.

Two types of forces are given here. One is computational force and the other one is

physical force. We found out the computational result first then converted them into

dimensional quantity. The force is calculated at various points on the wall which has been

given in the figures.

Figure 5.5(c): Computational forces on right vertical wall at various time steps.

T

F

1000 2000 30000

5E-06

1E-05

1.5E-05

101,1

101,5

101,10

101,15

101,20

101,25

Page 58: Hasan_Thesis

50

Figure 5.5(d): Physical forces on right vertical wall at various time steps.

T

F

0.03 0.04 0.05 0.06 0.070

2E-07

4E-07

6E-07

8E-07

1E-06

1.2E-06

1.4E-06

1.6E-06

1.8E-06

2E-06

2.2E-06

0.0025m,0.000025m

0.0025m,0.000125m

0.0025m,0.00025m

0.0025m,0.000375m

0.0025m,0.0005m

0.0025m,0.000625m

Page 59: Hasan_Thesis

51

CHAPTER 6

Concluding Remarks

A computational study of two dimensional multiphase simulation has been presented in this

thesis. The numerical study of the work done is carried out by a new computational

technique named ‘Lattice Boltzmann Method (LBM)’. This Lattice Boltzmann Method is

considered as an alternative way of fluid simulation compared to the conventional Navier-

Stokes equations. The most important characteristics of the work are summarized as

follows:

A. We do not need any information of the air, except the density, for the simulation of

multiphase. The multiphase is transformed to single phase when the water part is

considered only.

B. The LBM actually works for the compressible fluid flow. But as we are considering

the water, which is an incompressible fluid, we need some change in the

compressible equation of LBM. So in the case of incompressible flow we have

made a change in the density of the equilibrium function of the Lattice Boltzmann

equation.

C. In the case of boundary condition, we have used two kinds of conditions. One is

free surface boundary condition another is the solid boundary condition. For the

free surface condition we made a special treatment of the distribution functions

which are coming from the gas cells. And for the solid boundary conditions we

used the modified slip bounceback boundary condition, not the standard

bounceback condition.

D. The viscous effect of the fluid is shown in the results. We have presented results for

three values of relaxation parameter which shows that how the viscosity works in

the fluid. The results also show us the velocity contour and also directions that

shows the physical significance of the free surface.

Page 60: Hasan_Thesis

52

The lattice Boltzmann method (LBM) has evolved to a promising alternative to the well

established methods based on finite elements/volumes for computational fluid dynamics

simulations. Ease of implementation, extensibility, and computational efficiency are the

major reasons for LBM’s growing field of application and increasing popularity. Since

established finite volume/difference/element methods are the result of an evolution over

many decades, one might expect that the simple LBM cannot compete. However, the works

done by various authors so far and extensive comparison of Lattice Boltzmann method with

the other methods demonstrate that LBM is competitive – although there is still room for

improvements. From the current point of view, LBM based solvers are in particular suited

for problems involving complex geometries, complex physics or weakly compressible

transient flows with Mach numbers up to about 0.2.

Page 61: Hasan_Thesis

53

References

[1] P. Roach. Computational Fluid Dynamics. Hermosa Publishing, 1972.

[2] J. Connor and C. Brebbia. Finite Element Techniques for Fluid Flow. Newnws-

Butterworths, 1976.

[3] J. Duppy and A. Dianoux. Microscopic Structure and Dynamics of Liquids. Plenum

Press, 1978.

[4] J. Goodfellow. Molecular Dynamics. Macmillan Press, 1991.

[5] U. Frisch, B. Hasslacher, and Y. Pomeau. Lattice-gas automata for the Navier-Stokes

equation. Physical Revies Letters, 56:1505-1508G, 1986.

[6] P.L Bhatnagar, E.P. Gross, and M Krook. A model for collision process in gases. I.

Small Amplitude Processes in Charged and Neutral One-Component Systems. Phys.

Rev., 94(3):511-525, 1954.

[7] Physical Revies, 94(3): 511-525, 1954.

[8] An introduction to the theory of the Boltzmann equation. Holt, Reinhart and Winston,

Inc., New York, 1971.

[9] Qian, YH, d’Humieres D, Lallemand P (1992) Lattice BGK models for Navier-

Stokes equation. Europhys Lett 17:479-484

[10] S. Wolfram. Cellular Automaton Fluids 1: Basic Theory. J. Stat. Phys., 3/4:471-526,

1986

[11] D.H Rothman and S. Zaleski. Lattice Gas Cellular Automata. Simple models of

complex Hydrodynamics. Cambridge University Press, 1997.

[12] S. Chapman and T.G. Cowling. The Mathematical Theory of Non-Uniform Gases.

Cambridge University Press, 1995.

[13] U. Frisch, D. d’Humieres, B. Hasslacher, P. Lallemand, Y. Pomeau, and J.P. Rivet.

Lattice Gas Hydrodynamics in Two and Three Dimensions. Comples Systems.

1:649-707, 1987.

[14] X.He and L.-S. Luo. A Priori Derivation of the Lattice Boltzmann Equation. Phys.

Rev. E, 55(6):R6333-R6336, 1997.

[15] Carlin Körner, Thomas Pohl, Ulrich Rüde, Nils Thürey, and Thomas Zieser. Parallel

Lattice Boltzmann Methods for CFD Applications.

Page 62: Hasan_Thesis

54

[16] Xiaoyi He and Li-Shi Luo. Lattice Boltzmann Model for the Incompressible Navier-

Stokes Equation. Journal of Statistical Physics, Vol. 88, Nos. 3/4, 1997.

[17] Li-Shi Luo, PhD thesis, Georgia Institute of Technology, 1993.

[18] Yu, R. Mei, L.-S Luo, and W. Shyy. Visous Flow Computaions with the Method of

Lattice Boltzmann Equation. Progr. Sci., 39:329-367, 2003.

[19] J. M. Buick and C. A. Greated. Gravity in a Lattice Boltzmann model. Physical

review E, Volume 61, Number 5, May 2000.

[20] Nils Thürey and Ulrich Rüde. Stable free suface flows with the lattice Boltzmann

method on adaptively coarsened grids. Computing and Visualization in Science

manuscript No. DOI: 10.1007/s00791-008-0090-4.

[21] Hirt, C.W., Nichols, B.D.: Volume of Fluid (VOF) Method for the Dynamics of

Free Boundaries. J. Comp. Phys. 39, 201-225(1981).

[22] Michael C. Sukop, Daniel T. Thorne, Jr. Lattice Boltzmann Modeling, An

Introduction for Geoscientists and Engineers.

[23] Huabing Li, Xiaoyan Lu, Haiping Fang, Yuehong Qian. Force evaluations in Lattice

Boltzmann simulations with moving boundaries in two dimensions. Physical Revies

E 70, 026701 (2004).

Page 63: Hasan_Thesis

55