90 likes | 245 Views
CONTENTS. Introduction to ESME - What is ESME? - Purpose and Application of ESME My Contribution to ESME Improving ESME Code / Compatibility with F90/95 - ESME compilation in F90/95 - Redefining Pointers and Arrays
E N D
CONTENTS • Introduction to ESME • - What is ESME? • - Purpose and Application of ESME • My Contribution to ESME • Improving ESME Code / Compatibility with F90/95 • - ESME compilation in F90/95 • - Redefining Pointers and Arrays • - Using F90 Modules to replace F77 Common blocks • - USE Statements & ONLY attribute • - Subroutine Interface Blocks • - INTENT attribute • Acknowledgements & Conclusion • Upcoming Updates • - GNU 95 & GFORTRAN Compilation of ESME (OSF) • - Eliminating unused USE statements and variables S.I.S.T 2005
ESME Code Development Ayodele Onibokun August 10, 2005 Computer Science Bethune-Cookman College, Daytona Beach, FL Fermi National Accelerator Laboratory S.I.S.T 2005
Introduction : ESME • Written by James MacLachlan and Francois Ostiguy • E.S.M.E ? • FORTRAN? • Why use FORTRAN? • Simulation Program for calculating: • Evolution of distribution of particles in energy, and • azimuth coordinates by iterating a map corresponding to the single particle equations of motions. • Optional calculations provided by ESME: • Fourier spectrum of beam current; emittance, 1st and 2nd moments • Feedback contributions of RF system parameters • Evaluation of beam induced voltages from space charge and longitudinal coupling impedance. • Why converting from F77 to F90/95? S.I.S.T 2005
ESME AT A GLANCE S.I.S.T 2005
ESME compilation in F90/95 : Subroutines Makescript S.I.S.T 2005
Improving ESME Code: Pointers Improving ESME : Memory Allocation & Deallocation Cray Pointer Extension F90/95 VS F77 VS ALLOCATABLE • Pointer is a data type • Holds machine address of pointee • Pointer is an attribute • Holds machine address and data type S.I.S.T 2005
Replacing Common Blocks with Module Programs Common Blocks Modules USE STATEMENT INCLUDE line S.I.S.T 2005
Conclusion • Successful compilation of ESME code on F90/95 compiler • Upgrade from F77 to F90/95 Standards was also successful • Partial compilation of ESME code - G95 compiler & GFortran Upcoming / Ongoing Upgrades • GNU 95 & GFortran Compilation of ESME (OSF) • Eliminating unused USE statements and variables S.I.S.T 2005
Acknowledgments Thanks go to : • My supervisor, Jim MacLachlan, and Francois Ostiguy • My mentors, David Peterson and Catherine James, • and to Dr. Davenport and the SIST committee. References : http://www-ap.fnal.gov/ESME S.I.S.T 2005