Subject | : Tracking |
Article No | : 453 |
Date | : 2007/07/02(Mon) 20:37:48 |
Contributor | : Ken |
粒子分布を用意してトラッキングするシミュレーションをしてます. 用意したラティスは
MOMENTUM = 1.5 GEV; OFF CTIME COD RADCOD RAD ECHO RFSW EMIT; MARK IP=() ; DRIFT L1=(L=.3) ; BEND B0=(L=1 ANGLE=.1745329252) !! 2pi / 36 ; QUAD QF1=(L=.09 K1= .748962247168) QF2=(L=.09 K1=-.762869404892) ;!!nx=3.2 ny=3.2 LINE SUP=( B0 L1 QF1 L1 QF2 ) TEST=( IP 36*SUP ) ; FFS USE = TEST;
です.このラティスを使って計算すると,y(垂直方向)は独立に運動すると予想したんですが, 実際にTrackingしてみると,x-yに結合があるように見えます. 実際使ったTrackingコードは下にあります.結合している様子が良く分るように, y方向のrmsエミッタンスは小さくしてみました. なぜ結合しているのでしょうか? (ちなみに,x,y方向のエミッタンスの和は保存しています.)
!#######################MATCHING##################### M=Inverse[NormalCoordinates/.Emittance[Matrix->True]]
!#######################TRACK######################## Clear[np,x,Up,tu,benvx,benvpx,benvy,benvpy,benvz,benvpz,benvxpx,benvypy,benvzpz]; np=1000; Up=0.001*Table[GaussRandom[],{6},{np}]; Up[[3]]=Up[[3]]*0.1; Up[[4]]=Up[[4]]*0.1; x=Append[Dot[M,Up],Table[1,{np}]]; tu=OpenWrite["turn.dat"]; Do[ {k,x}=TrackParticles[{"^^^",x},"$$$"]; benvx=Plus@@(x[[1]]^2*x[[7]])/Plus@@x[[7]]; benvpx=Plus@@(x[[2]]^2*x[[7]])/Plus@@x[[7]]; benvxpx=Plus@@(x[[1]]*x[[2]]*x[[7]])/Plus@@x[[7]]; benvy=Plus@@(x[[3]]^2*x[[7]])/Plus@@x[[7]]; benvpy=Plus@@(x[[4]]^2*x[[7]])/Plus@@x[[7]]; benvypy=Plus@@(x[[3]]*x[[4]]*x[[7]])/Plus@@x[[7]]; benvz=Plus@@(x[[5]]^2*x[[7]])/Plus@@x[[7]]; benvpz=Plus@@(x[[6]]^2*x[[7]])/Plus@@x[[7]]; benvzpz=Plus@@(x[[5]]*x[[6]]*x[[7]])/Plus@@x[[7]]; Write[tu,Sqrt[benvx*benvpx-benvxpx^2],"",Sqrt[benvy*benvpy-benvypy^2],"",Sqrt[benvz*benvpz-benvzpz^2]]; ,{i,10000}]; Close[tu]; end;
|