the universal accelerator parser

22
The Universal Accelerator Parser David Sagan Dan Bates Andy Wolski

Upload: ryann

Post on 19-Jan-2016

44 views

Category:

Documents


0 download

DESCRIPTION

The Universal Accelerator Parser. David Sagan Dan Bates Andy Wolski. Overview. Project motivation Accelerator Markup Language (AML) Overview Example Universal Accelerator Parser (UAP) Overview Internal Structure Example Language Module Superposition of elements Control elements - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: The Universal Accelerator Parser

The Universal Accelerator Parser

David Sagan

Dan Bates

Andy Wolski

Page 2: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 2David Sagan

Overview

• Project motivation• Accelerator Markup Language (AML)

- Overview- Example

• Universal Accelerator Parser (UAP)- Overview- Internal Structure- Example- Language Module- Superposition of elements- Control elements

• Project status• Conclusion

Page 3: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 3David Sagan

Project Motivation

Different accelerator analysis programs use different input formats to describe a lattice

Fred designs a complicated beamline using MADFormat: SIF

Eric wants to simulate this using PLACETFormat: SIF doesn’t workNeed to translate deck to PLACET’s native dialect!

Brian wants cross-check the result using ELEGANT

Algernon wants to do some BDSIM work

A Tower of Babel:

Page 4: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 4David Sagan

Solution

MAD

PLACET

ELEGANT

BDSIM

CommonLattice

DescriptionFormat

Wish List:• Comprehensive set of machine

elements.• Ability to describe control room

knobs, support girders, klystrons, etc.• Describe complex machine layouts.• Describe spatially overlapping elements• Ability to use arithmetic expressions.• Flexible - Easily upgradeable to meet

changing requirements.

Page 5: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 5David Sagan

Accelerator Markup Language

Accelerator Markup Language (AML) • AML is standardized lattice description format based upon

the eXtensible Markup Language (XML).

Why base AML on XML?• XML is a standard (HTML is based upon XML).• The flexibility of XML gives AML the ability to be easily

extended when desired.• The flexibility of XML gives AML the ability to be easily

used as the basis for a database describing an entire accelerator complex.

Page 6: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 6David Sagan

XML represents data as a node tree:

<root><child1> … etc …</child1><child2 attrib = "val"> … etc …</child2><child3 />… etc …

</root>

XML Example

root

child1 child2attrib = "val"

child3

Page 7: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 7David Sagan

AML Example

<laboratory><doc>Hello World!</doc>

<element name = "q01"><length design = "0.6" />… etc …

</element>

<sector name = "fodo"><element ref = "q01" />… etc ..

</sector>

… etc …</laboratory>

laboratory

doc element sector

Page 8: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 8David Sagan

AML in Brief

• Accelerator Markup Language:- Full set of machine elements including:

wigglers, linac accelerating cavities, etc.- Can describe physically overlapping elements.- Can describe "control room knobs", power supplies,

klystrons and other control elements.- Can define multiple "machines" linked together.

AML can serve as the starting point for a database for an accelerator complex.

Page 9: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 9David Sagan

Universal Accelerator Parser

Problem: Implementing software that can read in an AML lattice file can be a time consuming process. To do this for each analysis program represents a great duplication of effort.

Solution: An open source collaborative effort to implement a software library for reading AML files.

The Result: The Universal Accelerator Parser project.

Page 10: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 10David Sagan

UAP Overview

AMLInput File

UAP Internal Structure:

AnalysisProgramMad

Input File

Parsing Input Representation Subtree

AML Representation Subtree

AML Flat Lattice Subtree

Translation

Evaluation & Expansion

Page 11: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 11David Sagan

UAP Internal Structure

UAP uses a node tree to store information:

Node

Child Node

Parent Node

Basic node:

Node:

Attribute:Name = “Value”

Attribute List

Name

Ptr to Parent

Ptr to Children

Page 12: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 12David Sagan

UAP Tree

When the UAP software reads a lattice file it creates a tree. The root node has three children:

<UAPRoot><Input_Representation> - Mirrors the input lattice file.<AML_Representation> - AML equivalent lattice.<AML_Flat_Lattice> - Expanded lattice with all expressions evaluated

Page 13: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 13David Sagan

Example

Mad input file:

! MAD input fileq1: quad, l = 2*As2: sextupolel1: line = (q1, 2*s2)use, l1beam, energy = 5.2

<Input_Representation> <doc> "! MAD input file" </doc> <element name = "q1" key = "quadrupole" l = "2*A" /> <element name = ”s2" key = "sextupole" /> <line name = "l1"> <element name = "q1" /> <element name = "s2" repeat = "2" /> <use line = "l1" /> <beam energy = "5.2" />

</Input_Representation>

Page 14: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 14David Sagan

Example Con’t<AML_Representation>

<laboratory><doc>"MAD input file"</doc><element name = "q1" />

<quadrupole /><length design = "2*A" />

</element><element name = "s2" />

<sextupole /></element><machine>

<sector name = "l1"><element ref = "q1" /><sector repeat = "2">

<element ref = "s2" /></sector>

</sector><root_sector ref = "l1" /><beam>

<energy design = "(5.2) * 1e9" /></beam>

</machine>…

<AML_Flat_Lattice><machine>

<tracking_lattice><element name = "q1">

<quadrupole /><length design = "6" />

</element><element name = "s2">

<sextupole /></element><element name = "s2">

<sextupole /></element>

</tracking_lattice><beam>

<energy design = "5.2e9" /></beam>

</machine></AML_Flat_Lattice>

Page 15: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 15David Sagan

Adding a Language Module

UAP Internal Structure:

Input FileLang A

ParsingInput Representation Subtree

AML Representation Subtree

AML Flat Lattice Subtree

Translation

Evaluation & Expansion“Hard”

“Easy”

To add a language module one needs to add parsing and translation routines:

Page 16: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 16David Sagan

Language Translation

Input FileLang 1

ParsingInput Representation Lang 1

AML Representation

Translation

Input Representation Lang 2

Translation

Input FileLang 2

Parsing

Page 17: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 17David Sagan

Superposition

<element name = "sol"> <solenoid /><length = "2" />

</element>

<element name = "drft"><drift /><length = "2" />

</element>

<element name = "q2"><quadrupole /><length = "1" />

</element>

<sector name = "this_sect"><element ref = "sol" /><element ref = "drft" /><element ref = "q2"

superimpose_at = "1.2" ref_element = "sol" />

</element></sector>

Sol q2

In AML machine elements may spatially overlap other elements:

Page 18: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 18David Sagan

Superposition Con't

Sol q2

Sol|1 q2|1Sol|q2Tracking lattice:

Master List: Sol q2

AML File:

AML_Flat_Lattice Subtree:

Page 19: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 19David Sagan

Controllers

AML provides a meechanism for defining "control room knobs:

<controller name = "ps1" variation = "ABSOLUTE" > <control element = "q1" attribute = "multipole:k1" coef = "2.3 * sin(ps1)" /> <control element = "sol" attribute = "multipole:ks" coef = "-5.7 * ps1" /> </controller>

ps1

q1 sol

Control list:

Trackinglattice:

AML Flat Lattice Subtree:

Page 20: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 20David Sagan

Project Status

• Accelerator Markup Language:- The basic specification exists.- Lots of room for development.

• Universal Accelerator Parser: - Currently under development.- Expect usable software in 3 - 6 months.- MAD-8 and MAD-X Language modules will be implemented.- Open source (GNU Lesser General Public License).- Source is available at SouceForge.com.- Written in C++.- Java version.- Fortran90 interface.- Anyone who is interested in invited to participate.- Project home page:

http://www.lns.cornell.edu/~dcs/aml

Page 21: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 21David Sagan

Conclusion

• The Universal Accelerator Parser software is currently under development for lattice parsing of AML, MAD-8, MAD-X, ...

• Its use holds the promise of greatly improving the interoperability between different programs.

• The UAP library contains bookkeeping routines to simplify the task of simulating the control system, and defining and manipulating complex beamline features such as physically overlapping elements, etc.

Page 22: The Universal Accelerator Parser

October 5, 2006 2006 ICAP 22David Sagan

Thanks

Yves RoblinMike ForsterTheo LarrieuTom PelaiaFrank SchmidtPeter TenenbaumNick WalkerMark Woodley Nikolay Malitsky Richard Talman