.. _madx_tutorial__p3: MAD-X チュートリアル (3): マッチングと光学調整 ===================================================== * chatGPTによるCERNスライドの自動翻訳・自動要約です. * MAD-X による光学関数の :red:`マッチング` と、 :red:`ビームパラメータ(チューン, 色収差)の調整手法` について. | マッチングとは --------------- マッチングは、加速器設計において、 :blue:`光学関数を所望の値に調整する` 操作です。 例: - チューン(Q1, Q2)を目標値に合わせる - 局所的な β関数の最小化 - 分散をゼロにする(直線加速器など) | MATCH ブロックの構造 --------------------- 典型的な構文:: MATCH, SEQUENCE=cassps; GLOBAL, SEQUENCE=cassps, Q1=26.58; GLOBAL, SEQUENCE=cassps, Q2=26.62; VARY, NAME=kqf, STEP=0.00001; VARY, NAME=kqd, STEP=0.00001; LMDIF, CALLS=10, TOLERANCE=1.0E-21; ENDMATCH; 構文の意味: - `MATCH`: マッチング処理の開始を宣言 - `GLOBAL`: チューン(Q値)など **全体の条件** を指定 - `VARY`: 調整するパラメータ(例:四重極の K1 値) - `LMDIF`: 最適化手法(Levenberg-Marquardt) - `TOLERANCE`: 許容誤差(小さいほど精度高い) | 変数定義の注意(:=) ---------------------- `kqf` や `kqd` は以下のように遅延評価で定義することが推奨されます:: kqf := 0.015; kqd := -0.015; 四重極の定義において:: QF: QUADRUPOLE, L=1.0, K1:=kqf; QD: QUADRUPOLE, L=1.0, K1:=kqd; .. tip:: ``:=`` を使うことで、 `VARY` による値の更新が反映されます。 | MATCH の応用 ------------ - 複数の `VARY` 変数を指定可能 - `LOCAL` や `CONSTRAINT` を使うと局所的な条件(特定位置の β値など)も指定可能 - `RANGE=left/right` を指定すると、区間ごとのマッチングが可能です | マーカー(MARKER)の活用 -------------------------- 位置の特定やマッチング対象区間の明示に便利:: LEFT: MARKER, AT=1000; RIGHT: MARKER, AT=2000; PLOT, RANGE=LEFT/RIGHT; MATCH, RANGE=LEFT/RIGHT; 描画時や光学関数保存時に参照可能です。 例:: SAVEBETA, LABEL=tw_left, PLACE=LEFT; ... MATCH, RANGE=LEFT/RIGHT, BETA0=tw_left; --- この章のまとめ --------------- - :red:`マッチング` は MAD-X の強力な最適化機能であり、光学設計に必須 - :blue:`チューン` や :blue:`色収差` などのグローバル量は `GLOBAL` を使って調整 - :blue:`VARY, CONSTRAINT, LMDIF` の組み合わせで柔軟な最適化が可能