Cosy Infinity

Cosy Infinity used for
Higher order beam-optical checksCosy Infinity

Cosy Infinity Cosy Infinity [1] plots with 1st-order x- and y-projections of a proton beam line section for the PSI Proscan project are shown in Fig. 1 (27 kB). Corresponding plots for 3rd-order computations done with Cosy Infinity are shown in Fig. 2 (31 kB). If similar plots done with even higher than 3rd order Cosy Infinity computations are compared, then within the thickness of the lines no further differences are visible [e.g. for 6th-order see Fig. 3 (31 kB)]. It can be said, that 2nd- and 3rd-order (chromatic) aberrations are rather minor and the results from Cosy Infinity correspond quite well with those from TRANSPORT and TURTLE. All shown (relatively simple) Cosy Infinity computations and plots have been done with the Windows XP version of the Cosy Infinity code [1]. Some more info about optical design studies for the Proscan Project at PSI is available.
More examples with comparisons of Transport and Cosy Infinity optical computations have been done for three Medical Gantry designs.

[1]Cosy Infinity M. Berz, COSY INFINITY, an arbitrary order beam dynamics simulation and analysis code, downloadable via the web from the Department of Physics and Astronomy at the Michigan State University.

Cosy Infinity Following is a listing of the Cosy Infinity routine producing the plots shown in Fig. 1, 2 and 3. Four fit sequences, which have to be enabled alternatively (with the help of setting or omitting { } at 3 different places) are included.

PROCEDURE TESTBL;

VARIABLE OBJ1 1 ; VARIABLE OBJ2 1 ; VARIABLE OBJ3 1 ; VARIABLE OBJ4 1 ;
VARIABLE OBJ5 1 ; VARIABLE OBJ6 1 ; VARIABLE OBJ7 1 ; VARIABLE OBJ8 1 ;
VARIABLE OBJ9 1 ; VARIABLE OBJA 1 ; VARIABLE OBJB 1 ; VARIABLE OBJ  1 ;

VARIABLE Q1 1 ; VARIABLE Q2 1 ; VARIABLE Q3 1 ; VARIABLE Q4 1 ;
VARIABLE Q5 1 ; VARIABLE Q6 1 ; VARIABLE Q7 1 ; VARIABLE Q8 1 ;
VARIABLE Q9 1 ; VARIABLE QA 1 ; VARIABLE QB 1 ;

{Quadrupole fields at pole tip in Tesla}
Q1 := -0.27907 ; Q2 := 0.23636 ; Q3 := -0.22810 ; Q4 :=  0.22233 ;
Q5 := -0.20494 ; Q6 := 0.16320 ; Q7 :=  0.21546 ; Q8 := -0.24367 ;
Q9 := -0.21065 ; QA := 0.32986 ; QB := -0.19255 ;

{FIT Q1 Q2 ;}
{FIT Q3 Q4 Q5 Q6 ;}
{FIT Q7 Q8 ;}
FIT Q9 QA QB ;

OV 3 3 0 ; {order=3, phase space dimension=3}
{FR 2 ;}   {fringe field}
RPP 71.0 ; {kinetic energy of protons = 71 MeV}
PTY 0.0 ;  {reference trajectory as straight line}
{SB 2.0E-4 11.6E-3 0.0  2.0E-4 26.6E-3 0.0  0.1 0.01 0 0 0 ;} {set beam}
SB 2.0E-3 6.0E-3 0.0  2.0E-3 13.0E-3 0.0  0.1 0.006 0 0 0 ;   {set beam}
CR ; {clear rays}
ER 2 3  2 3  1 2  1 1 ; {define ensemble of rays}
UM ; {set unity map}
BP ; {begin plot}

PS 0.02 ; {poincare section}
DL 0.1 ;
DL 0.167 ;
DL 0.458 ;
DL 0.383 ;
DL 0.283 ;
DL 0.347 ;
MQ 0.35 Q1 0.05 ;
DL 0.22 ;
MQ 0.35 Q2 0.05 ;
DL 0.342 ;
DL 0.497 ;
PS 0.0325 ; {poincare section}
DL 1.017 ;
PS 0.0325 ; {poincare section}
OBJ1 := ABS(SIGMA(3,3)) ;
DL 0.6 ;
PS 0.0325 ; {poincare section}
DL 0.456 ;
DL 0.944 ;
PS 0.02 ; {poincare section}
OBJ2 := ABS(SIGMA(1,1)) ;
DL 0.923 ;
DL 0.358 ;
MQ 0.35 Q3 0.05 ;
DL 0.22 ;
MQ 0.35 Q4 0.05 ;
DL 0.408 ;
DL 0.518 ;
CB ;
DP 2.40413 22.5 0.0325 ;
OBJ3 := ABS(SIGMA(3,3)) ;
DP 2.40413 22.5 0.0325 ;
DL 0.518 ;
DL 0.408 ;
MQ 0.35 Q5 0.05 ;
DL 0.22 ;
MQ 0.35 Q6 0.05 ;
DL 0.333 ;
DL 0.2 ;
PS 0.02 ; {poincare section}
OBJ4 := ABS(SIGMA(1,1)) ;
OBJA := ABS(SIGMA(4,3)) ;
DL 0.533 ;
MQ 0.35 Q6 0.05 ;
DL 0.22 ;
MQ 0.35 Q5 0.05 ;
DL 0.338 ;
DL 0.587 ;
DP 2.40413 22.5 0.0325 ;
OBJB := ABS(SIGMA(3,3)) ;
DP 2.40413 22.5 0.0325 ;
OBJ5 := ABS(ME(1,6)) ;
DL 0.587 ;
DL 0.339 ;
MQ 0.35 Q7 0.05 ;
DL 0.22 ;
MQ 0.35 Q8 0.05 ;
DL 0.525 ;
DL 1.66 ;
PS 0.02 ; {poincare section}
OBJ6 := ABS(SIGMA(1,1)) ;
OBJ7 := ABS(SIGMA(3,3)) ;
DL 1.657 ;
DL 0.525 ;
MQ 0.35 Q9 0.05 ;
DL 0.22 ;
MQ 0.35 QA 0.05 ;
DL 0.22 ;
MQ 0.35 QB 0.05 ;
DL 0.34 ;
DL 0.383 ;
DL 1.1184 ;
DL 0.383 ;
PS 0.02 ; {poincare section}
OBJ8 := ABS(SIGMA(1,1)) ;
OBJ9 := ABS(SIGMA(3,3)) ;
DL 0.1 ;
DL 0.4 ;

EP ;  {end plot}
PG IPIC1 IPIC2 ; {print graphics}

{OBJ := OBJ1 + OBJ2 ;}
{OBJ := OBJ5 + OBJ3 + OBJA + OBJB + OBJ4 ;}
{OBJ := OBJ6 + OBJ7 ;}
OBJ := OBJ8 + OBJ9 ;

{WRITE 6 'Q1 Q2: ' Q1 Q2 ;}
{WRITE 6 'Q3 Q4 Q5 Q6: ' Q3 Q4 Q5 Q6 ;}
{WRITE 6 'Q7 Q8: ' Q7 Q8 ;}
WRITE 6 'Q9 QA QB: ' Q9 QA QB ;

ENDFIT 1.0E-7 20 4 OBJ ;
ENDPROCEDURE ;

Cosy InfinityCosy Infinity Back to:Cosy InfinityDegrader Design
Urs RohrerCosy Infinity Last updated by Urs Rohrer on 14-Feb-2006