1 / 40

Improving Swift

Improving Swift. Hal Levison (PI), SwRI Martin Duncan (CoI), Queen’s University Mark Lewis (CoI), Trinity University David Kaufmann, SwRI. Outline of Talk. Project Background and Goals What is Swift, why improve it, and how? Project Status Swifter, the redesigned Swift

vmetz
Download Presentation

Improving Swift

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Improving Swift Hal Levison (PI), SwRI Martin Duncan (CoI), Queen’s University Mark Lewis (CoI), Trinity University David Kaufmann, SwRI

  2. Outline of Talk • Project Background and Goals • What is Swift, why improve it, and how? • Project Status • Swifter, the redesigned Swift • A new algorithm for SyMBA • SWIFTVis, a Java-based analysis tool • Future Plans

  3. What is Swift?(1 of 2) • S/W package (subroutine library + drivers) • Integrates a set of gravitationally interacting bodies together with a set of test particles • Written in ANSI standard Fortran 77 • Industry standard for the planetary science community

  4. Wisdom-Holman Mapping (WHM) Regularized Mixed Variable Symplectic method (RMVS) Fourth-order T+U Symplectic method (TU4) Symplectic Massive Body Algorithm (SyMBA) Bulirsch-Stoer method What is Swift?(2 of 2) Symplectic Integrators Non-symplectic Integrators

  5. Why Improve Swift? • 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 • The Swift I/O can be made more user-friendly • Faster methods of calculating interparticle forces can be employed • Swift is currently a serial code, not parallelized

  6. How to ImproveSwift? • 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 • Make these structure arrays dynamically allocated to avoid fixed-size limitations • Modify the integration parameter input facility to allow for more user-friendly input files • Utilize tree or Fast Multipole methods for interparticle force calculations • Write a parallelized version of Swift

  7. Swifter Overview • 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 • Program data reorganized into dynamically allocated arrays of nested structures • Structures are accessed primarily by means of pointers • New keyword-driven parameter input file format • Widely used RADAU15 integrator has been added

  8. MAIN PROGRAM BASIC DATA STEPPER SUBROUTINE INTEGRATOR-SPECIFIC DATA SwiftMemory Layout

  9. BODY 1 BODY 2 BODY 3 NEXT INTEGRATOR-SPECIFIC DATA PREVIOUS BASIC DATA MASS POSITION VELOCITY etc. NEXT PREVIOUS BODY 6 BODY 5 BODY 4 SwifterMemory Layout

  10. 0.0e0 3.65249999999e9 36.525e0 3.6525e7 3.6525e7 F T F T T F -1.0 1000.0 -1.0 -1.0 F bin.dat unknown ! ! start the run at time = 0 ! T0 0.0E0 TSTOP 3.65249999999E9 DT 36.525E0 PL_IN pl.in TP_IN tp.in IN_TYPE ASCII ISTEP_OUT 1000000 BIN_OUT bin.dat OUT_TYPE REAL4 OUT_FORM EL OUT_STAT UNKNOWN ISTEP_DUMP 1000000 CHK_RMIN -1.0 CHK_RMAX 1000.0 CHK_EJECT -1.0 CHK_QMIN -1.0 CHK_QMIN_COORD HELIO CHK_QMIN_RANGE 0.5 100.0 ENC_OUT enc.dat BIG_DISCARD yes Parameter FileSwift vs. Swifter

  11. What is SyMBA? • First symplectic integrator for planet formation and evolution. • An example of terrestrial planet formation

  12. What is SyMBA? • An example of planetary system stability:

  13. What is SyMBA? The Hamiltonian for the gravitational N-body problem, expressed in inertial frame coordinates, is where pi is the momentum of particle i and rij = |qi– qj| is the distance between particles i and j. The equations of motion are derived in the usual way from the Hamiltonian:

  14. What is SyMBA? SyMBA makes use of this Hamiltonian expressed in “democratic heliocentric” coordinates (heliocentric positions and barycentric momenta). It can be written where Second-order time step is Unfortunately this scheme fails during close solar encounters.

  15. and What is SyMBA? The following splitting of the Hamiltonian solved the problem of close encounters with the Sun: where

  16. What is SyMBA? The time rate of change of the momentum due to H’Sun is Because the right-hand side of this equation is independent of mi, there is a singularity in the calculation of the acceleration for zero-mass test particles, and bad numerical behavior for bodies of sufficiently low mass, in the transition region where F is changing.

  17. New SyMBAAlgorithm The solution to this problem may lie in the use of “Yosemite” coordinates, developed by John Chambers. and Using these coordinates the Hamiltonian reads

  18. SWIFTVis • Java-based graphical data analysis utility • Customized for Swift and Swift users • Freely available and platform independent • Graphical display of analysis session, which can be saved and reused with new input data • Raw data source  Filter  Plot • Supported filters include: select, thinning, function, sort, merge, binned, and movie

  19. SWIFTVis Demo(1 of 21)

  20. SWIFTVis Demo(2 of 21)

  21. SWIFTVis Demo(3 of 21)

  22. SWIFTVis Demo(4 of 21)

  23. SWIFTVis Demo(5 of 21)

  24. SWIFTVis Demo(6 of 21)

  25. SWIFTVis Demo(7 of 21)

  26. SWIFTVis Demo(8 of 21)

  27. SWIFTVis Demo(9 of 21)

  28. SWIFTVis Demo (10 of 21)

  29. SWIFTVis Demo (11 of 21)

  30. SWIFTVis Demo (12 of 21)

  31. SWIFTVis Demo (13 of 21)

  32. SWIFTVis Demo (14 of 21)

  33. SWIFTVis Demo (15 of 21)

  34. SWIFTVis Demo (16 of 21)

  35. SWIFTVis Demo (17 of 21)

  36. SWIFTVis Demo (18 of 21)

  37. SWIFTVis Demo (19 of 21)

  38. SWIFTVis Demo (20 of 21)

  39. SWIFTVis Demo (21 of 21)

  40. Future Plans • Complete the rewrite of SyMBA • Complete the SWIFTVis utility • Package and release the serial version of Swifter • Establish a support web site for Swifter • Continue development of alternative force calculation methods (symplectic tree algorithm, FMM) • Purchase the parallel computer cluster • Begin development of the parallel version of Swifter

More Related