MAD-X チュートリアル (1): 基本概念と使い方¶
chatGPTによるCERNスライドの自動翻訳・自動要約です.
概要¶
MAD-X(Methodical Accelerator Design)は、CERNを中心に利用されている加速器設計・シミュレーションツール.
主にビーム光学関数(Twissパラメータ)の計算やマシン構成の記述に用いられます。
本節では、CERN Accelerator School(CAS 2011年 Chios校)のチュートリアルに基づき、基本的な使い方を紹介します。
MAD-X の特徴¶
インタプリタ型プログラム で、行ごとにコマンドを実行します
構文は C 言語に類似し、 変数定義・条件分岐・ループ なども使用可能です
入力ファイルには、 ビーム要素の定義・ビーム条件・実行指令(TWISS計算など) を記述します
GUIはなく、すべてテキストベース で操作します
MAD-X の実行方法¶
対話モード:
$ madx
MAD-X > angle = 2*pi/1232;
MAD-X > value, angle;
スクリプト実行(推奨):
$ madx < myscript.madx
または MAD-X 内部から:
MAD-X > call, file="myscript.madx";
Tip
入力ファイルは プレーンテキスト(ASCII) である必要があります。 Word や PowerPoint ファイルでは動作しません。
MAD-X の構文¶
各命令は
;
で終わりますコメントは
//
または!
を使用します変数代入には
=
と:=
の2種類があります:=
: 一度だけ評価され、値として保存されます:=
: 毎回参照時に再評価されます(ランダム関数等に有効)
例:
angle = 2*pi/1232;
dx = gauss()*1e-3; // 一度だけ評価
dx := gauss()*1e-3; // 毎回再計算される
組み込み定数:
clight, pi, e, mp(陽子質量), me(電子質量)など
MAD-X の言語機能¶
数学関数:
exp()
,log()
,sin()
,cosh()
など乱数生成:
gauss()
,tgauss()
,ranf()
など条件分岐、ループ、マクロ(サブルーチン)も可能
ループ構文で 反復構造のビームライン を構築可能
座標系と慣例¶
MAD-X は、加速器の中心軌道に沿った 曲線座標系 (curvilinear)を使用します
s
:加速器軸に沿った位置x
,y
:横方向の座標(通常 x が曲げ面、y が垂直)各要素は
ENTRY
・CENTRE
・EXIT
を基準に配置できます
Tip
MAD-X の変数はすべて 倍精度浮動小数点(double precision) です。
参考資料¶
公式ドキュメント: https://mad.web.cern.ch/mad/
本ページの参考スライド: https://madx.web.cern.ch/doc/madx_tutorial.pdf
GitHubサンプル: https://github.com/MethodicalAcceleratorDesign/madx-examples