110 likes | 252 Views
Mad-X An Overview. Why MAD-X MAD-X Program MAD-X Strategy Project Style Module Keepers Services New and Special Features Developer: New Module Status & Outlook Purpose of MAD-X Day. Why MAD-X. MAD8: well debugged but: Program Structure has grown much too complex over the years
E N D
Mad-X An Overview Why MAD-X MAD-X Program MAD-X Strategy Project Style Module Keepers Services New and Special Features Developer: New Module Status & Outlook Purpose of MAD-X Day
Why MAD-X • MAD8: well debugged but: • Program Structure has grown much too complex over the years • Zebra Memory Management outdated and maintenance questionable • Modules interleaved and not independent • New modules hard to integrate • Upgrade to TPSA, Normal Form etc practically impossible • MAD9: modern, C++, object-oriented but: • Very complex & slow • Our group invested a lot of time to get to run it for the LHC, but to no avail… • Hardly any expertise in C++ in our group New Projectbased on MAD8 called MAD-Xto quickly have a tool ready for LHC Design work MAD-X Day
MAD-X Strategy • No Restrictions of the Programming Language, basically C, Fortran77 & Fortran90 • Core in C: Memory Management, Input Parser & Interfaces • Truly Independent Modules provided by anyone • Flexible “open” structure • CVS version control • Skip all ambiguous or limited modules • Concentrate on LHC issues and leave other machine issue for later addition (which is now!) • Replace Lie Algebra tools by much more powerful TPSA techniques using PTC (see talk on PTC) MAD-X Day
Project Style I • Manpower Limitations The good old times: MAD8: Hans Grote, MAD9: Chris Iselin, SixTrack: Frank Schmidt Today: MAD-X & SixTrack: Frank Schmidt (50%) • Experience: Closer user involvement leads to better modules • Less stringent programming requirements (last transparency) allows the linking of various different modules • Organized Team work rather than a single expert MAD-X Day
Project Style II • One “custodian” to look after the program core and to oversee module development • Team of module keepers • Disadvantages: more work for users (Code, Example & Documentation!!!), more disciplined and structured work (CVS etc), less homogeneous code, some modules may be delayed, succession issue • Advantages: better sharing of work load, potentially better code since user defined, user steer progress of code, users relate better to code, I.e. improved user satisfaction MAD-X Day
Module Keepers • Alexander Bolshakov (ITEP) – various additions • André Verdier –survey, thintrack • Daniel Brandt– ibs • Etienne Forest (KEK) – PTC proper • Frank Schmidt – Custodian, c6t, twiss, PTC modules • Frank Zimmermann – dynap • Fulvia Pilat (BNL) – SXF • Helmut Burkhardt – makethin, MAC system 10 • John Jowett – Windows Version • Oliver Brüning – match • Ralph Aßmann – emit • Thys Risselada – threader & MMK secretary • Tommaso d’Amico – plot • Werner Herr – error, cororbit • Module Keeper Reminder: • Code • Example • Documentation • Same Relevance !!! MAD-X Day
Services • MAD-X Web page: http://cern.ch/Frank.Schmidt/Xdoc/mad-X.html • Documentation in HTML format derived from that source PS & PDF manual files • Link to the Examples • News Section describing changes for each Version • Latest Executables • Directory with Source Code (files and tar), Make file & Project History • RPM Version depending on demand… • Bug Report Form • MAD-X Mailing List MAD-X Day
New and Special Features • MAD-X Input Language similar to that of MAD9 • Besides the usual “=“ sign there is now also “:=“ which allows to defer the evaluation to when it is needed • Improved pattern matching • "if(){}", "else{}", "elseif(){}" statement • “while(){“ loop • Powerful “macro” structures • Improved table handling • Examples can be discussed in the afternoon session MAD-X Day
Developer: New Module • The core program provides all the interfacing • The module developer may write the code in splendid isolation • Mathematical, beam and module specific parameters will be transferred to the module via special read functions • There is a standard loop mechanism over part or all of the machine • Result parameter may be transferred via equivalent write functions • Data can be conveniently passed in table form • Examples may be studied in the afternoon session MAD-X Day
Status and Outlook • MAD-X is ready and used in the LHC design • It is well debugged and documented • There is a host of new features • The code is well prepared for long-term maintenance • New modules can be added with ease • There is an excellent extension path using PTC (see talk): • Most left out modules can be replaced by much better ones • Better physics models even for extreme cases • Complete TPSA packages MAD-X Day
Purpose of MAD-X Day • Presentation of MAD-X Code to the World Accelerator Community • Assessment of the present MAD-X Code including Services • Collecting missing features of MAD-X • Covered by PTC • Requiring New or Upgraded Modules • Windows Version • Distributing work load to Module Keepers MAD-X Day