Parallel KS Block-Step Method Sverre Aarseth Institute of Astronomy, Cambridge Code Overview Hermite KS Prediction & Correction Iteration Time-Steps Decision-Making Binary Project
Code Overview Directories Ncode, Docs, Chain, Nchain, ARchain, ARint, Block Standard make nbody6 in dir Ncode nbody6 Block-steps make nbody6 in dir Block nbody6b NBODY7 make -f Makefile7 nbody6 in Ncode nbody7 NBODY7b make -f Makefile7 nbody6 in Block nbody7b GPU make gpu in dir GPU2 produces nbody6.gpu GPUb make -f Makefile6 gpu nbody6b.gpu ARC make -f Makefile7 gpu nbody7.gpu ARCb make -f Makefile8 gpu nbody7b.gpu
Program Flow KS predict Predict u, u to order u (5) Perturbers Predict r, ṙ and obtain F, Ḟ Corrector Temporary correct u,u & h Iteration One or more, same F, Ḟ Final stage Form u (4), u (5), copy to common Time Derivatives up to t (5) or t (6) Time-step Set τ, convert to t & truncate Invert Newton Raphson gives τ bs
Hermite KS Standard KS New notation u h t = 2 hu + 2 R LT F kl = 2u L T F kl = u u P = F kl F u = u Q = L T P, Basic equations F u = 2 hu + 2 RQ h t = 2u Q = u u Hermite F, F formulation F u = 2 hu + 2 RQ F u = 2 (h u + hu + R Q + RQ ) = 2u Q h = 2F u Q + 2u Q t = u u h
Hermite KS with block-steps Predict u, u, h to highest order u pred = u + τu + τ2 2 u + τ3 6 u + τ4 24 u 4 + τ5 20 u u pred = u + τu + τ2 2 u + τ3 6 u 4 + τ4 24 u 5, h pred = h + τh + τ 2 h + τ 6 h + τ 24 h. Force evaluation P = L T uf, P = L T u F + rl T u F. (2) Derivatives for corrector u = (hu + rp), 2 u = 2 (h u + hu + r P + rp ), h = 2(u P), h = 2(u P + u P ). (3)
Fourth-order corrector (Hut, Makino & McMillan 995) u corr = u old + τ 2 (u corr + u old ) τ2 2 (u new u old ), u corr = u old + τ 2 (u new + u old ) τ2 2 (u new u old ), h corr = h old + τ 2 (h new + h old ) τ2 2 (h new h old ). (4) Velocity derivatives for prediction u 4 mid = u new u τ u 5 mid = 2 τ 2 old, ( u new + u old 2 u new u ) old. (5) τ Shifted from midpoint u 4 new = u 4 mid + τ 2 u 5 mid, u 5 new = u 5 mid, h new = h mid + τ h new = h 2 h mid, mid. (6)
Taylor series for physical time t = u u, t = 2(u u ), t = 2(u u + u u ), t 4 = 2(u u ) + 6(u u ), t 5 = 2(u u 4 + 8(u u ) + 6(u u ), t 6 = 2(u u 5 + 0(u u 4 + 20(u u ). (7) Next look-up time t next = t + 6 n= t n τ n. (8) n! Regularized time-step by inversion t + 6 n= t n τ n n! = 0. (9) Newton-Raphson iteration to solve for τ x i+ = x i f(x i) f (x i ).
Initial guess τ = t bs t τ orig, with quantized time-step t bs (= 2 n t orig ). Commensurability condition mod (t sys, t bs ) = 0. Solve equation (9) to obtain τ bs.
0.000 ECC = 0.96 e-05 DT e-06 e-07 0 5e-05 0.000 0.0005 0.0002 0.00025 0.0003 0.00035 0.0004 0.00045 Time
0.03 ECC = 0.96 0.028 0.026 0.024 DTU 0.022 0.02 0.08 0.06 0.04 0 5e-05 0.000 0.0005 0.0002 0.00025 0.0003 0.00035 0.0004 0.00045 Time
subint.f!!!!!! # %&# ()! # () +(, (./0!!!!!!!23456578 9:;58<!=7>!6? 6Α6Β396Χ!!!!!!!!!!!!!() Ε#2!Φ479978ΓΧΗΦ!!!!!! &ΙΙ&)ϑΚ ΛΜ%ϑ!!( Μ +ΚΙΜΝ0!!!!!!! 33!ΟΗ3ΒΗ3>!Β7!:ΠΘ:843!Κ!67Ρ?Β5786!:Β!83Ο! Ρ74; 6Β3ΣΧ!!!!!!(Τ!+)ΛΜ(% ΧΥ Χ/0! ς )!!!!!!!Ι:;3!:!Ρ56Β!7=!:ΡΡ!939 3>6!Π?3!?Σ!Β7!38Π!7=! Ρ74; 6Β3ΣΧ!!!!!!!!!!(.!Ω!.!!!!!!!!!!)Κ!Ω!/!!!!!!!!!!2&!Ξ!(Λ!Ω!. )ΛΜ(%!!!!!!!!!!!!(.!Ω!(.!Ψ!Ξ!!!!!!!!!!!!(Τ!+ /+(.0!Ψ! Λ+(.0ΧΕ Χ Ε& Κ0! ς )!!!!!!!!!!!!!!)Κ!Ω!)Κ!Ψ!.!!!!!!!!!!!!!!Ε( Κ +)Κ0!Ω!(.!!!!!!!!!!!! )2!(Τ!!!!Ξ!!!!! &) ()#!!!!!!!23Β3>9583!Ζ?:8Β5[3Π!Θ:Ρ?3!7=! Ι()Χ!!!!!!!!! Ι()!Ω! Ε& Κ!!!!!!!!!!2&!Γ!Ε!Ω!. )Κ!!!!!!!!!!!!(.!Ω!Ε( Κ +Ε0!!!!!!!!!!!! Ι()!Ω!Ι()+ /+(.0!Ψ! Λ+(.0 Ι()0!!!!Γ!!!!! &) ()#!!!!!!!#ΣΠ:Β3!Β593!:8Π!=7>9!Ρ56Β!7=! 58:>536!Π?3!:Β! Ι()Χ!!!!!!!!!! (Ι!Ω! Ι()!!!!!!!!!!Ε )Υ ς!ω!/!!!!!!!!!!2&!]!ε!ω!. )Κ!!!!!!!!!!!!(.!Ω!Ε( Κ +Ε0!!!!!!!!!!!!(Τ!+ /+(.0!Ψ! Λ+(.0Χ,Χ Ι()0! ς )!!!!!!!!!!!!!!Ε )Υ ς!ω!ε )Υ ς!ψ!.!!!!!!!!!!!!!!) Ν Ε+Ε )Υ ς0!ω!(.!!!!!!!!!!!! )2!(Τ!!!!]!!!!! &) ()#!!!!!!! Η34;!Σ7665 Ρ3!4Η:58!58Β3<>:Β578!78![3>7!Ε )Υ ςχ!!!!!!!!!!(τ!+ε )Υ ςχ,χ/0! ς )!!!!!!!!!!!!Υ&! &!Γ/!!!!!!!!!!! )2!(Τ!!!!!!! Ρ3:8!4?>>38Β!Ρ38<ΒΗ!7=!( Μ Χ!!!!!!!!!!2&!!Ε!Ω!. Ε )Υ ς!!!!!!!!!!!!( Μ +Ε0!Ω!/!!!!!!!!! &) ()#!!!!!!! 3<58!Κ!58Β3<>:Β578!+63Ζ?38Β5:Ρ!7>!Σ:>:ΡΡ3Ρ0Χ!!!!!!!!!!(Τ!+Ε )Υ ςχε Χ)ΕΙΜΝ0! ς )!!!!!!!!!!!!2&!./!Ε(!Ω!. Ε )Υ ς!!!!!!!!!!!!!!(.!ω!) Ν Ε+Ε(0!!!!!!!!!!!!!! ΜΕΕ!Κ () +(. Ε(0!!!./!!!!!!! &) ()#!!!!!!! 3:>4Η!878 [3>7!=Ρ:<6!+( Μ!_!/!93:86!47ΡΡ565780Χ!!!!!!!!!!!!(Τ!+(,Χ,Χ/0! ς )!!!!!!!!!!!!!!2&!.Ξ!Ε(!Ω!. Ε )Υ ς!!!!!!!!!!!!!!!!(τ!+( Μ +Ε(0Χ) Χ/0! ς )!!!!!!!!!!!!!!!!!!(,!Ω!( Μ +Ε(0!!!!!!!!!!!!!!!!!!(./!Ω!) Ν Ε+Ε(0!!!!!!!!!!!!!!!!!!Κ ΛΜ(%!Ω!Κ +(./0!!!!!!!)7Β3!(ΛςΜ!9?6Β! 3!Π3=583Π!=7>!4Η:58Χ!!!!!!!!!!!!!!!!!!(ΛςΜ!Ω!(,!!!!!!!!!!!!!!!!!!Υ&! &!.!!!!!!!!!!!!!!!! )2!(Τ!!!!.Ξ!!!!!!!!! &) ()#!!!!!!!!!!!! )2!(Τ!!!!!!! >3:Β!47ΡΡ56578!3αΣΡ545ΒΡΑ! 3=7>3!Ζ?5ΒΒ58<Χ!!!.!!!!!!!(Τ!+(,ΧΕ Χ/0! ς )
subint.f 2!!!!!!!!!!!!!!(Λ!Ω!Κ +(./0!!!!!!!!!!!!!!Κ ΛΜ(%!Ω!(Λ!!!!!!!!!!!!!!,Λ %(!Ω!%+(Λ0!!!!!!!!!!!!!!(, &ΕΕ!Ω! Ξ!!!!!!!!!!!!!! ΜΕΕ! Ι &2β+,Λ %( Ξ0!!!!!!! 86?>3! Ρ74; 6Β3Σ!Β593!=7>!87>9:Ρ!478Β58?:Β578Χ!!!!!!!!!!!!!! (Ι!Ω! Ε& Κ!!!!!!!)7Β3!>36Β!7=!ΒΗ3! Ρ74;!Ο5ΡΡ! 3!Π783!83αΒ!Β593Χ!!!!!!!!!!!!!!Υ&! &!Γ/!!!!!!!!!!!! )2!(Τ!!!!!!! 79ΣΡ3Β3!:ΡΡ! Ρ74; 6Β3Σ6! 3=7>3!6Σ345:Ρ!Σ>743Π?>3Χ!!!!!!!!!!!!(Τ!+ Ι()ΧΕ Χ Ε& Κ0!Υ&! &!!!!!!!!!!!!! (Ι!Ω! Ε& Κ!!!!!!!!!! Ε!!!!!!!Λ3>=7>9!ΒΗ3!Σ:>:ΡΡ3Ρ!3α34?Β578!Ρ77ΣΧ χδ79σ!σ:>:ρρ3ρ!π7!σ>5θ:β3+ε( (.0!!!!!!!!!!!!2&!Ξ/!Ε(!Ω!. Ε )Υ ς!!!!!!!!!!!!!!(.!ω!) Ν Ε+Ε(0!!!!!!!!!!!!!! ΜΕΕ!Κ () Λ+(. Ε(0!!!Ξ/!!!!!!! &) ()# χδ79σ!38π!σ:>:ρρ3ρ!π7!!!!!!!!!!!!) Λ#!Ω!) Λ#!Ψ!Ε )Υ ς!!!!!!! 3:>4Η!878 [3>7!=Ρ:<6!+( Μ!_!/!=7>!47ΡΡ565780Χ!!!!!!!!!!!!(Τ!+(,Χ,Χ/0! ς )!!!!!!!!!!!!!!2&!Ξ!Ε(!Ω!. Ε )Υ ς!!!!!!!!!!!!!!!!(τ!+( Μ +Ε(0Χ) Χ/0! ς )!!!!!!!!!!!!!!!!!!(,!Ω!( Μ +Ε(0!!!!!!!!!!!!!!!!!!(./!Ω!) Ν Ε+Ε(0!!!!!!!!!!!!!!!!!!(ΛςΜ!Ω!(,!!!!!!!!!!!!!!!!!!Κ ΛΜ(%!Ω!Κ +(./0!!χ!9:Α! 3!833Π3ΠΧ!!!!!!!!!!!!!!!!!!Υ&! &!Ξ]!!!!!!!!!!!!!!!! )2!(Τ!!!!Ξ!!!!!!!!! &) ()#!!!!!!!!!!!! )2!(Τ!!!!!!! >3:Β!47ΡΡ56578!3αΣΡ545ΒΡΑ! 3=7>3!Ζ?5ΒΒ58<Χ!!!Ξ]!!!!!!!(Τ!+(,ΧΕ Χ/0! ς )!!!!!!!!!!!!!!(Λ!Ω!Κ +(./0!!!!!!!!!!!!!!Κ ΛΜ(%!Ω!(Λ!!!!!!!!!!!!!!,Λ %(!Ω!%+(Λ0!!!!!!!!!!!!!!(, &ΕΕ!Ω! Ξ!!!!!!!!!!!!!! ΜΕΕ! Ι &2β+,Λ %( Ξ0!!!!!!!)7Β3!>36Β!7=!ΒΗ3! Ρ74;!Ο5ΡΡ! 3!Π783!83αΒ!Β593Χ!!!!!!!!!!!!!!Υ&! &!Γ/!!!!!!!!!!!! )2!(Τ!!!!!!! Η34;!97>3! Ρ74; 6Β3Σ!Ρ3Θ3Ρ6!?8Ρ366!47ΡΡ56578Χ!!!!!!!!!!!!(Τ!+ Ι()ΧΕ Χ Ε& Κ0!Υ&! &!!!!!!!!!!! )2!(Τ!!!!!!! 7ΣΑ!7>5<58:Ρ! Ρ74;!Β593!:Β!38Π!7=!Κ!Β>3:Β938ΒΧ!!!!!!!!!! (Ι!Ω! Ε& Κ!!!!!! )2!(Τ!!!Γ/!% #%)!!!!!! )2
Massive KS Binary Initial condition e, a, m, m 2, c GR coalescence R coal = 6(m + m 2 ) c 2 PN perturbation PN & 2.5PN Isolated binary e = 0.99, t/t K = 0 5 Time-step τ = η u 2 h /2, N = 2π η u η u = 0., it = 3, E/E = 6 0 3 η u = 0.3, it = 3, E/E = 0 8 η u = 0.3, it = 4, E/E = 3 0
NBODY7 Binary Project Initial condition e, a, m, m 2, c Perturbation PN & 2.5PN in pnpert.f Energy loss Perturbed KS or Peters 964 Accumulated Hermite, previous Ė GR, Ë GR Integration E GR = 2 (Ė 0 + Ė) t + 2 (Ë 0 Ë) t 2 Identity check h < 4 h
0.00 2.5PN PN+2.5PN Peters 0.000 SEMI e-05 e-06 e-07 0 0.2 0.4 0.6 0.8.2.4 Time
Conclusions Performance Significant speed-up Accuracy One or two extra iterations Memory No new variables needed Time-steps Similar to current method Usage Special procedures require attention