Mad x an overview
1 / 11

Mad-X An Overview - PowerPoint PPT Presentation

  • Uploaded on

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Mad-X An Overview' - clancy

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Mad x an overview

Mad-X An Overview


MAD-X Program

MAD-X Strategy

Project Style

Module Keepers


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 strategy
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)


Project style i
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


Project style ii
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


Module keepers
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 Web page:

  • 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


New and special features
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


Developer new module
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


Status and outlook
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


Purpose of 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