surface-force distribution on deforming geometries using ... · vortex methods & brinkman...
TRANSCRIPT
CSElab Computational Science & Engineering Laboratory http://www.cse-lab.ethz.ch
Surface-force distribution on deforming geometries using Vortex methods and
Brinkman penalization Siddhartha Verma
Gabriele Abbati, Petros Koumoutsakos
June 8, 2016
2
• Why surface-force distribution? • Influence of fluid-flow on objects • Shape/motion optimisation of bio-inspired
engineering devices
Motivation
Credit: Hirata, www.nmri.go.jp
• Simulations difficult with body fitted grids • Complex shapes, deforming geometries
DuBois & Ogilvy, J Exp. Biol. (1978)
Source: http://wyss.harvard.edu/viewpage/204/bioinspired-robotics
Gemmell et al., Nature Comm. 2015
• Difficult to obtain experimentally
• Vortex methods + Brinkman penalisation • Fast & accurate • Multiple geometris with relative ease
Background• Enforcing Boundary Condition (BC) on
complex, deforming geometries
• Arbitrary Lagrangian Eulerian (ALE) • Body Fitted grid : Difficulty with Multiple bodies
& with Deforming geometries • Expensive : frequent re-meshing
3
Source: https://www.cfd.tu-berlin.de/research/acoustic/AIAA_PAPER_2004-2926/graphics/gitter.png
Source: http://euler.yonsei.ac.kr/2011/09/30/immersed-boundary-method-for-complex-flows/
• Immersed Boundary (IB) method • Simple Cartesian grids • BCs enforced via Dirac-delta forcing
Vortex methods & Brinkman penalization • Remeshed vortex methods
• Solve vorticity form of incompressible Navier-Stokes
4
Koumoutsakos & Leonard, JFM (1995)@!
@t+ u ·r! = ! ·ru+ ⌫r2! + �r⇥ (� (us � u))
Hejlesen et al., JCP (2015)
• Single grid handles both Fluid and Solid
• Fluid:Solid:
� = 0� = 1
DiffusionAdvection
Penalization
0 in 2D
• Brinkman penalization • Relatively easy to implement,
computationally cheap
• Accounts for fluid-solid interaction • Penalty term enforces no-slip BC
Angot et al., Numerische Mathematik (1999)
@u
@t+ u ·ru = �rP
⇢+ ⌫r2u+ �� (us � u)
Curl
Implementation
5
@!
@t+ u ·r! = ! ·ru+ ⌫r2! + �r⇥ (� (us � u))
!? = !n +�t {�r⇥ (� (us � u))}!?? = !? +�t
�r2!?
D!??
Dt= 0 ) !n+1 = !??
• Godunov splitting 1. Penalization 2. Diffusion 3. Advection
• Wavelet-based adaptive grid • Cost-effective compared to uniform grids
• Open source code: available on github • https://github.com/cselab/MRAG-I2D
Rossinelli et al., JCP (2015)
• Force computations require the stress tensor σ • Drag = net force opposing velocity
• Compute surface traction, dot product with velocity vector • +ve => Thrust; -ve => Drag
Surface forces
Fsurf =
Z� · nds
FD/T =Fsurf · u
|u|
• Stress tensor requires two things • Pressure • Strain-rate tensor
Z�Pn · dS
Z2µD · ndS
D =1
2
�ru+ruT
�
• Vorticity form of Navier Stokes • Advantage: no need to deal with pressure • Disadvantage: pressure term unavailable!
6
@u
@t+ u ·ru = �rP
⇢+ ⌫r2u+ �� (us � u)
Cur
l
@!
@t+ u ·r! = ! ·ru+ ⌫r2! + �r⇥ (� (us � u))
Computing pressure• For Pressure : divg. of the N-S equans
7
r ·✓@u
@t+ u ·ru = �rP
⇢+ ⌫r2u+ �� (us � u)
◆
r · u = 0
ruT : ru = �r2P
⇢+
1
⇢2r⇢ ·rP +r · (�� (us � u))
r2P = ⇢��ruT : ru+r · (�� (us � u))
�
0
• Poisson’s equation: solved using free-space Green’s function r2
G = �(x� x0)
rG = 0 on dS
) G =1
2⇡ln|r|
P = G ⇤RHS
• Strain-rate tensor (for frictional forces)
D =1
2
�ru+ruT
�
The Fast Multipole Method (FMM)• Extremely fast solutions for the
Poisson equation (`N-body’ problem) • Speed-up: 10,000X and more!!
8
O
z
R1
R2
zc1zc2
Group 1
Group 2
• Speed-up results from combination of • Tree-code: groups together sources into clusters • Truncated series expansions
• Impulsively started flow around a stationary cylinder
Flow around a cylinder
9
0
0.5
1
1.5
2
0 1 2 3 4 5 6 7
Cd
T
CdPCd
νRe = 550
0
0.5
1
1.5
2
0 1 2 3 4 5
Cd
T
CdPCd
νRe = 1000Vorticity
Pressure
-3
-2
-1
0
1
2
0 0.25 0.5 0.75 1
Cp
θ/π
T = 1T = 3T = 5
Surface-pressure (Re = 550)
Koumoutsakos & Leonard, JFM (1995)Li et al., JFM (2004)
• Spatial distribution of surface-pressure & drag time-evolution agree with reference data
Surface vorticity distribution
10
Re = 1000
Re = 550
• Fish-shaped rigid profile (Re = 400)
• Flow steady for T>2 • Drag curves asymptote to steady value
Flow over a streamlined profile
11
0
0.2
0.4
0.6
0.8
1
0 1 2 3 4 5
Cd
T
CdCd
ν
CdP
• Pressure contribution to drag much smaller than viscous contribution • Effect of streamlining
• Body-undulations displace fluid • Reaction forces propels swimmer forward
Self-propelled swimmer (Re=4000)
12
-0.01
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0 1 2 3 4 5 6 7 8 9 10
ucm
T
uv
Surface-force vectors
• Compare unsteady acceleration computed using surface-forces to penalisation accel.
• Good agreement: Surface-force computation accurate for complex, temporally deforming bodies
Validation for self-propelled swimmer
13
-0.02
0
0.02
0.04
0.06
0.08
0.1
0 1 2 3 4 5 6 7 8 9 10
ax
T
apenalaSF
-0.04
-0.02
0
0.02
0.04
0 1 2 3 4 5 6 7 8 9 10
ay
T
Horizontal acceleration
Vertical acceleration-0.02
0
0.02
0.04
0.06
0.08
0.1
0 1 2 3 4 5
ax
T
10242
20482
40962
81922
• Low sensitivity to grid-resolution
• High pressure region in front of head • Stagnation of the flow • Low pressure near ‘neck’ - flow accelerates around bulge
Gemmell et al., Nature Comm. 2015
Pressure field around the swimmer
14
Vorticity
Pressure
r2P = ⇢��ruT : ru+r · (�� (us � u))
�
Experimental work
• Vortex cores - lowest pressure(red positive, blue negative)
• Time-variation with body undulation • Smooth pressure profile along the entire body
Surface pressure and shear
15
-0.2
-0.1
0
0.1
0.2
0 0.2 0.4 0.6 0.8 1
y/L
x/L
T = 5.25.4
5.65.8
6.0
-0.4
-0.2
0
0.2
0.4
0.6
0 0.2 0.4 0.6 0.8 1
Cp
s/L
Body undulation
Pressure
0
0.005
0.01
0.015
0.02
0.025
0.03
0 0.2 0.4 0.6 0.8 1
Cν
s/L
Shear stress
• Pressure contribution much larger (Re=4000) • max(Cp) ≈ 0.5, max(Cν) ≈ 0.025
• Shear magnitude less smooth - derivatives
Pressure
Time-evolution of Efficiency• Efficiency for self-propelled objects:
• Useful work - thrust generation • ‘Wasted’ work - work done against fluid in
deforming body
16
⌘ =Tu
Tu+ PDef=
Tu
Tu�RR
� · n̂ · uDef dS
• Steady state: η ≈ 0.55
• Periodic variation (T/2) in efficiency
• From experiments: η = 0.54 +/- 0.04 (Gemmell 2015)
Thrust generation along the body• Waterfall plot: thrust along body, time variation
• Startup: Entire body involved when fish starts moving from rest • Steady: consistent distribution close to head, negligible thrust near neck
17
Startup Steady
Pressure
Summary• Method for determining surface
pressure and shear forces • Using Vortex methods and
Brinkman penalisation
18
• Detailed surface-force distribution • Interaction of swimmer with the flow • Localised information regarding thrust
& drag generation-0.4
-0.2
0
0.2
0.4
0.6
0 0.2 0.4 0.6 0.8 1
Cp
s/L
-3
-2
-1
0
1
2
0 0.25 0.5 0.75 1
Cp
θ/π
T = 1T = 3T = 5
r2P = ⇢��ruT : ru+r · (�� (us � u))
�D =
1
2
�ru+ruT
�
@!
@t+ u ·r! = ! ·ru+ ⌫r2! + �r⇥ (� (us � u))
• Validated for benchmark simulations with rigid objects
Backup
19
Application: ‘Smart’ follower learning to maximise efficiency
• ‘Siphoning’ energy from the leader’s wake
• Follower autonomously learns optimal manoeuvres for maximising efficiency • Reinforcement Learning
20
R⌘ =Tu
Tu+max(Pdef , 0)
• Overall, 28% gain in average efficiency • Energetic savings of 64%
• Relatively long occurrences of η=1 • Follower effectively hitching a ‘free ride’
21
• Variation of all three parameters
Efficiency, Thrust power & Def power
⌘ =PThrust
PThrust + PDef
t=0 to 2 t=8 to 10
t=0 to 10
Spatial & temporal evolution
22
23
• Max η - neck and tail no drag, tail tip barely moving, fore section low curvature
• Min η - tail tip max velocity, neck substantial drag
• Max Power - majority of the body high vel
Spatial & temporal evolutionMax η
Max P(Thrust) & P(Def) Min η
Def. power along the body• Majority of effort at tail
• Head: suction peak results in large thrust, with almost no effort • Rest of body: thrust closely follows deformation power
24
Pressure
x x
Thrust generation along the body• Majority of thrust from mid-body & tail
• Head: drag caused by stagnation pressure. Thrust at bulge (suction peak) • ‘Neck’ region : no thrust, negligible drag • Tail end: Mostly drag!
25
Pressure
x
Pressure FMM
26
then the logarithm is equal to:
log(z � z
j
) = log r + log(ei✓) = log r + i✓ = log |z � z
j
|+ i✓.
We found that Re(log(z � z
j
)) = log |z � z
j
|. Thus the potential can be computed as the realpart of the complex number:
�(z) =mX
j=1
m
j
log(z � z
j
).
Now for the multiple expansion, consider the case in which |z| is larger than any |zj
|. We maywrite the previous as:
�(z) =mX
j=1
m
j
log(z � z
j
) =mX
j=1
m
j
hlog z + log
⇣1� z
j
z
⌘i= M log z +
mX
j=1
m
j
1X
l=1
⇣z
j
z
⌘l
l
=
= M log z +1X
l=1
mX
j=1
m
j
⇣z
j
z
⌘l
l
= M log z +1X
l=1
2
4z
�l
mX
j=1
m
j
z
l
j
l
3
5 = M log z +1X
l=1
↵
l
z
l
where ↵
l
=mPj=1
m
j
z
l
j
l
. We can now introduce the first theorem for the expansion. Having to do
with a Quadtree, we would use it to compute the FMM expansions of the leaves, truncating theinfinite sum to a certain order p.
Lemma 1. Suppose that m charges of strengths {qi
, i = 1, . . . ,m} are located at points {zi
, i =1, . . . ,m} with |z
i
| < r. Then for any z with |z| > r the potential �(z) induced by the charges isgiven by:
�(z) = a0 log(z) +1X
k=1
a
k
z
k
where:
a0 =mX
i=1
q
i
and a
k
=mX
i=1
�q
i
z
k
i
k
for k � 1
The gain in speed is achieved by using a grid which is as coarse as possible. In order to dothis we should be able to “unify” the expansions of neighboring leaves. This is possible by usingthe next lemma, which allows us to translate the center of a certain expansion. In this way, forexample, we could compute the expansions for 4 leaves, center them onto their common parentnode and sum the expansions, so that we have the expansion for the entire parent node.
Lemma 2. Suppose that:
�(z) = a0 log(z � z0) +1X
k=1
a
k
(z � z0)k
is a multipole expansion of the potential due to a set of m charges of strength q1, q2, . . . qm, all ofwhich are located inside the circle D of radius R with center at z0. Then for z outside the circleD1 of radius (R+ |z0|) and center at the origin,
�(z) = a0 log(z) +1X
l=1
b
l
z
l
3
• Poisson equation: solved using free-space Green’s function r2
G = �(x� x0)
rG = 0 on dS
) G =1
2⇡ln|r|
P = G ⇤RHS
then the logarithm is equal to:
log(z � z
j
) = log r + log(ei✓) = log r + i✓ = log |z � z
j
|+ i✓.
We found that Re(log(z � z
j
)) = log |z � z
j
|. Thus the potential can be computed as the realpart of the complex number:
�(z) =mX
j=1
m
j
log(z � z
j
).
Now for the multiple expansion, consider the case in which |z| is larger than any |zj
|. We maywrite the previous as:
�(z) =mX
j=1
m
j
log(z � z
j
) =mX
j=1
m
j
hlog z + log
⇣1� z
j
z
⌘i= M log z +
mX
j=1
m
j
1X
l=1
⇣z
j
z
⌘l
l
=
= M log z +1X
l=1
mX
j=1
m
j
⇣z
j
z
⌘l
l
= M log z +1X
l=1
2
4z
�l
mX
j=1
m
j
z
l
j
l
3
5 = M log z +1X
l=1
↵
l
z
l
where ↵
l
=mPj=1
m
j
z
l
j
l
. We can now introduce the first theorem for the expansion. Having to do
with a Quadtree, we would use it to compute the FMM expansions of the leaves, truncating theinfinite sum to a certain order p.
Lemma 1. Suppose that m charges of strengths {qi
, i = 1, . . . ,m} are located at points {zi
, i =1, . . . ,m} with |z
i
| < r. Then for any z with |z| > r the potential �(z) induced by the charges isgiven by:
�(z) = a0 log(z) +1X
k=1
a
k
z
k
where:
a0 =mX
i=1
q
i
and a
k
=mX
i=1
�q
i
z
k
i
k
for k � 1
The gain in speed is achieved by using a grid which is as coarse as possible. In order to dothis we should be able to “unify” the expansions of neighboring leaves. This is possible by usingthe next lemma, which allows us to translate the center of a certain expansion. In this way, forexample, we could compute the expansions for 4 leaves, center them onto their common parentnode and sum the expansions, so that we have the expansion for the entire parent node.
Lemma 2. Suppose that:
�(z) = a0 log(z � z0) +1X
k=1
a
k
(z � z0)k
is a multipole expansion of the potential due to a set of m charges of strength q1, q2, . . . qm, all ofwhich are located inside the circle D of radius R with center at z0. Then for z outside the circleD1 of radius (R+ |z0|) and center at the origin,
�(z) = a0 log(z) +1X
l=1
b
l
z
l
3
then the logarithm is equal to:
log(z � z
j
) = log r + log(ei✓) = log r + i✓ = log |z � z
j
|+ i✓.
We found that Re(log(z � z
j
)) = log |z � z
j
|. Thus the potential can be computed as the realpart of the complex number:
�(z) =mX
j=1
m
j
log(z � z
j
).
Now for the multiple expansion, consider the case in which |z| is larger than any |zj
|. We maywrite the previous as:
�(z) =mX
j=1
m
j
log(z � z
j
) =mX
j=1
m
j
hlog z + log
⇣1� z
j
z
⌘i= M log z +
mX
j=1
m
j
1X
l=1
⇣z
j
z
⌘l
l
=
= M log z +1X
l=1
mX
j=1
m
j
⇣z
j
z
⌘l
l
= M log z +1X
l=1
2
4z
�l
mX
j=1
m
j
z
l
j
l
3
5 = M log z +1X
l=1
↵
l
z
l
where ↵
l
=mPj=1
m
j
z
l
j
l
. We can now introduce the first theorem for the expansion. Having to do
with a Quadtree, we would use it to compute the FMM expansions of the leaves, truncating theinfinite sum to a certain order p.
Lemma 1. Suppose that m charges of strengths {qi
, i = 1, . . . ,m} are located at points {zi
, i =1, . . . ,m} with |z
i
| < r. Then for any z with |z| > r the potential �(z) induced by the charges isgiven by:
�(z) = a0 log(z) +1X
k=1
a
k
z
k
where:
a0 =mX
i=1
q
i
and a
k
=mX
i=1
�q
i
z
k
i
k
for k � 1
The gain in speed is achieved by using a grid which is as coarse as possible. In order to dothis we should be able to “unify” the expansions of neighboring leaves. This is possible by usingthe next lemma, which allows us to translate the center of a certain expansion. In this way, forexample, we could compute the expansions for 4 leaves, center them onto their common parentnode and sum the expansions, so that we have the expansion for the entire parent node.
Lemma 2. Suppose that:
�(z) = a0 log(z � z0) +1X
k=1
a
k
(z � z0)k
is a multipole expansion of the potential due to a set of m charges of strength q1, q2, . . . qm, all ofwhich are located inside the circle D of radius R with center at z0. Then for z outside the circleD1 of radius (R+ |z0|) and center at the origin,
�(z) = a0 log(z) +1X
l=1
b
l
z
l
3
• The algorithm Speedy Q-Learning was implemented and tried, but it did not convergefaster than normal Q-Learning. The update of the Q-table is the following:
Q
k+1(x, a) = Q
k
(x, a)+↵
k
(Tk
Q
k�1(x, a)�Q
k
(x, a))+(1�↵
k
)(Tk
Q
k
(x, a)�Tk
Q
k�1(x, a))
where we have:Tk
Q(x, a) = r(x, a) + �MQ(yk
).
Here (MQ)(x) = maxa2A Q(x, a) and ↵
k
is the decaying learning rate, going as 1/n wheren is the number of the trial. If you really use ↵
k
= 1/k the algorithm does not seem toconverge, while you substitute ↵
k
with a small but constant learning rate (e.g. 0.01) youcan observe a slow convergence.
The problems now are:
• Convergence is slow
• Is the reward ok? (pressure?)
• Learning: the Q table might not be the best choice, it is not flexible and cannot be refined,you need to restart everything. The next approach might be to emulate the Q functionvalue with a neural network (Batch Programming).
• E�ciency: once the fish had learned how to follow a point, it has to learn how to followthat e�ciently, and the di↵erence in e�ciency between a good and a bad case might bequantitatively small (reward?).
Fast Multiple Method [5] [6]
We need to solve the potential problem of 2-dimensional point charges. Every point chargelocated in x
0
2 R2 gives rise to the potential:
�
x0(x, y) = � log(||x� x
0
||),
and away from the charge the potential is harmonic:
4� = 0.
First of all, substitute (x, y) with the complex number z = x+ iy, so that we have:
�
x0(x) = Re(� log(z � z0)).
Consider we have m particles located at z1, z2, . . . , zm, they will generate a potential:
�(x, y) =mX
j=1
m
j
log r =mX
j=1
m
j
log
q(x� x
j
)2 + (y � y
j
)2�.
We can write r as:
r =q(x� x
j
)2 + (y � y
j
)2 = |z � z
j
|
which in polar coordinates becomes:
z � z
j
= re
i✓ = r cos ✓ + ir sin ✓
2
So solution is the real part of
Pressure FMM
27
then the logarithm is equal to:
log(z � z
j
) = log r + log(ei✓) = log r + i✓ = log |z � z
j
|+ i✓.
We found that Re(log(z � z
j
)) = log |z � z
j
|. Thus the potential can be computed as the realpart of the complex number:
�(z) =mX
j=1
m
j
log(z � z
j
).
Now for the multiple expansion, consider the case in which |z| is larger than any |zj
|. We maywrite the previous as:
�(z) =mX
j=1
m
j
log(z � z
j
) =mX
j=1
m
j
hlog z + log
⇣1� z
j
z
⌘i= M log z +
mX
j=1
m
j
1X
l=1
⇣z
j
z
⌘l
l
=
= M log z +1X
l=1
mX
j=1
m
j
⇣z
j
z
⌘l
l
= M log z +1X
l=1
2
4z
�l
mX
j=1
m
j
z
l
j
l
3
5 = M log z +1X
l=1
↵
l
z
l
where ↵
l
=mPj=1
m
j
z
l
j
l
. We can now introduce the first theorem for the expansion. Having to do
with a Quadtree, we would use it to compute the FMM expansions of the leaves, truncating theinfinite sum to a certain order p.
Lemma 1. Suppose that m charges of strengths {qi
, i = 1, . . . ,m} are located at points {zi
, i =1, . . . ,m} with |z
i
| < r. Then for any z with |z| > r the potential �(z) induced by the charges isgiven by:
�(z) = a0 log(z) +1X
k=1
a
k
z
k
where:
a0 =mX
i=1
q
i
and a
k
=mX
i=1
�q
i
z
k
i
k
for k � 1
The gain in speed is achieved by using a grid which is as coarse as possible. In order to dothis we should be able to “unify” the expansions of neighboring leaves. This is possible by usingthe next lemma, which allows us to translate the center of a certain expansion. In this way, forexample, we could compute the expansions for 4 leaves, center them onto their common parentnode and sum the expansions, so that we have the expansion for the entire parent node.
Lemma 2. Suppose that:
�(z) = a0 log(z � z0) +1X
k=1
a
k
(z � z0)k
is a multipole expansion of the potential due to a set of m charges of strength q1, q2, . . . qm, all ofwhich are located inside the circle D of radius R with center at z0. Then for z outside the circleD1 of radius (R+ |z0|) and center at the origin,
�(z) = a0 log(z) +1X
l=1
b
l
z
l
3
then the logarithm is equal to:
log(z � z
j
) = log r + log(ei✓) = log r + i✓ = log |z � z
j
|+ i✓.
We found that Re(log(z � z
j
)) = log |z � z
j
|. Thus the potential can be computed as the realpart of the complex number:
�(z) =mX
j=1
m
j
log(z � z
j
).
Now for the multiple expansion, consider the case in which |z| is larger than any |zj
|. We maywrite the previous as:
�(z) =mX
j=1
m
j
log(z � z
j
) =mX
j=1
m
j
hlog z + log
⇣1� z
j
z
⌘i= M log z +
mX
j=1
m
j
1X
l=1
⇣z
j
z
⌘l
l
=
= M log z +1X
l=1
mX
j=1
m
j
⇣z
j
z
⌘l
l
= M log z +1X
l=1
2
4z
�l
mX
j=1
m
j
z
l
j
l
3
5 = M log z +1X
l=1
↵
l
z
l
where ↵
l
=mPj=1
m
j
z
l
j
l
. We can now introduce the first theorem for the expansion. Having to do
with a Quadtree, we would use it to compute the FMM expansions of the leaves, truncating theinfinite sum to a certain order p.
Lemma 1. Suppose that m charges of strengths {qi
, i = 1, . . . ,m} are located at points {zi
, i =1, . . . ,m} with |z
i
| < r. Then for any z with |z| > r the potential �(z) induced by the charges isgiven by:
�(z) = a0 log(z) +1X
k=1
a
k
z
k
where:
a0 =mX
i=1
q
i
and a
k
=mX
i=1
�q
i
z
k
i
k
for k � 1
The gain in speed is achieved by using a grid which is as coarse as possible. In order to dothis we should be able to “unify” the expansions of neighboring leaves. This is possible by usingthe next lemma, which allows us to translate the center of a certain expansion. In this way, forexample, we could compute the expansions for 4 leaves, center them onto their common parentnode and sum the expansions, so that we have the expansion for the entire parent node.
Lemma 2. Suppose that:
�(z) = a0 log(z � z0) +1X
k=1
a
k
(z � z0)k
is a multipole expansion of the potential due to a set of m charges of strength q1, q2, . . . qm, all ofwhich are located inside the circle D of radius R with center at z0. Then for z outside the circleD1 of radius (R+ |z0|) and center at the origin,
�(z) = a0 log(z) +1X
l=1
b
l
z
l
3
then the logarithm is equal to:
log(z � z
j
) = log r + log(ei✓) = log r + i✓ = log |z � z
j
|+ i✓.
We found that Re(log(z � z
j
)) = log |z � z
j
|. Thus the potential can be computed as the realpart of the complex number:
�(z) =mX
j=1
m
j
log(z � z
j
).
Now for the multiple expansion, consider the case in which |z| is larger than any |zj
|. We maywrite the previous as:
�(z) =mX
j=1
m
j
log(z � z
j
) =mX
j=1
m
j
hlog z + log
⇣1� z
j
z
⌘i= M log z +
mX
j=1
m
j
1X
l=1
⇣z
j
z
⌘l
l
=
= M log z +1X
l=1
mX
j=1
m
j
⇣z
j
z
⌘l
l
= M log z +1X
l=1
2
4z
�l
mX
j=1
m
j
z
l
j
l
3
5 = M log z +1X
l=1
↵
l
z
l
where ↵
l
=mPj=1
m
j
z
l
j
l
. We can now introduce the first theorem for the expansion. Having to do
with a Quadtree, we would use it to compute the FMM expansions of the leaves, truncating theinfinite sum to a certain order p.
Lemma 1. Suppose that m charges of strengths {qi
, i = 1, . . . ,m} are located at points {zi
, i =1, . . . ,m} with |z
i
| < r. Then for any z with |z| > r the potential �(z) induced by the charges isgiven by:
�(z) = a0 log(z) +1X
k=1
a
k
z
k
where:
a0 =mX
i=1
q
i
and a
k
=mX
i=1
�q
i
z
k
i
k
for k � 1
The gain in speed is achieved by using a grid which is as coarse as possible. In order to dothis we should be able to “unify” the expansions of neighboring leaves. This is possible by usingthe next lemma, which allows us to translate the center of a certain expansion. In this way, forexample, we could compute the expansions for 4 leaves, center them onto their common parentnode and sum the expansions, so that we have the expansion for the entire parent node.
Lemma 2. Suppose that:
�(z) = a0 log(z � z0) +1X
k=1
a
k
(z � z0)k
is a multipole expansion of the potential due to a set of m charges of strength q1, q2, . . . qm, all ofwhich are located inside the circle D of radius R with center at z0. Then for z outside the circleD1 of radius (R+ |z0|) and center at the origin,
�(z) = a0 log(z) +1X
l=1
b
l
z
l
3
where:
b
l
= �a0zl
0
l
+lX
k=1
a
k
z
l�k
0
✓l � 1k � 1
◆
with
✓l � 1k � 1
◆the binomial coe�cients.
4
where:
b
l
= �a0zl
0
l
+lX
k=1
a
k
z
l�k
0
✓l � 1k � 1
◆
with
✓l � 1k � 1
◆the binomial coe�cients.
4
FSI Algorithm details
@!
@t+ (u ·r)! = (! ·r)u+ ⌫r2! +
1
⇢2r⇢⇥rp
d(Msx)
dt= F
d(Is!)
dt= ⌧
r · u = 0
u = uS ⌘ ut + ur + udef
fluid flow
fluid2solid solid2fluid
continuum
r · u = 0@!
@t+ (u ·r)! = (! ·r)u+ ⌫r2!
� r⇢
⇢⇥
✓@u
@t+ (u ·r)u� ⌫r2u� g
◆
+ ��(uS � u)
single-fluid model for FSI
u
ti =
1
mi
Z
⌦⇢�iu dx
✓̇i = J
�1i
Z
⌦⇢�i(x� x̄i)⇥ u dx
u
ri = ✓̇i ⇥ (x� x̄i)
@!n
@t= !n ·run
MultipolesVelocity
Projection
Penalization
Diffusion
Advection
Refinement
Compression
tn
tn+1
RK2+LTS
RK2
Explicit Euler
r2 n = �!n
un = r⇥ n
@!n�
@t= ⌫r2!n
�
@!n�
@t+ u
n� ·r!n
� = 0
!n+1 = !n+1�
x
n+1i = x
ni + u
t,ni �tn
✓n+1i = ✓n + ✓̇
n
i �tn
R(!nand/or un
)|tr
C(!n+1and/or un+1
)|tc
Stretching
RK2+LTS / particles
x
n+1i = x
ni + u
t,ni �tn, ✓n+1
i = ✓ni + ✓̇
n
i �tn
Baroclinicity @!n�
@t= �r⇢n
⇢n⇥
✓@un
�
@t+ (un
� ·r)un� � ⌫r2un
� � g
◆Explicit Euler
⇢n = ⇢f +NX
i=1
(⇢ni � ⇢f )�ni
u
t,ni =
1
mi
Z
⌦⇢n�n
i un dx
✓̇n
i = J
�1i
Z
⌦⇢n�n
i (x� x̄
ni )⇥ u
n dx
u
r,ni = ✓̇
n
i ⇥ (x� x̄
ni )
disc
reti
zati
on
!� = !n +r⇥ (u� � un)u� =un + ���tuS
1 + ���t
Fish surface pressure-force• Time varying force
29
• Thrust magnitude • Almost all segments
contribute to thrust • Either side of head -
thrust (negative pressure)
• Largest drag: tip of head, and tail-end
• Sum : Net Fx and Fy • For validation
against ax/y from velocity
Pressure and thrust• Thrust contribution:
depends on • Pressure sign • Body curvature
30
• Regions close to head contribute to thrust via pressure • Caveat: still need to
examine viscous contribution