You are on page 1of 13

Computers and Mathematics with Applications 65 (2013) 901–913

Contents lists available at SciVerse ScienceDirect

Computers and Mathematics with Applications


journal homepage: www.elsevier.com/locate/camwa

Simulation of floating bodies with the lattice Boltzmann


method
Simon Bogner ∗ , Ulrich Rüde
Lehrstuhl für Systemsimulation, Universität Erlangen-Nürnberg, Cauerstraße 11, 91058 Erlangen, Germany

article info abstract


Keywords: This paper is devoted to the simulation of floating rigid bodies in free surface flows. For that,
Lattice Boltzmann
a lattice Boltzmann based model for liquid–gas–solid flows is presented. The approach is
Free surface
built upon previous work for the simulation of liquid–solid particle suspensions on the
Interface capturing
Particulate flow one hand, and on an interface-capturing technique for liquid–gas free surface flows on
Floating body the other. The incompressible liquid flow is approximated by a lattice Boltzmann scheme,
Fluid–structure interaction while the dynamics of the compressible gas are neglected. We show how the particle model
and the interface capturing technique can be combined by a novel set of dynamic cell
conversion rules. We also evaluate the behaviour of the free surface – particle interaction in
simulations. One test case is the rotational stability of non-spherical rigid bodies floating on
a plane water surface – a classical hydrostatic problem known from naval architecture. We
show the consistency of our method in this kind of flows and obtain convergence towards
the ideal solution for the heeling stability of a floating box.
© 2012 Elsevier Ltd. All rights reserved.

1. Introduction

The lattice Boltzmann method (LBM) has become a popular alternative for complex flow simulations [1]. Its application
to particle suspensions has been propelled in a significant part by the work of Ladd et al. [2,3] and Aidun et al. [4–6]. Based
on the approach of the so-called momentum exchange method, it is possible to compute the hydromechanical stresses on
the surface of fully resolved solid particles directly from the boundary conditions. In this paper, this fluid–solid coupling
approach is extended to liquid–gas free surface flows, i.e., the problem of solid bodies moving freely within such a flow of
two immiscible fluids, where the dynamics of one phase (the gas phase) can be regarded negligible. We use the free surface
model of [7,8] to simulate a liquid phase in interaction with a gas by means of a volume of fluids approach and a special
kinematic free surface boundary condition. Here, the interface of the two phases is assumed sharp enough to be modeled by
a locally defined non-diffusive boundary layer. This boundary layer is updated dynamically according to the liquid advection
based on a set of cell conversion rules.
This paper proposes a unification of the update rules of the free surface model with those of the particulate flow model. As
described in [9], the resulting scheme allows full freedom of motion of the solid bodies in the flow, which can be calculated
according to rigid body physics. We demonstrate the consistency of the combined liquid–gas–solid method by means of a
simple advection test with a floating object in a stratified free surface channel flow, and discuss the primary sources of error
in the dynamic boundary handling with particles in motion.
We further apply our method to the problem of rotational stability of rigid floating objects. This kind of hydromechanical
problems typically emerges in marine engineering, where the floating stability of offshore structures is of concern [10,11].
This idea of evaluating the simulated floating stability of rigid bodies is inspired by Fekken [12], where it is proposed as a test

∗ Corresponding author. Tel.: +49 0 9131 85 28923.


E-mail addresses: simon.bogner@informatik.uni-erlangen.de (S. Bogner), ruede@informatik.uni-erlangen.de (U. Rüde).

0898-1221/$ – see front matter © 2012 Elsevier Ltd. All rights reserved.
doi:10.1016/j.camwa.2012.09.012
902 S. Bogner, U. Rüde / Computers and Mathematics with Applications 65 (2013) 901–913

Fig. 1. D3Q19 stencil. The weights are w0 = 1/3 for C, w1 , . . . , w6 = 1/18 for W , E , N , S , T , B, and w7 , . . . , w18 = 1/36 for TW , TE , TN , TS , NW ,
NE , SW , SE , BW , BE , BN , BS.

case for a Navier–Stokes based simulator originally developed for the estimation of ‘‘green water’’ loads on ship decks [13].
To the best of our knowledge, the only approach to handle similar hydromechanic problems by means of lattice Boltzmann is
the one by Janßen [14]. Because of the static nature of these problems, numerical issues arising from hydro-dynamic effects
can be widely discarded, which makes them well-suited for the verification of the force calculations that are involved. In
addition to that they provide a possibility to check the convergence of the simulated liquid–gas–solid systems into a state of
equilibrium. We succeed in showing convergence in simulations, provided that adequate spatial resolutions are chosen. For
the special problem of floating stability of cuboid structures, convergence of the numerical simulations toward the analytical
model is obtained.

2. Method

2.1. Isothermal D3Q19 lattice BGK method

We assume the D3Q19 lattice model for 3-dimensional flows [15–17], with a set of N = 19 discrete lattice velocities ⃗ ci
(i = 0, . . . , N − 1). All of the calculations of Section 3 have been done with this model; but the techniques described
in this article are general enough to be applied with other cubic lattice models. For the theoretical considerations in
this section, however, we will often fall back implicitly to the native D2Q9 model, as a 2-dimensional setting simplifies
explanations and figures. The lattice velocities ⃗ ci (also called lattice directions or lattice links) with their respective weights
wi (i = 0, . . . , N − 1), as shown in Fig. 1, are (0, 0, 0) for C , (±1, 0, 0), (0, ±1, 0), (0, 0, ±1) for W , E , N , S , T , B, and
(±1, ±1, 0), (0, ±1, ±1), (±1, 0, ±1) for TW , TE , TN , TS , NW , NE , SW , SE , BW , BE , BN , BS. By i we denote the index of
the lattice velocity c⃗i with ⃗
ci = −⃗ ci . Let sx , sy , sz be positive real numbers that are integer multiples of the spatial resolution
δx . The domain [0, sx ] × [0, sy ] × [0, sz ] is divided into cells, i.e., cubic volumes of length δx , which yields a computation
domain of lx × ly × lz (li := si /δi , i ∈ {x, y, z }), discrete lattice cells. Spatial quantities like sx , sy , sz and δx are commonly
given in a certain unit of length (e.g., metres). However, when dealing with LBM specific computations, dimensionless lattice
coordinates are used: Spatial coordinates are thus given in the following as multiples of δx . By speaking of a cell (x, y, z ),
where x, y and z are positive integer numbers, we mean the lattice cell with respective volume [x, x + 1]×[y, y + 1]×[z , z + 1]
in the lattice. We refer to the point (x + 0.5, y + 0.5, z + 0.5) as the cell center. For each lattice direction i = 0, . . . , N − 1
we denote with fi (⃗x, t ) the particle distribution function (PDF) of the direction ⃗ ci in cell ⃗
x and of time step t.
The lattice BGK propagation scheme can be derived from the classic Boltzmann equation with the collision operator
substituted by the Bhatnagar Gross Krook (BGK) operator [18–20]. Including an external force term Fi , the lattice BGK (LBGK)
equation reads

1
fi (⃗
x + δt c⃗i , t + δt ) − fi (⃗
x, t ) = − fi (⃗
x, t ) + feq,i ρ(⃗
x, t ), u
⃗(⃗x, t ) − δt Fi .
 
(1)
τ
Here, τ is the dimensionless relaxation time and related to the kinematic viscosity ν by τ = (ν + 1/2cs2 δt )/(cs2 δt ). The lattice

speed of sound cs is a model-dependent constant. In our case, we have cs = 1/ 3. The equilibrium function is therewith
given as a so-called low Mach number expansion of the Maxwell distribution function,
 
c⃗i u
⃗T
(⃗ T
ci u⃗)2 ⃗T u⃗
u
feq,i (ρ, u
⃗) = ρwi 1 + + − , (2)
cs2 2cs4 2cs2

see, e.g., [20]. Eq. (2) is valid for small flow velocities, where the constraint Ma := u ⃗T u⃗/cs ≪ 1 holds. The external force
term Fi can be used to represent gravitation (expressed as acceleration a ⃗) in simulations [21,22], with
 
T
c⃗i − u
⃗ c⃗i u

Fi = wi ρ + ⃗.
a
cs2 2cs4
S. Bogner, U. Rüde / Computers and Mathematics with Applications 65 (2013) 901–913 903

Fig. 2. 2D-representation of a free liquid–gas boundary by interface cells. The real interface (dashed line) is captured by assigning the interface cells their
liquid fraction.

The local macroscopic quantities, density ρ and fluid momentum ρ⃗


u, are obtained as moments from the PDFs as
N −1
 N −1

ρ= fi , and ρ⃗
u= c⃗i fi .
i=0 i=0

In the presence of an external force Fi ̸= 0 the momentum definition changes into ρ⃗ ⃗i fi + δ2t Fi . The momentum
N −1
u= i =0 c
flux tensor ρ⃗
uu⃗T and the stress tensor, where S represents the shear stresses of the flow, are given by
N −1

ρ⃗uu⃗T + p1 + S = c⃗i c⃗i fi .
T
(3)
i =0

For a system in equilibrium, i.e. fi = feq,i (i = 0 · · · N − 1), the stress tensor S vanishes. Within this lattice Boltzmann model,
the pressure is linearly related to the density, by the equation

p = cs2 ρ. (4)

When a simulation includes an external force, e.g., in order to simulate the effect of gravity, stability concerns limit the
density gradient and therefore the hydrostatic pressure gradient. Buick and Greated [22] give the incompressibility condition
(lx , ly , lz ) · a⃗ ≪ cs2 , which relates the external force a⃗ to the projected height of the simulation domain in the force direction.
The LBGK equation (1) can be split into two parts. The left hand side is a propagation step, the stream step, which
propagates the local PDFs of each cell along the corresponding lattice link into the neighboring cell. The right hand side is
the purely local collide step that performs a relaxation towards the local equilibrium for each cell. Note, that the separation
of the update operator into a non-local and local operation is purely formal. An efficient implementation should combine
both steps for all lattice sites [23]. For further information on the lattice Boltzmann method, see the books [24,17,1] and
surveys [18,25].

2.2. Previous work: free surface LBM

The main characteristic of the free surface model of [7] is that the dynamics of the second phase is neglected. It assumes a
system of two immiscible fluids, in which the dynamics of the first phase governs the flow completely. We refer to this first
phase as the liquid phase and to the second phase as the gas. The domain is thus split into two separate regions and the layer
where the two phases come in contact – the free surface – is assumed to be thin in relation to the spatial resolution δx . The
separate regions of liquid or gas are on the other hand assumed to be large in comparison to δx . With this assumption, one can
simulate the incompressible liquid phase with a lattice Boltzmann method by modeling the free surface as a special boundary
condition. By means of a volume of fluids approach that introduces a dynamic fill level φ(⃗ x, t ) for each lattice cell, partial filling
is allowed for cells at the free surface. In particular, the liquid mass in a cell is now given as m(⃗ x, t ) = φ(⃗x, t ) · ρ(⃗
x, t )δx3 . Cells
that have a liquid fraction with 0 < φ < 1 thus form a boundary layer for the fluid and need special treatment, as outlined
in the following. We refer to those cells as interface cells (cf. Fig. 2). During the stream step, the fill level may change due to
the exchange of PDFs with neighboring cells. The mass balance between two neighboring cells, ⃗ x and ⃗
x + c⃗i , is given by

x + c⃗i is gas,

if ⃗
0

f (⃗
x + c⃗i , t ) − fi (⃗
x, t ) x + c⃗i is liquid,
if ⃗
∆mi = 1ī  (5)
 φ(⃗x, t ) + φ(⃗x + c⃗i , t ) · fī (⃗x + c⃗i , t ) − fi (⃗x, t ) x + c⃗i is interface.
  
if ⃗

2
The interface must further fulfill the characteristics of a free surface boundary. Because the gas flow is neglected in the
model, only the pressure of the gas is taken into account. Apart from that, the interface must freely follow the liquid flow,
which is provided by a special free surface boundary condition. Assuming that an approximated normal vector n ⃗(⃗x, t ) of the
T
free surface is known for the interface cell at position ⃗
x, the PDFs fi with c⃗i n⃗ ≤ 0 (pointing towards the liquid phase) are set to
fi′ (⃗
x, t + 1) = feq,i (ρG (⃗
x), u
⃗(⃗x)) + feq,ī (ρG (⃗x), u⃗(⃗x)) − fī′ (⃗x, t + 1) (6)
904 S. Bogner, U. Rüde / Computers and Mathematics with Applications 65 (2013) 901–913

during the stream step. Here ρG (x) is chosen such that by Eq. (4) it matches the pressure pG of the gas phase. Körner et al. [7]
show that this results in a zero strain rate tensor for the boundary. This can be seen by substituting the reconstructed PDFs
from Eq. (6) into the formula for the momentum flux and stress tensor, i.e., the second order moment (Eq. (3)) of the PDFs:
 
ρ⃗uu⃗T + p1 + S = c⃗i c⃗i fi′ (⃗
T
x, t + 1 ) +
T
⃗) + feq,ī (ρG , u⃗) − fī′ (⃗x, t + 1)
feq,i (ρG , u
 
c⃗i c⃗i
i,c⃗i T n
⃗ >0 i, c⃗i T n
⃗ ≤0

feq,i (ρG , u
⃗) + feq,ī (ρG , u⃗)
T
 
= c⃗i c⃗i
i, c⃗i T n
⃗ ≤0
N −1

c⃗i c⃗i feq,i (ρG , u
⃗).
T
=
i =0

Because the last sum represents a system in equilibrium, it follows that S = 0 and p = cs2 ρG = pG . The normal vector n ⃗(⃗x)
is obtained as approximation from the gradient of fill levels within a local neighborhood of the cell. The effect of surface
tension can be included directly in the boundary condition of Eq. (6). If a constant surface tension parameter σ is given and
the local curvature of the interface κ(⃗ x, t ) is known, the gas pressure is augmented by the Laplace pressure to p′G = pG + 2σ κ .
Pohl [8] proposed a method for 3D-calculations that includes surface tension. In his approach, the local curvature κ is ex-
tracted from the surface normals in a local neighborhood, which in turn are obtained from the local gradient of fill levels.
Additional results using this approach for bubbly flows and capillary waves have been reported in [26].
For correct advection of the free boundary between gas and liquid, the state of the interface cells must be tracked carefully.
Since the interface cells represent a boundary for the LBM scheme, it is necessary to assure a closed layer of interface cells
around the liquid cells. This is achieved by a set of cell conversion rules. Thus, no direct state transition between gas and
liquid is allowed. If an interface cell reaches a fill level φ(⃗x) ≤ −ϵ or φ(⃗ x) ≥ 1 + ϵ it is converted into a gas cell or a liquid
cell, respectively. Since such a conversion could introduce holes in the interface, further cell conversions from either gas
or liquid into interface cells may be triggered. The newly generated interface cells are initialized with a fill level φ = 0 or
φ = 1, respectively. In Section 2.4, we are extending this cell conversion scheme to incorporate freely floating objects.

2.3. Previous work: particulate flow LBM

Walls and other solid obstacles that block the fluid motion must be handled with appropriate boundary conditions. For
this paper we assume that all solid boundaries can be modeled by a no-slip condition, i.e. the relative motion of the liquid
at the boundary is zero. This can be achieved by reflecting distribution functions that are hitting an obstacle cell during the
stream step to the opposite direction. If fī (⃗
x) is given with an obstacle cell at ⃗
x + c⃗ī it is bounced back according to

2
fi′ (⃗
x, t + 1) = fī (⃗
x, t ) + wi c⃗i T u⃗w ρ, (7)
cs2

where u ⃗w is the velocity of the obstacle. The second term on the right hand side accelerates the fluid according to this
velocity [2].
From the boundary condition of Eq. (7) one can directly obtain the stresses exerted on the boundary. This is known as
momentum exchange [2,3,27] in literature. The momentum transferred to the wall must equal the change of momentum
which results from the reflection of the PDF, since perfectly elastic collisions are assumed. Thus, for a fī reflected to fi′ by
Eq. (7), the change in momentum is
 
1
∆ji = fi c⃗i − fī c⃗ī = 2c⃗i fī + 2 wi c⃗i u⃗w .
⃗ ′ T
(8)
cs
Immersed rigid bodies behaving according to Newtonian physics are represented by their discretized the shape in the lattice.
For every time step the no-slip boundary is set according to the object position, orientation and velocity. If the center of a cell
is a point within the volume represented by the shape of the object, it is treated as an obstacle cell (Fig. 3). The movement of
the objects resulting from the stresses, Eq. (8), including the resolution of body–body collisions, is realized by coupling the
lattice Boltzmann algorithm to a rigid body physics engine as described in [28,29]. The resulting motion is then fed back to
the fluid simulation by setting the boundary condition according to Eq. (7) in the cells covered by the obstacle. Hereby u ⃗w is
given by the velocity of the body.
The net force and torque on the particle are obtained from the momentum flux according to Eq. (8), summed over the
discretized particle surface. Let No be the set of grid points ⃗ x next to the discretized particle surface. For a cell ⃗
x ∈ No , let
Io (⃗
x) be the set of indices i ∈ Io (⃗
x), where ∆⃗ji (⃗
x) is defined due to a reflection of PDFs as stated in Eq. (7). Then the discrete
surface integrals for force F⃗net and torque T⃗ , respectively, are given by
  δx
F⃗net = ∆⃗ji (⃗x) · , (9)
⃗x∈No i∈Io (⃗x)
δt
S. Bogner, U. Rüde / Computers and Mathematics with Applications 65 (2013) 901–913 905

Fig. 3. A box-shaped rigid body mapped into the lattice. With a free surface flow, four different cell types have to be distinguished: liquid, interface, gas
and obstacle.

  δx
T⃗ = (⃗x − o⃗) × ∆⃗ji (⃗x) · . (10)
⃗x∈No i∈Io (⃗x)
δt

In the latter sum, o⃗ is the center of gravity of the object. A non-zero torque acting on a freely moving rigid body will induce
a rotational movement.
The momentum exchange method in combination with moving boundaries is a well known approach for the simulation
of particle suspensions with lattice Boltzmann and has been used in a number of publications with only slight modifications.
The main difference in this paper to the work of Ladd [2,3] or Aidun et al. [4,5] is in the treatment of the moving boundaries.
These authors use ‘‘virtual’’ fluid nodes inside the discretized object shapes, which can be reactivated when uncovered from
the object. This approach, however, would be difficult to maintain in the presence of a free surface flow, since it is unclear
how the liquid–gas interface would have to be treated when intersecting with the volume of a particle. Therefore, we use
‘‘blocking’’ fluid nodes for the objects in combination with a refill step that we discuss in the succeeding section.

2.4. A liquid–gas–solid LBM

With the free surface model of Section 2.2 and the additional presence of moving obstacles from Section 2.3, there are
now two different boundaries for the liquid phase that must be treated dynamically. Fig. 3 illustrates the situation for a box
floating on the free surface of a liquid, simulated according to Section 2.2. Since there are now four different types of cell
states to consider (liquid, interface, gas, and solid) that may change according to fluid flow and object movement, the need
for a sophisticated cell conversion algorithm arises. In the following, we show that these conversions can be organized such
that a consistent boundary layer of interface cells around the liquid phase is maintained at every time step.
Fig. 4 shows that the total number of conversions consists of ten different state transitions. The transitions at the bottom
are those of the advection scheme of the free surface model of Section 2.2 and need no further examination. The remaining
transitions arise from the mapping of the solid to the grid. We assume the velocity of the object is small enough for
conversions into obstacle to occur only at positions in the direct neighborhood of other obstacle cells; while conversions
from obstacle to one of the three fluid states (liquid, interface or gas) can occur only at positions in the neighborhood of fluid
cells. This is no additional limitation, but a direct consequence of the low Mach number limitation of the lattice Boltzmann
scheme. Consider now an object penetrating the free surface as shown in Fig. 3. While conversions into obstacle cells are
generally safe, the conversions from obstacle into fluid could lead to invalid lattice configurations with holes in the interface
layer. When an object retracts from a cell, the correct cell type, i.e., liquid, interface or gas, needs to be determined such that
a valid lattice configuration is adhered for the next time step. This is achieved by an update rule that is based on the local
neighborhood of a given obstacle cell.
We define the non-obstacle neighborhood of a cell as B(⃗ x) := {⃗
x + c⃗i | ⃗x + c⃗i is no obstacle}. For a prior obstacle cell ⃗
x to
be converted into fluid, the state is determined as follows, [9].
• B(⃗x) contains no liquid: ⃗x is converted into gas.
• B(⃗x) contains no gas: ⃗x is converted to liquid; ρ(⃗x) is interpolated from B(⃗x), and the fi (⃗x) are set to feq,i (ρ(⃗x), u⃗w ), where
⃗w is the velocity of the point on the object’s surface, which is closest to the cell center of ⃗x.
u
• B(⃗x) contains liquid and gas: ⃗x is converted into interface. ρ(⃗x) is interpolated from the non-gas cells in B(⃗x), and the fi (⃗x)
are set as in the preceding case. Additionally a fill level φ(x) is chosen by interpolation of the fill levels of the interface cells
in B(⃗x). It is also possible to include the gas cells with the pressure ρG in the interpolation of ρ , to assure pressure balance
across the free surface boundary of Eq. (6). This is especially important if the compression of gas regions is regarded in
simulations, cf. [8].
With the free surface model of Section 2.2, the gas phase is only taken into account in terms of a pressure force that is
exerted onto the free surface. These pressure forces, however, are also acting on the surface of the solid objects. So, in analogy
to the boundary condition for the free surface, Eq. (6), we use the equilibrium function, Eq. (2), to construct PDFs feq,i (ρG , 0
⃗)
for the lattice links from gas, or interface cells to the obstacle cell of an object. From these, the momentum transferred to
the object can be calculated from Eq. (8). The missing PDF is obtained by linear interpolation with the distribution function
906 S. Bogner, U. Rüde / Computers and Mathematics with Applications 65 (2013) 901–913

Fig. 4. Possible state transitions for cell types. With moving obstacles the number of transitions increases from four to ten. The free surface type conversions
have been framed with a dotted line. The dashed arrows indicate critical state changes from solid to fluid.

of the liquid. Thus, in the presence of gas in the neighborhood of an obstacle cell, the momentum acting on the body locally
is given by

φ
 
∆⃗ji = 2c⃗i φ · fī + (1 − φ) · feq,i (ρG , 0⃗) + 2 wi c⃗i T u⃗w . (11)
cs

For a gas cell, φ = 0, only the equilibrium function of Eq. (8) remains, all other parts vanish.

3. Simulation of floating bodies

In the following sections we present the results of calculations performed with the method of Section 2.4, i.e., various
simulations of a rigid body exposed to a free surface flow. Since many details of the method are owed to previous particulate
flow simulations, we briefly recapitulate the most relevant results in Section 3.1. We then focus on the evaluation of forces
and motion of partially immersed rigid bodies, Section 3.2, in order to demonstrate consistency of the method. When dealing
with floating objects in gravity-stratified free surface flows, the buoyancy forces on the discretized objects turn out to be
one of the main sources of error. In the last part, Section 3.3, we apply our method to the problem of floating stability of
cuboid structures.

3.1. Force computations with spherical particles and staircase approximation

It has to be emphasized that due to the discretization of the body shapes to lattice sites as described in the previous
section, a certain a priori error is introduced. This is a well-known issue in LBM-based particulate flows. Approaches for the
treatment of complex, curved boundaries in lattice Boltzmann over the last decades are reported in [16,25]. These schemes
allow second order spatial accuracy in the treatment of curved boundaries. Most of them are directly applicable for moving
boundaries, such as particles. However, when gravity is involved as in the flow scenarios that we are going to discuss in the
following, interpolation based schemes [30,31], did not yield better results. Instead the force calculations turn out to be the
main source of error, with fluctuations related to the number of lattice links intersecting with the obstacle surface, as also
reported in [32].
The solid particle model described in Section 2.3 that we use throughout this paper is identical to the one used for drag
force computations on suspended particle agglomerates in [29,28], where the net force deviation was studied with spherical
particles in Stokes flow. The calculations were performed with various degrees of spatial resolution and a set of different
lattice relaxation parameters τ in [29] with a sphere fixed to the center of a channel flow. The results were found to be in
good agreement with theoretical expectations. Second order boundary conditions improved the results compared to the
staircase approximation under all tested circumstances. In [28], a sinking sphere simulation was conducted in order to
evaluate the method with moving particles as proposed in [6]. This simulation includes the influence of gravity, and uses
the unified boundary treatment of [31] for the solid boundaries: A particle of density ρs > 1 accelerates until the frictional
force imposed by the surrounding fluid balances its weight and a terminal sinking velocity is reached. The results show small
periodic oscillations in the measured force on the sphere that moves with an almost constant terminal velocity through the
lattice. This error can be attributed to the staircase approximation of the boundary of the object. Fig. 5 displays the volume
error for a sphere of radius 5 δx when traveling along an axis-aligned path. The number of cells actually covered by the sphere
is depending on its exact position relative to the lattice. With the discretized shape of a particle changing, the set of lattice
links included in the discrete surface integral around its boundary changes too, and so does the net force, Eq. (9), and torque,
Eq. (10), respectively. The interpolation based schemes applied in [29,28], approximate a curved boundary by calculating
its exact distance from the cell center along the lattice link of reflection. This information is used to correct the reflected
PDFs from Eq. (7). Hence, the error arising in the buoyancy force from changes in the discrete volume of an object cannot be
corrected by these purely local refinements. For liquid–solid suspensions without a free surface the problem of buoyancy
force fluctuations with fluid-blocking obstacles is usually negligible, or can be corrected by workarounds as reported in [33].
The following subsections discuss this issue for the free surface case.
S. Bogner, U. Rüde / Computers and Mathematics with Applications 65 (2013) 901–913 907

Fig. 5. Discretized volume for a spherical particle traveling along an axis-aligned path with a velocity of 10−4 . Ideal volume: 523.6. The graph repeats
periodically every 10,000 time steps and shows the same pattern as the calculated lifting force.

3.2. Forces on floating rigid bodies

Due to the staircase approximation of rigid body shapes, not only is the buoyancy force depending on the object’s position,
but – for partially immersed objects – a staircase function with respect to draft. This can be best explained for an axis-aligned
cube of side length s in a liquid at rest with a constant water level. The buoyancy force is then given as a linear function with
respect to the draft d:
FB = ρ gs2 d.
Because of the discretization error, d is only exact up to the lattice resolution δx . This can keep buoyant objects from coming to
rest at their equilibrium position. Especially for objects with lattice-aligned planar faces such as a cube this would sometimes
cause an unphysical ‘‘wobbling’’ behavior with the object jumping between two points slightly below and above the ideal
floating position. If on the contrary a fixed cuboid is considered and the gauge of the liquid is varied, immersing more or less
of the object’s surface, the changes in the buoyancy would be continuous. This is because the volume of fluid-based interface
treatment is not limited to the spatial accuracy of the lattice. The fill level is taken into account in the force calculations in
the interface cells at the triple line of liquid, gas and solid by Eq. (11). Test cases with a linearly rising water level around a
partially immersed, axis-aligned, fixed cuboid lead to a linear increase in the buoyant force.

3.2.1. Free advection test


To test the consistency of the unified liquid–gas–solid algorithm of Section 2.4, a free advection test was performed
in a channel flow with a constant homogeneous velocity profile in the laminar regime along the x-direction. A spherical
particle of density ρs = 0.5 was placed half-immersed freely floating in the center of the channel to be accelerated by the
hydrodynamic forces acting on its surface. Fig. 6 illustrates the setup. The channel is 60 × 40 × 30 lattice units, and the
particle diameter is 12δx . All long sides of the channel are no-slip moving walls (Eq. (7)), in order to obtain a homogeneous
velocity profile across the domain with a constant flow velocity u along the x-axis. The left (x = 0) – and right (x = sx ) –
boundaries are connected periodically, by copying PDFs streamed outside at one end into the cells at the opposing end of
the domain.
Because the gas phase is neglected in the model it must not hinder the particle motion in any way. This means that the
final velocity of the particle must equal the velocity of the liquid, while the net force on the particle must vanish. However,
due to the staircase approximation as described in Section 3.1, certain fluctuations are unavoidable with moving objects.
Fig. 7 compares the oscillations in the net force norm of the half immersed particle to the case of a totally immersed particle
(whole domain filled with liquid without free surface). Because of the non-symmetrical momentum exchange for gas and
liquid cells according to Eq. (11), ‘‘spikes’’ appear in the plot for the half immersed sphere: They occur in those time steps
where cell conversions are triggered by the algorithm. This test was repeated with τ1···4 ranging over 0.62, 0.8, 1.1, 1.7
and the fluctuations were found to be of the same order. Thus, even though an additional error is introduced, the resulting
particle movement is obtained correctly.
Simulations with buoyancy. In the presence of a density gradient in the liquid, the error in the buoyancy force cannot
be neglected. To show this, we repeated the simulation as shown in Fig. 6 with four different values of τ1···4 , namely
0.62, 0.8, 1.1, 1.7, a gravitational constant of g = 10−5 , and five different channel velocities u1···5 = 2 · 10−4 , 10−4 , 5 ·
10−5 , 2.5 · 10−5 , and 1 · 10−5 . The liquid region of the lattice is initialized with the correct density gradient to avoid shock-
waves in the presence of the external force. The particle was removed to check the behavior of the interface cells. For the
lowest value of τ = 0.62, locally spurious interface velocities were occurring. However, the absolute deviation from the bulk
velocity is always below 10−5 , restricted locally to parts of the interfacial layer, and therewith only critical for low velocities.
The diameter of the particle is 12δx and the specific density ρs = 0.5. A constant gravitational force is acting on it.
The fluctuations in the lifting force are comparable to those arising in an all-liquid domain under gravity (fully immersed
case) for all values of u and τ , as expected from the considerations in Section 3.1. However, in the free surface case, the error
908 S. Bogner, U. Rüde / Computers and Mathematics with Applications 65 (2013) 901–913

Fig. 6. Schematic view for a free advection test with a floating sphere in laminar free surface flow. The channel is driven by a moving wall boundary
condition at the bottom and its longitudinal side planes. The channel entry and outflow are connected with each other by means of a periodic boundary
condition.

Fig. 7. Spikes in the net force norm for a freely floating particle in a homogeneous flow of velocity ux = 10−4 (τ = 0.62). Force is shown over 10,000 time
steps.

Table 1
Error in the average x-velocity of the sphere for lattice gravity of g = 10−5 : critical if τ is low and the characteristic
flow velocity is of the same order as g. For the lowest value of τ = 0.62, the velocity profile oscillates within an
interval of [−g , +g ] around the true value—hence no reasonable velocity can be evaluated.
τ u1 = 2 · 10−4 (%) u2 = 10−4 (%) u3 = 5 · 10−5 (%) u4 = 2.5 · 10−5 (%) u5 = 10−5 (%)

0.62 +3.88 +14.52 +26.67 +52.04 +55.75


0.8 +0.40 +3.57 +10.70 +24.67 +88.00
1.1 −0.23 +1.52 +4.16 +12.66 +43.51
1.7 −0.54 −0.09 +0.58 +3.26 +11.06

is visible in all components of the net force on the object. The result is a deviation in the terminal velocity of the particle,
shown in Table 1. We believe that this is caused by errors that are introduced in the refilling step of the algorithm, when
obstacle-to-fluid conversions occur for an object penetrating the interface layer. As described in Section 2.4, we initialize
these cells to a local equilibrium with parameters interpolated from their local neighborhood. This is likely to introduce a
moderate error that cannot be balanced in the asymmetrical case when an obstacle is at the boundary between gas and
liquid. Even in case of liquid–solid flows without free surfaces, the problem of initializing new liquid cells is non-trivial [34].
For higher flow velocities (or lower values of g), this error is no longer critical, if even apparent in the sphere velocity.
The systematic error in the staircase approximated objects is negligible as long as the characteristic velocity U of the flow
is large in√comparison with the gravitational constant. However, it should be considered in the Froude number scaling [10]
(Fr = U / gL, for a characteristic length L) of simulations. On the other hand the question arises, whether a more accurate
treatment of particle boundaries can be designed that does not suffer from the presence of a hydrostatic density gradient.
We were unable to find any literature to report on the problem explicitly in connection with floating objects. However, based
originally on Chen et al. [35], a volumetric interpretation of the lattice Boltzmann method allows the direct calculation of
the momentum flux onto finite surface elements. This could be exploited to construct boundary conditions, like in [36–38],
that offer sub-grid scale accuracy. Rohde et al. [38] presented a variant that allows an exact description of the surface of
obstacles including surface stress calculation that is independent of surface motion. However, we have not yet tested this
approach in our scenario. We expect to explore this issue in future publications.

3.3. Stability of floating bodies

We now apply the method to the problem of floating stability of non-spherical rigid bodies. The Archimedean law states
that the buoyancy experienced by an immersed object is equal to the weight of the liquid displaced by ∇ , the immersed
volume part of the object (i.e., the part below the water plane). According to this, an object with a specific material density
ρs < 1.0 will sink or rise until buoyancy force F⃗B = ρ g ∇ and the gravitational force F⃗G balance each other vertically. In
practice, however, even if this balance of forces is given, the resulting equilibrium is often found to be unstable. Consider for
instance a cube in 2-D as shown in Fig. 8. In both positions, exactly half of the body volume is immersed and thus the body
S. Bogner, U. Rüde / Computers and Mathematics with Applications 65 (2013) 901–913 909

Fig. 8. For both positions of the cube of specific density ρs = 1/2 hydrostatic equilibrium is given. However, the equilibrium on the left hand side is
unstable. A stable equilibrium can be found with the cube rotated by 45°.

Fig. 9. Stable floating positions for a cube of material density ρs = 1/4 (left) and ρs = 3/4 (right), respectively. Each time one corner of the cube is in
place with the water line while another one is exactly half-immersed.

Fig. 10. Unstable equilibrium of a cube. Because of the slight horizontal displacement of the center of buoyancy B relative to the center of gravity of the
cube G, a moment occurs that pushes the cube further from its upright position. The center of buoyancy B is constructed as the center of gravity of the
trapezoid, which the immersed part of the cube makes up together with the fluid surface. To construct B, the base line segment u is elongated in one
direction by the parallel opposite segment v , while the latter is again elongated in the opposite direction by base line u. Next, the shifted end points of
each line segment are connected. The intersection of the connecting line with the line through the midpoints of u and v gives its center of gravity of the
trapezoid, B.

floats in hydrostatic equilibrium. However, it can be shown that only the right hand side with an heel angle of 45° is stable.
To see this, consider the cube slightly rotated from its upright position, such that its central axis (dashed line in Fig. 8) is
heeled by a small angle α . The center of gravity G of the cube is the point on which the gravitational force F⃗G acts vertically
downward. The center of buoyancy B, which is defined as the center of gravity of the immersed part ∇ of the body, is slightly
displaced to the left as shown in Fig. 10. Thus with F⃗B acting on B vertically upward, a rotational moment in the heeling
direction occurs, pushing the cube further from its upright position. In the same way it can be shown that, starting from
the 45° rotated position (right in Fig. 8), small angles of heel from this position lead to a righting moment in the opposite
direction. The result is a stable equilibrium at that position. Fig. 9 shows two further stable floating positions for the cube
densities ρs = 1/4 and ρs = 3/4.

3.3.1. Equilibrium position of floating cubes


Following [12], we check the rotational equilibrium of floating cubes of density ρs = 0.25, 0.5, and 0.75 in simulations.
With the given densities 0.25 and 0.75 a stable angle of heel is found at 26.565° from the upright axis of the cube as shown
in Fig. 9. The cube of density 0.5 should calibrate to 45°. Since we are dealing with 3-dimensional objects, the 2D cube of
side length s is represented by a cuboid of dimensions 2s × s × s, that will rotate around its longitudinal axis only, as shown
in Fig. 11. Inside a domain of 130 × 40 × 40 cells, the lower half is filled with liquid with lattice viscosity τ = 1/1.9 = 0.526
and initialized with hydrostatic pressure (g = 7.5 · 10−4 ). Three boxes with s = 16 are placed inside the basin, slightly
910 S. Bogner, U. Rüde / Computers and Mathematics with Applications 65 (2013) 901–913

Fig. 11. Box rotating about its longitudinal axis (rolling motion).

heeled from their axis-aligned upright position by an angle of 2.86°. The simulation was run until all fluid motions ceased
and the objects came to rest. Fig. 12 shows visualizations of the simulated scenario at various time steps. Since the initial
positions of the objects are far from the equilibrium state, their motions cause a wavy disturbance of the liquid in the basin.
It can be clearly seen from these visualizations that even at this low resolution the simulation converges nicely towards the
ideal equilibrium state.

3.3.2. Righting stability moment of wall-sided structures


Consider again a floating structure heeled with a certain angle α about its upright axis. The intersection of the line with
direction F⃗B through B with the upright axis of an object is defined as the metacenter M. If M lies above the center of gravity
G then the floating position of the body will be stable, otherwise unstable (see Fig. 10). This concept originates from marine
engineering and is commonly used in the characterization the floating stability of ships and other offshore structures. A
comprehensive discussion can be found in [10]. The lever arm of the torque arising from the horizontal displacement of the
mass centers B and G is given by GM sin α , and hence the righting stability moment of the body can be calculated as
ms = F⃗B · GM sin α.
The curve ms (α) = F⃗B · GM sin α is called the stability curve of the floating object. This curve can be derived analytically
for many relevant situations, depending on the shape of the immersed structure. An important case is that of a wall-sided
structure, where the points of the structure’s surface sinking under or rising above the water plane upon the considered
angles of heel are parallel opposing sides. If a wall-sided structure is given, then, according to [10,11], the Scribanti formula
states
 
I 1
B0 M = · 1 + tan2 α ,
∇ 2
where B0 is the center of buoyancy of the upright position, I is the moment of inertia of the water plane and ∇ stands for the
immersed volume of the whole body. In case of a cuboid of length l, width b, height h and draft d (= ρs · h, obtained from
the non-heeled position), the formula can be simplified by putting
I 1 b2
= ,
∇ 12 d
and with K as the keel point of the cuboid, an expression for GM can be introduced as
GM = KB0 + B0 M − KG.
From this, the ideal stability curve of an arbitrary cuboid can be calculated. Fig. 13 shows the schematic stability curves
for some cuboid structures of density ρs = 1/2 and various width:height ratio. In case of a cube, the stability curve has a
negative slope at the origin. This shows that the upright position is an unstable equilibrium. Increased width yields a higher
floating stability.
To further test the force calculation on floating bodies, the righting stability moment of a floating cube at different angles
of heel was measured in lattice Boltzmann simulations and compared to the ideal stability curve of the structure. In all of
the following cases, the gravitational constant is chosen to be g = 10−4 and a partially filled basin is initialized with a
pressure gradient according to hydrostatic equilibrium. The relaxation time is τ = 1.0. The initial width to height ratio of
the box is 6:4 (a), and then in a second pass a lower ratio of 5:4 (b) is used. Each time, the error is examined at three different
resolutions, i.e., the box size (b × h) in lattice units is 24 × 16, 48 × 32, 96 × 64 and 20 × 16, 40 × 32, 80 × 64, respectively.
The length side along the axis of rotation is always chosen as l = 2h. The box is positioned axis-aligned with the lattice,
exactly half-immersed relative to the free surface plane. During the simulation, the box is fixed to a constant position and
the angle of heel of the half-immersed box is varied with α ∈ [0°, 30°] around the longitudinal axis of the box through its
center of gravity.
Fig. 14 shows the simulation results compared to the ideal stability curve. The error is much larger in the second case
(b), since the stability lever arm of the box is shorter at the lower width per height ratio. Thus even small errors in the box
discretization have a significant influence on the forces exerted on the box. Again, the discrete origin (lattice approximation
of shapes) of the error is visible as jumps in the obtained stability curves. However, in all cases it can be seen that the errors
are decreasing for higher resolutions. This shows, that with increasing lattice resolution the simulated forces will converge
towards the analytical values.
S. Bogner, U. Rüde / Computers and Mathematics with Applications 65 (2013) 901–913 911

Fig. 12. Box objects of density 0.75, 0.5 and 0.25, respectively, striving towards vertical and rotational equilibrium. The first three pictures show the system
in motion. The last picture was taken after all visible motions had ceased. All snapshots were visualized from simulation output with the ray tracer [39].

4. Conclusion

We presented an approach for the simulation of floating structures in free surface flows, based on the lattice Boltzmann
method. The momentum exchange method is used to obtain fluid stresses at the surface of rigid bodies, which allows
to compute the resulting net force and torque. A novel set of cell conversion rules has been presented that allows the
unrestricted movement of solid objects within the domain, including penetrations of the free surface.
912 S. Bogner, U. Rüde / Computers and Mathematics with Applications 65 (2013) 901–913

Fig. 13. Stability curves for various floating cuboids of density 1/2. From the negative slope of the graph for the cube case (width:height ratio 4:4) at 0°
angle of heel, it can be deduced that the upright position is unstable. The stability increases if the width is enlarged.

Fig. 14. Stability curve of a heeled cuboid at different resolutions dx = 1, 0.5, 0.25. The legend reads the width of the box in lattice units at the different
resolutions. There is less deviation in the torque of the more stable box of width per height ratio 6:4 (a) compared to the box shape of ratio 5:4 (b).

Since the method is equivalent to existing particle suspension approaches for fully submerged objects, the validation in
this paper concentrates on floating objects at the interface. We demonstrate the basic consistency of the method by testing
the free advection of a particle following a homogeneous free surface channel flow under the influence of gravity. To validate
the force and torque calculations for non-spherical rigid bodies, we apply the method to the classic mechanical problem of
floating stability of immersed structures. Convergence towards the equilibrium state is obtained for the case of box objects
with square sides. We assess the grid resolution sensitivity of the method by using the fundamental stability formulae for
wall-sided structures and validating the righting moment of box shaped objects under varying angles of heel. The results
are found to converge towards the ideal values when the spatial resolution is increased.
The main source of error in the proposed model are oscillations in the computed fluid stresses on the objects, and are
a consequence of the discrete representation of the shapes in the lattice Boltzmann grid. Still, the results are acceptable
considering the low resolution that is needed for each single object. Thus, it can be concluded that the method can be used
for problems where a large number of objects will be in interaction with a free surface flow and a staircase approximation
of structures is sufficient.
In future work it will be interesting to go beyond hydrostatic stability examples and explore dynamic scenarios, that
include the coupled interaction of liquid and solid objects. We will present further results together with improvements in
future publications.

Acknowledgments

For the simulations presented in this paper, the waLBerla lattice Boltzmann framework [40] and the pe rigid body
physics engine [41] have been used. The authors would like to thank the members of the waLBerla team, Jan Götz, Klaus
Iglberger, Daniela Anderl, Stefan Donath, Matthias Markl, Tobias Preclik and Florian Schornbaum for various discussions and
corrections. Finally, many thanks go to Christian Janßen for correspondence via electronic mail.
S. Bogner, U. Rüde / Computers and Mathematics with Applications 65 (2013) 901–913 913

References

[1] S. Succi, The Lattice Boltzmann Equation for Fluid Dynamics and Beyond, Oxford Science Publications, 2001.
[2] A.-J.-C. Ladd, Numerical simulations of particulate suspensions via a discretized Boltzmann equation, part 1, theoretical foundation, Journal of Fluid
Mechanics 271 (1994) 285–309.
[3] A.-J.-C. Ladd, Numerical simulations of particulate suspensions via a discretized Boltzmann equation, part 2, numerical results, Journal of Fluid
Mechanics 271 (1994) 311–339.
[4] C.K. Aidun, Y. Lu, Lattice Boltzmann simulation of solid particles suspended in fluid, Journal of Statistical Physics 81 (1995) 49–61.
[5] C.K. Aidun, Y. Lu, Extension of the lattice-Boltzmann method for direct simulation of suspended particles near contact, Journal of Statistical Physics
112 (3/4) (2003) 685.
[6] C.K. Aidun, Y. Lu, E.-J. Ding, Direct analysis of particulate suspensions with inertia using the discrete Boltzmann equation, The Journal of Fluid
Mechanics 373 (1998) 287–311.
[7] C. Körner, M. Thies, T. Hofmann, N. Thürey, U. Rüde, Lattice Boltzmann model for free surface flow for modeling foaming, Journal of Statistical Physics
121 (1/2) (2005) 179–196.
[8] T. Pohl, High Performance Simulation of Free Surface Flows Using the Lattice Boltzmann Method, Ph.D. Thesis, University of Erlangen-Nuremberg,
2007.
[9] S. Bogner, Simulation of floating objects in free-surface flows, Master’s Thesis, University of Erlangen-Nuremberg, Lehrstuhl für Informatik 10
(Systemsimulation), Institut für Informatik, 2009.
[10] J.M.J. Journée, W.W. Massie, Offshore Hydromechanics, Delft University of Technology, 2001. http://www.shipmotions.nl.
[11] Captain D.R. Derrett, C.B. Barrass, Ship Stability for Masters and Mates, Vol. 1999, fifth ed., Butterworth-Heinemann, 1964.
[12] G. Fekken, Numerical Simulation of Free-Surface Flow with Moving Rigid Bodies, Ph.D. Thesis, Rijksuniversiteit Groningen, 2004.
[13] G. Fekken, A.E.P. Veldman, B. Buchner, Simulation of green water loading using the Navier–Stokes equations, in: J. Piquet (Ed.), Proceedings 7th
International Conference on Numerical Ship Hydrodynamics, 1999, p. 6.316.312.
[14] C. Janßen, Kinetic Approaches for the Simulation of Non-Linear Free Surface Flow Problems in Civil and Environmental Engineering, Ph.D. Thesis,
Technische Universität Braunschweig, 2010.
[15] Y.H. Qian, D. d’Humieres, P. Lallemand, Lattice BGK models for Navier–Stokes equations, Europhysical Letters 17 (6) (1992) 479–484.
[16] R. Mei, W. Shyy, D. Yu, L.-S. Luo, Lattice Boltzmann method for 3-d flows with curved boundary, Journal of Computational Physics 161 (2000) 680.
[17] D. Wolf-Gladrow, Lattice-Gas Cellular Automata and Lattice Boltzmann Models—An Introduction, Springer, 2005.
[18] S. Chen, G.D. Doolen, Lattice Boltzmann method for fluid flows, Annual Review of Fluid Mechanics 30 (1998) 329–364.
[19] L.-S. Luo, Theory of the lattice Boltzmann method: lattice Boltzmann models for nonideal gases, Physical Review E 62 (4) (2000) 4982.
[20] X. He, L.-S. Luo, Theory of the lattice Boltzmann method: from the Boltzmann equation to the lattice Boltzmann equation, Physical Review E 56 (6)
(1997) 6811.
[21] L.-S. Luo, Unified theory of lattice Boltzmann models for nonideal gases, Physical Review Letters 81 (8) (1998) 1618.
[22] J.M. Buick, C.A. Greated, Gravity in a lattice Boltzmann model, Physical Review E 61 (5) (2000) 5307.
[23] T. Pohl, M. Kowarschik, J. Wilke, K. Iglberger, U. Rüde, Optimization and profiling of the cache performance of parallel lattice Boltzmann codes in 2d
and 3d, Parallel Processing Letters 13 (4) (2003) 549–560.
[24] D. Hänel, Molekulare Gasdynamik, Springer, German, 2004.
[25] C.K. Aidun, J.R. Clausen, Lattice-Boltzmann method for complex flows, Annual Review of Fluid Mechanics 42 (2010) 439–472.
[26] S. Donath, K. Mecke, S. Rabha, V. Buwa, U. Rüde, Verification of surface tension in the parallel free surface lattice Boltzmann method in walberla,
Computers & Fluids 45 (1) (2010) 177–186.
[27] R. Mei, D. Yu, W. Shyy, L.-S. Luo, Force evaluation in the lattice Boltzmann method involving curved geometry, Physical Review E 65 (2002) 041203.
[28] K. Iglberger, N. Thürey, U. Rüde Ulrich, Simulation of moving particles in 3d with the lattice Boltzmann method, Computers and Mathematics with
Applications 55 (7) (2008) 1461.
[29] C. Binder, C. Feichtinger, H.-J. Schmid, N. Thürey, W. Peukert, U. Rüde, Simulation of the hydrodynamic drag of aggregated particles, Journal of Colloid
and Interface Science 301 (2006) 155.
[30] M. Bouzidi, M. Firdaouss, P. Lallemand, Momentum transfer of a Boltzmann-lattice fluid with boundaries, Physics of Fluids 13 (11) (2001) 3452.
[31] D. Yu, R. Mei, W. Shyy, A unified boundary treatment in lattice Boltzmann method, in: AIAA 41st Aerospace Sciences Meeting & Exhibit, 2003, Paper
No. 2003–0953.
[32] P. Lallemand, L.-S. Luo, Lattice Boltzmann method for moving boundaries, Journal of Computational Physics 184 (2003) 406.
[33] J. Götz, Massively Parallel Direct Numerical Simulation of Particulate Flows, Ph.D. Thesis, University of Erlangen-Nuremberg, 2011.
[34] A. Caiazzo, Analysis of lattice Boltzmann nodes initialization in moving boundary problems, Progress in Computational Fluid Dynamics 8 (1–4) (2008)
3–10.
[35] H. Chen, Volumetric formulation of the lattice Boltzmann method for fluid dynamics: basic concept, Physical Review E 58 (1998) 3955–3963.
[36] H. Chen, C. Teixeira, K. Molvig, Realization of fluid boundary conditions via discrete Boltzmann dynamics, International Journal of Modern Physics C
9 (1998) 1281–1292.
[37] R. Verberg, A.J.C. Ladd, Lattice-Boltzmann model with sub-grid-scale boundary conditions, Physical Review Letters 84 (10) (2000) 2148–2151.
[38] M. Rohde, J.J. Derksen, H.E.A. van den Akker, Volumetric method for calculating the flow around moving objects in lattice-Boltzmann schemes, Physical
Review E 65 (2002) 056701.
[39] Persistence of vision Pty. Ltd. persistence of vision (tm) raytracer, 2004. http://www.povray.org.
[40] University of Erlangen-Nuremberg Lehrstuhl für Informatik 10, walberla-lattice Boltzmann framework, 2006–2011. http://www10.informatik.uni-
erlangen.de/de/Research/Projects/walberla/.
[41] University of Erlangen-Nuremberg Lehrstuhl für Informatik 10, pe-rigid body physics engine, 2005–2011. http://www10.informatik.uni-
erlangen.de/Research/Projects/pe/.

You might also like