- 1 -
Mostly compiled during the years 1978-87 by
Urs C. Rohrer, PSI (SIN)
CH-5232 Villigen-PSI, Switzerland
Now (2006) supported on following computers (operating systems):
a) Intel-PC with Windows 9x (95, 98 and Me)
b) Intel-PC with Windows NT 4.0
c) Intel-PC with Windows 2000, XP
d) Intel-PC with x86-Linux (Kernels 2.4.x and 2.6.x)
e) Apple Macintosh with OSX-X11
f) AMD-PC with x86-64 Linux
g) Cygwin (on bootable U_R_live_CD)
Support expired on following computers (operating systems):
h) Fermilab ACP (parallel processors with VAX host)
i) Atari ST (TOS)
j) Intel-PC (PC-DOS,GEM)
k) CONVEX C-210 (UNIX)
l) Intel-PC with Windows 3.1x
m) Compac Alpha (openVMS)
Caution: not all features are supported on all systems.
Check also: "Recent Turtle Modification History"
Contents:
---------
1. BEAM: Type code 1.0 2
1.1 Multiple scattering, nuclear elastic scattering 3
and absorption.
1.2 Collimators. 3
2. FRINGING FIELDS for quadrupoles: Type code 2.0 5
3. BEAM (rotated ellipse): Type code 12.0 5
4. APERTURE CONSTRAINTS: Type code 13.0 6
5. SPECIAL PARAMETERS: Type code 16.0 7
6. THIRD ORDER: Type code 17.0 8
7. SOLENOID: Type code 19.0 9
8. WIEN FILTER: Type code 21.0 9
9. OCTUPOLE: Type code 26.0 10
10. SEPARATOR (ExB): Type code 27.0 11
11. JUMP OVER COLLIMATOR: Type code 29.0 12
12. ENERGY LOSS (dE/dx): Type code 30.0 13
13. HISTOGRAMS: Type codes 50.0 - 53.0 14
13.1 Sample histogram 1-dim. 15
13.2 Sample histogram 2-dim. 16
14. REFERENCES 17
15. APPENDIX A: Auxiliary program MUSCAT. 18
16. APPENDIX B: Implementation notes for TURTLE. 19
17. APPENDIX C: Turtle graphic histogram option program. 20
18. APPENDIX D: Electrostatic accelerator. 21
Back to about: Graphic Turtle
- 2 -
1. BEAM: Type code 1.0
------------------------
In principle all features presented in the CERN 74-2 manual [1]
should still be working. As a default the phase space distri-
bution of the beam is gaussian instead of homogeneous, but it
may still be set back to the former default.
The information given on the beam instruction is interpreted
in the following manner by TURTLE:
1) The new default definition
1.0 x x' y y' 0. dp/p p /BEAM/ ;
means: Gaussian distributions with 2 sigma values taken as input.
2) A negative second entry
1.0 -unit. 0. 0. 0. 0. 0. p /BEAM/ ;
means: Read particle vector {x,x',y,y',p,W,Pt} from disk file with
name equal FORunit.DAT.
Example: unit = 3 --> file name = FOR003.DAT
The particle vector may be written at any z-location with the
instruction 16. 180. unit. id. (see type code 16).
On a VAX computer 10000 particle vectors need 630 blocks of
storage space on disk.
3) Is the beam instruction preceded by a special input parameter code
16. 20. 0. ;
1.0 x x' y y' 0. dp/p p /BEAM/ ;
then this means: homogeneous distributions in (x,y)- and (x',y')-
space and a flat dp/p-distribution are taken (former default).
Note: The rotation of the beam ellipse (see type code 12) does not
apply for this distribution (original code).
The 4VOL-distribution (homogeneous in (x,x',y,y') phase space)
and the class of binomial distributions [2] are also available (see
type code 16).
By default, for every new run the seed of the random generator
is initialised differently. Thus, consecutive runs are statistically
independent. If this is not desired, then the seed of the random
generator may be kept constant with the instruction 16. 30. IRAN.
(IRAN > 0).
- 3 - (Back to Contents)
A logical enhancement of the "random add to beam" coding is the:
1.1. Multiple scattering, nuclear elastic scattering and absorption.
---------------------------------------------------------------------
The method of how to include multiple scattering, nuclear elastic
scattering and absorption in a Monte-Carlo program has been extracted
form REVMOC [3]. In TURTLE it is treated in a similar way as slit
scattering with random addition to the beam.
Via the following set of instructions multiple scattering in a
slit is performed:
16. 165. /ENAB/ ;
6. 1. x. ; /SLIT/ ;
1. BM. WM. TLAM. AL. ASN. DELT. ENLOSS. id. /MULT/ ;
. (intervening instructions allowed)
3. D1. /LENG/ ;
all particles outside the half-aperture x will not be stopped, but
its coordinates will be changed in a way like the particles are
transversing matter. The meaning of the parameters is the following:
BM : 1/e-scattering angle (mrad)
WM : B for Moliere angular distribution
TLAM : total interaction length (in units of apertures)
AL : absorption probability
ASN : RMS angle of Gaussian nuclear elastic scattering distribution (mrad)
DELT : width of Landau distribution (in units of momentum)
ENLOSS: average energy loss of Landau distribution (units of momentum)
D1 : Length of absorber material (m)
The above parameters may be computed with the auxiliary programme
MUSCAT (see appendix A).
Note: If the absorber material consists of 2 or 3 components, then for the ASN
parameter a weighted mean value computed with the 2 or 3 component-ASN
values extracted from the MUSCAT output is recommended to be taken.
Example:
Material D1 BM WM TLAM AL ASN DELT ENLOSS
[mm] [mrad] [cm] [mrad] [MeV] [MeV]
C(1.8) 1.0 .979 10.53 29.6 .63 87.3 .095 .338
C(2.0) 3.0 1.912 11.88 29.6 .63 87.3 .317 1.215
Cu 1.0 4.821 12.35 7.88 .51 49.9 .433 1.412
Cu 3.0 8.805 13.58 7.88 .51 49.9 1.298 4.567
W 0.1 3.123 9.74 5.05 .51 24.7 .082 .207
W 1.0 10.53 12.35 5.05 .51 24.7 .822 2.518
1.2. Collimators:
------------------
By applying this formalism it is possible to build collimators in
a very simple way by using the repetition code and some newly created
type code 16 instructions.
Example 1: Conical collimator of rectangular cross section (2x,2y)
of length n*dz and a slope of dx/dz and dy/dz.
16. 165. /MULT/ ;
.
16. 162. /RECT/ ;
9. n. ;
6. 1. x. 3. y. /SLIT/ ;
1. a. b. c. d. e. f. g. id. ;
3. dz. ;
16. 177. dx. dy. /INCR/ ;
9. 0. ;
- 4 - (Back to Contents)
Example 2:
This example shows a 1.2 GeV/c proton beam transversing a 10 mm
graphite (C) target and afterwards getting cleaned by a conical
copper collimator of 30 cm length. All histograms are stored on the
metafile FOR100.DAT. Two artificial slits ABS1 and ABS2 are stopping
all particles not hitting the copper collimator. Losses of these 2
artificial slits are not recorded in the loss histograms. All particles
getting scattered by the collimator are recorded on the disk file
FOR004.DAT. The momentum shift in the graphite (C) is neglected by
setting the parameters for the Landau distribution (DELT and ENLOSS)
equal zero.
100000
15. 11.0 /MeVc/ .001 ;
15. 12.0 /MeV/ .001 ;
15. 6.0 /PM/ .1 ;
15. 1.0 /MM/ .1 ;
16. 190. 2. 100. /FILE/ ;
1. 0.8 1.6 1.5 0.8 0.0 0.0 1205. /BEAM/ ;
16. 3.0 1836.7 /MASS/ ;
16. 165. /MULT/ ;
16. 160. /INVS/ ;
30. 589. 1.0 350. 1.27 200. 1.76 100. 2.87 10. 17.8 ;
6. 1.0 10.0 /TARG/ ;
1. 3.786 13.08 309.2 0.630 87.3 0.0 0.0 0.0 /C/ ;
3. .0102 ;
50. 22.0 0. 25. 1.0 ;
51. 2.0 -25. 25. 2.5 ;
52. 4.0 -25. 25. 2.5 ;
3. 1.05 ;
50. 21.0 12. 40. 1. ;
6. 1. 11.0 3. 11.0 /ABS1/ ;
16. 161. /NORS/ ;
30. 589. 1.0 350. 1.26 200. 1.72 100. 2.74 10. 15.4 ;
9. 300. ;
6. 1. 12. 3. 12. ;
1. 4.821 12.35 78.8 .507 49.9 .433 1.412 0.0 /CU/ ;
3. 0.001 ;
16. 177. 0.01083 0.01083 ;
9. 0. ;
16. 160. ;
6. 6.0 .0001 /ABS2/ ;
50. 11.0 0. 1250. 50. ;
50. 21.0 0. 20. 1. ;
51. 1.0 -20. 20. 2.0 ;
52. 3.0 -20. 20. 2.0 ;
50. 22.0 0. 200. 10. ;
51. 2.0 -100. 100. 10.0 ;
52. 4.0 -100. 100. 10.0 ;
16. 195.0 0. /ABS1/ ;
16. 195.0 0. /ABS2/ ;
50. 8.0 1.0551 1.3551 0.01 ;
51. 8.0 1.0551 1.3551 0.01 ;
52. 12.0 0. 600. 50. ;
16. 180.0 4.0 /OUT/ ;
SENTINEL
SENTINEL
- 5 - (Back to Contents)
2. FRINGING FIELDS for quadrupoles: Type code 2.0
---------------------------------------------------
For short quadrupoles with large apertures a prediction about the
beam behaviour with TURTLE (as well as TRANSPORT) is becoming rather
inaccurate because of the shape of the field simply represented by
a rectangular potential well. The computer code GIOS [4] which takes
also into account the fringing field effects of quadrupoles [5] gives
much better predictions. So the TURTLE code has also been expanded
with this very useful feature.
There are two parameters:
1 - Type code 2.0
2 - Indicator 1000.0
The fringing field is defined via 4 integrals I1, I2, I3 and I4 (see
[10] page 120). The integrals are dimensionless (renormalized, contrary to [10])
because they are integrated in a coordinate system where the z-axis is measured in
units of the aperture radius. The turtle program multiplies them with the corresponding
power of the aperture radius a. The following table gives these values for a few PSI
quadrupoles and a quadrupole with a linear gradient:
Default QSK QXA QTC linear d is the distance along z (measured
I1 .209 .125 .190 .1667 d**2/24 in units of aperture radius) over which
I2 -.0768 -.0163 -.0125 .0055 0 the gradient is linearly rising or
I3 .0552 .0389 .0777 .089 d**3/120 falling from min to max or vice versa.
I4 -.330 -.272 -.346 -.3144 -d/6
(The FORTRAN code for computing these integrals is available. To look at it please
click here.)
example (as a 2nd example see type code 26):
.
16. 25. .125 /I1/ ;
16. 26. -.0163 /I2/ ;
16. 27. .0389 /I3/ ;
16. 28. -.272 /I4/ ;
.
.
2. 1000. ;
5. 1. 5. 10. /QSK1/ ;
2. 1000. ;
.
3. BEAM (rotated ellipse): Type code 12.0
-------------------------------------------
Together with the gaussian, 4VOL and binomial beam distributions
the beam ellipse may also be rotated in the (x,x')- and (y,y')-space
like it is possible to be done with the TRANSPORT code:
12.0 r12. 0. 0. 0. 0. r34. ;
The meaning of the correlations r12 and r34 is the same as in
TRANSPORT. All other rij are not activated.
With every 2-dim histogram the correlations r12 and r34 are
printed out.
- 6 - (Back to Contents)
4. APERTURE CONSTRAINTS: Type code 13.0
----------------------------------------
The following additional device apertures may be caused to be
observed by TURTLE via the 13. 10.+id instruction:
1) Sextupole (Type code 18)
2) Solenoid (Type code 19)
3) Octupole (Type code 26)
4) Wien filter (Type code 21)
5) Separator (Type code 27)
6) Accelerator (Type code 11)
For sextupoles, solenoids, octupoles and accelerators the
current elliptical quadrupole aperture parameters are valid:
16. 100. a. b. ;
whereas the hyperbolic quadrupole aperture parameter
16. 101. c. ;
is not defined for these 4 element types. If the aperture constraints
have not yet been defined previously via a 16. 100. a. b. instruction,
then for octupoles as well as for sextupoles the half-aperture a on
the corresponding type code 26 or 18 instructions are taken as aper-
ture constraints.
For the Wien filter and the separator the same aperture defining
parameters as for bending magnets are valid:
16. 4. w/2. ; (horizontal)
16. 5. g/2. ; (vertical)
- 7 - (Back to Contents)
5. SPECIAL PARAMETERS: Type code 16.0
--------------------------------------
Summary of newly created special parameters and what they mean:
16. 6. z. ;
Redefine z for histogramming.
16. 10. ;
Take entries on beam card as energy instead of momentum.
Also valid for 16. 11. and RMS-add to beam instructions.
(dp/p,p) --> (dE/E,E).
16. 20. ;
Take homogeneous distribution for beam instead of gaussian.
16. 21. xm. ;
Binomial distribution for horizontal beam parameters.
In case of undefined ym and zm: ym=xm and zm=xm.
16. 22. ym. ;
Binomial distribution for vertical beam parameters.
In case of undefined xm and zm: xm=ym and zm=ym.
16. 23. zm. ;
Binomial distribution for longitudinal beam parameters.
In case of undefined xm and ym: xm=zm and ym=zm.
16. 24. ;
Take 4Vol distribution for beam.
16. 25. I1. ;
1st fringing field integral for quadrupoles (Default = 0.2090).
16. 26. I2. ;
2nd fringing field integral for quadrupoles (Default = -.0768).
16. 27. I3. ;
3rd fringing field integral for quadrupoles (Default = 0.0552).
16. 28. I4. ;
4th fringing field integral for quadrupoles (Default = -.3300).
16. 29. CHARGE. ;
Particle charge in units of the electron charge (Default = 1.0).
16. 30. IRAN. ;
Seed for random generator.
IRAN = 0: Seed is selected at random (default).
IRAN > 0: Seed is fixed for each run at the same value.
16. 97. ;
Restore normal meaning of quadrupole lenses (default).
16. 98. ;
Quadrupole lenses are treated as "lithium lenses".
16. 160. ;
Slits are taken inverse.
16. 161. ;
Slits are taken normal (default).
16. 162. ;
Slit contours are taken rectangular.
16. 163. ;
Slit contours are taken elliptical (default).
16. 165. ;
Enable multiple scattering.
16. 166. ;
Disable multiple scattering. Restore RMS-scattering (default).
16. 170. ;
Sign of x'(y')-shift depends on sign of x(y) of rays.
(double sided electrostatic beam splitter)
16. 171. ;
Restore normal meaning of shifts.
16. 172. ;
x'(y')-shift applies only for positive x(y)-coordinates of rays.
(single sided electrostatic beam splitter)
- 8 - (Back to Contents)
16. 177. dx. dy. ;
Increments for slit dimensions (only last previously defined slit).
16. 180. unit. id. ;
Output of particle beam vector on disk file (append mode).
unit: File name = FORunit.DAT (unit = 3 -> FOR003.DAT).
id = particle identifier
0 : parents
100 : charged daughters
200 : neutral daughters
beam vector = {x,x',y,y',p,W,Pz}
x : horizontal spatial coordinate of particle (cm in stand. units)
x': horizontal angular coordinate of particle (mrad in stand. units)
y : vertical spatial coordinate of particle (cm in stand. units)
y': vertical angular coordinate of particle (mrad in stand. units)
p : momentum of particle (GeV/c in standard units)
W : weight of particle (default = 1)
Pz: longitudinal polarisation of particle (default = 0)
16. 181. unit. id. ;
same like above, but instead of Pz, Nr (number of ray) is taken.
16. 190. case. unit. ;
Store histogram information on metafile.
Up to 5 instructions of this type with different units supported.
unit: Metafile name = FORunit.DAT (unit = 100 -> FOR100.DAT).
case: -1 skip metafile routine
0 begin with storing on metafile (overwrite).
1 update existing metafile (add particles), but standard
output file contains only particles of current run.
2 update existing metafile. Standard output file contains
particles of all runs (sum).
16. 195. /LABL/ ;
If absorbing element (slit) carries this label, then suppress entry
in loss histogram.
Up to 10 instructions of this type supported.
16. 196. ;
Engage logical inversion of histogram flagging.
16. 197. ;
Restore normal meaning of histogram flagging (default).
16. 199. nodes. ;
Number of computing nodes for parallel processing.
6. THIRD ORDER: Type code 17.0
--------------------------------
Third order computations are engaged via the following instruction:
17.0 3.0 /3ORD/ ;
The following elements are contributing third order terms:
1) Fringing field of quadrupoles [5].
2) Fringing field of bending magnets (only n=0) [6].
3) Quadrupoles [7].
4) Sextupoles [8].
5) Octupoles [8].
Third order computations are very computation intensive and may
prolong the turn around time for a job by a factor of five.
- 9 - (Back to Contents)
7. SOLENOID: Type code 19.0
-----------------------------
In order to print out histograms inside of a solenoid
the possibility of segmentation of solenoids has been built in:
The solenoid may be separated into 3 regions: a) entrance face,
b) homogeneous region and c) exit face [9]. Therefore a correct
histogram of the slopes of the particles inside a solenoid is
possible.
.
19. 0. B. /ENTR/ ;
19. L1. B. /HOM1/ ;
.
.
50. 2. -100. 100. 10. /HIST/ ;
.
.
19. Ln B. /HOMn/ ;
19. 0. B. /EXIT/ ;
.
Note: Several intervening instructions of any non-magnetic type code
may be placed between the different type code 19 instructions.
But be careful: no consistency check is performed !
Note: The original default is still available. If no type-code 19. card
with zero length is present, then for all solenoid cards the
matrix with entrance and exit fringe fields included will be
taken.
8. WIEN FILTER: Type code 21.0
--------------------------------
The Wien filter is a device with static electric and magnetic
fields perpendicular to each other and to the beam axis. The B/E
ratio is adjusted so that the particles with the central momentum
stay on the axis. Short Wien filters are used as velocity
separators: Wanted particles stay on the axis, all others are
deflected by the device [10]. Long Wien filters may be used as
spin rotators: The spins of the wanted particles rotate around
the B-field while the particles travel along the axis [11].
The computation for this element is only done in first order.
There are three parameters:
1 - Type code 21.0
2 - Effective length L (m) of the field region.
3 - The magnetic field B (kG). A positive B-field vector points
in the positive y-direction. (For positively charged
particles the E-field points in the positive x-direction.)
The B/E ratio is assumed to be constant over the whole field
region. For non-constant B/E ratios see type code 27.
The mass of the particles has to be defined before with the
instruction 16. 3. m0 ;
- 10 - (Back to Contents)
9. OCTUPOLE: Type code 26.0
-----------------------------
An octupole may be inserted for correction of third-order
aberrations. Unless a 17. 3. instruction is included it acts like
a drift space. The matrix elements for this type code have been
extracted from a third-order TRANSPORT version [8].
There are 4 parameters:
1 - Type code 26.0
2 - Effective length L (m) of the field region.
3 - The pole tip field B (kG)
4 - The pole tip half aperture a (cm)
example:
Quadrupole duplet (including fringing field) with octupole
correction.
100000
17. 3. /3ORD/ ;
16. 20. ;
1. .1 500.0 .1 200.0 .0 .0 .1 /BEAM/ ;
13. 10. /APER/ ;
3. .45 ;
16. 100. 15. 15. /CIRC/ ;
16. 101. 12. /HYP/ ;
16. 25. .1250 /I1/ ;
16. 26. -.0163 /I2/ ;
16. 27. .0389 /I3/ ;
16. 28. -.2720 /I4/ ;
26. .2 .267 12.5 /OCT/ ;
3. -.2 ;
2. 1000. ;
5. .4 3.52981 12.5 /Q1/ ;
2. 1000. ;
3. -.2 ;
26. .25 .267 12.5 /OCT/ ;
26. .25 .267 12.5 /OCT/ ;
3. -.2 ;
2. 1000. ;
5. .4 -2.19504 12.5 /Q2/ ;
2. 1000. ;
3. -.2 ;
26. .2 .267 12.5 /OCT/ ;
3. 2.6 ;
51. 1. -10. 10. 1. ;
52. 3. -10. 10. 1. ;
SENTINEL
SENTINEL
- 11 - (Back to Contents)
10. SEPARATOR (ExB): Type code 27.0
-------------------------------------
This type code is a close relative to the type code 21.
In practice it is rather difficult to have a constant B/E-ratio
all along the whole field regions. So the type code 21 element
is not always applicable to real particle separators. For this
reason the type code 27 has been created. This elements does not
work with the standard TRANSPORT/TURTLE-method of furnishing
a transfer matrix. Instead the 4th order Runge-Kutta integration
method is used. Therefore a separator has to be divided up in a
lot of short elements.
One segment is composed in the following manner:
1 - Type code 27.0
2 - length L (m) of the segment (zero for last segment)
3 - electric field E (KV/cm) at end of segment
4 - magnetic field B (kG) at end of segment
Between the different type code 27. instructions one intervening
instruction of any type code is allowed. The mass of the particles
has to be defined before with the instruction 16. 3. m0. To indi-
cate the end of the series a last 27 type code instruction with
length L equal zero must be placed.
example (stripped, to make the file considerably shorter):
10000
13. 10.0 ;
16. 20.0 ;
1. 12.0 60.0 12.0 60.0 .0 .0 .028 ;
16. 3.0 206.7 ;
51.1 1.0 -12.0 12.0 1.0 ;
52.1 2.0 -60.0 60.0 5.0 ;
16. 4.0 20.0 ;
3. .2 ;
27. .10 .0 .0 ;
27. .10 .0 -.02 ;
16. 4.0 9.0 ;
27. .05 .0 -.05 ;
27. .05 18.2 -.16 ;
27. .05 36.5 -.52 ;
27. .05 36.5 -.56 ;
50. 1.0 -15.0 15.0 1.0 ;
27. .05 36.5 -.53 ;
27. .05 36.5 -.42 ;
27. .05 36.5 -.18 ;
27. .05 18.2 -.16 ;
16. 4.0 20.0 ;
27. .05 .0 -.05 ;
27. .10 .0 -.02 ;
27. .0 .0 .0 ; ( <---- L=0 )
3. .2 ;
51. 1.0 -12.0 12.0 1.0 ;
52. 2.0 -60.0 60.0 5.0 ;
53.1 ;
SENTINEL
SENTINEL
- 12 - (Back to Contents)
11. JUMP OVER COLLIMATOR: Type code 29.0
------------------------------------------
Experience showed, that computations with multiple scattering in
collimators (often 200 steps along z-direction) are very time con-
suming, because for the particles transversing the region filled with
matter a lot of things have to be computed for every single step.
Even for particles transversing the collimator in the empty region,
the computational work is considerable because of the segmentation.
To avoid this, provision has been made to shortcut the collimator
region in case the particle will not hit the walls of the collimator.
Be aware that this instruction is only for gaining speed and there-
fore somewhat dangerous to use because no consistency checks are done.
For this type code 8 parameters are required:
1 - Type code 29.0.
2 - distance along z to jump over (length of cone).
3 - horizontal half opening of non-filled cone at entrance
4 - vertical half opening of non-filled cone at entrance
5 - horizontal half opening of non-filled cone at exit
6 - vertical half opening of non-filled cone at exit
7 - number of instruction lines to jump over.
8 - number of slits to jump over.
(entries 3 and 5 (or 4 and 6) must be zero for 1-dim slits.)
example:
.
29. .1 10. 10. 11. 11. 7. 100. /JUMP/ ;
30. 589. 1.00 350. 1.27 200. 1.76 100. 2.87 10. 17.8 0.0 /dEdx/ ;
9. 100.;
6. 1. 10. 3. 10. /SLIT/ ;
1. 1.105 10.65 26.6 .63 87.2 .106 .379 0.0 /C/ ;
3. .001 ;
16. 177. .01 .01 /INCR/ ;
9. 0. ;
.
notes: If several collimators follow each other and have closely
related apertures, it is advantageous to jump over all
collimators with just one type code 29 instruction.
The less particles are hitting the collimator material,
the more advantageous it is to use this feature (e.g. for
beam scrapers).
- 13 - (Back to Contents)
12. ENERGY LOSS (dE/dx): Type code 30.0
-----------------------------------------
For multiple scattering of charged particles in matter (Coulomb
scattering) knowledge about the energy loss dE/dx as a function of the
kinetic energy E is needed. In case this function is not furnished,
TURTLE takes a default function (dE/dx ~ 1/p). If this is not accurate
enough, provision has been made to define the energy loss function
via dE/dx-values at 5 different energies in descending order and E0
corresponding to the design momentum p0. A look into TRIUMF KINEMATICS
HANDBOOK shows, that with 5 points an energy spread over 2 orders of
magnitude is possible with enough accuracy. dE/dx-values at inter-
mediate energies will then be interpolated linearly by the program.
Thus, 12 parameters are needed:
1 - Type code 30.0.
2 - E0 (in MeV, with E0 corresponding to p0)
3 - Energy loss dE/dx at E0 in arbitrary units
4 - E1 (in MeV, with E1 < E0)
5 - Energy loss dE/dx at E1 in arbitrary units
6 - E2 (in MeV, with E2 < E1)
7 - Energy loss dE/dx at E2 in arbitrary units
8 - E3 (in MeV, with E3 < E2)
9 - Energy loss dE/dx at E3 in arbitrary units
10 - E4 (in MeV, with E4 < E3)
11 - Energy loss dE/dx at E4 in arbitrary units
12 - id (particle identification)
Examples:
1) 1.2 GeV/c protons in Cu (z=29):
30. 589. 1.77 350. 2.23 200. 3.05 100. 4.85 10. 27.3 0.0 /Cu/ ;
2) 1.2 GeV/c protons in C (z=6):
30. 589. 1.00 350. 1.27 200. 1.76 100. 2.87 10. 17.8 0.0 /C/ ;
- 14 - (Back to Contents)
13. HISTOGRAMS: Type codes 50.0 - 53.0
---------------------------------------
the following coordinates were added for histogramming:
12: kinetic energy
13: v/c (beta)
14: m/m0 (gamma)
15: Pz (longitudinal polarization)
Further enhancements:
---------------------
- All histogram coordinates may also be used as slit coordinates.
- 20 instead of only 10 loss histograms (1- or 2-dim) are possible.
- For every 2-dim histogram the ellipse parameters (RMS) are
printed out. This is very useful for comparison with TRANSPORT
outputs (checking projected emittances).
- The counts in the 1-dim histograms are floating numbers with
1 digit after the decimal point. This is necessary to show with
a modest accuracy that particles are divided up in fractions of 1
through nuclear absorption. The 2-dim histograms may show zeros (0):
This means, that a fraction of a particle is stored at this
location.
- For 2-dim histograms the plotting direction of the vertical axis
has been reversed, so that the coordinate system is cartesian.
Antiflags for histograms.
-------------------------
Every particle not passing a flag 53.n is histogrammed, if the
digit n after the point in the 50-52 instructions is preceded by a
minus sign. Thus a flag becomes an antiflag (complementary to normal
flagging). Antiflagging may also be produced by using special
parameters (see type code 16).
example:
.
50.-1 1. -10. 10. 1. /HIST/ ;
.
.
53.1 /FLAG/ ;
.
means the same as:
.
16. 196. ;
50.1 1. -10. 10. 1. /HIST/ ;
16. 197. ;
.
.
53.1 /FLAG/ ;
.
namely all particles not arriving at location with FLAG are
histogrammed in HIST.
On the next 2 pages examples of a 1-dim and a 2-dim histogram
are shown.
- 15 - (Back to Contents)
Histogram No 9
distribution of y' in mrad 12.504 m from the target
interval scale factor.. 100 X"s equal 0.215E+06 entries.
less than -50.000 0.0
-50.000 : -47.500 2.0
-47.500 : -45.000 2.0
-45.000 : -42.500 2.5
-42.500 : -40.000 3.5
-40.000 : -37.500 4.7
-37.500 : -35.000 6.0
-35.000 : -32.500 8.5
-32.500 : -30.000 2.5
-30.000 : -27.500 6.5
-27.500 : -25.000 9.4
-25.000 : -22.500 12.1
-22.500 : -20.000 25.0
-20.000 : -17.500 24380.9 XXXXXXXXXXX
-17.500 : -15.000 91054.0 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-15.000 : -12.500 126650.2 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-12.500 : -10.000 153924.1 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-10.000 : -7.500 176338.7 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-7.500 : -5.000 194885.8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-5.000 : -2.500 208208.1 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-2.500 : 0.000 214512.1 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0.000 : 2.500 214854.3 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
2.500 : 5.000 207943.5 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5.000 : 7.500 194727.3 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7.500 : 10.000 177008.2 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10.000 : 12.500 153698.3 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
12.500 : 15.000 126408.2 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
15.000 : 17.500 91155.1 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
17.500 : 20.000 24236.3 XXXXXXXXXXX
20.000 : 22.500 21.4
22.500 : 25.000 16.0
25.000 : 27.500 15.6
27.500 : 30.000 12.4
30.000 : 32.500 8.2
32.500 : 35.000 8.5
35.000 : 37.500 4.5
37.500 : 40.000 2.6
40.000 : 42.500 5.0
42.500 : 45.000 4.0
45.000 : 47.500 1.0
47.500 : 50.000 2.0
more than 50.000 1.0
total number of entries = 2380183 including underflow and overflow.
center = -0.001 RMS half width = 9.156
Histogram No 9
distribution of y' in mrad 12.504 m from the target
- 16 - (Back to Contents)
Histogram No 12 Q4
horizontal axis x in mm 15.911 m from the target
vertical axis y in mm 15.911 m from the target
-130.000 -30.000 70.000 totals
I**---**---**---**---**---**-I--------
130.000 to 120.000 I I 0
120.000 to 110.000 I I 0
110.000 to 100.000 I 0 I 0
100.000 to 90.000 I 1E1 1 I 17
90.000 to 80.000 I $$$$C I 8380
80.000 to 70.000 I 1 5$$$$$4 I 66674
70.000 to 60.000 I V$$$$$$ I 102618
60.000 to 50.000 I $$$$$$$1 I 127208
50.000 to 40.000 I $$$$$$$$ I 149552
40.000 to 30.000 I $$$$$$$$ I 166905
30.000 to 20.000 I 3$$$$$$$$ I 180830
20.000 to 10.000 I 1$$$$$$$$ I 190971
10.000 to 0.000 I 8$$$$$$$$ I 196693
0.000 to -10.000 I 3$$$$$$$$ I 195834
-10.000 to -20.000 I 02$$$$$$$$ I 191498
-20.000 to -30.000 I 01$$$$$$$$ 0 I 180875
-30.000 to -40.000 I 1$$$$$$$$0 I 166750
-40.000 to -50.000 I $$$$$$$$ I 149014
-50.000 to -60.000 I 0 $$$$$$$2 I 128183
-60.000 to -70.000 I Y$$$$$$ I 102337
-70.000 to -80.000 I 7$$$$$8 I 66661
-80.000 to -90.000 I 0$$$$E I 8346
-90.000 to-100.000 I 1D6 I 20
-100.000 to-110.000 I I 0
-110.000 to-120.000 I I 0
-120.000 to-130.000 I I 0
I**---**---**---**---**---**-I--------
I 36741 I
I 9471121 I
I 61319330 I
I 60581514 I
I 145440392 I
totals I 00000001979331719000000000 I 999999
total number of entries = 2379386 including underflow and overflow as follows
underflow overflow
across 0 0
down 0 0
**** Ellipse parameters ****
horizontal : center = 0.933 RMS half width = 12.3
vertical : center = -0.003 RMS half width = 40.2
correlation: sinchi = -0.001 RMS area / pi = 493.
Histogram No 12 Q4
horizontal axis x in mm 15.911 m from the target
vertical axis y in mm 15.911 m from the target
- 17 - (Back to Contents)
14. REFERENCES:
----------------
[1] K.L. Brown, Ch. Iselin, D.C. Carey: DECAY TURTLE
CERN 74-2 (1974).
[2] W. Joho: Representation of Beam Ellipses for Transport
Calculations, SIN-report TM-11-14 (1980) p.18 ff.
(electronic version)
[3] C. Kost, P. Reeve: REVMOC - A Monte Carlo Beam Transport
Program, TRI-DN-82-28 (1983).
[4] H. Wollnik, J. Brezina, C. Geisse: GIOS - A Program
for the Design of Ion Optical Systems.
Physikalisches Institut, Uni. Giessen, D-6300 Giessen.
[5] H. Matsuda, H. Wollnik: Third Order Transfer Matrices for
the Fringing Field of Magnetic and Electrostatic Quadrupole
Lenses. Nucl. Inst. and Methods 103 (1972) p.117-124.
[6] H. Matsuda and H Wollnik: Third Order Transfer Matrices
of an Inhomogeneous Magnet. Nucl. Inst. and Methods 77 (1970)
p. 283-292.
[7] D.L. Smith: Focusing Properties of Electric and Magnetic
Quadrupole Lenses. Nucl. Inst. and Methods 79 (1970) p.144-164.
[8] D.C. Carey et al.: PROGRAM TRANSPORT Version 1/18/85
[9] A.P. Banford: The Transport of charged particle beams.
Spon Ltd. London (1966) p. 131-135.
[10] J.W. Gardner and D. Whiteside: TRAMP, NIRL/M/21 (1961) p4.
CERNLIB: W100.
[11] R. Frosch: First order beam transport matrices for a muon
spin rotator. SIN-TM-37-14 (1980).
[12] G. Rudolf: Programmbibliothek SINAC, Interaktives Grafik-
system GRAPHX. SIN (1986)
- 18 - (Back to Contents)
15. APPENDIX A: Auxiliary program MUSCAT.
------------------------------------------
This program is a portion of TRIUMF's REVMOC code [2] extracted
and specially prepared to print out the parameters for multiple
scattering, nuclear elastic scattering and absorption needed for
the TURTLE code. MUSCAT is run interactively on a VAX by typing the
command $MUSCAT and by furnishing the needed input parameters. The
output is displayed on the screen and also written to a file named
MUSCAT.LOG for later printing.
Example:
Get parameters for 1 mm of graphite (C with density of 1.8 g/cm3)
and for protons of the momentum 1.205 GeV/c.
$MUSCAT
Multiple scattering parameters.
+++++++++++++++++++++++++++++++
Enter: mass (GeV/c2), siga (mb), sige (mb) .9396...............................
Enter: p0 (GeV/c), rho (g/cm3), frac ( <=1 ) 1.205,1.80,1.0....................
Enter: length (m), Z1, prop1, Z2, prop2, Z3, prop3 0.001,6.0,1.0...............
...............................................................................
100.00 % of length = 0.1000 cm covered by material with density = 1.800 g/cm3
Entr. energy = 588.4 MeV, Composition of material: Z1 = 6.0, prop1 = 1.0000
...............................................................................
......................... Moliere angular distribution ........................
1/e sc.ang = 0.980 mr, 1/e disp = 0.0005 mm, t (rad.leng) = 0.004, B = 10.53
...............................................................................
........................... Energy loss distribution ..........................
*Landau* prob. energy loss = 0.338, width = 0.095, average loss = 0.413 MeV
...............................................................................
...................... Nuclear interaction distribution .......................
Atom1: int.prob = 1.000, RMS.ang = 87.3 mr, el.cs = 138.7 mb, ab.cs = 235.7 mb
Total interaction length = 29.546 cm, .......... absorption probability = 0.630
...............................................................................
- 19 - (Back to Contents)
16. APPENDIX B: Implementation notes for TURTLE.
-------------------------------------------------
A) VAX (VMS).
The standard input for TURTLE is read via unit 1 from disk-
file FOR001.DAT and the standard output goes via unit 2 on disk file
FOR002.DAT. In order to change this and to facilitate the input of
other I/O-parameters (printer, tape, queue) command files have been
created. These procedures inquire the needed parameters and propose
defaults. Supported are two different modes:
1) The interactive mode is invoked via the command $TU.
2) The batch mode is started with the command $TUB.
B) Fermilab ACP (parallel processors with MicroVAX-II host).
Because the host computer is a MicroVax-II, the batch procedure
of the standard VAX (VMS) system has been chosen here for running
TURTLE. Only one additional information has to be given to the program
via the standard input file: TURTLE has to know how many nodes (N)
are provided to work in parallel, in order to divide up the number
of requested particles equally among the different nodes. This is
done via the 16. 199. N. information. Reading or writing particle
vectors from or to disk file is not supported on this system. This
version of TURTLE is recommended, if your problem requires, that
you run each time several million particles through the beam line.
(e.g: high intensity beams with low losses.) Runs with 10 nodes
showed that for first order runs the gain in speed compared to a
VAX 780 was a factor of 10, whereas for higher order runs the gain
dropped to a factor of 5.
C) Atari ST (model 1040STF).
The usage of this cheap but powerful personal computer with
one megabyte of memory is very interesting for running TURTLE at
home or at institutes where a VAX is not affordable. The computation
speed is 10 times less than with a MicroVAX-II, but for problems
with low statistics this version of TURTLE is still acceptable.
TURTLE including its auxiliary programs (MUSCAT, graphic histo-
gram option, text editor, ram-disk program, graphic shell etc.) are
all included on a bootable double-sided micro floppy disk. After
booting, programs are started via clicking at drop down menue items.
The input for the graphic histogram option is done via a dialog box.
While TURTLE is running the percentage of particles having already
passed the beam line is displayed.
- 20 - (Back to Contents)
17. APPENDIX C: Turtle graphic histogram option program.
---------------------------------------------------------
If the histograms are stored on the metafile FOR100.DAT (see
type code 16), then all of them may be displayed graphically with
the program GRATUR (called interactively with the command $TUG).
For 2-dim histograms there are 3 different modes of display:
a) Contour plot (C)
b) Lego plot (L)
c) Grid plot (G)
For 1-dim histograms, there is only one possibility. The vertical
scale may be chosen to be linear or logarithmic for both 1-dim and
2-dim histograms. For lego and grid plots the view angles and
the front/back side may be selected, whereas for the contour
plot the number of contour lines may be chosen. The program may
be left anytime by selecting a histogram number bigger than the
highest existing one. The graphic library used for this program
is described in reference [12].
Example:
$TUG
Welcome to the TURTLE Graphic Histogram Option Programme.
=========================================================
--> Graphic Data are stored on FOR100.DAT via <--
--> 16. 190. i. 100. ; Card in TURTLE Input-Deck. <--
--> i = 0 : create with each run a new FOR100.DAT <--
--> i = 2 : update FOR100.DAT with each run. <--
There are 40 histograms stored on FOR100.DAT
Following histograms refer to 4000000 rays
Enter Histogram_number (D = 1) 1
Enter "LIN" or "LOG" for type of vertical scaling (D = lin) LIN
Enter Histogram_number (D = 2) 21
Enter "LIN" or "LOG" for type of vertical scaling (D = lin) LIN
Enter "C","L" or "G" for Contour- Lego- or Grid-Plot (D = L) C
Enter number of contour lines (D = 10) 10
Enter Histogram_number (D = 22) 33
Enter "LIN" or "LOG" for type of vertical scaling (D = lin) LOG
Enter "C","L" or "G" for Contour- Lego- or Grid-Plot (D = C) L
Enter "F" or "B" for Front- or Backview (D = F) F
Enter Phi (D = 45.) and Theta (D = 30.) 45.,30.
Enter Histogram_number (D = 34) 39
Enter "LIN" or "LOG" for type of vertical scaling (D = log) LIN
Enter "C","L" or "G" for Contour- Lego- or Grid-Plot (D = L) G
Enter "F" or "B" for Front- or Backview (D = F) F
Enter Phi (D = 45.) and Theta (D = 30.) 45.,30.
Enter Histogram_number (D = 40) 99
Enter "LIN" or "LOG" for type of vertical scaling (D = lin)
$
- 21 - (Back to Contents)
17. APPENDIX D: Electrostatic accelerator.
-------------------------------------------
The same code as in Transport has been transfered and adapted for TURTLE
(See Compendium of Transport Enhancements, type code 11.) Four additional
things have to be mentioned here:
1) The parameters and the segmentation are like in transport. One
intervening type code 50, 51 or 52 card in the type code 11 sequence
is allowed. (See sample input code below.)
2) Do not try to include space charge computation code in Turtle. (With the
existing program structure it is not possible to include it.)
3) After the acceleration the design momentum of the optic axis has to be
updated with a 16. 11. p0new ; card or for an automatic update of p0
the length of the last element of each type code 11 sequence has to be
set negative. (See sample input code below.)
4) If a 13. 10.+id card is present in the input deck, then the tracking
particles are observing aperture constraints (given with 16. 100. a. b. ;)
inside the accelerator elements. If the kinetic energy of a particle gets
below zero, then it will be counted as a loss at that location.
Example (Acceleration of He-ions to 6 MeV with a tandem) :
(Make sure you understand the lines with ( <========== ) behind them.)
/He- 60 keV-2 MeV -> stripper -> He++ 2-6 MeV/
100000
15. 11.0 /MEV/ .001 ;
15. 12.0 /MEV/ .001 ;
1. 1. .8 1. .8 0. 1.0 21.15356;
13. 10. /APER/ ;
16. 190. 0. 100. /file/ ;
50. 1.0 -2.0 2.0 .2 ;
50. 3.0 -2. 2. .2 ;
50. 6.0 -2. 2. .2 ;
51. 1.0 -2.0 2.0 .2 ;
52. 2.0 -2.0 2.0 .2 ;
16. 29. 1. /He-/ ; ( <<========= )
3. .1 /DT1/ ;
16. 98. ; ( <<========= )
5. 0.352 0.0350 2.5 /LNS1/ ;
3. 1.4 /DT2/ ;
50. 1.0 -2.0 2.0 .2 ;
50. 3.0 -2. 2. .2 ;
3. 1.0 /DT3/ ;
5. 0.229 0.1128 2.5 /LNS2/ ;
16. 97. ; ( <<========= )
3. 1.6 /DT4/ ;
50. 1.0 -2.0 2.0 .2 ;
50. 3.0 -2. 2. .2 ;
3. 0.4 ;
16. 100. 2. 2. ; ( <========== )
16. 3. 7297.29773;
3. .0 /ACCB/ ;
11. 0. 1.97972 ;
11. 0.1 0.03333;
51. 1.0 -.5 .5 .05 ; ( <========== )
11. 0.1 0.06667;
52. 2.0 -5. 5. .5 ; ( <========== )
11. 0.1 0.10000;
11. 0.1 0.13333;
11. 0.1 0.16667;
51. 1.0 -.5 .5 .05 ; ( <========== )
11. 0.1 0.20000;
52. 2.0 -5. 5. .5 ; ( <========== )
11. 0.1 0.23333;
11. 0.1 0.26667;
11. 0.1 0.30000;
11. 0.1 0.33333;
11. 0.1 0.36667;
11. 0.1 0.40000;
11. 0.1 0.43333;
11. 0.1 0.46667;
11. 0.1 0.50000;
11. 0.1 0.53333;
11. 0.1 0.56667;
11. 0.1 0.60000;
11. 0.1 0.63333;
11. 0.1 0.66667;
11. 0.1 0.70000;
11. 0.1 0.73333;
11. 0.1 0.76667;
11. 0.1 0.80000;
11. 0.1 0.83333;
11. 0.1 0.86667;
11. 0.1 0.90000;
11. 0.1 0.93333;
11. 0.1 0.96667;
11. -0.1 1.00000 ; ( <<========== )
3. .0 /ACCE/ ;
50. 1.0 -2.0 2.0 .2 ;
50. 3.0 -2. 2. .2 ;
50. 6.0 -.5 .5 .05 ;
50. 12. 1.8 2.2 .05 ;
50. 11. 120. 130. 1. ;
51. 1.0 -.5 .5 .05 ;
52. 2.0 -1.5 1.5 .15 ;
3. .0 /STRB/ ;
16. 29. 2. /He++/ ; ( <<========== )
3. 1.37 /STRE/;
3. .0 /ACCB/ ;
16. 3. 7294.29773;
11. 0. 1.97972 ;
11. 0.1 0.03333;
11. 0.1 0.06667;
11. 0.1 0.10000;
11. 0.1 0.13333;
11. 0.1 0.16667;
11. 0.1 0.20000;
11. 0.1 0.23333;
11. 0.1 0.26667;
11. 0.1 0.30000;
11. 0.1 0.33333;
11. 0.1 0.36667;
11. 0.1 0.40000;
11. 0.1 0.43333;
11. 0.1 0.46667;
11. 0.1 0.50000;
11. 0.1 0.53333;
11. 0.1 0.56667;
11. 0.1 0.60000;
11. 0.1 0.63333;
11. 0.1 0.66667;
11. 0.1 0.70000;
11. 0.1 0.73333;
11. 0.1 0.76667;
11. 0.1 0.80000;
11. 0.1 0.83333;
11. 0.1 0.86667;
11. 0.1 0.90000;
11. 0.1 0.93333;
11. 0.1 0.96667;
11. -0.1 1.00000 ; ( <<========== )
3. .5 /EACC/ ;
50. 1.0 -2.0 2.0 .2 ;
50. 2.0 -1. 1. .1 ;
50. 3.0 -2. 2. .2 ;
50. 6.0 -.5 .5 .05 ;
50. 12. 5.8 6.2 .05 ;
50. 11. 205. 215. 1. ;
51. 1.0 -1. 1. .1 ;
52. 2.0 -1. 1. .1 ;
SENTINEL
SENTINEL
Turtle application: Double Scattering - for Beam Spreading
Turtle application: Degrader Design - for Medical Cyclotrons
Last updated by Urs Rohrer on 7-Feb-2006