improving swift hal levison (pi), swri martin duncan (coi), queen’s university mark lewis (coi),...
Post on 19-Jan-2018
218 Views
Preview:
DESCRIPTION
TRANSCRIPT
Improving Swift
Hal Levison (PI), SwRIMartin Duncan (CoI), Queen’s University
Mark Lewis (CoI), Trinity UniversityDavid Kaufmann, SwRI
Outline of Talk
1. Project Background and Goals• What is Swift, why improve it, and how?
2. Project Status• Swifter, the redesigned Swift• A new algorithm for SyMBA• SWIFTVis, a Java-based analysis tool
3. Future Plans
What is Swift?(1 of 2)
1. S/W package (subroutine library + drivers)2. Integrates a set of gravitationally interacting bodies
together with a set of test particles3. Written in ANSI standard Fortran 774. Industry standard for the planetary science community
What is Swift?(2 of 2)
1. Wisdom-Holman Mapping (WHM)
2. Regularized Mixed Variable Symplectic method (RMVS)
3. Fourth-order T+U Symplectic method (TU4)
4. Symplectic Massive Body Algorithm (SyMBA)
1. Bulirsch-Stoer method
Symplectic Integrators Non-symplectic Integrators
Why Improve Swift?
1. SyMBA has not yet been released as part of Swift because…
• a single, stable version has not yet been finalized,• the efficiency of the SyMBA code needs to be improved, and• SyMBA is very complex and not very user-friendly
2. The Swift I/O can be made more user-friendly3. Faster methods of calculating interparticle forces can be
employed4. Swift is currently a serial code, not parallelized
How to ImproveSwift?
1. Reorganize the data for SyMBA and other Swift integrators into arrays of structures to
• improve efficiency and• clarify the code to make it more user-friendly
2. Make these structure arrays dynamically allocated to avoid fixed-size limitations
3. Modify the integration parameter input facility to allow for more user-friendly input files
4. Utilize tree or Fast Multipole methods for interparticle force calculations
5. Write a parallelized version of Swift
Swifter Overview1. Written in ANSI standard Fortran 90 because…
• it is well-suited for number-crunching applications, • it supports dynamic memory allocation• it supports data structures• it supports pointers• it facilitates the transition to Swifter for current Swift users
2. Program data reorganized into dynamically allocated arrays of nested structures
3. Structures are accessed primarily by means of pointers4. New keyword-driven parameter input file format5. Widely used RADAU15 integrator has been added
SwifterMemory Layout
NEXT
PREVIOUS
NEXT
PREVIOUS
BASIC DATA
INTEGRATOR-SPECIFICDATA
MASSPOSITIONVELOCITY
etc.
BODY 1 BODY 2 BODY 3
BODY 6 BODY 5 BODY 4
Parameter FileSwift vs. Swifter
0.0e0 3.65249999999e9 36.525e03.6525e7 3.6525e7F T F T T F-1.0 1000.0 -1.0 -1.0 Fbin.datunknown
!! start the run at time = 0!T0 0.0E0TSTOP 3.65249999999E9DT 36.525E0PL_IN pl.inTP_IN tp.inIN_TYPE ASCIIISTEP_OUT 1000000BIN_OUT bin.datOUT_TYPE REAL4OUT_FORM ELOUT_STAT UNKNOWNISTEP_DUMP 1000000CHK_RMIN -1.0CHK_RMAX 1000.0CHK_EJECT -1.0CHK_QMIN -1.0CHK_QMIN_COORD HELIOCHK_QMIN_RANGE 0.5 100.0ENC_OUT enc.datBIG_DISCARD yes
What is SyMBA?• First symplectic integrator for planet formation and evolution.• An example of terrestrial planet formation
What is SyMBA?The Hamiltonian for the gravitational N-body problem,expressed in inertial frame coordinates, is
,2
),(1
0 10
2
n
i
n
ij ij
jin
i i
iii r
mGmm
Hp
pq
where pi is the momentum of particle i and rij = |qi – qj| is thedistance between particles i and j. The equations of motionare derived in the usual way from the Hamiltonian:
ii
Hp
q
i
iHq
p
What is SyMBA?
SyMBA makes use of this Hamiltonian expressed in “democratic heliocentric” coordinates (heliocentricpositions and barycentric momenta). It can be written
,),( ninteractioSunKepler HHHH ii PQ
where
,21
0
2
Kepler
n
i i
i
i
i mGmm
HQ
P,
21
2
10Sun
n
iim
H P
1
1 1ninteractio
n
i
n
ij ji
jimGmH
Second-order time step is
SunintKepintSun EEEEE
Unfortunately this scheme fails during close solar encounters.
What is SyMBA?
The following splitting of the Hamiltonian solved theproblem of close encounters with the Sun:
,),( ninteractioSunKepler HHHH ii PQ
where
),,...,(2
12 1
2
101
0
2
Kepler n
n
ii
n
i i
i
i
i rrFm
mGmm
H
P
QP
,),...,(12
11
2
10Sun n
n
ii rrF
mH
P
1
1 1ninteractio
n
i
n
ij ji
jimGmH
QQand
What is SyMBA?
iQP
QP
),...,(2
1 12
10
SunSun,
nn
ii
ii
rrFm
H
The time rate of change of the momentum due to H’Sun is
Because the right-hand side of this equation is independent ofmi, there is a singularity in the calculation of the accelerationfor zero-mass test particles, and bad numerical behavior forbodies of sufficiently low mass, in the transition region whereF is changing.
New SyMBAAlgorithm
The solution to this problem may lie in the use of “Yosemite”coordinates, developed by John Chambers.
11
0
1
m
mn
jjj
ii
rrR ,
11
0
1
m
mn
jjj
ii
vvVand
n
iim
m 10
Using these coordinates the Hamiltonian reads
1
1 110
1
0
211
2
n
i
n
ij ji
jin
i iii
n
i i
i
i
i mGmmGmmGm
mH
RRSRRRP
SWIFTVis
1. Java-based graphical data analysis utility2. Customized for Swift and Swift users3. Freely available and platform independent4. Graphical display of analysis session, which can be
saved and reused with new input data5. Raw data source Filter Plot6. Supported filters include: select, thinning, function, sort,
merge, binned, and movie
Future Plans
1. Complete the rewrite of SyMBA2. Complete the SWIFTVis utility3. Package and release the serial version of Swifter4. Establish a support web site for Swifter5. Continue development of alternative force calculation
methods (symplectic tree algorithm, FMM)6. Purchase the parallel computer cluster7. Begin development of the parallel version of Swifter
top related