A unified mathematical framework and an adaptive numerical

A unified mathematical framework and an
adaptive numerical method for fluid-structure
interaction with rigid, deforming, and elastic
bodies
Amneet Pal Singh Bhalla
Department of Mechanical Engineering, Northwestern University, 2145 Sheridan
Road, Evanston, Illinois 60208, USA
Rahul Bale
Department of Mechanical Engineering, Northwestern University, 2145 Sheridan
Road, Evanston, Illinois 60208, USA
Boyce E. Griffith
Leon H. Charney Division of Cardiology, Department of Medicine, New York
University School of Medicine, 550 First Avenue, New York, New York 10016,
USA
Neelesh A. Patankar
Department of Mechanical Engineering, Northwestern University, 2145 Sheridan
Road, Evanston, Illinois 60208, USA
Abstract
Many problems of interest in biological fluid mechanics involve interactions between fluids and solids that require the coupled solution of momentum equations
for both the fluid and the solid. In this work, we develop a mathematical framework and an adaptive numerical method for such fluid-structure interaction (FSI)
problems in which the structure may be rigid, deforming, or elastic. We employ
an immersed boundary (IB) formulation of the problem that permits us to avoid
body conforming discretizations and to use fast Cartesian grid solvers. Rigidity and
deformational kinematic constraints are imposed using a formulation based on distributed Lagrange multipliers, and a conventional IB method is used to describe
the elasticity of the immersed body. We use Cartesian grid adaptive mesh refinement (AMR) to discretize the equations of motion and thereby obtain a solution
methodology that efficiently captures thin boundary layers at fluid-solid interfaces
as well as flow structures shed from such interfaces. This adaptive methodology is
Preprint submitted to Elsevier Science
7 January 2013
validated for several benchmark problems in two and three spatial dimensions. In
addition, we use this scheme to simulate free swimming, including the maneuvering
of a two-dimensional model eel and a three-dimensional model of the weakly electric
black ghost knifefish.
Key words: fluid-structure interaction, incompressible Navier-Stokes equations,
immersed boundary method, distributed Lagrange multipliers, adaptive mesh
refinement, free swimming
1
Introduction
Problems involving interactions between fluids and solids lead to coupled systems that require the solution of momentum equations for both the fluid and
the solid. Common approaches to such problems include methods that use
body-fitted meshes and so-called immersed boundary or immersed body methods. Although body-fitted meshes permit sharp resolution of fluid-solid interfaces, methods that employ such discretizations are expensive because they
require frequent remeshing [1, 2]. Such approaches also present significant implementation challenges for immersed structures with complex geometries and
can be extremely difficult to incorporate into existing fluid solver implementations. The immersed boundary (IB) method [3] does not suffer from these
difficulties. The IB approach to such fluid-structure interaction (FSI) problems
specifically avoids the need for body-conforming discretizations by accounting
for the effect of the solid on the fluid via an additional body force that is added
to the (fluid) momentum equation; the solid then moves according to the velocity field computed by the basic fluid solver. Consequently, it is straightforward
to employ an IB approach to FSI within existing incompressible flow solvers.
In addition, this approach is equivalent to more standard continuum formulations involving jump conditions at fluid-solid interfaces [4, 5]. A drawback of
the conventional IB approach is that it does not sharply resolve fluid-solid interfaces. Instead, such interfaces are regularized over a finite region, and high
spatial resolution can be required in the vicinity of such interfaces to resolve
fluid boundary layers. The need for such localized regions of high resolution
has motivated the development of adaptive IB methods [6–9].
In this work, we develop a mathematical framework and an adaptive numerical method for FSI problems involving rigid, deforming, or elastic structures.
For the parts of the bodies with prescribed velocities or deformational kineEmail addresses: [email protected] (Boyce E. Griffith),
[email protected] (Neelesh A. Patankar).
2
matics, we use a constraint formulation based upon distributed Lagrange multiplier methods [10–14], whereas a conventional version of the IB method [3]
is employed for the elastic parts of the immersed bodies. Our basic numerical
scheme is a fractional-step method, in which we first solve the equations of
fluid-structure interaction without imposing any constraints on the motion or
kinematics other than the constraint of incompressibility. We then determine
the motion of the constrained parts of the body, update the positions of those
parts of the body, and correct the material velocity field to account for these
constrained motions. The resulting algorithm is reminiscent of Chorin’s original projection method for incompressible flow [15]. In practice, the present algorithm requires an unconstrained fluid solve followed by an additional Poisson
solve to ensure that the corrected velocity field remains discretely divergence
free. Fast solvers are available for both systems of equations, and the overall
computational cost is less than two fluid solves per time step. Moreover, as we
demonstrate empirically, this approach yields good momentum conservation
and thereby permits the stable use of relatively large time step sizes.
To reduce the computational expense of this methodology, we discretize the
fluid equations via a block-structured adaptive mesh refinement (AMR) approach [16,17], whereby the computational domain is described as a system of
nested Cartesian grid levels, and each grid level is comprised of one or more
rectangular Cartesian grid patches. This allows us to deploy localized regions
of high spatial resolution where they are most needed, such as in the vicinity
of fluid-structure interfaces or flow features shed from the immersed body. The
locally refined grid is adaptively updated to track such features. Unlike previous adaptive versions of the IB method [6–9], however, the present scheme
permits the immersed body to span multiple grid levels, so that different parts
of the immersed body may be associated with different levels of spatial resolution. We apply this adaptive numerical framework to a variety of benchmark
FSI problems. We also use it to simulate aquatic locomotion.
Two versions of the IB method have been previously used to simulate aquatic
locomotion. In the first approach, which we refer to as the elastohydrodynamic
approach, body motions are driven by models of the elastic properties of the
body, models of the muscle activation patterns, and/or models of the neuronal
activity and tissue electrophysiology. The elastohydrodynamic approach is important for gaining insight into the relationships between muscle physiology
and neuronal activity in active swimming. The earliest work using the elastohydrodynamic approach was done by Fauci and Peskin [18]. High-resolution
FSI simulations of lamprey swimming that employ a model of neuromuscular coupling were performed by Tytell et al. [19] using an adaptive version
of the IB method [7]. Simulations of jellyfish swimming using the elastohydrodynamic approach have been done by Zhao et al. [20] and by Herschlag
and Miller [21]. The second approach, which we refer to as the hydrodynamic
approach, bypasses the details of the neuromuscular coupling and the elastic
3
properties of the body and instead uses the observed deformational kinematics
to understand the hydrodynamics of the swimming [2, 14, 22–27]. The second
approach is suitable for problems in which the aim is to determine swimming
velocities or forces generated during swimming. The deformational kinematics
data required by the hydrodynamic approach to simulating aquatic locomotion
can be obtained from experiments [28–34].
By adopting an adaptive discretization strategy, we are able to perform extremely high resolution two- and three-dimensional simulations of aquatic locomotion. Herein, we employ the hydrodynamic approach to model the free
swimming of eels and of the black ghost knifefish. We consider problems involving both straight swimming and also various turns and maneuvers. We also
develop a simple prototype swimmer composed of a rigid head and a flexible
tail. The time-dependent elastic properties of the tail drive forward swimming.
For the case of the model knifefish, the deformational kinematics are based
on experimental data, and an initial validation of the model is obtained by
comparing the computed swimming speeds to experimental measurements.
2
Mathematical formulation
We state the governing equations for a fluid-structure system that occupies a
fixed region of physical space U ⊂ Rd for d = 2 or 3. We denote by x ∈ U
fixed Cartesian (physical) coordinates with components xi , i = 1, . . . , d. The
physical domain is subdivided into two time-dependent subregions: the region
occupied by the fluid at time t, which we denote by Uf = Uf (t) ⊆ U, and
the region occupied by the immersed body at time t, which we denote by
Ub = Ub (t) ⊆ U. The subregions Uf and Ub are taken to be nonoverlapping,
and their union is taken to fill U, so that U = Uf (t) ∪ Ub (t) for all t. We
further decompose the region occupied by the body as Ub (t) = Uc (t) ∪ Ue (t),
in which Uc represents the constrained parts of the body where the motion or
deformation of the structure are known a priori, and Ue represents the elastic
parts of the body where the elastic properties of the structure is known but
the motion or deformation is not prescribed. For simplicity, we take the mass
density of the immersed structure to be the same as that of the fluid, and
we assume that the elastic parts of the immersed body have the same viscous
properties as the fluid. (This second assumption implies that the flexible parts
of the body are viscoelastic rather than purely elastic; however, when elastic
stresses dominate viscous stresses, as is the case in the present work, this
model provides a reasonable approximation to a purely elastic material.) These
assumptions on the mass density and viscosity of the fluid-structure system are
not essential, however, and extensions of the present mathematical formulation
to problems with nonuniform mass densities or viscosities seem feasible and
are subjects of current research by us and others [35–38].
4
Although it is natural to use an Eulerian description of the fluid, it is generally
more convenient to use a Lagrangian description of the configuration of the
immersed body. To do so, we use a material coordinate system Ωb ⊂ Rd
attached to the body, with Ωc ⊆ Ωb denoting the parts of the body where
constraints are imposed on the body motion, and with Ωe ⊆ Ωb denoting the
flexible parts of the body where the motion or deformation of the body is not
predetermined. We denote by s ∈ Ωb material coordinates with components
si , i = 1, . . . , d, and we denote by X(s, t) ∈ U the physical position of material
point s at time t. The mapping X : (Ωb , t) 7→ U satisfies X(Ωc , t) = Uc (t) and
X(Ωe , t) = Ue (t) for all t. To simplify both the mathematical formulation and
the numerical scheme, we require that J = det(∂X/∂s) ≡ 1 for all s ∈ Ωc .
General curvilinear coordinates may be used within the flexible portion of the
structure. Specifically, we neither assume nor require that J ≡ 1 in Ωe .
The equations of motion of the coupled fluid-structure system are
!
∂u
ρ
(x, t) + u(x, t) · ∇u(x, t) = −∇p(x, t) + µ∇2 u(x, t)
∂t
+ f c (x, t) + f e (x, t),
∇ · u(x, t) = 0,
f c (x, t) =
f e (x, t) =
Z
ZΩc
Ωe
(1)
(2)
Fc (s, t) δ(x − X(s, t)) ds,
(3)
Fe (s, t) δ(x − X(s, t)) ds,
(4)
∂X
(s, t) = U(s, t),
∂t
Z
U(s, t) =
u(x, t) δ(x − X(s, t)) dx.
(5)
(6)
Ub
Here, u(x, t) is the Eulerian velocity of the coupled fluid-structure system,
p(x, t) is the pressure, ρ is the uniform mass density of the fluid-structure
system, µ is the uniform viscosity of the fluid, and δ(x) = Πdi=1 δ(xi ) is the
d-dimensional Dirac delta function. Except where otherwise noted, we impose
periodic boundary conditions on U, and we initialize the material velocity
field as u(x, t)|t=0 ≡ 0. These choices of boundary and initial conditions are
made for convenience and are not limitations of the present mathematical
formulation, our numerical scheme, or the software implementation of this
scheme.
In this formulation, two Eulerian body force densities are included in the
momentum equation (1). The first of these body forces, f c = f c (x, t), is supported on Uc (t) and acts to enforce the constraints imposed on the parts of the
body that have prescribed motion or deformational kinematics. The second,
f e = f e (x, t), is supported on Ue (t) and accounts for the elastic forces generated
by deformations of the flexible portions of the body. Although f c and f e are
5
Eulerian body force densities, we specify these densities in Lagrangian form,
as described below. The definition of δ(x) implies that f e (x, t) and Fe (s, t) are
equivalent densities in the sense that
Z
V
f e (x, t) dx =
Z
X−1 (V,t)
Fe (s, t) ds,
(7)
in which X−1 (V, t) = {s : X(s, t) ∈ V} for any region V ⊆ U. Moreover, it is
straightforward to show that
f e (x, t) =


1
J(X−1 (x,t),t)
Fe (X−1 (x, t), t) for x ∈ Ue , and
0
otherwise.
(8)
The constraint force densities f c and Fc are likewise equivalent densities; however, because J ≡ 1 in Ωc ,
f c (x, t) =

F
−1
c (X (x, t), t)
0
for x ∈ Uc , and
otherwise.
(9)
The definition of the delta function also implies that eqs. (5) and (6) are
equivalent to
∂X
(s, t) = u(X(s, t), t).
(10)
∂t
Thus, the no-slip condition is satisfied at fluid-structure interfaces.
Within the parts of the body where deformational kinematics are prescribed,
the rate of deformation of the coupled fluid-structure system must match
the prescribed rate of deformation of the structure. Specifically, letting uk =
uk (x, t) denote the prescribed incompressible deformational kinematic velocity
within the constrained part of the body, we require that
i
i
1h
1h
∇u + ∇uT =
∇uk + ∇uTk in Uc .
2
2
(11)
Shirgaonkar et al. [14] determined that the Eulerian form of the body force
f c (x, t) needed to enforce this constraint in Uc is
i
1h
∇λ + ∇λT ,
2
λ = λr − 2µuk ,
fc = ∇ ·
(12)
(13)
in which λr is a Lagrange multiplier that enforces the constraint (11). Similar
constraint forces can be used to impose internal velocity constraints of the
form
u = uk in Uc .
(14)
In the present formulation, we employ an equivalent Lagrangian version of such
6
constraint forces. We remark that in our numerical scheme, we do not explicitly
compute the distributed Lagrange multipliers; rather, we directly compute an
approximation to Fc and then obtain f c via a discrete approximation to eq. (3).
It is convenient to use the Lagrangian description of the body to determine
the elastic forces generated by deformations of the flexible portions of the
structure. In general, given an elastic energy functional Ee : X(·, t) 7→ R, the
corresponding Lagrangian elastic force density Fe (s, t) can be determined from
the Fréchet or total derivative of Ee [3]. For the present work, it is sufficient
to assume that the flexible parts of the body are composed of collections of
elastic fibers that resist extension, compression, and possibly bending, and
that the curvilinear coordinates are chosen within the flexible parts of the
body so that each fixed value of (s1 , s2 ) labels one such fiber and, for a fixed
value of (s1 , s2 ), s3 represents the position along the fiber labeled by (s1 , s2 ).
(In general, s3 is proportional to arc length, although it need not equal arc
length.) In this case, the Lagrangian elastic force density is
Fe (s, t) =
∂
∂4
(T (s)τ̂ (s, t)) − Kb 4 (X(s, t) − Xb (s, t)) ,
∂s3
∂s3
(15)
in which T (s) is the fiber tension (i.e., the fiber force per unit cross-sectional
area in the material coordinate system, so that T ds1 ds2 has units of force),
τ̂ (s, t) = ∂X/∂s3 /|∂X/∂s3 | is the unit tangent vector aligned with the fibers,
Kb ≥ 0 is the bending stiffness of the fiber, and Xb (s, t) specifies the curvature
of the fiber. Although the fiber tension may be a general nonlinear function
of the fiber strain, in this work, we take
T = Ks (|∂X/∂s3 | − 1) ,
(16)
in which Ks is the fiber stiffness coefficient. For further details, see Peskin [3]
and Griffith et al. [39]. We also remark that it is straightforward within the
framework of the IB method to abandon the notion of fibers altogether and
to employ general nonlinear constitutive laws that are commonly used within
the framework of large-deformation nonlinear elasticity [20, 40–44].
3
Spatial discretizations and Lagrangian-Eulerian interaction
In this work, we approximate the Eulerian equations on a locally refined Cartesian grid, we approximate the Lagrangian equations using a collection of immersed nodes that may be positioned arbitrarily on the domain covered by this
Eulerian grid, and we approximate the Lagrangian-Eulerian interaction equations by replacing the singular Dirac delta function kernel with a regularized
version of the delta function. This approach enables us to use nonconform-
7
ing discretizations of the fluid and structure. Specifically, we do not constrain
the motion of the immersed body to conform to the Eulerian grid. Moreover, although we do adaptively update the locally refined Cartesian grid to
ensure that high spatial resolution is deployed near fluid-structure interfaces
or flow structures shed from such interfaces, we do not require the Eulerian
discretization to conform strictly to the boundary of the immersed body.
Throughout this section, we generally describe the case in which d = 3. The
discrete approximations employed for the case d = 2 are similar.
3.1
Eulerian discretization
We solve the Eulerian equations on a block-structured locally refined Cartesian grid [16, 17]. The locally refined grid is composed of a hierarchy of nested
grid levels that are labeled ` = 0, 1, . . . , `max , with ` = 0 denoting the coarsest
level in the grid hierarchy and with `max ≥ 0 denoting the finest level. Each
level of the hierarchical grid is composed of one or more rectangular Cartesian
grid patches. The grid patches that comprise a particular level ` of the grid are
required to be nonoverlapping; this requirement greatly simplifies the implementation. The union of the patches on level ` covers a physical region U ` ⊆ U.
The patch levels are constructed to satisfy a nesting condition that generally
requires U ` to be strictly contained in U `−1 , the physical region covered by
the patches that make up level ` − 1. This nesting condition is relaxed in the
vicinity of physical boundaries of U, so that high spatial resolution may be
employed along parts of ∂U where physical boundary conditions are imposed.
The Cartesian grid spacing on each level ` of the locally refined grid is h` , and
this grid spacing is related to the grid spacing on level ` − 1 by an integer
1
`
`−1
refinement ratio n`−1
. Moreover, the boundaries of the
ref , so that h = n`−1 h
ref
grid patches on level ` are required to align with the boundaries of the grid
cells of level ` − 1, the next coarser level. This property simplifies the construction of composite-grid approximations to the Eulerian spatial differential
operators.
To approximate the incompressible Navier-Stokes equations on a hierarchical Cartesian grid, we use a staggered-grid discretization detailed by Griffith [9]. Briefly, we determine at the center of each cell face (or, in two spatial
dimensions, at the center of each cell edge) approximations to the components of u(x, t), f c (x, t), and f e (x, t) that are normal to that face (or edge),
whereas approximations to p(x, t) are determined at the centers of the Cartesian grid cells. More precisely, let integer indices (i, j, k) label the Cartesian
grid cells on a particular level ` of the locally refined grid, and let Gc` denote the set of cell-centered Cartesian indices associated with the level `
grid patches. The position of the center of grid cell (i, j, k) ∈ Gc` is x`i,j,k =
8
(i + 12 )h` , (j + 12 )h` , (k + 12 )h` . The centers of the x1 faces of the grid cells
on level ` are indicated
by the shifted indices (i− 21 , j, k) ∈ Gx` 1 and have spatial
positions x`i− 1 ,j,k = ih` , (j + 21 )h` , (k + 21 )h` . Similar notation is used to de2
note the centers of the x2 and x3 faces of the grid cells. With u = (u1 , u2 , u3 ),
(u1 )`i− 1 ,j,k (t) approximates u1 (x`i− 1 ,j,k , t) on level `, (u2 )`i,j− 1 ,k (t) approximates
2
2
2
u2 (x`i,j− 1 ,k , t), and (u3 )`i,j,k− 1 (t) approximates u3 (x`i,j,k− 1 , t). Analogous nota2
2
2
tion is used to denote approximations to f c and f e . The approximation on level
` to the pressure at cell center x`i,j,k is denoted by p`i,j,k (t).
`
Each level of the hierarchical grid is partitioned into a valid region Uvalid
that
`
is not covered by any finer grid patches, and an invalid region Uinvalid that is
covered by grid patches on finer levels of the grid hierarchy. On level `max ,
`max
`max
`
Uvalid
= U `max and Uinvalid
= ∅, whereas on level ` < `max , Uvalid
= U ` \ U `+1
`
`+1
and Uinvalid = U . Composite-grid approximations to Eulerian quantities are
defined in terms of only the degrees of freedom located in valid regions of the
grid. In invalid regions of coarser levels ` < `max of the grid, Eulerian values
are determined by interpolating the overlying fine grid values on level ` + 1.
Such composite-grid quantities are indicated by omitting the superscript “`.”
Finite-difference approximations to the Eulerian spatial differential operators of the continuous equations are constructed that maintain at least firstorder local accuracy in the vicinity of interfaces in grid resolution (i.e., at
so called coarse-fine interfaces). Away from coarse-fine interfaces, the spatial
discretization reverts to a second-order accurate staggered-grid discretization.
We remark that although the scheme suffers from localized reductions in formal order of accuracy at coarse-fine interfaces, empirical tests demonstrate
that the adaptive fluid solver yields essentially second-order pointwise convergence rates for benchmark problems. For details on the composite-grid
finite-difference discretization used in this work, see Griffith [9].
3.2
Lagrangian discretization
The Lagrangian equations are approximated on a curvilinear mesh that is
free to cut through the background Cartesian grid in an arbitrary manner.
We identify (l, m, n) with the nodes of the curvilinear mesh, and we define
(possibly nonuniform) curvilinear mesh spacings (∆s1 , ∆s2 , ∆s3 ). We identify
the set of all curvilinear mesh nodes as Mb . The mesh nodes associated with
the constrained parts of the body are denoted Mc , and the mesh nodes associated with the elastic parts of the body are denoted Me . Explicit mesh
connectivity information is needed and maintained only for those nodes in
Me . The Lagrangian constraint force is specified in a manner determined by
the time step-splitting scheme employed in this work; see Secs. 4.1–4.4. To
9
compute an approximation to the Lagrangian elastic force density for the case
in which Kb = 0, we introduce a finite-difference operator in the s3 curvilinear
coordinate direction defined by
(Ds3 Φ)l,m,n+ 1 =
2
Φl,m,n+1 − Φl,m,n
,
∆s3
(17)
in which Φl,m,n ≈ Φ(l∆s1 , m∆s2 , n∆s3 ) is an arbitrary quantity defined on
the curvilinear mesh. We approximate the fiber tension and unit fiber tangent
vector at “half-integer” values of s via
Tl,m,n+ 1 = Ks (Ds X)l,m,n+ 1 − 1 ,
2
(18)
2
(Ds X)l,m,n+ 1
2
.
(Ds X)l,m,n+ 1 τ̂ l,m,n+ 1 = 2
(19)
2
Using these values, we compute an approximation to Fe on the nodes of the
curvilinear mesh via
(Fe )l,m,n = (Ds (T τ̂ ))l,m,n
(20)
Notice that (Fe )l,m,n is defined entirely in terms of Xl,m,n and Ks . We remark
that this discretization is equivalent to describing the elasticity of the flexible
parts of the body in terms of systems of Hookean springs with nonzero resting
lengths. Bending-resistant forces present for the case Kb > 0 are similarly
∂4
approximated by a compact finite-difference discretization of ∂s
4.
3
3.3
Lagrangian-Eulerian interaction
In our approximation to the Lagrangian-Eulerian coupling operators, we use
a regularized version of the d-dimensional delta function thatis of the tensor product form δh (x) = Πdi=1 δh (xi ), in which δh (xi ) = h1 ϕ xhi is a onedimensional regularized delta function. We define δh (x) in terms of the fourpoint function ϕ(r) of Peskin [3], which is given by
ϕ(r) =
 q
1
2 ,


3
−
2|r|
+
1
+
4|r|
−
4r

8 q
1
8



0,
5 − 2|r| −
0 ≤ |r| < 1,
−7 + 12|r| − 4r2 , 1 ≤ |r| < 2,
(21)
2 ≤ |r|.
To simplify the development of approximations to the Lagrangian-Eulerian
coupling operators, we assume that the immersed body can be decomposed
into regions Ω`b that are each completely embedded within a particular level
` of the hierarchical grid. The curvilinear mesh nodes located within Ω`b are
identified by M`b . Given a Lagrangian force density F` = (F1` , F2` , F3` ) defined
on the nodes of M`b , we construct the corresponding Eulerian force density
10
f ` = (f1` , f2` , f3` ) on level ` of the Cartesian grid via
(f1 )`i− 1 ,j,k =
2
X
(F1 )`l,m,n δh` (x`i− 1 ,j,k − X`l,m,n ) ∆s`1 ∆s`2 ∆s`3 ,
(22)
(F2 )`l,m,n δh` (x`i,j− 1 ,k − X`l,m,n ) ∆s`1 ∆s`2 ∆s`3 ,
(23)
(F3 )`l,m,n δh` (x`i,j,k− 1 − X`l,m,n ) ∆s`1 ∆s`2 ∆s`3 ,
(24)
2
(l,m,n)∈M`b
(f2 )`i,j− 1 ,k =
2
X
2
(l,m,n)∈M`b
(f3 )`i,j,k− 1 =
2
X
2
(l,m,n)∈M`b
all for level ` grid cell faces in Gx` 1 , Gx` 2 , and Gx` 3 , respectively. We denote this
discrete Lagrangian-to-Eulerian operator using the shorthand f ` = S ` [X` ] F` .
Likewise, if u` = (u`1 , u`2 , u`3 ) is a vector field defined on level ` of the Cartesian
grid, then its restriction U` = (U1` , U2` , U3` ) to the nodes of M`b is determined
by
(U1 )`l,m,n =
2
(i− 12 ,j,k)∈Gx` 1
(U2 )`l,m,n =
3
3
2
3
(25)
,
(26)
,
(27)
2
(u3 )`i,j,k− 1 δh` (x`i,j,k− 1 − X`l,m,n ) h`
X
,
2
(u2 )`i,j− 1 ,k δh` (x`i,j− 1 ,k − X`l,m,n ) h`
X
(i,j− 21 ,k)∈Gx` 2
(U3 )`l,m,n =
(u1 )`i− 1 ,j,k δh` (x`i− 1 ,j,k − X`l,m,n ) h`
X
2
(i,j,k− 21 )∈Gx` 3
2
for all (l, m, n) ∈ M`b . We denote this discrete Eulerian-to-Lagrangian coupling operator using the shorthand U` = R` [X` ] u` . Notice that R` [X` ]
and S ` [X` ] are adjoint operators, which implies that the single-level coupling
scheme conserves energy during Lagrangian-Eulerian interaction [3].
Using the single-level force-spreading and velocity-restriction operators, S `
and R` , we can construct composite-grid spreading and restriction operators
for quantities defined over the entire Cartesian grid hierarchy. Let I``+1 denote
an interpolation operator that refines Eulerian quantities defined on level ` of
the hierarchical grid onto level `+1. We recursively construct a composite-grid
force-spreading operator via
{S[X] F}0 = S 0 [X0 ] F0 ,
`
`
`
`
{S[X] F} = S [X ] F +
(28)
`
I`−1
{S[X] F}
`−1
for 0 < ` ≤ `max ,
(29)
in which {S[X] F}` denotes the value of f = S[X] F on level ` of the grid
`
hierarchy. Letting C`+1
denote an interpolation operator that coarsens Eulerian
quantities defined on level ` + 1 onto the overlying invalid region of level `, we
11
construct a corresponding composite-grid velocity-restriction operator via
`
`
u` = C`+1
u`+1 in Uinvalid
for 0 ≤ ` < `max ,
`
`
`
`
{R[X] u} = R [X ] u ,
(30)
(31)
in which {R[X] u}` denotes the value of U = R[X] u associated with level
` of the grid hierarchy. Notice that eq. (30) is an explicit statement of the
`
requirement that the values of u in Uinvalid
are defined in terms of the overlying
fine grid values on level ` + 1. Generally, R[X] 6= S[X]∗ unless the refining
and coarsening operators are discretely adjoint. In the present work, we use a
slope-limited conservative refine operator and a conservative coarsen operator,
and these operators are not discretely adjoint. However, in the special case in
which the immersed body is entirely represented on level `max , R[X] = S[X]∗
because R`max [X`max ] = S `max [X`max ]∗ .
4
Solution methodology
Our basic strategy for solving the coupled system of equations is first to solve
the equations of motion without accounting for the constraints associated
with any prescribed motions or deformations of the immersed body. We then
enforce these constraints directly and solve an auxiliary system of equations
to ensure that the composite material velocity field is discretely divergence
free. Because of this time step splitting, the overall scheme is only first-order
accurate in time. The spatial discretization is also generally only first-order
accurate, although it attains second order accuracy for certain sufficiently
smooth problems [7, 45].
We first present the basic time stepping scheme, which is independent of the
particular type of constraints that are imposed on the motion. We then detail
three different numerical approaches to imposing different types of constraints
on the motion.
4.1
Basic time stepping scheme
We use truncated fixed-point iteration to discretize the equations of motion in
1
time. Let Xn+1,k , un+1,k , and pn+ 2 ,k denote approximations to the values of X
1
and u at time tn+1 and to the value of p at time tn+ 2 obtained after k cycles of
fixed point iteration. (Wherever “n” appears as a superscript, it always refers
to a time step number; wherever “n” appears as a subscript, it always is the
index of a curvilinear mesh node. Likewise, superscript “k” always indicates
n+1,k
1
a cycle number.) Additionally, let X̃
, ũn+1,k , and p̃n+ 2 ,k denote the ap-
12
proximations to X, u, and p obtained before imposing the constraints on the
motion or deformation of the immersed body. At the beginning of the time
1
1
1
n+1,0
step,
= Xn , un+1,0= un , and pn+ 2 ,0 = pn− 2 . Define Xn+ 2 ,k =
we set X 1
1
Xn+1,k + Xn and un+ 2 ,k = 21 un+1,k + un as time step-centered approx2
1
imations to X and u, respectively, and let ũn+ 2 ,k = 12 ũn+1,k + un . We use
a dynamically chosen time step size ∆t that satisfies the convective CFL condition
ku` k∞ ∆t ≤ Ch`
(32)
on each level of the grid hierarchy, in which C is the so-called convective CFL
number. Except where otherwise noted, all numerical examples use two cycles
of truncated fixed-point iteration per time step and determine ∆t by setting
C = 0.3.
We begin by solving the equations of motion without imposing constraints
related to the imposed motion or deformational kinematics of the immersed
body, although we do impose the constraint of incompressibility on the composite material velocity field. The linear terms in the incompressible NavierStokes equation are treated implicitly whereas all other terms are treated
explicitly, so that
1
1
1
ũn+1,k+1 − un
ρ
+ An+ 2 ,k = −∇h p̃n+ 2 ,k+1 + µ∇2h ũn+ 2 ,k+1
∆t
!
1
1
+ S[Xn+ 2 ,k ] Fe [Xn+ 2 ,k ],
n+1,k+1
∇h · ũ
n+1,k+1
X̃
∆t
1
− Xn
= 0,
1
1
= R[Xn+ 2 ,k ] ũn+ 2 ,k+1 ,
(33)
(34)
(35)
1
in which An+ 2 ,k ≈ [u · ∇u]n+ 2 ,k is an explicit approximation to the advection
term that uses the xsPPM7 version [46] of the piecewise-parabolic method
(PPM) [47]. We solve these equations using the flexible GMRES (FGMRES)
algorithm [48] preconditioned by a version of the projection method [49].
In general, ũn+1,k will not satisfy the constraints on the deformation or body
motion within Uc . To correct ũn+1,k+1 in Uc , we compute an approximation to
the constrained Lagrangian body velocity field Un+1,k+1
, and we correct the
b
configuration of the immersed structure to obtain Xn+1,k+1 . Ub and X are
determined in different ways for different types of constraints; the particular
choices considered herein are detailed in Secs. 4.2–4.4. Having determined Ub
and X, we compute the difference between the Lagrangian body velocity field
and the interpolation of the unconstrained Eulerian velocity to the Lagrangian
13
mesh via
n+1,k+1
(∆Uc )l,m,n
=

(Ub )n+1,k+1
l,m,n
− R[Xn+1,k ] ũn+1,k+1
l,m,n
for (l, m, n) ∈ Mc ,
for (l, m, n) ∈ Me ,
(36)
so that the Lagrangian constraint force Fc that ensures that the background
fluid velocity approximately matches that of the constrained parts of the immersed solid is
ρ
∆Un+1,k+1
.
(37)
Fn+1,k+1
=
c
c
∆t
Notice that (Fc )n+1,k+1
= 0 for (l, m, n) ∈ Me . The Eulerian velocity field is
l,m,n
then corrected by solving
0
1
un+1,k+1 − ũn+1,k+1
ρ
= −∇h ∆pn+ 2 ,k+1 + S[Xn+1,k ] Fcn+1,k+1 ,
∆t
∇h · un+1,k+1 = 0.
(38)
(39)
1
A first-order accurate approximation to the pressure at time tn+ 2 may be
1
1
1
computed as pn+ 2 ,k+1 = p̃n+ 2 ,k+1 + ∆pn+ 2 ,k+1 ; however, the computed value
1
of pn+ 2 has no effect on the dynamics, and in practice, we generally do not
evaluate the corrected pressure.
We remark that by multiplying eq. (38) by
is equivalent to
un+1,k+1 = ũn+1,k+1 −
∆t
,
ρ
it is easy to see that eq. (38)
1
∆t
∇h ∆pn+ 2 ,k+1 + S[Xn+1,k ] ∆Un+1,k+1
.
c
ρ
(40)
The quantity S[Xn+1,k ] ∆Un+1,k+1
is a discrete approximation to the continc
uous quantity
(∆uc ) (x, t) =
Z
(∆Uc ) (s, t) δ(x − X(s, t)) ds
Ωc
(∆U
=
0
−1
c ) (X (x, t), t)
for x ∈ Uc ,
otherwise,
(41)
(42)
in which the second equality holds because J = det(∂X/∂s) ≡ 1 in Ωc . Thus,
the Eulerian constraint force approximately imposes the desired motion within
the constrained parts of the Eulerian domain.
We also remark that we have found that it is not always necessary to impose
∇h · un+1,k+1 = 0 to obtain accurate results using the present scheme. When
it is possible to avoid imposing this condition, the Eulerian velocity may be
corrected by simply evaluating
un+1,k+1 = ũn+1,k+1 + S[Xn+1,k ] ∆Un+1,k+1
.
c
14
(43)
We provide empirical tests to demonstrate the performance of the method
with and without including the final divergence-free projection in Sec. 7.1.3.
4.2
Prescribed motion
For problems in which the motion of the body is prescribed, we assume either
that the Lagrangian velocity of the body Ub is specified as an explicit function
of time, or that the linear and angular velocities of the center of mass of a
rigid body, Ur and Wr , are explicit functions of time. When we are given Ur
and Wr but not Ub , we compute Ub via
(Ub )l,m,n =

U
r
+ Wr × Rl,m,n
0
for (l, m, n) ∈ Mc ,
for (l, m, n) ∈ Me ,
(44)
in which Rl,m,n is the radius vector from the center of mass of the body to the
physical position Xl,m,n of curvilinear mesh node (l, m, n). In either case, we
correct the positions of the constrained parts of the body via
Xn+1,k+1
l,m,n
4.3
=
n+ 12 ,k+1
l,m,n + ∆tUb
X̃n+1,k+1
l,m,n

Xn
for (l, m, n) ∈ Mc ,
(45)
for (l, m, n) ∈ Me .
Prescribed deformation velocity
The deformational kinematics of the immersed body can be specified in terms
of a Lagrangian deformational velocity field Uk , which is required to be an
explicit function of time. In this case, we determine the projected linear and
angular velocities of the body, Up and Wp , by solving
Mc Upn+1,k+1
=
X
X
ρ
n
o`
] ũn+1,k+1
l,m,n
n+1,k
R[X
` (l,m,n)∈M`c
−
(Uk )n+1
l,m,n
∆s`1 ∆s`2 ∆s`3 ,
(46)
Ic Wn+1,k+1
=
p
X
X
ρ Rn+1,k
l,m,n ×
n
R[Xn+1,k ] ũn+1,k+1
o`
` (l,m,n)∈M`c
l,m,n
`
`
`
− (Uk )n+1
l,m,n ∆s1 ∆s2 ∆s3 ,
(47)
in which Mc is the mass of the constrained part of the body,
Mc =
X
X
` (l,m,n)∈M`c
15
ρ ∆s`1 ∆s`2 ∆s`3 ,
(48)
and Ic is the inertia tensor of the constrained part of the body,
Ic =
X
ρ (Rl,m,n · Rl,m,n I − Rl,m,n ⊗ Rl,m,n ) ∆s`1 ∆s`2 ∆s`3 ,
X
(49)
` (l,m,n)∈M`c
in which I is the d-dimensional identity tensor. Recall that the immersed
body is assumed to be neutrally buoyant in the fluid, and that Rl,m,n is the
radius vector from the center of mass of the body to the position Xl,m,n of
curvilinear mesh node (l, m, n). Notice that eq. (46) is the discrete statement
of conservation of linear momentum in the constrained parts of the body, and
that eq. (47) is the statement of conservation of angular momentum.
n+ 12 ,k+1
, we define Up
and Wn+1,k+1
Having determined Un+1,k+1
p
p
n+ 1 ,k+1
=
1
2
Un+1,k+1
p
+ Unp and Wp 2
+ Wnp , and we determine the La= 12 Wn+1,k+1
p
grangian body velocity field as
n+ 12 ,k+1
(Ub )l,m,n

1
Un+ 2 ,k+1
p
=
n+ 21 ,k+1
+ Wp
n+ 1
n+1,k
2
× Rl,m,n
+ (Uk )l,m,n
for (l, m, n) ∈ Mc ,
for (l, m, n) ∈ Me .
(50)
0
Un+1,k+1
is determined similarly. We then compute
b
Xn+1,k+1
l,m,n
=
n+ 12 ,k+1
l,m,n + ∆tUb
X̃n+1,k+1
l,m,n

Xn
for (l, m, n) ∈ Mc ,
for (l, m, n) ∈ Me ,
(51)
as was done in the case of prescribed motion.
We remark that during free swimming, no external forces should be applied to
the body, and the prescribed deformational velocity field Uk should not have
any net translational or rotational velocity, i.e,
(Uk )l,m,n ∆s`1 ∆s`2 ∆s`3 = 0,
(52)
Rl,m,n × (Uk )l,m,n ∆s`1 ∆s`2 ∆s`3 = 0.
(53)
X
X
` (l,m,n)∈M`c
X
X
` (l,m,n)∈M`c
In this case, eqs. (46) and (47) simplify to
Mc Upn+1,k+1 =
X
X
n
ρ R[Xn+1,k ] ũn+1,k+1
` (l,m,n)∈M`c
Ic Wn+1,k+1
=
p
X
X
`
(l,m,n)∈M`c
n
o`
l,m,n
∆s`1 ∆s`2 ∆s`3 ,
n+1,k
ρ Rn+1,k
] ũn+1,k+1
l,m,n × R[X
o`
l,m,n
(54)
∆s`1 ∆s`2 ∆s`3 ,
(55)
so that Up and Wp are both the net linear and angular velocities of the
uncorrected Eulerian velocity field and also the translational and rotational
16
velocities of the center of mass of the body in the Eulerian frame, which we
denote by Ur and Wr , respectively.
When the deformational kinematics of swimming are determined from experimental measurements, Uk does not generally satisfy eqs. (52) and (53). The
present formulation ensures that no external forces are applied to the body in
this case; however, if Uk does have a net translational or rotational velocity,
then Up and Wp are not the translational or rotational velocities of the center
of mass of the body. Instead, the rigid translational and rotational velocities
of the center of mass of the body are
Ur = Up + Up,k ,
Wr = Wp + Wp,k ,
(56)
(57)
in which Up,k and Wp,k are the net translational and rotational velocities of
Uk . Notice that by construction,
X
ρ (Ub )l,m,n ∆s`1 ∆s`2 ∆s`3 = Mc Ur ,
(58)
ρ Rl,m,n × (Ub )l,m,n ∆s`1 ∆s`2 ∆s`3 = Ic Wr ,
(59)
X
` (l,m,n)∈M`c
X
X
` (l,m,n)∈M`c
i.e., the net linear and rotational velocities of Ub are the translational and
rotational velocities of the center of mass of the body.
4.4
Prescribed shape
In some applications, the time-dependent shape of the immersed body may be
prescribed as a shape mapping χ = χ(s, t), in which χ(s, t) is the prescribed
position of material point s at time t. In such cases, the deformational veloc∂
ity field can be obtained as Uk = ∂t
χ. This velocity field may be determined
analytically when an explicit formula is available for χ(s, t). When only experimental measurements are available for χ, however, it is necessary to employ an
alternative approach, such as finite differencing, to obtain an approximation
to Uk . Moreover, if χ is obtained from experimental data and Uk is determined by differencing these data, updating the position of the body in the
manner described in Sec. 4.3 can result in significant, unrealistic distortions in
the computed body shape. A further complication is that the experimentally
determined shape and the corresponding deformational velocity field will generally have net translational or rotational motion, and such motions should
not be imposed on the body. To obtain deformations of the immersed body
that exactly match the prescribed shape, we alter the procedure used to update the configuration of the immersed body. This update procedure accounts
for any net linear or rotational motion in the deformation χ and ensures that
17
such motions are not imposed on the immersed body. Although we specify
the shape of the body explicitly, Up , Wp , and Ub are otherwise computed as
described in Sec. 4.3.
The configuration of the body at time step n may be obtained as a translation and rotation of the prescribed shape at time tn . To determine the body
configuration in this manner, we associate with the body two additional quantities, X̄ = X̄(t), the position of the center of mass of the body at time t, and
θ̄ X = θ̄ X (t), a director vector that tracks the orientation of the body. X̄ moves
with the center of mass of the body, so that
n+1
X̄
n
− X̄
n+ 1
= Ur 2 ,
∆t
(60)
and θ̄ X rotates with the center of mass of the body, so that
n+1
n
θ̄ X − θ̄ X
n+ 1
= Wr 2 .
∆t
(61)
We compute from θ̄ X a rotation matrix T = T [θ̄ X ] such that T [θ̄ X (t)] = I.
t=0
We additionally associate with the shape mapping χ a director vector θ̄ χ , so
that if Uk is the deformational kinematic velocity associated with χ, and if
Wχ is the mean rotational velocity associated with Uk , then
n+1
θ̄ χ
n
− θ̄ χ
n+ 1
= Wχ 2 .
∆t
(62)
The positions of the material points are then updated by
Xn+1,k+1
l,m,n
=

X̄n+1,k+1
+ T [θ̄ X ] T [θ̄ χ ]−1 (χn+1 − χ̄n+1 ) for (l, m, n) ∈ Mc ,
X̃n+1,k+1
for (l, m, n) ∈ Me ,
(63)
n+1
n+1
l,m,n
in which χ̄ is the center of mass of χ.
We remark that it is straightforward to adapt the foregoing procedure to produce a filtered shape mapping χfil that does not include net linear or rotational
motion. If such a filtered shape mapping is available, the foregoing update may
be simplified to
Xn+1,k+1
=
l,m,n

X̄n+1,k+1
n+1
+ T [θ̄ X ] (χfil )n+1 − (χ̄fil )n+1
X̃n+1,k+1
l,m,n
for (l, m, n) ∈ Mc ,
for (l, m, n) ∈ Me .
(64)
The filtered shape mapping can be recovered from the original shape mapping
via a preprocessing step. We demonstrate below that our algorithm yields
identical results when using either filtered or unfiltered shape mappings.
18
5
Adaptive mesh refinement
The locally refined Cartesian grid is constructed using the Berger-Rigoutsos
point clustering algorithm [50]. Cells are tagged for refinement on level ` whenever they contain curvilinear mesh nodes associated with level ` or with any
finer level of the Cartesian grid, or whenever the magnitude of the fluid vorticity or other quantities of interest exceeds some problem-specific threshold
value.
The grid hierarchy is regenerated at regular intervals chosen to ensure that the
subregions of Ωb associated with each level of the grid hierarchy are unable
to “escape” from that level of the grid prior to the next regridding operation.
If C is the convective CFL number (see Sec. 4.1), we must regenerate the
patch hierarchy at least every b C1 c time steps. Because our numerical scheme
requires that C < 1 to remain stable, b C1 c ≥ 1.
Each time that we regenerate the grid hierarchy, Eulerian quantities must
be transferred from the “old” grid hierarchy to the “new” hierarchy. In newly
refined regions of the patch hierarchy, the fluid velocity is interpolated from the
old coarse grid using a conservative, discretely divergence- and curl-preserving
interpolation scheme [51]. In newly coarsened regions of the patch hierarchy,
the fluid velocity is defined as the conservative average of the old fine-grid data.
Conservative interpolation and coarsening operators are also used to transfer
force densities from the old hierarchy to the new one. The fluid pressure is
interpolated using nonconservative linear interpolation. For further details,
see Griffith [9].
6
Software implementation
The numerical methods of this work are implemented using the open-source
IBAMR software [52], a C++ framework targeted at enabling advanced fluidstructure interaction models that use the IB method. IBAMR is built upon the
SAMRAI [53–55], PETSc [56–58], hypre [59,60], and libMesh [61,62] libraries,
among others.
7
Numerical examples
In this section, we present several examples that test various aspects of the
foregoing methods. Throughout this section, we identify (x1 , x2 , x3 ) = (x, y, z)
and u = (u1 , u2 , u3 ) = (u, v, w). Most of the examples considered are two
19
(a)
(b)
Fig. 1. Comparison of numerical and analytical results for Stokes’ first problem. (a)
Drag coefficient; and (b) velocity profile at t/T = 10. —: Analytical; •: Numerical.
dimensional and serve to test the foregoing methods by matching the numerical solutions to analytical results where available. Computationally intensive
three-dimensional cases are considered that use the same software implementation as that used to perform the two-dimensional tests.
For cases in which we need to compute the hydrodynamic drag force acting
on the body, we do so by evaluating a discrete approximation to
F=
Z
∂Uc
σ · n dA(x) = M
Z
DUb Z
−
Fc ds −
Fe ds,
Dt
Ωc
Ωe
(65)
in which σ = −pI + µ(∇h u + ∇h uT ) is the hydrodynamic stress tensor, n
is the outward unit normal to the surface of immersed body, and M is the
mass of the immersed body. In our computations, the drag force is evaluated
in the Lagrangian frame using the right-hand side of eq. (65). We remark that
evaluating the hydrodynamic drag in this manner is both inexpensive and
straightforward, especially when compared to integrating the hydrodynamic
stress tensor over the surface of the immersed body, which is difficult to track in
the Eulerian frame. Notice that in cases in which the body moves with constant
velocity, the inertial term is zero, and the drag is completely determined by
the values of the Lagrangian constraint and elasticity forces. By contrast, if
the body is freely swimming, then the integral of constraint forces is zero.
Notice
also that if the elastic structure is composed entirely of closed fibers,
R
then Ωe Fe ds = 0.
20
7.1
7.1.1
Prescribed motion
Stokes’ first problem
Our first example considers Stokes’ first problem, in which an infinitely long
horizontal plate is impulsively started with a velocity U0 in the x direction.
The exact analytical solution for the transient velocity profile for y ≥ 0 is
given by
"
!#
y
u(y, t) = U0 erfc √
,
(66)
2 νt
in which ν = µ/ρ is the kinematic viscosity of the fluid. The drag coefficient
is CD = F/ 12 ρU02 A, in which F is the hydrodynamic drag force acting on one
surface of the plate and A is the area per unit depth of that surface. CD is given
2
analytically by CD = √πtRe
, in which the Reynolds number is Re = U0 L/ν.
This problem has been studied numerically by Shirgaonkar et al. [14] and by
Taira and Colonius [63].
Here, we set U0 = 1, L = 1, and Re = 500. The time scale is T = L/U0 . The
physical domain U is taken to be a periodic region of size 3L×3L. To discretize
U, we use a four-level Cartesian grid, with the coarsest level consisting of a
uniform 32 × 32 grid, and with refinement ratios n0ref = n1ref = 4 and n2ref = 2,
so that the finest level of the hierarchy has a grid spacing equivalent to a
uniform 1024 × 1024 grid. The plate is modeled as a line of points placed in
the middle of U, and the discretization of the plate uses one material point
in per Cartesian grid cell and was kept on the finest grid level to resolve
completely the viscous boundary layer. Fig. 1 shows comparisons between our
numerical results and the analytic solution. We obtain excellent agreement
with the analytical solution to this problem.
7.1.2
Moving plate in an infinite flow
As a second example, we consider a finite plate of height b in an infinite
quiescent flow that is dragged perpendicular to itself with a constant velocity
U0 . The height of the plate is taken to be b = 1, and the plate is dragged with
a velocity U0 = 1 in the x direction. The physical domain is taken to be a
periodic box with height H = 22b and length L = 32b, which were chosen to
minimize boundary effects. In this case, the drag coefficient is CD = F/ 12 ρU02 b,
in which F is the hydrodynamic drag force acting on each side of the plate.
The value of CD that we determine numerically is compared to the asymptotic
solution CD ≈ 2.09 derived by Dennis et al. [64] at Re = U0 b/ν = 20. The
time scale of the problem is T = b/U0 .
Two sets of simulations are performed: one in which the entire plate is kept
21
(a)
(b)
Fig. 2. (a) Drag coefficient for a plate moving perpendicular to itself as a function
of nondimensionalized time at Re = 20. — (blue): Numerical, plate on single level;
---: Numerical, plate spanning two adjacent grid levels; •: asymptotic value from
Dennis et al. [64]. (b) A visualization of the second case considered, in which the
upper half of the plate is on the finest grid level, and the lower half is on the next
coarser level of the grid hierarchy.
on the finest level of the Cartesian grid hierarchy, and one in which half of the
plate is kept on the finest level and the other half is kept on the next coarser
level of the grid; see Fig. 2(b). For the first case, three grid levels are used, with
the coarsest level being a uniform 64 × 64 grid, and with a uniform refinement
ratio nref = 4. For the second case, one further grid level is introduced in the
grid hierarchy with a refinement ratio of n2ref = 2. This second case is done
to validate the method for use with immersed structures that span multiple
levels of the Cartesian grid hierarchy. In both cases, the plate is modeled as a
one dimensional line of points with one material point in each Cartesian grid
cell.
Fig. 2 shows the time evolution of drag for the moving plate for the two cases,
which are shown to agree well with the asymptotic value derived by Dennis
et al. [64]. Previous work has attributed the spurious oscillations observed in
the calculated drag coefficient to the IB formulation of the problem [14, 65].
To filter these spurious high frequency oscillations, we report values that have
been averaged over four consecutive time steps.
22
Table 1
Comparison of mean drag coefficients and Strouhal numbers for various studies of
flow past a rigid circular cylinder at Re = 200.
7.1.3
Study
CD
St
Present
1.3906
0.2000
Present (simplified velocity correction)
1.4001
0.2000
Braza et al. [66]
1.4000
0.2000
Henderson [67]
1.3412
0.1971
He et al. [68]
1.3560
0.1978
Bergmann et al. [27]
1.3500
0.1980
Flow past a rigid cylinder
As a next example, we consider the widely used benchmark problem of flow
past a rigid circular cylinder. A circular cylinder of diameter D = 1 is placed
in a flow with far-field velocity U∞ . In this case, we determine the Reynolds
number as Re = kU∞ kD/ν = 200. We set U∞ = (1, 0). The computational
domain is taken to be a rectangular channel U = [−8D, 24D] × [−8D, 8D],
and the center of the cylinder is placed at (x, y) = (0, 0). The coarsest level
of the Eulerian discretization is a uniform 64 × 32 grid, and a uniform refinement ratio nref = 4 is used to construct the finer levels of the patch hierarchy.
The aerodynamic drag coefficient, C = F/(ρDkU∞ k2 /2), is calculated numerically. Drag and lift coefficients are defined as CD = C · ex and CL = C · ey ,
respectively.
Fig. 3(a) shows the temporal evolution of CD and CL as functions of time. In
the figure, time has been normalized by D/kU∞ k. To remove spurious oscillations in the computed drag and lift forces, we filter the drag and lift coefficients by averaging values over five consecutive time steps. Table 1 compares
the mean drag coefficient and Strouhal number computed using the present
method at Re = 200 to corresponding values obtained in previous studies.
Good agreement is demonstrated between our results and results from these
prior investigations. Table 1 also shows that for this problem, including a final
divergence-free projection is not required to obtain accurate results for the
drag coefficient and Strouhal number; see Sec. 4.1. In particular, notice that
essentially identical dynamics, as quantified by St, are recovered both with the
final divergence-free projection and also with the simplified velocity correction
that omits the final projection. The reason that omitting this projection has
a small effect on the computed dynamics is that the flow field is effectively
projected in the first solution step of the subsequent time step. Fig. 4 shows
∇ · u for the two cases considered above. As can be seen in Fig. 4(a), the ve-
23
(a)
(b)
(c)
(d)
Fig. 3. (a) Drag and lift coefficients for flow past a rigid circular cylinder as a
function of time at Re = 200. —: CD ; ---: CL . (b) Spectrum of CL at Re = 200. (c)
Vorticity at t = 63. (d) Locally refined mesh capturing the vortex structures shed
from the cylinder at t = 63.
24
(a)
(b)
Fig. 4. (a) ∇ · u at t = 45 when the final divergence-free projection is omitted in
each time step. (b) ∇ · u at t = 45 when the final divergence-free projection step
is included in each time step. Notice that the maximum value of k∇ · uk is nearly
three orders of magnitude lower than in (a); the value of k∇ · uk is determined by
the tolerance of the iterative solver used to solve the projection Poisson equation.
locity correction step leads to a violation of divergence-free condition mainly
near the boundary of the structure. Fig. 4(b) shows that including the final
divergence-free projection step corrects the failure of divergence-free condition
near the boundary of the immersed structure.
7.1.4
Oscillating rigid cylinder in an infinite flow
In the foregoing examples, inertial forces did not contribute to the hydrodynamic drag because the body was moving either at a constant velocity or was
25
Fig. 5. Temporal evolution of the drag coefficient for an oscillating cylinder at
Re = 100 and KC = 5. The cylinder is oscillating with a velocity of U∞ cos 2πt
T .
—: contribution from both the inertial term and the constraint forces; --- constraint forces only; • (red): comparison to Shen et al. [69] and Dutsch et al. [70]; comparison to Shen et al. [69].
kept stationary. In cases in which the body has a nonconstant specified velocity, contributions to the drag forces come from both inertial and constraint
forces. In this example, we consider a rigid circular cylinder oscillating about
a mean position in a quiescent fluid. This problem has been studied both
numerically and experimentally [69, 70]. We consider a cylinder of diameter
D = 1 that is oscillating in the x direction with speed Uc = U∞ cos( 2π
t), in
T
which U∞ is the maximum oscillation velocity and taken to equal 1, and T is
the period of the oscillation. The computational domain is a periodic region
U = [−16, 16] × [−8, 8], which was chosen to minimize the effects of boundary conditions. The center of the cylinder is initially placed at (x, y) = (0, 0).
The flow induced by the motion of the oscillating cylinder is governed by two
nondimensional parameters, the Keulegan-Carpenter number KC = U∞ T /D,
and the Reynolds number Re = U∞ D/ν. For this problem we choose KC = 5
and Re = 100, thereby matching the case studied by Shen et al. [69]. Four
grid levels are used, with the coarsest level being a uniform 64 × 32 grid, and
with a uniform refinement ratio nref = 4. A fixed time step size ∆t = 0.0015
2
is used. The drag coefficient is CD = Fx /0.5ρU∞
D.
Fig. 5 shows the computed drag coefficient and demonstrates that our results
are in good agreement with prior results of Dutsch et al. [70] and of Shen et
al. [69]. Fig. 5 also shows that contributions from the inertial term should be
taken into account when evaluating drag forces; see eq. (65).
26
(a)
(b)
(c)
Fig. 6. (a) Terminal velocity of a sedimenting sphere as a function of fine–
grid Cartesian grid spacing h`max for α = 0.3125. • (red): Simulation; —: fit,
y = −3.778h + 1.332. (b) Plot of sphere velocity v as a function of time compared
with the experimental result of Mordant and Pinton [71]. Here, t95 , is the time it
takes for the sphere to reach 95% of its terminal velocity. The fine-grid Cartesian
grid spacing is h`max = 0.025. —: Simulation; --- (red): experimental fit of Mordant
and Pinton [71]. (c) Contour of magnitude of vorticity at t = 4.8 s when the sphere
has reached terminal velocity. Also shown are the grid patch levels. Darker shades
represent finer patch levels.
7.2
7.2.1
Rigid-body motion
Falling sphere
We validate our algorithm for a freely moving body by considering the problem
of a sedimenting sphere. To treat this problem with our present formulation
27
and implementation, which assume that the mass density of the fluid-structure
system is uniform, we impose a gravitational body force that is present only in
the solid region Uc of the physical domain U. We consider a sphere of diameter
D = 0.625 m in a domain U = [−1 m, 1 m] × [−7 m, 1 m] × [−1 m, 1 m], so
that the edge length L of the square cross section of the channel is 2 m and
the height H of the channel is 8 m. This yields a blocking ratio α = D/L =
0.3125. The center of the sphere is initially located at (x, y, z) = (0, 0, 0).
Zero velocity boundary conditions are imposed along ∂U. The density of the
fluid and solid are taken to be ρ = 2 kg/m3 , and the fluid viscosity is taken
to be µ = 0.05 kg/(ms). A gravitational body force −0.5gρey , in which g is
the gravitational constant, is added to the solid region. The drag coefficient
ρV D
D
is CD = ρV8F2 πd
, and the hydrodynamic
2 , the Reynolds number is Re =
µ
π 3 g
drag on the sphere is F = 6 d ρ 2 , in which V is the terminal velocity of the
sedimenting sphere. For the case considered in this work, we have Re ≈ 31
and CD = 2.67. A grid convergence study was performed using a fixed-size
time step ∆t = 0.002 s.
Fig. 6(a) shows the terminal velocity as a function of grid spacing, and demonstrates that the algorithm is first-order accurate with respect to grid size.
The overall order of accuracy is primarily affected by the accuracy of the
method at fluid-structure interfaces, which are “smeared out” by our use of
regularized delta functions. For the finest grid resolution considered, in which
h`max = 0.025 m is the Cartesian grid spacing on the finest level of the hierarchical grid, we obtain a terminal velocity V = 1.2385 m/s. This is in
good agreement with the value reported by Sharma and Patankar [72]. We
remark, however, that their mass density difference ∆ρ for the solid and fluid
was small. Here we used a body force equal to ∆ρg in the solid region as a
Boussinesq-type approximation to the case in which the mass density of the
solid is different from that of the fluid.
Fig. 6(b) compares the velocity of the sphere in the −ey direction as a function
of time to the experimental fit obtained by Mordant and Pinton [71]. They
showed that the particle velocity normalized by its terminal velocity collapses
onto a single exponential curve,
3t
v/V = 1 − exp −
,
t95
(67)
in which t95 is the time required for the sphere to reach 95% of its terminal
velocity. Our results are seen to be in excellent agreement with this experimentally characterized curve.
28
7.2.2
Impulsively started cylinder
We take the case of impulsively started cylinder in a quiescent flow to demonstrate the momentum-conservation properties of our method. A cylinder of diameter D = 1 m is placed the center of a periodic domain of size [32 m×16 m]
at time t = 0. An impulse of the form I(t) = 400 exp(−400t) N/m−3 is applied
in the x direction in within the body, at its initial position, thereby impulsively starting its motion. The net momentum ∆Mx imparted to the system
in the x direction is found analytically as
∆Mx =
Z t=∞
Z
Ub (t=0)
I(t) dt ds.
(68)
t=0
The density of fluid and solid is set to 1 kg/m−3 , and the Reynolds number
Re = ρVµD is taken to be 200 with the reference velocity V = 1 m/s. Three
grid levels are used in the simulation, with the coarsest grid having 64 × 32
grid cells. A uniform refinement ratio nref = 4 is used for subsequent patch
levels.
Fig. 7(a) compares the computed linear momentum imparted to the system
with the analytical result. These values are seen to be in good agreement.
Fig. 7(b) and 7(c) show the translational and rotational velocity of the cylinder
as a function of time. The cylinder moves with a constant translational velocity
and a negligible rotational velocity at steady state.
7.2.3
Cylinder and sphere in shear driven flow
To validate the algorithm for problems with rotational degrees of freedom,
we consider rigid bodies in shear-driven channel flow. For a two-dimensional
validation case, we consider a cylinder in shear flow, as considered by Yeo
et al. [73]. A cylinder of diameter D is immersed in a rectangular channel of
height H = 4D and length L = 40H. The center of the cylinder is initially
positioned at (L/4, H/4) relative to the lower corner of the channel; see Fig. 8.
The channel is periodic in the x direction, and tangential velocity boundary
conditions with equal and opposite velocities of magnitude Uw are imposed
on the lower and upper y boundaries to create a shear-driven flow in the
channel. The domain is discretized using a two-level grid, with a grid spacing
of h = 1/80 on the coarsest level and uniform refinement ratio nref = 4. The
Reynolds number of the flow, which is defined by Re = 2ρUw H/µ, is taken to
be 40. Fig. 9 shows the angular velocity and y position of the center of mass of
the cylinder as a function of time. In the figure, time is normalized by H/2Uw ,
angular velocity is normalized by 2Uw /H, and distance is normalized by H. At
steady state, the cylinder rotates with constant angular velocity at the center
of the channel. The steady-state normalized angular velocity of the cylinder is
around 0.47, which is in excellent agreement with the value reported by Yeo
29
(a)
(b)
(c)
Fig. 7. (a) Linear momentum imparted to the system as a function of time. Upper:
∆Mx ; Lower: ∆My ; ---: Theoretical estimate of ∆Mx . (b) Temporal evolution of
translational velocity of the cylinder. (c) Temporal evolution of rotational velocity
of the cylinder.
Fig. 8. Computational domain showing initial position of a cylinder in a driven shear
flow.
30
(a)
(b)
Fig. 9. Cylinder in a shear flow at Re = 40. (a) Normalized angular velocity of the
cylinder as a function of time. (b) y position of the center of mass of the cylinder
as a function of time.
Fig. 10. Time evolution of normalized angular velocity of a sphere in a driven shear
flow as a function of time for shear rates γ = 1/s and 3/s. In the cases considered
here, Re = 10.
et al. [73].
Next, we consider the three-dimensional case of a neutrally bouyant sphere
in a shear-driven channel flow. This problem has been experimentally and
numerically studied in previous work [74–78]. A sphere of radius R is immersed
in a rectangular channel of width 40R, and with height and breadth of 6R. The
sphere is positioned at the center of the channel, and the walls of the channel
are moved at a velocity of −γy in x direction to create a flow with shear rate
γ. The physical domain is discretized by a two-level grid, with the coarse level
consisting of a uniform 200 × 30 × 30 grid, and with a refinement ratio of
nref = 4 between levels. The Reynolds number of the flow is Re = ργR2 /µ and
is set to equal 10. Fig. 10 shows the angular velocity of the sphere (normalized
by γ) as a function of time (normalized by 1/γ) for shear rates γ = 1/s and
3/s. Both curves collapse on each other. Steady state is achieved earlier at
higher shear rate. The steady state angular velocity of the sphere reaches a
31
value of 0.4. This is in excellent agreement with the study done by Mikulencak
and Morris [77].
7.3
Free swimming
We next consider problems involving free swimming in which the body is required to move with a prescribed kinematic velocity or shape. In these cases,
although the deformational kinematics of the body are prescribed, it is important to note that the translational and rotational velocities of the body
are not specified in advance; rather, they are determined by the interaction
of the immersed body and the fluid. We use two models, a two-dimensional
model of a freely swimming eel with kinematics that are imposed using the
prescribed-shape method described in Sec. 4.4, and a three-dimensional model
of the black ghost knifefish, for which we use the prescribed-kinematic velocity
methods described in Sec. 4.3.
7.3.1
Two-dimensional model of eel swimming
As an initial example, we consider a two-dimensional model of eel swimming [2, 14]. The geometry and deformation of the eel body is prescribed
analytically, as described below, and a periodic backward-traveling wave is
passed over the body to induce forward swimming. We use the prescribedshape approach described in Sec. 4.4 to update the position of the body,
and we verify that “filtered” and “unfiltered” prescribed shape mappings (see
Sec. 4.4) yield identical results.
The geometry of the eel body is given in a reference configuration that is
aligned with the x-coordinate axis. This geometry is specified in terms of the
vertical displacement y(x, t) of the midline of the eel body from the x-axis,
and in terms of the width w(x) of a body cross-section perpendicular to the
x-axis at each point 0 ≤ x ≤ L along the projected length L of the eel. To
account for the traveling wave, the displacement of the midline from the x-axis
is given by
x + 0.03125
sin [2π(x − t/T )] ,
(69)
y(x, t) = 0.125
1.03125
for 0 ≤ x ≤ L, in which T is the time period of a backward-traveling wave.
The width of a body cross-section perpendicular to the x-axis and centered
about the midline of the body is given by
w(x) =
√
 2w
Hx −
wH L−x
L−xH
x2
for 0 ≤ x < xH ,
for xH ≤ x < L,
(70)
in which wH = 0.04L is the width of the eel at its “head,” which is located at
32
(a)
(b)
Fig. 11. (a) Temporal evolution of different translational velocities induced by the
unfiltered kinematics. —: Projected axial velocity, Up ; ---: Projected lateral velocity, Vp ; — (red): Net axial velocity of deformational kinematics, Up,k ; -N- (cyan):
Net lateral velocity of deformational kinematics, Vp,k . (b) Temporal evolution of
rotational velocities induced by the unfiltered kinematics. —: Projected Wpz ; ---:
z of the deformational kinematics.
Net Wp,k
xH = wH . Time is normalized by T , distances are normalized by L, masses are
normalized by the mass of eel and velocities are normalized by U0 = L/T = 1.
The Reynolds number of the flow is Re = Vmax L/ν = 5609, in which Vmax =
0.785 U0 is the maximum undulatory velocity at the tail tip.
We use a periodic computational domain of size 8L × 4L. We employ a fourlevel Cartesian grid with the coarsest level having 32×16 grid cells. A uniform
refinement ratio nref = 4 is used for subsequent patch levels. To resolve the
boundary layer along the fluid-body interface, the body is always kept within
the finest grid level. Grid cells are also tagged for refinement wherever kω z k ≥
0.25 on level 0, kω z k ≥ 0.5 on level 1, kω z k ≥ 1 on level 2, and kω z k ≥ 2 on
level 3.
Because we have an analytic formula for the body shape, the deformational
velocity can be obtained by differentiating the prescribed shape with respect
to t. Specifically, it is not necessary to use finite differencing or other numerical approximation techniques to obtain Uk . We remark, however, that the
deformational kinematic velocity obtained from the analytic formulae for the
body shape has nonzero net translational and rotational velocities, and these
net velocities should not be imposed on the motion. We perform two sets
of simulations: one in which the prescribed shape and deformational velocity
are obtained from a filtered shape mapping, in which the net translational
and rotational motions have been removed from the prescribed shape and
kinematic velocity, and the other using the unfiltered shape and kinematic
velocity obtained from the analytic formulae for the body shape. Because the
method described in Sec. 4.4 corrects for any net linear or angular velocity
in the prescribed shape, both cases should yield the same numerical results.
33
(a)
(b)
Fig. 12. (a) Temporal evolution of translational velocities induced by the filtered
kinematics. Upper: Rigid axial velocity of the center of mass. Lower: Rigid lateral
velocity of the center of mass. —: Rigid translational velocity induced by the filtered kinematics, Ur ; • (red) Validation of eq. (56) when unfiltered kinematics are
used. (b) Temporal evolution of rotational velocity of center of mass of the eel induced by the filtered kinematics. —: Rigid rotational velocity induced by the filtered
kinematics, Wrz ; • (red) Validation of eq. (57) when unfiltered kinematics are used.
(a) t = 4
(b) t = 5.5
(c) t = 6
(d) t = 7.5
Fig. 13. Vorticity generated by the two-dimensional eel model at Re = 5609. All
figures are plotted for vorticity between −10 and 10.
Figs. 11(a) and 11(b) show the case in which unfiltered deformational kinematics and shape are used, and Figs. 12(a) and 12(b) show the case in which
filtered deformational kinematics and shape are used. Both sets of simulations
yield the same rigid-body velocities, Ur and Wr . The angular velocity has zero
mean, whereas the lateral velocity has a small nonzero mean because of initial
transients. Fig. 14 shows the trajectory of center of mass and the temporal
evolution of hydrodynamic force on eel.
As can be seen from Fig. 15(a), vorticity is generated over the body of the eel
34
(a)
(b)
Fig. 14. (a): Trajectory of the center of mass of eel; and (b) hydrodynamic forces
(—: axial, ---: lateral) on the body of the eel.
(a)
(b)
Fig. 15. (a) Velocity and vorticity field in the domain close to the body of the eel.
(b) Grid patches of the locally refined mesh moving with body and capturing vortex
structures shed from the eel.
on both sides of the lateral surface, and is then shed from the tip of the tail
forming a reverse Kármán vortex street containing downstream-directed momentum. As a result, the body is able to propel itself forward. Fig. 15(b) shows
the locally refined mesh, which adapts to capture important flow features shed
from the swimmer. The Strouhal number of the eel is St = 2Atail /T Us [79], in
which Atail is the amplitude of the motion at the tip of the tail, and Us is the
steady swimming velocity of the eel. In this simulation, St = 0.395, which is
in the range of Strouhal numbers that have been observed for real eels [80].
Whether we use filtered kinematics or filter the prescribed kinematics, there is
no net external force acting on the system. As a result, the momentum of the
entire fluid-structure system (i.e., the eel and fluid) should remain constant.
In this example, the eel starts its swimming motion in a quiescent flow and
therefore the net linear momentum of the system should remain zero, as is
shown in Fig 16.
35
Fig. 16. Temporal evolution of linear momentum of the system.
7.3.2
Weakly electric black ghost knifefish
As a next example, we model free swimming of Apteronotus albifrons, the
weakly electric black ghost knifefish, as shown in Fig. 17(a). The black ghost
knifefish is a highly maneuverable organism that propels itself by undulating
a ribbon fin that is attached to its upper body. A three-dimensional reconstruction of an accurate cast of an adult knifefish by MacIver and Nelson [81]
is used to specify the geometry of the body of the fish. Postprocessing of the
model geometry ensures that the initial configuration of the body conforms
to the background Eulerian mesh and that no voids were left inside the body.
The length of the model fish from the tip of the nose to the end of the tail is
approximately 12.5 cm. Because the real fish holds its upper body rigid while
swimming, the upper body is modeled as a rigid structure. The ribbon fin,
which has a length of approximately 9 cm, begins near the end of the head
and tapers near the end of the tail. The shape of the fin and its deformational
kinematics are taken from experimental data of Ruiz-Torres et al. [34]. The fin
is composed of several rays that oscillate in a pendulum-like motion about a
fixed point attached to the rigid upper body. The angular amplitude θmax (x)
is different for each fin ray and is derived from the experimental data. A good
match to these data is obtained by specifying the motion as a sinusoidal wave
with frequency f = 10 Hz and wavelength λ = L/2.4 cm. The equation of the
angular displacement for the fin is given by
θ = θmax (x) sin(kx − 2πf t),
(71)
in which x is the position along the body and k = 2π/λ cm−1 is the wavenumber. The kinematic velocity of the fin oscillation is obtained by differentiating the prescribed motion, and the overall deformational kinematics are
imposed using the methods described in Sec. 4.3. A computational domain of
size 5.2L×1.3L×1.2L is used, and this region is discretized using a three-level
locally refined grid with a uniform 102 × 26 × 24 grid at the coarsest level and
with a uniform refinement ratio nref = 4 between levels. The body and the fin
36
(a)
(b)
(c)
Fig. 17. (a) Apteronotus albifrons, the weakly electric black ghost knifefish (photograph courtesy of Per Erik Sviland). (b) Surge, heave, and lateral velocities of black
ghost knifefish swimming at a frequency of 10 Hz. ---: Surge velocity; •: Heave
velocity; —: Lateral velocity. (c) Surge, heave, and lateral components of force for
black ghost knifefish swimming at a frequency of 10 Hz. ---: Surge force; • (blue):
Heave force; — (red): Lateral force.
were kept on the finest grid level, which had a grid spacing equivalent to that
of a uniform 1632 × 416 × 384 Cartesian grid.
Fig. 17(b) and 17(c) show the surge (U ), heave (V ), and lateral (W ) components of velocity and force. The rotational degrees of freedom of the body are
locked to zero to avoid tumbling during swimming; this is done to account for
the missing pectoral fins in the simulation, which are used by the real knifefish to stabilize its swimming motion. In the simulation, the steady swimming
velocity approaches 12 cm/s, whereas the experimentally measured swimming
velocity is 14–15 cm/s [34], for a relative error that is within 20%. The simulation was done on 24 processors at the Quest supercomputing facility at
Northwestern University with a wall-clock time of approximately 25 hours.
37
Fig. 18. Center of mass of an eel following a circular path. Distances are normalized
by the body length. —: Trajectory of center of mass of eel; ---: Circle of radius 1.
7.4
Turns and maneuvers
In the cases considered in the foregoing section, the main axis of the swimmer was kept straight at all times, leading to a straight swimming motion. In
this section, we explore the effect of the curved body axis that fishes acquire
when they need to change direction [27, 73]. We use the model eel described
in Sec. 7.3.1 to study the effect of a curved body axis on swimming. The
deformational kinematics of the eel are imposed using the prescribed-shape
method described in Sec. 4.4. We also explore the mechanism of forward and
backward motion of the black ghost knifefish. The deformational kinematics in this case are imposed using the prescribed-kinematic velocity method
described in Sec. 4.3.
7.4.1
Two-dimensional eel
We begin by considering the swimming motion of a two-dimensional eel whose
body axis is defined with respect to a circular arc of radius R0 . The radius
of curvature is set to equal to length of the eel, i.e., R0 = L. The kinematic
deformation velocity is specified normal to the curved axis, and the Reynolds
number is taken to be the same as that of straight swimming case. During
steady swimming with a curved body axis, the mean angular swimming velocity is nonzero. As a result, the eel follows a circular trajectory. The radius of
the swimming motion is a result of balance between the mean angular and net
swimming velocity of the eel. The distance ∆s traversed by the eel swimming
with an angular velocity of W over a time interval ∆T is
∆s = RW ∆T,
38
(72)
(a) t = 2
(b) t = 5
(c) t = 7.5
(d) t = 11
Fig. 19. Vorticity generated by the two-dimensional eel following a circular trajectory. All figures are plotted for vorticity between −10 and 10. Time is normalized
by T; see Sec. 7.3.1.
∆s
in which R is the radius of the swimming trajectory. If U = ∆T
= RW is the
swimming speed, then
U
R=
.
(73)
W
We find that when the body axis of the eel has a particular radius of curvature,
the eel follows a circular trajectory of some radius. As can be seen in Figs. 18
and 19, for the present choices of parameters, the eel’s center of mass follows
a circle of radius R = R0 = L, which also happens to be the prescribed radius
of curvature of the body axis.
To test the robustness of this mechanism of maneuvering, simulations were
carried out for different body axis radii at various Reynolds numbers, and the
corresponding trajectory radii were measured. Fig. 20(a) shows the variation
with Reynolds number of δR = (R−R0 )/L, the normalized difference between
the radius of curvature of the trajectory of the eel and the prescribed body
axis radius. The relationship between δR and Re is similar for the three cases
considered, R0 = 0.5L, 0.7L, and 1.3L: δR is small at higher Reynolds number
and increases as Reynolds number decreases. Fig. 20(b) shows the computed
value of R from eq. (73) as a function of Re for the case R0 = 0.7L.
We can use this observation (i.e., that at higher Reynolds number the radius
of curvature of the eel’s trajectory is approximately equal to the radius of
curvature of the body axis) to develop a simple mechanism for controlling
the trajectory of the eel. Specifically, for the eel to travel from point A to
point B in the domain, it can bend its body to turn and reach its destination.
39
(a)
(b)
Fig. 20. Variation with respect to Reynolds number of (a) the normalized difference
between trajectory radius and body axis radius; and (b) the predicted trajectory
radius.
Fig. 21. Eel tracking “food.” The radius of curvature of the body axis depends on
the control parameter θv .
40
(a) t = 0.15
(b) t = 3.5
(c) t = 5.2
(d) t = 7.4
Fig. 22. Eel tracking “food” in the domain. • Food location in the domain. All
figures are plotted for vorticity between −10 and 10. Time is normalized by T; see
Sec. 7.3.1.
We illustrate this control mechanism by considering an example in which an
eel tracks “food” in the domain. The eel starts from an initial point A and
swims to reach the target location B where the food is located. A control
parameter, the angle of vision θv , is defined as the angle made by two lines:
the line passing through the eel’s “eye,” which is taken to be located at the
front of the head, and the center of mass of eel, and the line passing through
the eye and the point B; see Fig. 21. We use this angle to control the radius
of curvature of the body axis, which in turn adjusts the trajectory of eel. We
prescribe a relationship between the radius of curvature of the body and θv
via


|θv | ≥ θ̂u ,

r̄, 
θ̂u
r(θv ) = r̄ θ̂ , |θv | ≤ θ̂l ,
(74)

l 

r̄ θ̂u ,
|θv |
otherwise,
in which r̄ is the mean body axis radius of curvature, and θ̂u and θ̂l are the
upper and lower cut-off angle of vision, respectively. When the eel is sufficiently
close to the target location, we do not further change the body axis radius.
Thus, eq. (74) is used only when the distance between the eel and the target
¯ Once the distance is below d,
¯
location is greater than a cut-off distance d.
the eel makes no further adjustments to its body curvature. Fig. 22 shows an
example simulation in which we set r̄ = L, θ̂u = 45 ◦ , θ̂l = 7 ◦ , and d¯ = 0.2L.
In this case, the radius of curvature of the body axis has an initial value of r̄.
We remark that this control mechanism is presented as an example of how
turns and maneuvers may be handled by our numerical method; it is not meant
to correspond to the mechanism used by a real eel. However, although the
41
proposed control mechanism may not be used by an actual eel, this mechanism
could be used by a robotic undulatory swimmer.
7.4.2
Forward and backward motion of black ghost knifefish
A fascinating capability of the black ghost knifefish is its ability to reverse its
swimming direction by changing the direction of the traveling wave along its
ribbon fin. To simulate this mechanism for changing the direction of swimming,
we use the same knifefish model described in Sec. 7.3.2, except now we change
the motion of the fin to produce both forward and backward motion. In these
simulations, the domain is 4L×L×L, and a three-level Cartesian grid hierarchy
is employed, with a uniform 44 × 12 × 12 grid at the coarsest level, and with
a uniform refinement ratio nref = 4 for subsequent levels. A constant angular
amplitude θmax (x) = 30◦ is used for each of the fin rays, and the traveling
wave frequency is f = 2 Hz. From t = 0 s to t = 4 s, the wave travels in
the backward direction, which propels the fish forward. The direction of the
traveling wave is instantaneously reversed at t = 4 s, causing the fish to swim
backwards.
Fig. 23 shows the flow structure generated as a result of knifefish swimming.
The top two panels show the forward swimming motion of knifefish from
t = 0 s to t = 4 s. During forward swimming, the direction of the fluid jet is
aligned with the body axis and backwards. As a result the swimming velocity
of the knifefish has a forward axial (surge) component and a negligible upward
(heave) component. The bottom two panels of Fig. 23 show the backward
swimming motion of knifefish, from t = 4 s onward. At this point in time,
the jet is no longer aligned with the body axis but is in the forward direction.
Consequently, during backward motion, the swimming velocity of the knifefish
has an upward heave velocity in addition to a reverse surge velocity. This can
also be seen in Fig. 24(a), in which at t = 4 s, both surge and heave velocities
change in a short time, thereby changing the direction of swimming of the fish.
The angle at which the fin is attached to the main body plays an important role
in the direction of swimming motion. The fin angle appears to be optimized
for straight forward swimming, and this optimal angle for forward swimming
results in the backward motion having a nonzero vertical velocity component.
Fig. 24(b) shows the trajectory of the center of mass of the knifefish. The
vortex structures are most prominent near the fin region. This suggests that
higher grid resolution is needed near the fin region, whereas the body may
not require as high resolution. For high-frequency swimming cases, in which
f > 15 Hz, an additional level of grid refinement can be added only in the
vicinity of the fin.
42
(a) t = 2.2 s
(b) t = 3.9 s
(c) t = 7.2 s
(d) t = 9.84 s
Fig. 23. Isosurface (4 s−1 ) of the fluid vorticity magnitude generated by reversal of
the direction of the swimming motion of the knifefish.
43
(a)
(b)
Fig. 24. (a) Surge and heave velocity of knifefish during reversal. (b) Trajectory of
the center of mass of the fish during forward and backward swimming.
(a)
(b)
Fig. 25. Body plan of a swimmer composed of a rigid “head” and a flexible “tail.”
(a) The head of the swimmer, which is treated as a rigid structure. (b) The tail of
the swimmer, which is flexible and elastic.
7.5
Muscle-driven swimming motion
As a final example, we simulate swimming motion driven by muscle forcing. In
this example, the swimmer is a two-dimensional body of length L with a rigid
“head” and a flexible “tail.” The elastic tail consists of a truss-like structure
composed of three elastic fibers that are linked to each other by stiff springs.
The head of the body is also linked to the tail by stiff springs. The middle
fiber of the tail has a time-dependent preferred curvature that corresponds to
44
(a) t = 0.18 s
(b) t = 0.44 s
(c) t = 0.675 s
(d) t = 0.81 s
Fig. 26. Body position and wake structure for a swimmer composed of a rigid head
and a flexible and elastic tail. All panels show vorticity for the range −100 to 100 s−1 .
the curve
x
− ft ,
(75)
λ
in which x is the position along the body, A is the amplitude of the traveling
wave, λ is the wavelength, and f is the frequency. The muscles in the elastic
tail region exert forces that are proportional to the difference in the present
configuration to the preferred curvature of the structure [82]; see eq. (15). We
set the amplitude to be 0.05L, the frequency to be 10 Hz, and the wavelength
to be 0.55L. The head of the swimmer is an ellipse with semimajor axis length
0.2L and semiminor axis length 0.1L. The length of the tail is 0.6L. Fig. 25
shows the rigid head and elastic tail of the swimmer. A 6L × 3L periodic
computational domain is used along with a four-level Cartesian grid with a
uniform 16 × 8 coarse level along with a uniform refinement ratio nref = 4.
The stiffness constant Ks of the springs is set to be large enough to maintain
an approximately constant distance between Lagrangian points. The flexural
rigidity Kb of the middle fiber is chosen to be large enough to obtain reasonable
deformations. A constant time step size ∆t = 2 µs is used. (This time step
size is significantly smaller than the maximum stable time step associated
with the convective CFL condition, and must be used because of the explicit
treatment of the elastic forces used in the present algorithm. Presumably such
time step size restrictions could be relaxed by employing an implicit time
stepping scheme.) Fig. 26 shows the swimming motion and the resulting wake
structure in the fluid. The elastic tail pushes the fluid, which in turn propels
the entire body of the swimmer. Rotational motion was locked in the head to
prevent overall rotational motion of the body.
yp (x, t) = A cos 2π
45
Fig. 27. Swimming velocity (body length/sec) of the swimmer. Upper: Axial velocity; Lower: Lateral velocity.
8
Conclusions
This paper has presented a unified approach to simulating fluid-structure interaction problems involving rigid, deforming, or fully elastic immersed bodies.
We employ an immersed boundary (IB) type of approach to such problems that
avoids the need for complex, body-fitted grids and the corresponding expense
of frequent remeshing. The algorithm described herein employs adaptive mesh
refinement (AMR), and although this approach also requires grid regeneration,
the relatively simple grid generation algorithms and data structures employed
by AMR discretizations make regridding relatively inexpensive. Moreover, regridding can occur relatively infrequently, and thus the already low cost of
grid generation can generally be amortized over several time steps.
Using this adaptive solution methodology, we studied several benchmark problems in both two and three spatial dimensions, and excellent agreement was
obtained to prior analytic or numerical results for these problems. We also
applied this methodology to the simulation of free swimming, including a
two-dimensional model eel and a three-dimensional model of the black ghost
knifefish. Were we required to employ a uniformly fine discretization for the
model knifefish, our simulation would have required more than one billion degrees of freedom. Our adaptive scheme allows us to achieve comparable spatial
resolution at a fraction of the computational cost.
A limitation of our present numerical method is that it is limited to first-order
accuracy. This is in part because of its use of regularized delta functions to
mediate fluid-solid coupling, and in part because of the time step splitting
approach used to decouple the unconstrained solve from the imposition of
constraints on the body motion. It may be possible to adapt sharp-interface
methods such as the immersed interface method [83,84] to the present context
and thereby obtain a higher-order accurate spatial discretization. It may also
be possible to derive higher-order corrections that yield a second-order accu-
46
rate method, similar to the approach used by Brown, Cortez, and Minion [85]
to develop fully second-order accurate versions of the projection method for
incompressible flow. Alternatively, achieving full second-order accuracy may
require the development of an unsplit solver. The construction of an efficient
higher-order accurate version of the present scheme remains challenging future
work.
A final remark about our implementation is that it is presently restricted
to constant-coefficient fluid solves, although we emphasize that this is not
a limitation of the present mathematical formulation. This limitation makes
it challenging to simulate immersed bodies that are not neutrally buoyant.
Approaches similar to the penalty IB method [86] could possibly be used to
account for bodies with mass densities greater than that of the fluid. An alternative is to employ a variable-density fluid solver, which makes it straightforward to model immersed bodies that are either more dense or less dense than
the surrounding fluid [35–38]. Likewise, robust variable-coefficient fluid solvers
could enable efficient simulations of truly elastic bodies by removing the viscous stresses from the elastic parts of the structure. Such extensions, which
we and others are actively pursuing, will further strengthen this approach to
simulating fluid-structure interaction.
Acknowledgements
A.P.S.B. acknowledges helpful discussions with Anup A. Shirgaonkar, Oscar
M. Curet, and Srinivas Ramakrishnan over the course of this work. A.P.S.B,
R.B, and N.A.P acknowledge computational resources provided by Northwestern University’s Quest high performance computing service and Malcolm
A. MacIver for providing experimental kinematic data of the black ghost
knifefish. We thank Aleksandar Donev for his suggestions on improving the
manuscript. B.E.G. acknowledges research support from the National Science
Foundation (NSF awards DMS-1016554 and OCI-1047734). A.P.S.B., R.B.,
and N.A.P. acknowledge research support from the National Science Foundation (NSF awards CBET-0828749, CBET-1066575, and CMMI-0941674).
References
[1] H. H. Hu, N. A. Patankar, M. Y. Zhu, Direct numerical simulations of
fluid-solid systems using the arbitrary Lagrangian-Eulerian technique, J
Comput Phys 169 (2001) 427–462.
[2] S. Kern, P. Koumoutsakos, Simulations of optimized anguilliform swimming, J
Expt Biol 209 (2006) 4841–4857.
47
[3] C. S. Peskin, The immersed boundary method, Acta Numer 11 (2002)
479–517.
[4] M.-C. Lai, Z.-L. Li, A remark on jump conditions for the three-dimensional
Navier-Stokes equations involving an immersed moving membrane, Appl Math
Lett 14 (2) (2001) 149–154.
[5] S. Xu, Z. J. Wang, Systematic derivation of jump conditions for the immersed
interface method in three-dimensional flow simulation, SIAM J Sci Comput
27 (6) (2006) 1948–1980.
[6] A. M. Roma, C. S. Peskin, M. J. Berger, An adaptive version of the immersed
boundary method, J Comput Phys 153 (2) (1999) 509–534.
[7] B. E. Griffith, R. D. Hornung, D. M. McQueen, C. S. Peskin, An adaptive,
formally second order accurate version of the immersed boundary method,
J Comput Phys 223 (1) (2007) 10–49.
[8] B. E. Griffith, R. D. Hornung, D. M. McQueen, C. S. Peskin, Parallel and
adaptive simulation of cardiac fluid dynamics, in: M. Parashar, X. Li (Eds.),
Advanced Computational Infrastructures for Parallel and Distributed
Adaptive Applications, John Wiley and Sons, Hoboken, NJ, USA, 2009.
[9] B. E. Griffith, Immersed boundary model of aortic heart valve dynamics with
physiological driving and loading conditions, Int J Numer Meth Biomed Eng
28 (3) (2012) 317–345.
[10] R. Glowinski, T.-W. Pan, T. I. Hesla, D. D. Joseph, A distributed Lagrange
multiplier/fictitious domain method for particulate flows, Int J Multiphas
Flow 25 (1999) 755–794.
[11] N. A. Patankar, P. Singh, D. D. Joseph, R. Glowinski, T. Pan, A new
formulation of the distributed Lagrange multiplier/fictitious domain method
for particulate flows, Int J Multiphas Flow 26 (2000) 1509–1524.
[12] N. A. Patankar, A formulation for fast computations of rigid particulate flows,
Tech. rep., Center for Turbulence Research Annual Research Briefs,
http://ctr.stanford.edu (2001).
[13] N. A. Patankar, Physical interpretation and mathematical properties of the
stress-DLM formulation for rigid particulate flows, Int J Comput Method Eng
Sci Mech 6 (2005) 137–143.
[14] A. A. Shirgaonkar, M. A. MacIver, N. A. Patankar, A new mathematical
formulational and fast algorithm for fully resolved simulation of
self-propulsion, J Comput Phys 228 (2009) 2366–2390.
[15] A. J. Chorin, Numerical solution of the Navier-Stokes equations, Math
Comput 22 (104) (1968) 745–762.
[16] M. J. Berger, J. Oliger, Adaptive mesh refinement for hyperbolic
partial-differential equations, J Comput Phys 53 (3) (1984) 484–512.
48
[17] M. J. Berger, P. Colella, Local adaptive mesh refinement for shock
hydrodynamics, J Comput Phys 82 (1) (1989) 64–84.
[18] L. J. Fauci, C. S. Peskin, A computational model of aquatic animal
locomotion, J Comput Phys 77 (1988) 85–108.
[19] E. D. Tytell, C.-Y. Hsu, T. L. Williams, A. H. Cohen, L. J. Fauci, Interactions
between internal forces, body stiffness, and fluid environment in a
neuromechanical model of lamprey swimming, Proc Natl Acad Sci U S A 107
(2010) 19832–19837.
[20] H. Zhao, J. B. Freund, R. D. Moser, A fixed-mesh method for incompressible
flow-structure systems with finite solid deformations, J Comput Phys 227
(2008) 3114–3140.
[21] G. Herschlag, L. Miller, Reynolds number limits for jet propulsion: A
numerical study of simplified jellyfish, J Theor Biol 285 (2011) 84–95.
[22] R. Mittal, Computational modeling in bio-hydrodynamics: trends, challenges
and recent advances, IEEE J Ocean Eng 29 (2004) 595–604.
[23] R. Mittal, H. Dong, G. V. Lauder, Locomotion with flexible propulsors. II:
Computational modeling of pectoral fin swimming in sunfish, Bioinsp Biomim
1 (2006) S35–S41.
[24] I. Borazjani, F. Sotiropoulos, Numerical investigation of the hydrodynamics of
crangiform swimming in the translational and inertial flow regimes, J Expt
Biol 211 (2008) 1541–1558.
[25] A. A. Shirgaonkar, O. M. Curet, N. A. Patankar, M. A. MacIver, The
hydrodynamics of ribbon-fin propulsion during impulsive motion, J Expt Biol
211 (2008) 3490–3503.
[26] O. M. Curet, I. K. AlAli, M. A. MacIver, N. A. Patankar, A versatile implicit
iterative approach for fully resolved simulations of self-propulsion, Comput
Meth Appl Mech Eng 199 (2010) 2336–2390.
[27] M. Bergmann, A. Iollo, Modeling and simulation of fish-like swimming, J
Comput Phys 230 (2011) 329–348.
[28] G. V. Lauder, Function of the caudal fin during locomotion in fishes:
kinematics, flow visualization, and evolutionary patterns, Am Zool 40 (2000)
101–122.
[29] G. V. Lauder, J. C. Nauen, E. G. Drucker, Experimental hydrodynamics and
evolution: function of median fins in ray-finned fishes, Integr Comp Biol 42
(2002) 1009–1017.
[30] J. O. Dabiri, M. Gharib, Sensitivity analysis of kinematic approximations in
dynamic medusan swimming models, J Expt Biol 206 (2003) 3675–3680.
[31] E. D. Tytell, G. V. Lauder, The hydrodynamics of eel swimming. I: Wake
structure, J Expt Biol 207 (2004) 1825–1841.
49
[32] O. M. Curet, N. A. Patankar, G. V. Lauder, M. A. MacIver, Aquatic
manoeuvering with counter-propagating waves: a novel locomotive strategy, J
R Soc Interface 8 (2011) 1041–1050.
[33] O. M. Curet, N. A. Patankar, G. V. Lauder, M. A. MacIver, Mechanical
properties of a bio-inspired robotic knifefish with an undulatory propulsor,
Bioinspir Biomim 6 (2011) 026004.
[34] R. Ruiz-Torres, O. M. Curet, G. V. Lauder, M. A. MacIver, Kinematics of the
ribbon fin in hovering and swimming of the electric ghost knifefish, J Expt
Biol (in press).
[35] S. V. Apte, M. Martin, N. A. Patankar, A numerical method for fully resolved
simulation (FRS) of rigid particle-flow interactions in complex flows, J
Comput Phys 228 (2009) 2712–2738.
[36] S. Apte, J. Finn, A Variable-Density Fictitious-Domain Method for Fully
Resolved Simulation of High-Density Ratio Fluid-Particle Systems, in: 7th
International Conference on Multiphas Flow, 2010, 13 pages.
[37] T. G. Fai, B. E. Griffith, Y. Mori, C. S. Peskin, Immersed boundary method
for variable viscosity and variable density problems using fast linear solvers. I:
Numerical method and results, Manuscript submitted for publication.
[38] T. G. Fai, B. E. Griffith, Y. Mori, C. S. Peskin, Immersed boundary method
for variable viscosity and variable density problems using fast linear solvers.
II: Theory, Manuscript submitted for publication.
[39] B. E. Griffith, X. Luo, D. M. McQueen, C. S. Peskin, Simulating the fluid
dynamics of natural and prosthetic heart valves using the immersed boundary
method, Int J Appl Mech 1 (1) (2009) 137–177.
[40] L. Zhang, A. Gerstenberger, X. Wang, W. K. Liu, Immersed finite element
method, Comput Meth Appl Mech Eng 193 (21–22) (2004) 2051–2067.
[41] W. K. Liu, Y. Liu, D. Farrell, L. Zhang, X. S. Wang, Y. Fukui, N. Patankar,
Y. Zhang, C. Bajaj, J. Lee, J. Hong, X. Chen, H. Hsu, Immersed finite
element method and its applications to biological systems, Comput Meth
Appl Mech Eng 195 (13–16) (2006) 1722–1749.
[42] D. Boffi, L. Gastaldi, L. Heltai, C. S. Peskin, On the hyper-elastic formulation
of the immersed boundary method, Comput Meth Appl Mech Engrg
197 (25–28) (2008) 2210–2231.
[43] D. Devendran, C. S. Peksin, An energy-based immersed boundary method for
incompressible viscoelasticity, J Comput Phys 231 (14) (2012) 4613–4642.
[44] B. E. Griffith, X. Luo, Hybrid finite difference/finite element version of the
immersed boundary method (submitted, preprint available from
http://www.cims.nyu.edu/ griffith).
[45] B. E. Griffith, C. S. Peskin, On the order of accuracy of the immersed
boundary method: Higher order convergence rates for sufficiently smooth
problems, J Comput Phys 208 (1) (2005) 75–105.
50
[46] W. J. Rider, J. A. Greenough, J. R. Kamm, Accurate monotonicity- and
extrema-preserving methods through adaptive nonlinear hybridizations,
J Comput Phys 225 (2) (2007) 1827–1848.
[47] P. Colella, P. R. Woodward, The piecewise parabolic method (PPM) for
gas-dynamical simulations, J Comput Phys 54 (1) (1984) 174–201.
[48] Y. Saad, A flexible inner-outer preconditioned GMRES algorithm,
SIAM J Sci Comput 14 (2) (1993) 461–469.
[49] B. E. Griffith, An accurate and efficient method for the incompressible
Navier-Stokes equations using the projection method as a preconditioner, J
Comput Phys 228 (20) (2009) 7565–7595.
[50] M. J. Berger, I. Rigoutsos, An algorithm for point clustering and grid
generation, IEEE Trans Syst Man Cybern 21 (5) (1991) 1278–1286.
[51] G. Tóth, P. L. Roe, Divergence- and curl-preserving prolongation and
restriction formulas, J Comput Phys 180 (2) (2002) 736–750.
[52] IBAMR: An adaptive and distributed-memory parallel implementation of the
immersed boundary method, http://ibamr.googlecode.com.
[53] SAMRAI: Structured Adaptive Mesh Refinement Application Infrastructure,
http://www.llnl.gov/CASC/SAMRAI.
[54] R. D. Hornung, S. R. Kohn, Managing application complexity in the SAMRAI
object-oriented framework, Concurrency Comput Pract Ex 14 (5) (2002)
347–368.
[55] R. D. Hornung, A. M. Wissink, S. R. Kohn, Managing complex data and
geometry in parallel structured AMR applications, Eng Comput 22 (3–4)
(2006) 181–195.
[56] S. Balay, K. Buschelman, W. D. Gropp, D. Kaushik, M. G. Knepley, L. C.
McInnes, B. F. Smith, H. Zhang, PETSc Web page,
http://www.mcs.anl.gov/petsc (2009).
[57] S. Balay, K. Buschelman, V. Eijkhout, W. D. Gropp, D. Kaushik, M. G.
Knepley, L. C. McInnes, B. F. Smith, H. Zhang, PETSc users manual, Tech.
Rep. ANL-95/11 - Revision 3.0.0, Argonne National Laboratory (2008).
[58] S. Balay, V. Eijkhout, W. D. Gropp, L. C. McInnes, B. F. Smith, Efficient
management of parallelism in object oriented numerical software libraries, in:
E. Arge, A. M. Bruaset, H. P. Langtangen (Eds.), Modern Software Tools in
Scientific Computing, Birkhäuser Press, 1997, pp. 163–202.
[59] hypre: High performance preconditioners,
http://www.llnl.gov/CASC/hypre.
[60] R. D. Falgout, U. M. Yang, hypre: a library of high performance
preconditioners, in: P. M. A. Sloot, C. J. K. Tan, J. J. Dongarra, A. G.
Hoekstra (Eds.), Computational Science - ICCS 2002 Part III, Vol. 2331 of
51
Lecture Notes in Computer Science, Springer-Verlag, 2002, pp. 632–641, also
available as LLNL Technical Report UCRL-JC-146175.
[61] libMesh: C++ Finite Element Library, http://libmesh.sourceforge.net.
[62] B. Kirk, J. W. Peterson, R. H. Stogner, G. F. Carey, libMesh: A C++ library
for parallel adaptive mesh refinement/coarsening simulations, Eng Comput
22 (3–4) (2006) 237–254.
[63] K. Taira, T. Colonius, The immersed boundary method: a projection
approach, J Comput Phys 225 (2007) 2118–2137.
[64] S. C. R. Dennis, W. Quang, M. Coutanceau, J.-L. Launay, Viscous flow
normal to a flat plate at moderate Reynolds numbers, J Fluid Mech 248
(1993) 605–635.
[65] M. Uhlmann, First experiments with simulation of particulate flows, Technical
reports 1020, issn: 1135-9420, Tech. rep., CIEMAT, Madrid, Spain (2003).
[66] M. Braza, P. Chassaing, H. H. Minh, Numerical study and physical analysis of
the pressure and velocity fields in the near wake of a circular cylinder, J Fluid
Mech 165 (1986) 79–130.
[67] R. Henderson, Nonlinear dynamics and pattern formation in turbulent wake
transition, J Fluid Mech 352 (1997) 65–112.
[68] J.-W. He, R. Glowinski, R. Metcalfe, A. Nordlander, J. Périaux, Active
control and drag optimization for flow past a circular cylinder. Part 1.
Oscillatory cylinder rotation, J Comput Phys 163 (2000) 83–117.
[69] L. Shen, E.-S. Chan, P. Lin, Calculation of hydrodynamic forces acting on
submerged moving object using immersed boundary method, Comput Fluid
38 (2009) 691–702.
[70] H. Dutsch, F. Durst, S. Becker, H. Lienhart, Low-Reynolds-number flow
around an oscillating circular cylinder at low Keulegan-Carpenter numbers, J
Fluid Mech 360 (1998) 249–271.
[71] N. Mordant, J. F. Pinton, Velocity measurement of a settling sphere, Eur
Phys J B 18 (2000) 343–352.
[72] N. Sharma, N. A. Patankar, A fast computational technique for the direct
numerical simulation of rigid particulate flows, J Comput Phys 205 (2005)
439–457.
[73] K. S. Yeo, S. J. Ang, C. Shu, Simulation of fish swimming and manoeuvring
by an SVD- GFD method on a hybrid meshfree-Cartesian grid, Comput Fluid
39 (2010) 403–430.
[74] G. G. Poe, A. Acrivos, Closed-streamline flows past rotating single cylinders
and spheres: inertia effects, J Fluid Mech 72 (1975) 605–623.
52
[75] H. Nirschl, H. A. Dwyer, V. Denk, Three-dimensional calculations of the
simple shear flow around a single particle between two moving walls, J Fluid
Mech 283 (1995) 273–285.
[76] N. A. Patankar, H. H. Hu, Finite Reynolds number effect on the rheology of a
dilute suspension of neutrally buoyant circular particles in a Newtonian fluid,
Int J Multiphas Flow 28 (2002) 409–425.
[77] D. R. Mikulencak, J. F. Morris, Stationary shear flow around fixed and free
bodies at finite Reynolds number, J Fluid Mech 520 (2004) 215–242.
[78] P. Yu, K. S. Yeo, D. S. Sundar, S. J. Ang, A three-dimensional hybrid
meshfree-Cartesian scheme for fluid-body interaction, Int J Numer Meth Eng
88 (2011) 385–408.
[79] G. S. Triantafyllou, M. S. Triantafyllou, M. A. Grosenbaugh, Optimal thrust
development in oscillating foils with application to fish propulsion, J Fluids
Struct 7 (1993) 205–224.
[80] E. D. Tytell, The hydrodynamics of eel swimming II. Effect of swimming
speed, J Expt Biol 207 (2004) 3265–3279.
[81] M. A. MacIver, M. E. Nelson, Body modeling and model-based tracking for
neuroethology, J Neurosci Method 95 (2000) 133–143.
[82] T. McMillen, P. Holmes, An elastic rod model for anguilliform swimming, J
Math Biol 53 (2006) 843–886.
[83] Z.-L. Li, M.-C. Lai, The immersed interface method for the Navier-Stokes
equations with singular forces, J Comput Phys 171 (2) (2001) 822–842.
[84] L. Lee, R. J. LeVeque, An immersed interface method for incompressible
Navier-Stokes equations, SIAM J Sci Comput 25 (3) (2003) 832–856.
[85] D. L. Brown, R. Cortez, M. L. Minion, Accurate projection methods for the
incompressible Navier-Stokes equations, J Comput Phys 168 (2) (2001)
464–499.
[86] Y. Kim, C. S. Peskin, Penalty immersed boundary method for an elastic
boundary with mass, Phys Fluid 19 (2007) 053103 (18 pages).
53