Subject | : Re: Tracking particle's Matching |
Date | : 2007/08/06(Mon) 10:16:38 |
Contributor | : Kentaro Harada |
以下のような感じでよくやります。
lgb = Twiss["GAMMABETA",1];
エミッタンス、バンチ長、エネルギー広がりはcell calc emit で計算した
値を使うことが多いです。
nemit = 1E-6;
blen = 0.00033333;
espr = 1E-4;
emit = nemit / lgb;
bx = Twiss["BX",1];
by = Twiss["BY",1];
ax = Twiss["AX",1];
ay = Twiss["AY",1];
ex = Twiss["EX",1];
epx = Twiss["EPX",1];
np = 5000;
(始点で分散ゼロの場合です。)
inix = Table[Sqrt[emit * bx] * GaussRandom[],{np}];
inixp = Table[Sqrt[emit * (1+ax*ax)/ bx] * GaussRandom[],{np}];
iniy = Table[Sqrt[emit * by] * GaussRandom[],{np}];
iniyp = Table[Sqrt[emit * (1+ay*ay)/ by] * GaussRandom[],{np}];
iniz = Table[blen * GaussRandom[],{np}];
inidP = Table[espr * GaussRandom[],{np}];
res = {1,{inix, inixp, iniy, iniyp, iniz, inidP, Table[1,{np}]}};