Warning, /geant4/examples/advanced/STCyclotron/README is written in an unsupported language. File is not indexed.
0001
0002 =========================================================
0003 Geant4 - Solid-target cyclotron example
0004 =========================================================
0005
0006 README
0007 ---------------------
0008
0009 //
0010 // March 2014 - September 2014 //
0011 // The code was written by : //
0012 // Floriane Poignant - floriane.poignant@gmail.com //
0013 // with the support of Scott Penfold (University of Adelaide, Australia) //
0014 // //
0015 // for a colloboration work between the University of Adelaide & the SAHMRI //
0016 // (J. Asp, P. Takhar) //
0017 // //
0018 //******************************************************************************************//
0019
0020 -------------------------------
0021 ---- I) Introduction ----
0022 -------------------------------
0023
0024
0025 This project was realised by F. Poignant at the University of Adelaide, for a collaboration
0026 between the University of Adelaide, the SAHMRI and Comecer (company in charge of the design
0027 of the solid target). The aim was to model a solid target of the cyclotron to study to
0028 production of the radioisotope of interest for proton irradiation, and to be able to estimate
0029 any undesired secondary product, especially isotopes of the product of interest.
0030
0031 For more details about this project and the results, see :
0032 http://www.physicamedica.com/article/S1120-1797%2816%2930023-0/abstract
0033
0034
0035 Anyone who would like to study the production of radioisotope for low current and low energy
0036 irradiation can use this simulation.
0037
0038 The solid target system is made of a tube surrounded by aluminium, a foil, a volume of helium
0039 between the foild and the target, and the target set on a plate of platinium.
0040
0041 ------------------------------------
0042 ---- II) Setting the database ----
0043 ------------------------------------
0044
0045 Beforehand, you first need to make sure that the database used for inelastic collisions of primary
0046 particles is set up correctly. You can download formated data of the TENDL and ENDF-VII0 database
0047 at the following links:
0048
0049 TENDL data:
0050 - CMake can download and install this dataset, add
0051 -DGEANT4_INSTALL_DATASETS_TENDL=ON
0052 to your CMake options.
0053 - or, download via download page searching for TENDL download
0054 https://cern.ch/geant4/support/download
0055 - or direct download:
0056 https://cern.ch/geant4-data/datasets/G4TENDL.1.3.2.tar.gz
0057
0058 ENDF-VII0:
0059 ftp://gdo-nuclear.ucllnl.org/pub/G4LEND/ (G4 Low Energy Nuclear Data)
0060
0061 In your bashrc file, add the following:
0062 export G4PARTICLEHPDATA=/PATH_TO_TENDL____OR____ENDF_DATABASE
0063 export G4NEUTRONHPDATA=/PATHTO_GEANT4_INSTALLATION_FOLDER/share/Geant4-vXX.XX/data/G4NDL4.5
0064 export G4PHP_DO_NOT_ADJUST_FINAL_STATE=1
0065 export G4PHP_MULTIPLICITY_METHOD=Poisson
0066
0067
0068 ------------------------------------
0069 ---- III) Input parameters ----
0070 ------------------------------------
0071
0072 -----Macro/init_parameters.mac, file available also in the main directory.
0073
0074 To study the optimization of the isotope production, a list of parameters can be changed in
0075 the Macro/init_parameters.mac (or using the Geant4 User Interface):
0076
0077 PART1) Beam parameters
0078
0079 Different parameters can be changed for the beam : type of particle, energy, energy distribution,
0080 shape of the beam, etc ... To design your own beam, please refer to the Geant4 User's Guide for
0081 Application Developpers.
0082
0083 Time and current parameters
0084 As Geant4 doesn't model any time scale, the current/particles generated relation is established as
0085 the following:
0086 - for one event generated, the number of particles represent 10E-11 second of a real experiment. It
0087 is calculated the following way :
0088 NumberOfParticle = beamCurrent*timePerEvent/chargeParticle
0089 where - beamCurrent is a parameter that can be changed, in ampere
0090 - timePerEvent is set to 10E-11 second.
0091 - chargetParticle is the charger of the particle
0092 in Coulomb (for example, the value is 1.9E-19 C for proton).
0093 Then, the user can choose the time of irradiation. Note that a simulation for a real time of irradiation
0094 would be too long. The time of irradiation parameter enables to get results for the real time of irradiation
0095 from a smaller time simulation.
0096
0097 PART2) Target parameters:
0098 - the target thickness. Must be smaller than 38.32 mm, which is the length of the tube containing the target.
0099 - the target diameter. Must be smaller than 15 mm, which is the diameter of the tube containing the target.
0100 - the target material : there are two ways to change the material of the target :
0101 - If the material is natural, the user can choose to use the NIST database.
0102 - If the material is enriched, the user can set up their own material. The material created is made of a
0103 number of elements. The number of elements can be set up by the user. Then, one element can be created in
0104 two different ways : it can be a natural element, using the NIST database, or it can be made of a number
0105 of isotopes that the user can set up. Please, note that the order to declare parameters is important and
0106 has to be the following :
0107 1) Material settings
0108 2) Element i settings
0109 3) Isotopes settings for the element i
0110 4) Element i+1 settings
0111 5) Isotopes settings for the element i+1, .... and so on.
0112 For example, to create an target of nickel enriched to 60% of Ni64 : one will create a new material, made
0113 of two elements : natural nickel and pure Ni64. The natural nickel will be an element created using the NIST
0114 database. The pure Ni64 will be an element made of one isotope : Ni64. In case you want to create a pure 64Ni
0115 target, the materialis made of one element, made itself of one isotope (Ni64). Few examples are provided in
0116 the folder "Macro/Material/Target" that can be executed in the init_parameters.mac.
0117
0118 PART3) Foil parameters:
0119 - the foil thickness.
0120 - the foil material. With this parameter, it is possible to change the foil material in order to study some specific
0121 aspects of the reaction. Refers to the change of target material for more detail.
0122
0123 PART4) Histograms:
0124 The histograms parameters can be changed in order to fit to the expected range for a given data. For example, for a
0125 proton beam with an expected energy of 16 MeV when reaching the target, the beam energy profile range can be set up
0126 between 15. to 17. MeV.
0127
0128 -----Macro/Vis/vis.mac
0129 This file sets up the visualisation parameters. vis.mac is also available in the main directory.
0130
0131 -----Macro/GUI/gui.mac
0132 This file sets up the tool bars and buttons that enables to modify the parameters using the Geant4 User Interface.
0133
0134 ------------------------------------
0135 ---- IV) Running the simulation ----
0136 ------------------------------------
0137
0138 To run your simulation, create a "STCyclotron-build" directory. Go in the build directory, and compile:
0139 cmake PATHTO_SOURCE_DIRECTORY (corresponding to the path to the STCyclotron directory).
0140 make
0141
0142 It will create and executable 'STCyclotron'. To run your simulation, type:
0143 ./STCyclotron
0144
0145 If the Graphical User Interface is activated and your Geant4 environment is correctly set, a Graphical User Interface
0146 should open. On the top, the tool bar enables the user to execute the different commands. There are few menus : one for
0147 the beam parameters, one for the target material, one for the geometry of the target, one for the foil material, and one
0148 for the foil geometry. Through this tool bar, you can modify the main parameters you need to run your simulation.
0149
0150 The viewer shows you the structure of the target system. The proton beam arrives from the left and is transported through
0151 the tube and the foil before impacting the target. The yellow tube is either void (before the blue foil) or pressured helium
0152 (after the foil). The out-layer is made of aluminum or gold. The target is displayed in green.
0153
0154 To send protons, type
0155 /run/beamOn 1
0156
0157 /!\IMPORTANT/!\ If the number of runs you launch is larger than a few, desactivate the viewer (Menu 'Viewer' -> 'Disable
0158 Viewer') otherwise it will crash. This is due to the number of particles sent per event, that is quite large. The viewer
0159 has a limit of the number of particles it can display on the screen.
0160
0161 Note that the number of particles per event is set according to the current, so that one event represents 10^-11 second
0162 of irradiation. For 30 μA, it corresponds to 1 875 protons. This value was chosen so the number of protons per event won't
0163 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
0164 PrimaryGeneratorAction class. Also note that, for one event, all primaries are set up with the same primary coordinates.
0165 You need to launch a high enough number of runs (~ 1000) if you want a good statistics on results such as the beam intensity.
0166
0167 At the end of the run, type 'exit' to leave the Geant4 User Interface. Execute the file Plot.C by typing
0168 root Plot.C
0169 It will create many PDF files. To exit ROOT, type
0170 .q
0171
0172 ------------------------------------
0173 ---- V) Output ----
0174 ------------------------------------
0175
0176 Different types of output are available.
0177
0178 1) The .root file:
0179 This ROOT file gives a list of histograms representing the following data :
0180
0181 a) 1D histograms :
0182 - n°0: The energy distribution of primary particles (e.g. protons) when reaching the target (MeV).
0183 - n°1: The energy distribution of primary particles (e.g. protons) when reaching the foil (MeV).
0184 - n°2: The energy distribution of primary particles (e.g. protons) going out of the target (MeV).
0185 - n°3: The energy distribution of primary particles (e.g. protons) going out of the foil (MeV).
0186 - n°4: The depth of isotope production in your target (number of particles as a function of the foil
0187 thickness in mm).
0188 - n°5-8: energy spectrum of particles produced in the target following inelastic collision of primary
0189 particles (e.g. protons) with the target material (MeV).
0190 In order: 5 = positrons; 6 = electrons; 7 = gammas; 8 = neutrons.
0191 - n°9-14: energy spectrum of particles produced in the target following decay of isotopes produced in
0192 the target (MeV).
0193 In order: 9 = positrons; 10 = electrons; 11 = gammas; 12 = neutrons; 13 = nu; 14 = anti_nu
0194 (electron (anti)neutrinos).
0195
0196 b) 2D histograms :
0197 - n°0: the beam intensity profile before hiting the target (mm x mm).
0198 - n°1: the beam intensity profile before hiting the foil (mm x mm).
0199 - n°2: the radioisotopes produced according to their Z and A number.
0200 - n°3: the energy of the primary particles (e.g. protons) according to depth in the target (mm x MeV).
0201 - n°4: the beam intensity going out from the target (mm x mm).
0202 - n°5: the beam intensity going out from the foil (mm x mm).
0203
0204 /!\ the histograms are not normalized /!\. The file 'Plot.C' renormalize the histograms and plot them into
0205 PDFs as explained below.
0206
0207 2) .txt files:
0208 Several text files are provided :
0209
0210 ----a) Output_General.txt
0211 This file summarizes the parameters used during the simulation:
0212 - Geam parameters: primary particles (by default protons), energy of the primary particles (MeV), current
0213 of the beam (Ampere), irradiation time (hour(s)), and current factor. This last factor is a rescaling
0214 factor: in the simulation, the number of particles sent is calculated for a current obtained before the foil,
0215 while the current in the actual cyclotron the current is measured after the foil. This parameter therefore
0216 rescales the number of particles to match the current arriving at the target.
0217 - simulation parameters: equivalent time per event (by default set at 10^-11 second), number of events run
0218 during the simulation, number of primaries per event (calculated according to the time per event, the beam
0219 current and the charge of the primary particle), total number of particles sent during the simulation.
0220 - Geometry parameters: target thickness, diameter and foil thickness.
0221
0222 It also provides the heating of the target and the foil (W/mm3).
0223
0224 ----b) Output_ParentIsotopes.txt
0225 This file provides a list of radioisotopes produced during the irradiation of the target. For each isotope, it contains:
0226 - Name of the isotope.
0227 - Number of isotopes created during the simulation. Can be used to evaluate the accuracy of your predictions.
0228 - Decay constant (s-1).
0229 - Half life time (hour(s)).
0230 - Process that induced its creation.
0231 - Number of isotopes produced per second of irradiation.
0232 - Number of isotopes produced at the end of the beam.
0233 - Activity induced by the isotope at the end of the beam (mCi).
0234
0235 ----c) Output_DaughterIsotopes.txt
0236 This file provides a list of unstable daughter radioisotopes produced due to the decay on unstable primary (parent) radiosotopes.
0237 Note that it may be empty. As for the file Output_ParentIsotopes.txt, it contains:
0238 - Name of the daughter isotope.
0239 - Name of the parent isotope.
0240 - Decay constant of the parent isotope (s-1).
0241 - Decay constant of the daughter isotope (s-1).
0242 - Half life time of the parent isotope (hour(s)).
0243 - Half life time of the daughter isotope (hour(s)).
0244 - Number of daughter isotopes produced per second of irradiation.
0245 - Number of daughter isotopes produced at the end of the beam.
0246 - Activity induced by the daughter isotope at the end of the beam (mCi).
0247
0248 ----d) Output_StableIsotopes.txt
0249 For information, this file provides a list of stable isotopes (name and number of isotopes produced during the simulation)
0250 that are produced in the target due to the decay of radioisotopes.
0251
0252 ----e) Output_Particles.txt
0253 For information, this file provides a list of other particles such as electrons, etc., (name and number of isotopes produced
0254 during the simulation) that are produced in the target.
0255
0256 This folder provides pdf format of the histograms generated in the root file, using a the macro
0257 file Plot.C to generate it. It also provides the following curves :
0258 - the number of each isotope according to the time, from the start of the irradiation to
0259 the end of the irradiation, but also until few hours after the end of the irradiation.
0260 - the variation of activity from the end of the irradiation time to few hours after.
0261
0262 3) PDF Files:
0263
0264 After running the 'Plot.C' file, you obtain many PDF files that are created in a folder 'Results'. This code reads the different
0265 outputs from the simulation (.root file and .txt files), normalize the results and plot them in PDFs in various folders:
0266
0267 ----a) Results/BeamData folder
0268 - BeamEnergyInFoil.pdf and BeamEnergyInTarget.pdf: beam energy distribution before entering the foil/target using histograms 1D0 and 1D1,
0269 normalized to the number of primary protons and the bin width.
0270 - BeamEnergyOutFoil.pdf and BeamEnergyOutTarget.pdf: beam energy distribution when exiting the foil/target, using histograms 1D2 and 1D3,
0271 normalized to the number of primary protons and the bin width.
0272 - BeamIntensityInFoil.pdf and BeamIntensityInTarget.pdf: beam intensity before entering the foil/target using histograms 2D0 and 2D1,
0273 normalized per primary particle and to the bins widths.
0274 - BeamIntensityOutTarget.pdf: beam intensity when exiting the target using histogram 2D4, normalized per primary particle and to the bins
0275 widths.
0276 - EnergyDepth.pdf: energy of protons as a function of the depth in the target.
0277
0278 ----b) Results/IsotopesProduction
0279 - ActivityOfXX.pdf and YieldOfXX.pdf
0280 Shows the production of the isotope XX (number of nuclei or activity) as a function of the time, starting from the beginning of
0281 irradiation and up to 30 hours. Note that if the time of irradiation is longer than 30 hours, you must change the maximum time
0282 to display the activity or yield by opening the file 'Plot.C' and changing tMax.
0283 - ActivitySaturationOfXX.pdf and YiedSaturationOfXX.pdf
0284 Shows the saturation reached for the production of the isotope XX (number of nuclei or activity) as a function of the time, if the
0285 time of irradiation is set 'infinite'.
0286 - Activity.pdf/Activity.jpg and Yield.pdf/Yield.jpg
0287 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
0288 same graph.
0289 - TotalActivity.pdf
0290 Shows the sum of the activities induced by all the radioisotope up to 30 hours.
0291 - RadioisotopeProduction.pdf/RadioisotopeProduction.jpg
0292 Shows the number of isotopes produced per primary particles, as a function of Z and A.
0293 - DepthCreation.pdf
0294 Shows the depth at which radioisotopes were created.
0295
0296 ----c) ParticlesEnergySpectra
0297 Subfolder: beam. Energy spectra (normalized per primary particles and bin width) of particles created following the inelastic
0298 interaction of the beam with the target (1D 5->8).
0299 Subfolder: decay. Energy spectra (normalized per primary particles and bin width) of particles created following the decay of
0300 radioisotopes created in the target (1D 9->14).
0301
0302 ------------------------------------
0303 ---- VI) Checking the results ----
0304 ------------------------------------
0305
0306 Keep a critical mind with the results : they are highly dependent on the accuracy of the database used. You can verify the coherence
0307 of your results on checking the nuclear database you are using. Go to the following website:
0308 http://www.oecd-nea.org/janis/book/
0309
0310 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.
0311 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.
0312 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
0313 nuclear databases and experiments.
0314
0315 The computed values can be used to be compared to experimental ones using the EXFOR website. Go on this website:
0316 https://www-nds.iaea.org/exfor/exfor.htm
0317 Enter the parameters of the irradiation (i.e., atomic target, reaction, etc.). Then click on submit. You will have different experimental
0318 data available. Tick the ones you are interested in. Tick “Quick plot” and then click on retrieve. It will display a plot with different
0319 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
0320 are coherent. Rename your data. Tick “authors” and “legend”. Then click on repaint. You can save your plot buy clicking on PostScript and
0321 selecting a PDF format.
0322
0323 These tools can be used to check on the accuracy of the database at a given energy.