Low Energy Alphas Always Traveling the Exact Same Distance

Geant4 Version: 11.3.0
Operating System: Mac OSX Sonoma
Compiler/Version: Clang++ 16


I am currently simulating the Boron10 (n,alpha) reaction, and specifically wanting to model how far the alpha and Li7 decay products travel. I am currently using the physics list from Hadr03 with the addition of G4EmStandardPhysics_option4 (because I want EM effects, which are not otherwise modeled in Hadr03). The simulation is working fine, except that it is calculating every alpha particle as traveling the exact same distance (technically 2 distances, see plot below). Similarly, there is an odd shape to the Li7 distribution that looks artificial. I can confirm that the particles are being generated in random directions, however their total distance traversed is being calculated as the same across all particles. I suspect this has something to do with a MaxStep or MinStep implementation that I need to add, but am not sure where to do that. Would anyone have an example that can accurately model low energy alphas, or insight into how to resolve this?

Thanks!

Alpha displacement:


Li7 displacement:

Screenshot of 100 events, orange are alphas, yellow are gammas, gray (hard to see) are Li7. Particles are indeed being generated isotropically:

What are the physics lists that you are using? What energy cut are you using for ions?

I have implemented the following PhysicsList and Cuts (these were motivated from the Hadr03 example):

PhysicsList::PhysicsList()
{
  G4int verb = 1;
  SetVerboseLevel(verb);

  // add new units for cross sections
  new G4UnitDefinition("mm2/g", "mm2/g", "Surface/Mass", mm2 / g);
  new G4UnitDefinition("um2/mg", "um2/mg", "Surface/Mass", um * um / mg);

  // mandatory for G4NuclideTable
  const G4double meanLife = 1 * nanosecond;
  G4NuclideTable::GetInstance()->SetMeanLifeThreshold(meanLife);

  // Electromagnetic Physics
  RegisterPhysics(new G4EmStandardPhysics_option4(verb));

  // Hadron Elastic scattering
  RegisterPhysics( new G4HadronElasticPhysicsHP(verb));

  // Hadron Inelastic physics
  RegisterPhysics( new G4HadronPhysicsQGSP_BIC_AllHP(verb));

  // Ion Elastic scattering
  RegisterPhysics(new G4IonElasticPhysics(verb));

  // Ion Inelastic physics
  RegisterPhysics(new G4IonPhysicsXS(verb));

  // Gamma physics
  RegisterPhysics(new GammaNuclearPhysics("gamma"));
}
void PhysicsList::SetCuts()
{
  SetCutValue(0.1 * um, "proton");
  SetCutValue(10 * nm, "alpha");
}

As a follow up, I have tried the following EM physics lists:

G4EmStandardPhysicsSS
G4EmStandardPhysicsGS
G4EmLivermorePhysics
G4EmLowEPPhysics
G4EmPenelopePhysics
G4EmStandardPhysics
G4EmStandardPhysicsWVI
G4EmStandardPhysics_option1
G4EmStandardPhysics_option2
G4EmStandardPhysics_option3
G4EmStandardPhysics_option4

The only one that has worked so far has been G4EmStandardPhsyicsSS. Interestingly however, the interactions are not from electron production but instead ion-ion scattering between the alpha and the B10, so I suspect the modeling is still not 100% correct. Here is the updated alpha displacement plot though:

What are you expecting? Range straggling is energy straggling and you don’t have many interactions when the total range is on the order of microns.

Alphas and ions in general are now set by the proton range cut. You could make the proton range cut 10 nm and see if that changes anything. You could also just be seeing binning artifacts.

I was expecting secondary electron production. In the screenshot below it is showing the alpha particle in orange and B10 ions in gray. It appears the B10 are being ejected from the material, which I would think is a different energetic process than coulombic interactions with the electrons. Am I thinking about this incorrectly though?

Traditionally when I think of a charged particle losing energy to a medium, I think of electronic stopping, not nuclear stopping, which is what I am interpreting the B10 interactions to be.

The projected range and CSDA range are very similar for low energy ions/protons. Deflections are mostly the result of (infrequent) nuclear scattering but the energy loss is dominated by electron-ion interactions. IIRC a rule of thumb for higher energy (>100 MeV/u) ions used in therapy is that the lateral (orthogonal to initial direction) dispersion is 4% of the total range and its probably even less at these low energies. I am not entirely surprised you have such narrow distributions.

What is the world medium? In any case I suspect that the default cut for electrons is why you aren’t seeing many of those tracks. They are still being produced but are below their range cut so they are depositing their energy at their point of creation. You could set the cut to nm scale for electrons. Be forewarned: the smaller that value the slower the simulation and the messier the trajectories that you will see. So slowly creep down to that level.

I tried going lower in the cut but am still not seeing anything. Regardless though, I appreciate your help and I think this is good enough for now for my studies. I am perpetually paranoid my simulations will give me incorrect results and I won’t notice, leading me to question every little thing I can.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.