mad x an overview n.
Skip this Video
Download Presentation
Mad-X An Overview

Loading in 2 Seconds...

play fullscreen
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

Download Now 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