.. _madx_tutorial__p4: MAD-X チュートリアル (4): トラッキングと誤差解析 ========================================================== * chatGPTによるCERNスライドの自動翻訳・自動要約です. * 粒子の個別挙動を追跡する :red:`トラッキング` (`TRACK`)と、 :blue:`マシン誤差の付与と補正` について. | 粒子トラッキング(TRACKブロック) ---------------------------------- MAD-X では、個々の粒子の軌道を追跡することで、ビームの安定性や非線形性の影響を解析できます。 基本構文 :: TRACK, ONEPASS, FILE="track.out"; START, X=0.0, PX=0.0, Y=0.0, PY=0.0, T=0.0, PT=0.0; RUN, TURNS=1000; ENDTRACK; 主なキーワード: - `START` :初期条件の指定(1粒子) - `RUN` :追跡するターン数(線形加速器では 1でもよい) - `FILE` :出力ファイル名(位置・運動量などのログ) - `ONEPASS` :一周のみの追跡(直線加速器向け) | トラッキングの出力形式 ^^^^^^^^^^^^^^^^^^^^^^^^^^ 出力ファイル(例: `track.out` ) は `.tfs` 形式で、粒子ごとの軌道データが保存されます。 | 誤差の付与(EALIGN, EFIELD) ---------------------------- MAD-X では、ビームライン要素に :blue:`配置誤差や磁場誤差` を加えて、現実的な条件を模擬できます。 例:四重極に横方向のずれ(アライメント誤差)を追加:: EALIGN, DX=0.001, DY=0.002, DS=0.0001, DPHI=0.0, DTHETA=0.0, DPSI=0.0; - `DX`, `DY`: 横・縦方向の位置ずれ - `DS`: 軸方向のずれ - `DPHI`, `DTHETA`, `DPSI`: 回転誤差(ラジアン) ターゲット要素を指定するには:: SELECT, FLAG=EALIGN, CLASS=QUADRUPOLE; EALIGN, DX=gauss(0.0, 0.1e-3); 磁場誤差の定義:: EFIELD, DKL=0.001; // 強さ誤差(相対値) SELECT, FLAG=EFIELD, CLASS=SBEND; 複数要素にランダムに誤差を加えることも可能です。 | ビーム軌道の補正(Orbit Correction) ---------------------------------------- 誤差を加えた状態でビーム軌道がズレるため、 :blue:`補正器(コレクター)とBPMを用いた補正解析` が重要です。 コレクターとBPMの定義例:: BPM: MONITOR; HK: HKICKER, KICK=0.0; 補正のステップ: 1. `SELECT, FLAG=ERROR, ...` で誤差対象を指定 2. `EALIGN`, `EFIELD` などで誤差を付加 3. `CORRECT` コマンドで補正解析 4. `TWISS, ERRORS=TRUE` で誤差を含めた解析 例:: CORRECT, MODE=MICADO, BPM=*, CORRECTOR=*; .. note:: `CORRECT` により、測定値をもとにキッカー設定値が調整され、ビーム軌道を補正します。 | この章のまとめ ------------------- - `TRACK` を使って粒子の挙動を直接観測可能 - `EALIGN`・`EFIELD` により現実的な誤差条件を付加可能 - `CORRECT` を用いることでビームの軌道補正が可能 - `.tfs` 形式の出力は gnuplot や Python で解析・描画に活用できる