ESME Code Development - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

ESME Code Development

Description:

Amur State University, Russia, Blagoveshensk. CONTENTS. Introduction to ESME - What is ESME? ... Evolution of distribution of particles in energy, and ... – PowerPoint PPT presentation

Number of Views:163
Avg rating:3.0/5.0
Slides: 20
Provided by: beamsdi
Category:
Tags: esme | amur | code | development

less

Transcript and Presenter's Notes

Title: ESME Code Development


1
ESME Code Development
Andrey Gutnik September
12, 2005 Physics Research
Amur State University, Russia, Blagoveshensk.
Fermi National Accelerator Laboratory
2
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
  • - Using F90 Modules to replace F77 Common
    blocks
  • - USE Statements ONLY attribute
  • - Subroutine Interface Blocks
  • - INTENT attribute
  • Acknowledgements Conclusion

3
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?

4
ESME at a Glance
5
ESME at a Glance
6
ESME at a Glance
7
ESME compilation in F90/95
Makescript
Subroutines
8
USE Statements ONLY attribute
  • The USE statement provides the means by which
    a scoping unit accesses named data objects,
    derived types, interface blocks, procedures,
    generic identifiers, and namelist groups in a
    module.
  • The USE statement without the ONLY option
    provides access to all the public entities in the
    specified module.
  • The USE statement with the ONLY option provides
    access only to those entities that appear as
    use-names in the only-list.

9
Replacing Common Blocks with Module Programs
USE STATEMENT
INCLUDE line
10
Procedure interface block is used to
  • Make explicit interfaces for external and dummy
    procedures
  • Define a generic procedure name
  • Define a new operator symbol or specify extension
    of defined operator
  • Define one or more new assignment coercions

11
Interface blocks
12
Conclusion
  • Successful compilation of ESME code on F90/95
    compiler
  • Upgrade from F77 to F90/95 Standards was also
    successful
  • Progress is being made on porting ESME code to
    GFortran
  • (G95 compiler) for Linux

13
Acknowledgments
  • Thanks go to
  • My supervisor, Jim MacLachlan
  • My mentors, Alexander Shemyakin and Victor Yarba
  • References
  • http//www-ap.fnal.gov/ESME

14
Improving ESME Code Pointers
Improving ESME Memory Allocation Deallocation
Cray Pointer Extension
VS
ALLOCATABLE
F90/95 VS
F77
  • Pointer is a data type
  • Holds machine address of pointee
  • Pointer is an attribute
  • Holds machine address and data type

15
(No Transcript)
16
(No Transcript)
17
(No Transcript)
18
(No Transcript)
19
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com