Version:
[ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]
1
2 =========================================================
3 Geant4 - Solid-target cyclotron example
4 =========================================================
5
6 README
7 ---------------------
8
9 //
10 // March 2014 - September 2014 //
11 // The code was written by : //
12 // Floriane Poignant - floriane.poignant@gmail.com //
13 // with the support of Scott Penfold (University of Adelaide, Australia) //
14 // //
15 // for a colloboration work between the University of Adelaide & the SAHMRI //
16 // (J. Asp, P. Takhar) //
17 // //
18 //******************************************************************************************//
19
20 -------------------------------
21 ---- I) Introduction ----
22 -------------------------------
23
24
25 This project was realised by F. Poignant at the University of Adelaide, for a collaboration
26 between the University of Adelaide, the SAHMRI and Comecer (company in charge of the design
27 of the solid target). The aim was to model a solid target of the cyclotron to study to
28 production of the radioisotope of interest for proton irradiation, and to be able to estimate
29 any undesired secondary product, especially isotopes of the product of interest.
30
31 For more details about this project and the results, see :
32 http://www.physicamedica.com/article/S1120-1797%2816%2930023-0/abstract
33
34
35 Anyone who would like to study the production of radioisotope for low current and low energy
36 irradiation can use this simulation.
37
38 The solid target system is made of a tube surrounded by aluminium, a foil, a volume of helium
39 between the foild and the target, and the target set on a plate of platinium.
40
41 ------------------------------------
42 ---- II) Setting the database ----
43 ------------------------------------
44
45 Beforehand, you first need to make sure that the database used for inelastic collisions of primary
46 particles is set up correctly. You can download formated data of the TENDL and ENDF-VII0 database
47 at the following links:
48
49 TENDL data:
50 - CMake can download and install this dataset, add
51 -DGEANT4_INSTALL_DATASETS_TENDL=ON
52 to your CMake options.
53 - or, download via download page searching for TENDL download
54 https://cern.ch/geant4/support/download
55 - or direct download:
56 https://cern.ch/geant4-data/datasets/G4TENDL.1.3.2.tar.gz
57
58 ENDF-VII0:
59 ftp://gdo-nuclear.ucllnl.org/pub/G4LEND/ (G4 Low Energy Nuclear Data)
60
61 In your bashrc file, add the following:
62 export G4PARTICLEHPDATA=/PATH_TO_TENDL____OR____ENDF_DATABASE
63 export G4NEUTRONHPDATA=/PATHTO_GEANT4_INSTALLATION_FOLDER/share/Geant4-vXX.XX/data/G4NDL4.5
64 export G4PHP_DO_NOT_ADJUST_FINAL_STATE=1
65 export G4PHP_MULTIPLICITY_METHOD=Poisson
66
67
68 ------------------------------------
69 ---- III) Input parameters ----
70 ------------------------------------
71
72 -----Macro/init_parameters.mac, file available also in the main directory.
73
74 To study the optimization of the isotope production, a list of parameters can be changed in
75 the Macro/init_parameters.mac (or using the Geant4 User Interface):
76
77 PART1) Beam parameters
78
79 Different parameters can be changed for the beam : type of particle, energy, energy distribution,
80 shape of the beam, etc ... To design your own beam, please refer to the Geant4 User's Guide for
81 Application Developpers.
82
83 Time and current parameters
84 As Geant4 doesn't model any time scale, the current/particles generated relation is established as
85 the following:
86 - for one event generated, the number of particles represent 10E-11 second of a real experiment. It
87 is calculated the following way :
88 NumberOfParticle = beamCurrent*timePerEvent/chargeParticle
89 where - beamCurrent is a parameter that can be changed, in ampere
90 - timePerEvent is set to 10E-11 second.
91 - chargetParticle is the charger of the particle
92 in Coulomb (for example, the value is 1.9E-19 C for proton).
93 Then, the user can choose the time of irradiation. Note that a simulation for a real time of irradiation
94 would be too long. The time of irradiation parameter enables to get results for the real time of irradiation
95 from a smaller time simulation.
96
97 PART2) Target parameters:
98 - the target thickness. Must be smaller than 38.32 mm, which is the length of the tube containing the target.
99 - the target diameter. Must be smaller than 15 mm, which is the diameter of the tube containing the target.
100 - the target material : there are two ways to change the material of the target :
101 - If the material is natural, the user can choose to use the NIST database.
102 - If the material is enriched, the user can set up their own material. The material created is made of a
103 number of elements. The number of elements can be set up by the user. Then, one element can be created in
104 two different ways : it can be a natural element, using the NIST database, or it can be made of a number
105 of isotopes that the user can set up. Please, note that the order to declare parameters is important and
106 has to be the following :
107 1) Material settings
108 2) Element i settings
109 3) Isotopes settings for the element i
110 4) Element i+1 settings
111 5) Isotopes settings for the element i+1, .... and so on.
112 For example, to create an target of nickel enriched to 60% of Ni64 : one will create a new material, made
113 of two elements : natural nickel and pure Ni64. The natural nickel will be an element created using the NIST
114 database. The pure Ni64 will be an element made of one isotope : Ni64. In case you want to create a pure 64Ni
115 target, the materialis made of one element, made itself of one isotope (Ni64). Few examples are provided in
116 the folder "Macro/Material/Target" that can be executed in the init_parameters.mac.
117
118 PART3) Foil parameters:
119 - the foil thickness.
120 - the foil material. With this parameter, it is possible to change the foil material in order to study some specific
121 aspects of the reaction. Refers to the change of target material for more detail.
122
123 PART4) Histograms:
124 The histograms parameters can be changed in order to fit to the expected range for a given data. For example, for a
125 proton beam with an expected energy of 16 MeV when reaching the target, the beam energy profile range can be set up
126 between 15. to 17. MeV.
127
128 -----Macro/Vis/vis.mac
129 This file sets up the visualisation parameters. vis.mac is also available in the main directory.
130
131 -----Macro/GUI/gui.mac
132 This file sets up the tool bars and buttons that enables to modify the parameters using the Geant4 User Interface.
133
134 ------------------------------------
135 ---- IV) Running the simulation ----
136 ------------------------------------
137
138 To run your simulation, create a "STCyclotron-build" directory. Go in the build directory, and compile:
139 cmake PATHTO_SOURCE_DIRECTORY (corresponding to the path to the STCyclotron directory).
140 make
141
142 It will create and executable 'STCyclotron'. To run your simulation, type:
143 ./STCyclotron
144
145 If the Graphical User Interface is activated and your Geant4 environment is correctly set, a Graphical User Interface
146 should open. On the top, the tool bar enables the user to execute the different commands. There are few menus : one for
147 the beam parameters, one for the target material, one for the geometry of the target, one for the foil material, and one
148 for the foil geometry. Through this tool bar, you can modify the main parameters you need to run your simulation.
149
150 The viewer shows you the structure of the target system. The proton beam arrives from the left and is transported through
151 the tube and the foil before impacting the target. The yellow tube is either void (before the blue foil) or pressured helium
152 (after the foil). The out-layer is made of aluminum or gold. The target is displayed in green.
153
154 To send protons, type
155 /run/beamOn 1
156
157 /!\IMPORTANT/!\ If the number of runs you launch is larger than a few, desactivate the viewer (Menu 'Viewer' -> 'Disable
158 Viewer') otherwise it will crash. This is due to the number of particles sent per event, that is quite large. The viewer
159 has a limit of the number of particles it can display on the screen.
160
161 Note that the number of particles per event is set according to the current, so that one event represents 10^-11 second
162 of irradiation. For 30 μA, it corresponds to 1 875 protons. This value was chosen so the number of protons per event won't
163 be too high. If you work on high current (over 100 μA) you might need to change the set up. This time is defined in the
164 PrimaryGeneratorAction class. Also note that, for one event, all primaries are set up with the same primary coordinates.
165 You need to launch a high enough number of runs (~ 1000) if you want a good statistics on results such as the beam intensity.
166
167 At the end of the run, type 'exit' to leave the Geant4 User Interface. Execute the file Plot.C by typing
168 root Plot.C
169 It will create many PDF files. To exit ROOT, type
170 .q
171
172 ------------------------------------
173 ---- V) Output ----
174 ------------------------------------
175
176 Different types of output are available.
177
178 1) The .root file:
179 This ROOT file gives a list of histograms representing the following data :
180
181 a) 1D histograms :
182 - n°0: The energy distribution of primary particles (e.g. protons) when reaching the target (MeV).
183 - n°1: The energy distribution of primary particles (e.g. protons) when reaching the foil (MeV).
184 - n°2: The energy distribution of primary particles (e.g. protons) going out of the target (MeV).
185 - n°3: The energy distribution of primary particles (e.g. protons) going out of the foil (MeV).
186 - n°4: The depth of isotope production in your target (number of particles as a function of the foil
187 thickness in mm).
188 - n°5-8: energy spectrum of particles produced in the target following inelastic collision of primary
189 particles (e.g. protons) with the target material (MeV).
190 In order: 5 = positrons; 6 = electrons; 7 = gammas; 8 = neutrons.
191 - n°9-14: energy spectrum of particles produced in the target following decay of isotopes produced in
192 the target (MeV).
193 In order: 9 = positrons; 10 = electrons; 11 = gammas; 12 = neutrons; 13 = nu; 14 = anti_nu
194 (electron (anti)neutrinos).
195
196 b) 2D histograms :
197 - n°0: the beam intensity profile before hiting the target (mm x mm).
198 - n°1: the beam intensity profile before hiting the foil (mm x mm).
199 - n°2: the radioisotopes produced according to their Z and A number.
200 - n°3: the energy of the primary particles (e.g. protons) according to depth in the target (mm x MeV).
201 - n°4: the beam intensity going out from the target (mm x mm).
202 - n°5: the beam intensity going out from the foil (mm x mm).
203
204 /!\ the histograms are not normalized /!\. The file 'Plot.C' renormalize the histograms and plot them into
205 PDFs as explained below.
206
207 2) .txt files:
208 Several text files are provided :
209
210 ----a) Output_General.txt
211 This file summarizes the parameters used during the simulation:
212 - Geam parameters: primary particles (by default protons), energy of the primary particles (MeV), current
213 of the beam (Ampere), irradiation time (hour(s)), and current factor. This last factor is a rescaling
214 factor: in the simulation, the number of particles sent is calculated for a current obtained before the foil,
215 while the current in the actual cyclotron the current is measured after the foil. This parameter therefore
216 rescales the number of particles to match the current arriving at the target.
217 - simulation parameters: equivalent time per event (by default set at 10^-11 second), number of events run
218 during the simulation, number of primaries per event (calculated according to the time per event, the beam
219 current and the charge of the primary particle), total number of particles sent during the simulation.
220 - Geometry parameters: target thickness, diameter and foil thickness.
221
222 It also provides the heating of the target and the foil (W/mm3).
223
224 ----b) Output_ParentIsotopes.txt
225 This file provides a list of radioisotopes produced during the irradiation of the target. For each isotope, it contains:
226 - Name of the isotope.
227 - Number of isotopes created during the simulation. Can be used to evaluate the accuracy of your predictions.
228 - Decay constant (s-1).
229 - Half life time (hour(s)).
230 - Process that induced its creation.
231 - Number of isotopes produced per second of irradiation.
232 - Number of isotopes produced at the end of the beam.
233 - Activity induced by the isotope at the end of the beam (mCi).
234
235 ----c) Output_DaughterIsotopes.txt
236 This file provides a list of unstable daughter radioisotopes produced due to the decay on unstable primary (parent) radiosotopes.
237 Note that it may be empty. As for the file Output_ParentIsotopes.txt, it contains:
238 - Name of the daughter isotope.
239 - Name of the parent isotope.
240 - Decay constant of the parent isotope (s-1).
241 - Decay constant of the daughter isotope (s-1).
242 - Half life time of the parent isotope (hour(s)).
243 - Half life time of the daughter isotope (hour(s)).
244 - Number of daughter isotopes produced per second of irradiation.
245 - Number of daughter isotopes produced at the end of the beam.
246 - Activity induced by the daughter isotope at the end of the beam (mCi).
247
248 ----d) Output_StableIsotopes.txt
249 For information, this file provides a list of stable isotopes (name and number of isotopes produced during the simulation)
250 that are produced in the target due to the decay of radioisotopes.
251
252 ----e) Output_Particles.txt
253 For information, this file provides a list of other particles such as electrons, etc., (name and number of isotopes produced
254 during the simulation) that are produced in the target.
255
256 This folder provides pdf format of the histograms generated in the root file, using a the macro
257 file Plot.C to generate it. It also provides the following curves :
258 - the number of each isotope according to the time, from the start of the irradiation to
259 the end of the irradiation, but also until few hours after the end of the irradiation.
260 - the variation of activity from the end of the irradiation time to few hours after.
261
262 3) PDF Files:
263
264 After running the 'Plot.C' file, you obtain many PDF files that are created in a folder 'Results'. This code reads the different
265 outputs from the simulation (.root file and .txt files), normalize the results and plot them in PDFs in various folders:
266
267 ----a) Results/BeamData folder
268 - BeamEnergyInFoil.pdf and BeamEnergyInTarget.pdf: beam energy distribution before entering the foil/target using histograms 1D0 and 1D1,
269 normalized to the number of primary protons and the bin width.
270 - BeamEnergyOutFoil.pdf and BeamEnergyOutTarget.pdf: beam energy distribution when exiting the foil/target, using histograms 1D2 and 1D3,
271 normalized to the number of primary protons and the bin width.
272 - BeamIntensityInFoil.pdf and BeamIntensityInTarget.pdf: beam intensity before entering the foil/target using histograms 2D0 and 2D1,
273 normalized per primary particle and to the bins widths.
274 - BeamIntensityOutTarget.pdf: beam intensity when exiting the target using histogram 2D4, normalized per primary particle and to the bins
275 widths.
276 - EnergyDepth.pdf: energy of protons as a function of the depth in the target.
277
278 ----b) Results/IsotopesProduction
279 - ActivityOfXX.pdf and YieldOfXX.pdf
280 Shows the production of the isotope XX (number of nuclei or activity) as a function of the time, starting from the beginning of
281 irradiation and up to 30 hours. Note that if the time of irradiation is longer than 30 hours, you must change the maximum time
282 to display the activity or yield by opening the file 'Plot.C' and changing tMax.
283 - ActivitySaturationOfXX.pdf and YiedSaturationOfXX.pdf
284 Shows the saturation reached for the production of the isotope XX (number of nuclei or activity) as a function of the time, if the
285 time of irradiation is set 'infinite'.
286 - Activity.pdf/Activity.jpg and Yield.pdf/Yield.jpg
287 Shows the activity (or yield) of all the isotopes produced during the irradiation as a function of the time up to 30 hours on the
288 same graph.
289 - TotalActivity.pdf
290 Shows the sum of the activities induced by all the radioisotope up to 30 hours.
291 - RadioisotopeProduction.pdf/RadioisotopeProduction.jpg
292 Shows the number of isotopes produced per primary particles, as a function of Z and A.
293 - DepthCreation.pdf
294 Shows the depth at which radioisotopes were created.
295
296 ----c) ParticlesEnergySpectra
297 Subfolder: beam. Energy spectra (normalized per primary particles and bin width) of particles created following the inelastic
298 interaction of the beam with the target (1D 5->8).
299 Subfolder: decay. Energy spectra (normalized per primary particles and bin width) of particles created following the decay of
300 radioisotopes created in the target (1D 9->14).
301
302 ------------------------------------
303 ---- VI) Checking the results ----
304 ------------------------------------
305
306 Keep a critical mind with the results : they are highly dependent on the accuracy of the database used. You can verify the coherence
307 of your results on checking the nuclear database you are using. Go to the following website:
308 http://www.oecd-nea.org/janis/book/
309
310 In the web access part, you can click on the “protons” to access the database of protons. Click on the atom which your target is made of.
311 For example, for the production of Copper 64, Nickel 64 is used, so you will click on 28-Ni. The list of isotopes of Nickel is available.
312 Click on 28-Ni-64 and select the nuclear reaction you are interested in. The cross sections will be displayed on your screen for different
313 nuclear databases and experiments.
314
315 The computed values can be used to be compared to experimental ones using the EXFOR website. Go on this website:
316 https://www-nds.iaea.org/exfor/exfor.htm
317 Enter the parameters of the irradiation (i.e., atomic target, reaction, etc.). Then click on submit. You will have different experimental
318 data available. Tick the ones you are interested in. Tick “Quick plot” and then click on retrieve. It will display a plot with different
319 experimental values. On the right, you can tick “use my data”. Do it and add the data from the JANIS Book website. Make sure the units
320 are coherent. Rename your data. Tick “authors” and “legend”. Then click on repaint. You can save your plot buy clicking on PostScript and
321 selecting a PDF format.
322
323 These tools can be used to check on the accuracy of the database at a given energy.