FastComputa+on%of%Fully% Resolved%Neuromechanically% … · 2015. 6. 23. · Kinema+c deformaon...
Transcript of FastComputa+on%of%Fully% Resolved%Neuromechanically% … · 2015. 6. 23. · Kinema+c deformaon...
Fast Computa+on of Fully Resolved Neuromechanically
Simulated Locomo+onNamu Patel & Neelesh A. Patankar
Neuromechanically driven locomo+on
Kinema+c deforma+on
wave
Muscle contrac+on
wave
Neural ac+va+on wave
Neuromechanically driven locomo+on
Video from: hEps://www.youtube.com/watch?v=LDrvbr_CbhE&spfreload=10Malcolm MacIver at Northwestern University Melina Hale at
University of Chicago
Equa+ons for Fluid-‐Structure Interac+on
ρ DuDt(x,t) = −∇p(x,t)+ µ∇2u(x,t)+ f(x,t)
∇⋅u(x,t) = 0
∂X∂t(s,t) = u(x,t)δ (x −X(s,t))dx
Ub
∫
f(x,t) = F(s,t)δ (x −X(s,t))dxUb
∫
momentum
con+nuity
Lagrangian point velocity
force spreading
Immersed Boundary Equa+ons for Fluid-‐Structure Interac+on
ρ DuDt(x,t) = −∇p(x,t)+ µ∇2u(x,t)+ f(x,t)
∇⋅u(x,t) = 0
∂X∂t(s,t) = u(x,t)δ (x −X(s,t))dx
Ub
∫
f(x,t) = F(s,t)δ (x −X(s,t))dxUb
∫
momentum
con+nuity
Lagrangian point velocity
force spreading
Immersed Boundary Equa+ons for Fluid-‐Structure Interac+on
Immersed Boundary Equa+ons for Fluid-‐Structure Interac+on
ρ DuDt(x,t) = −∇p(x,t)+ µ∇2u(x,t)+ f(x,t)
∇⋅u(x,t) = 0
∂X∂t(s,t) = u(x,t)δ (x −X(s,t))dx
Ub
∫
f(x,t) = F(s,t)δ (x −X(s,t))dxUb
∫
momentum
con+nuity
Lagrangian point velocity
force spreading
f(x,t) = F(s,t)δ (x −X(s,t))dxUb
∫
F(s,t) = FE (s,t)+FC (s,t)
Forcing Term
FEn = Ks X
n −X0
n⎡⎣ ⎤⎦Spring force! "## $##
+ Kb κ (Xn )−κ pn⎡⎣ ⎤⎦
Beam force! "## $##
Elas+c body
f(x,t) = F(s,t)δ (x −X(s,t))dxUb
∫
F(s,t) = FE (s,t)+FC (s,t)
Forcing Term
FEn = Ks X
n −X0
n⎡⎣ ⎤⎦Spring force! "## $##
+ Kb κ (Xn )−κ pn⎡⎣ ⎤⎦
Beam force! "## $##
Elas+c body
f(x,t) = F(s,t)δ (x −X(s,t))dxUb
∫
F(s,t) = FE (s,t)+FC (s,t)
Forcing Term
S+ff body
FEn = Ks X
n −X0
n⎡⎣ ⎤⎦Spring force! "## $##
+ Kb κ (Xn )−κ pn⎡⎣ ⎤⎦
Beam force! "## $##
Elas+c body
f(x,t) = F(s,t)δ (x −X(s,t))dxUb
∫
F(s,t) = FE (s,t)+FC (s,t)
Forcing Term
S+ff body
Ks >O(Δs)−1
Kb >O(Δs)−5
FEn = Ks X
n −X0
n⎡⎣ ⎤⎦Spring force! "## $##
+ Kb κ (Xn )−κ pn⎡⎣ ⎤⎦
Beam force! "## $##
Elas+c body
f(x,t) = F(s,t)δ (x −X(s,t))dxUb
∫
F(s,t) = FE (s,t)+FC (s,t)
Forcing Term
S+ff body
Ks >O(Δs)−1
Kb >O(Δs)−5
κ n ≈κ pn
FEn = Ks X
n −X0
n⎡⎣ ⎤⎦Spring force! "## $##
+ Kb κ (Xn )−κ pn⎡⎣ ⎤⎦
Beam force! "## $##
Elas+c body
f(x,t) = F(s,t)δ (x −X(s,t))dxUb
∫
F(s,t) = FE (s,t)+FC (s,t)
Forcing Term
S+ff body
Ks >O(Δs)−1
Kb >O(Δs)−5
κ n ≈κ pn
small +me step
FEn = Ks X
n −X0
n⎡⎣ ⎤⎦Spring force! "## $##
+ Kb κ (Xn )−κ pn⎡⎣ ⎤⎦
Beam force! "## $##
Elas+c body
f(x,t) = F(s,t)δ (x −X(s,t))dxUb
∫
F(s,t) = FE (s,t)+FC (s,t)
Forcing Term
S+ff body
Ks >O(Δs)−1
Kb >O(Δs)−5
κ n ≈κ pn
small +me step
Forcing Term
Solid, deforming body
f(x,t) = λ(x,t) Lagrange multiplierUd = Ur + (Wr ×R)+Uk ∈Ωr
A.P.S. Bhalla, B.E. Griffith, N.A. Patankar (2013) PLoS Comp Biol A.P.S. Bhalla, R. Bale, B.E. Griffith, N.A. Patankar (2013) JCP
ρ DuDt(x,t) = −∇p(x,t)+ µ∇2u(x,t)+ f(x,t)
f(x,t) = FC (s,t)δ (x −X(s,t))dxUb
∫
Forcing Term
Directly impose kinema+c deforma+ons, NOT the deforma+on velocity
Solid, deforming body
f(x,t) = λ(x,t) Lagrange multiplierUd = Ur + (Wr ×R)+Uk ∈Ωr
A.P.S. Bhalla, B.E. Griffith, N.A. Patankar (2013) PLoS Comp Biol A.P.S. Bhalla, R. Bale, B.E. Griffith, N.A. Patankar (2013) JCP
ρ DuDt(x,t) = −∇p(x,t)+ µ∇2u(x,t)+ f(x,t)
f(x,t) = FC (s,t)δ (x −X(s,t))dxUb
∫
Constraint Algorithm
Constraint Algorithm
!
1. Predict the posi+on of the Lagrangian structure
!
!
Constraint Algorithm
!
1. Predict the posi+on of the Lagrangian structure
2. Solve the fluid equa+ons without kinema+c constraints
!
Constraint Algorithm
!
1. Predict the posi+on of the Lagrangian structure
2. Solve the fluid equa+ons without kinema+c constraints
3. Impose the deforma+on kinema+cs
Constraint Algorithm
!
1. Predict the posi+on of the Lagrangian structure
2. Solve the fluid equa+ons without kinema+c constraints
3. Impose the deforma+on kinema+cs
4. Correct the fluid velocity and pressure and posi+on of Lagrangian structure
Constraint Algorithm
X pn+1 = Xn +ΔtUd
n
Step 1. Predict the posi+on of the constrained body
Constraint Algorithm
Step 2. Solve the fluid equa+ons without kinema+c constraints
ρu pn+1 − un
Δt+ [u ⋅∇u]p
n+1/2⎛
⎝⎜⎞
⎠⎟= −∇pp
n+1/2 + µ∇2u pn+1
∇⋅u pn+1 = 0
Constraint Algorithm
U pn+1 = R[X p
n+1]u pn+1
Step 3. Interpolate the fluid velocity using discrete Delta func+ons
Constraint Algorithm
U pn+1 = R[X p
n+1]u pn+1
Step 3a. Interpolate the fluid velocity using discrete Delta func+ons
R[X pn+1]u p
n+1 ≈ u pn+1δ (x −X p
n+1)dxUb
∫
Constraint Algorithm
MCUrn+1 = ρU p
n+1
Ωr
∑ ΔV
ICn+1Wr
n+1 = ρRn+1 ×U pn+1
Ωr
∑ ΔV
Rn+1 = X pn+1 −X p,com
n+1
Step 3b. Compute the rigid transla+onal and rota+onal veloci+es
Constraint Algorithm
Step 3c. Given the prescribed kinema+c shape , calculate the deforma+on shape , and velocity
χ(s,t)UkXk
Constraint Algorithm
x
y
X p,comn+1
Step 3c. Given the prescribed kinema+c shape , calculate the deforma+on shape , and velocity
χ(s,t)UkXk
Constraint Algorithm
x
y
X p,comn+1
Urn+1
Wrn+1
Step 3c. Given the prescribed kinema+c shape , calculate the deforma+on shape , and velocity
χ(s,t)UkXk
Constraint Algorithm
x
y
X p,comn+1
Urn+1
Wrn+1
Udn+1 = Ur
n+1 +Wrn+1 ×Rn+1 +Uk
n+1
Step 3c. Given the prescribed kinema+c shape , calculate the deforma+on shape , and velocity
χ(s,t)UkXk
Constraint Algorithm
Step 4a. Compute the constraint force
ΔUC
n+1 = Udn+1 −U p
n+1
FCn+1 = ρ
ΔtΔU
C
n+1
Constraint Algorithm
Step 4b. Spread the corrected Lagrangian velocity
ρun+1 − u p
n+1
Δt= −∇(pn+1/2 − pp
n+1/2 )+ S[X pn+1]FC
n+1
∇⋅un+1 = 0
Constraint Algorithm
Step 4c. Correct the posi+on of the Lagrangian structure
Xcomn+1 = Xcom
n + Δt2Ur
n +Urn+1( )
Xn+1 = Xcomn+1 +Xk
n+1
Neuromuscular Kinema+cs for Swimming
Specify kinema+c constraintsNeuromechanical model
motor neuron axon
muscle sarcomere Ca2+
ca+on influx ∴ depolariza+on
time
Neural stimulus
External forcing
on
off
Specify kinema+c constraintsNeuromechanical model
muscle sarcomere
time
Free calcium ionsCalcium−bound filamets
Kine+c Equa+ons
d Ca free2+
dt= f (Ca free
2+ ,Cabound2+ , stim)
d Cabound2+
dt= g(Ca free
2+ ,Cabound2+ )
Ca2+free
Ca2+bound
T. McMillen, T. Williams, P. Holmes (2007) PLoS Comp Biol
motor neuron axon
Specify kinema+c constraintsNeuromechanical model
muscle sarcomere
Ca2+free
Ca2+bound
time
Muscle forceMuscle Force
dPdt
= k(Pc − P)
Pc = Pc(l fiber ,vfiber ,Cabound2+ )
T. McMillen, T. Williams, P. Holmes (2007) PLoS Comp Biol
motor neuron axon
Specify kinema+c constraintsNeuromechanical model
motor neuron axon
muscle sarcomere
time
Muscle forceMuscle Force
dPdt
= k(Pc − P)
Pc = Pc(l fiber ,vfiber ,Cabound2+ )
T. McMillen, T. Williams, P. Holmes (2007) PLoS Comp Biol
ca+on efflux ∴ repolariza+on
Specify kinema+c constraintsNeuromechanical model
muscle sarcomere
time
Muscle forceMuscle Force
dPdt
= k(Pc − P)
Pc = Pc(l fiber ,vfiber ,Cabound2+ )
Neural stimulus
Free calcium ionsCalcium−bound filamets
Muscle force
time
Preferred curvature
T. McMillen, T. Williams, P. Holmes (2007) PLoS Comp Biol
motor neuron axon
ca+on efflux ∴ depolariza+on
!
å!PR##
PL#
rR#
rL#M##
M##
Specify kinema+c constraints
κ pref = h(PR ,PL ,EI )
Preferred curvature used to calculate preferred shape
time
Preferred curvature
Neuromechanical model
Reduced order fluid simula+ons for choosing EI
= 100maxtss
∂θ∂s
−κ p2
∂θ∂s 2
⎛
⎝
⎜⎜⎜
⎞
⎠
⎟⎟⎟
% Deviation from preferred curvature
Bending modulus E [Mba]1 2 3 4 5 6 7 8 9 10
Nor
mal
ized
sw
imm
ing
velo
city
U/U
w
-0.1
0
0.1
0.2
0.3
0.4
% D
evia
tion
from
pre
ferre
d cu
rvat
ure
0
10
20
30
40
50
60
70
80
90
100
! ! "###### $######floppy
swimmer sufficiently
stiff swimmer
3D Neuromechanically Driven Locomo+on
Fully resolved simula+on of neuromechanically driven locomo+on
Muscle Co-‐contrac+ons
Swimming with & without co-‐contrac+ons
no co-‐contrac+ons
co-‐contrac+ons
Swimming with & without co-‐contrac+ons
time0 5 10 15 20 25
norm
aliz
ed s
wim
min
g ve
loci
ties
0
0.1
0.2
0.3
0.4
0.5
0.6U/UwV/UwUc/UwVc/Uw
Turning with and without co-‐contrac+ons
Fish school
Acknowledgements
Wenjun Kou
Amneet P.S. Bhalla
Boyce Griffith
IBAMRhttps://github.com/
IBAMR/IBAMRNUIT’s Quest