Problem 682 - Neutron in very narrow energy range produces segmentation fault in Si or SiO2
Summary: Neutron in very narrow energy range produces segmentation fault in Si or SiO2
Status: RESOLVED WONTFIX
Alias: None
Product: Geant4
Classification: Unclassified
Component: processes/hadronic (show other problems)
Version: 6.2
Hardware: All Other
: P3 major
Assignee: Hans-Peter.Wellisch
URL:
Depends on:
Blocks:
 
Reported: 2004-10-24 22:52 CEST by robert.a.weller
Modified: 2005-02-22 04:12 CET (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
Description robert.a.weller 2004-10-24 22:52:17 CEST
I have observed a problem with neutrons that first manifested itself as an infinite loop in my own
custom physics list. My target was composed of a few layers of Si and SiO2. The physics I was using was
essentially Bertini cascade and HP neutrons. For incident neutrons > 20 MeV, and I mean greater by
even 0.00000000001, everything is fine. For incident neutrons with energy < 19.999 MeV things also
seem very sensible. However, if one sets the beam to either 19.9999 MeV or 20.00000 MeV, there is an
infinite loop in my simulation.
This behavior can be reproduced very easily. Go to novice example N03, define silicon as a material,
and change the calorimeter from lead/liquid Argon to silicon/quartz. The failure does not happen if the
default materials are used. Apparently it is specific to Si or O. I have not determined which. The material
quartz is already defined in the detector construction file. Now replace the example physics list with
Hans-Peter's LHEP_BERT_HP class in main() in the "exampleN03.cc" file with the approprite "#include"
header, compile and run.
On this system, the one I have done the testing with, Mac OS X 10.3.5, Apple Developer tools 1.5, and
Geant4 6.2.p01, the result using the exampleN03 code produces a segmentation fault. I have not
bothered to get a student to reproduce this on Linux, since it can be demonstrated easily using the
simple modification to N03 described above.
The very odd thing about this, apart from the very narrow range in which the error happens, is that
originally in my simulation I tried setting the max energy for the HP neutron processes below the
energy value 19.999 MeV where the simulation was functional, and the problem was still present for
neutrons from somewhere between 19.999 and 19.9999 MeV and the appearently hard threshold at
exactly 20 MeV. I tried using the debugger to find out what was going on, but couldn't make out what
was happening, becuse my main Geant4 library isn't compiled with debugging symbols on.
If the problem is found to be platform dependent I can perhaps help find it if the designated hardonic-
physics team member doesn't use a Mac.
Thanks,
Bob Weller
Vanderbilt University
Comment 1 Hans-Peter.Wellisch 2005-02-22 04:12:59 CET
Hi Bob, the problem should go away, if you lower the transition energy to the
neutron_hp model somewhat below 20 MeV. For all I see, it is a rounding problem
in the lorenztransormations, that makes ti such that you cannot use the model
too close too threshold.

Many greetings,

Hans-Peter.