Deuteron beam in STCyclotron advanced example

Hi there, am relatively new to G4. I am planning to simulate a deuteron beam instead of the standard proton beam on the STCyclotron advanced example provided. I have done the following changes:

  1. Added the export G4DEUTERONHPDATA=//usr/local/geant4/10.7.1/share/Geant4-10.7.1/data/G4TENDL1.3.2/Deuteron on my environment.
  2. Created new target material which was identified by NIST.
  3. Edited the intital parameters file by adding /gps/particle deuteron
  4. Run beam for 1000 events.

I have increased the beam energy all the way to 100MeV and duration of 6 hours, left the other parameters as default. I am however unable to get the final output that is desired, whereby all the output files are empty and no yield is detected.

I have tried to increase the bombardment timing all the way up to 48 hours and tried with all the other adjustable parameters as well. Still not getting any result using deuteron.

Does anyone know how to setup for running deuteron? Maybe tweaking the environment and bash file. Any help will be much appreciated.


Hi Nishaan,

first I’d verify that the cross sections are read correctly and that you are using the correct models.

Obvious question, but have you downloaded the appropriate TENDL files (i.e., you do have the cross section files available in /usr/local/geant4/10.7.1/share/Geant4-10.7.1/data/G4TENDL1.3.2/Deuteron)? Last time I used it, they were not coming automatically with the installation of Geant4.

When you launch the simulation, what information do you have regarding the inelastic process used, and does it tell you that it’s reading the cross sections? I have not used this example in a while, but at the time it would tell me that the TENDL cross sections were being read.


Dear Floriane,

Firstly thank you for your reply. I have indeed downloaded and linked the G4TENDL data library. While running I noticed there are some discrepancy while the process is running. I switched back to the established proton beam and changed the target material to O18 water, which is already an established liquid target to produce F18, however this is what I’m getting:

NeutronHP: 4//Proton/Inelastic file for Z = 8, A = 18 is not found and NeutronHP will use /home/nish/Geant4/DATA/G4TENDL1.4//Proton/Inelastic/CrossSection/8_17_Oxygen
NeutronHP: 4//Proton/Inelastic file for Z = 8, A = 18 is not found and NeutronHP will use /home/nish/Geant4/DATA/G4TENDL1.4//Proton/Inelastic/CrossSection/8_17_Oxygen

I have checked the TENDL cross sections and seem to not have found one for 8_18_Oxygen, the similar issue when running my solid target material using deuteron which is also not found in TENDL1.3.2. I have tried getting the TENDL1.4 but the cross section data seems to be still missing. I believe that they have added all in the TENDL-2019. Is there any way to manually insert the missing cross section data?


Did you solve your problem?

Unfortunately not iquano. I have tried to manually change the files present in the G4TENDL data library, but it has thus far failed to provide any viable output. I guess the only way is to wait for new update on the G4TENDL version which includes your desired cross sections.