Subject | : その5 |
Date | : 2006/01/30(Mon) 20:03:05 |
Contributor | : Kentaro Harada < > |
その5:色収差補正
線形の色収差が消えるように6極の値を決めます。
具体的には、運動量のずれの2点 +DP と -DP において
チューンが理想的なチューンと等しくなるように6極の
値をフィッティングで決めます。
{nx0, ny0}=Twiss[{"NX","NY"},"$$$"]/2/Pi;
(設計運動量におけるチューンを求め、水平を nx0、
垂直を ny0 という変数に入れます。)
fit nx nx0 2;
(fit (場所)(フィットしたい変数)(行き先の値)(点数)
で、フィッティングの計算内容を指定します。
場所はリングの最後の点ですが、ここでは省略しています。
fit $$$ nx nx0 2; または fit MKN.16 nx nx0 2;
としても同じです。フィットしたい変数はチューンなので、
nx、ny とします。bx by ax ay ex epx なども使えます。
行き先の値はこの値に持って行きなさい、という値です。
ここでは、設計運動量におけるチューンです。
点数は(下で書く) DP で指定する運動量幅 -DP から +DP までの
間の何点を取ってフィッティングの計算をするかの指定です。
2だと、-DP と +DP の2点、3だと -DP, 0, +DP となります。
自由度がなくても数を増やすことはできますが、当然として、
結果は完全にはフィットできていない状態になります。なお、
6極のファミリー数を増やしてから DP を 0.01 (=1%) くらいに
して同じフィッティングをすると、高次の色収差を補正する
ことができます。(普通はハーモニック6極は運動量でなくて
振幅依存のチューンシフトを補正しますが。))
fit ny ny0 2;
DP=0.0001;
(運動量の幅を指定します。デフォルトは 0.01 (=1%)です。
MARK 要素に格納されている DP はこの DP です。)
free S*;
(フィッティングで何を振るか(何が自由変数か)の指定です。
S で始まる要素(種類は問わない)を変化させます。ステアリングを
STRH、STRV 等という名前で作ると、このときにステアリングも
振られます。勿論、free SF, SD; とすればよいです。また、
変数を指定しない限り、その要素の「第1変数」を振ります。
free B*; だと ANGLE を変えます。結合Bの収束力を変えたい
場合は free B* K1; とします。)
go;
(フィッティングの計算をします。go で始めて計算を行います。)
FITP 1;
(フィッティングの際の運動量方向の点数を1に戻します。これを
忘れてチューンやオプティクスのフィッティングをすると、fit の
(点数)を書かないと全て(上で指定した)2にされて泣きます。)
type S*;
(求まった6極の値を表示します。)
SAVE S*;
(6極の値を保存します。これをせずに USE で新しく LINE を
展開すると、値が消えます。SAVE だけだと、その時点の全ての
要素の「第1変数」を保存します。例えば結合BのK1を変えて
あったとしても、SAVE だけでは保存されません。(angle が
保存されます。) 第1変数以外を保存するには、SAVE B* ALL; と
しないといけません。) ちなみに K2 は6極の第1変数なので、
SAVE だけか、もしくは SAVE S*; で大丈夫です。)
以上で色収差補正ができました。FFSのコマンドは大文字と
小文字の区別がありません。実はその時の気分によって、適当です。
fitp も save も小文字でいいし、FIT も GO も大文字でもいいです。