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 が垂直)

  • 各要素は ENTRYCENTREEXIT を基準に配置できます

Tip

MAD-X の変数はすべて 倍精度浮動小数点(double precision) です。

参考資料