Problem 2158

Summary: Thermal neutron scattering cross-sections stops runs with FAULTs
Product: Geant4 Reporter: Sanchit Sharma <sanchitsharma>
Component: processes/hadronicAssignee: dennis.herbert.wright
Status: RESOLVED FIXED    
Severity: critical    
Priority: P4    
Version: 10.5   
Hardware: PC   
OS: Linux   
Attachments: Error file given by HPC
My physics list source file
My physics list header file

Description Sanchit Sharma 2019-04-14 03:32:51 CEST
Created attachment 565 [details]
Error file given by HPC

Hi I am transporting 14.1 MeV Neutrons and I have followed the manual for generating my physics list(attached). However I am getting a weird error and my runs are stopping. 

My material definition is as follows :
  a = 15.999 * g/mole;
  G4Element* elO = new G4Element(name="Oxygen", symbol="O",z= 8., a);
  G4Element* TSH = new G4Element( "TS_H_of_Water" , "h_water" , 1.0 , 1.0079*g/mole);
  G4Material* H2O_TS = new G4Material( "Water_TS" , density = 0.998207 * g/cm3 , ncomponents = 2, kStateLiquid, 293.15*kelvin, 1*atmosphere  );
  H2O_TS -> AddElement(TSH,2);
  H2O_TS -> AddElement(elO,1);


The error says that no hadronic processes are found for oxygen. How do I remove this error?

The error in output is:

G4WT29 >  ASO 0.000178804
G4WT6 >  ASO 8.11353e-06
G4WT17 > G4EnergyRangeManager:GetHadronicInteraction: counter=2, Ek=24.5718, Material = Water_TS, Element = Oxygen
G4WT17 > *0* low=4e-06, high=20
G4WT17 > *1* low=0, high=4e-06
G4WT17 > In/homes/sanchitsharma/Geant4/source/source/processes/hadronic/management/src/G4EnergyRangeManager.cc, line 128: 
G4WT17 > ===> GetHadronicInteraction: No Model found


The error message is attached.
Comment 1 Sanchit Sharma 2019-04-14 03:35:49 CEST
Created attachment 566 [details]
My physics list source file
Comment 2 Sanchit Sharma 2019-04-14 03:36:29 CEST
Created attachment 567 [details]
My physics list header file
Comment 3 Sanchit Sharma 2019-04-14 03:37:55 CEST
I am trying to use QGSP_BIC_HP physics list along with Thermal Scattering Cross-sections. Any help in this regard is immensely appreciated.
Comment 4 dennis.herbert.wright 2019-04-16 20:39:42 CEST
From the third line of the error output, it appears you are generating neutrons of 24.57 MeV, which is above the range of the ParticleHP model that you have assigned to the process. In Geant4, all energies must be covered by a model.  So, either you need to run at a lower energy or assign another hadronic model to the neutron process that covers 20 MeV and above.  Try G4HadronElastic.
Comment 5 Sanchit Sharma 2019-04-16 21:06:46 CEST
I am not
Comment 6 Sanchit Sharma 2019-04-16 21:08:33 CEST
I am not generating neutrons above 20 MeV. My source definitions are below:

/run/initialize
/gps/particle neutron
/gps/ene/mono 14.1 MeV
/gps/ang/type iso
/gps/pos/type Point
/gps/source/intensity 1E8
/gps/position 0.4600 0.5334 -0.1670 m

I cannot understand how a 14.1 MeV neutron is considered as a 20+ MeV particle. It is very peculiar.
Comment 7 dennis.herbert.wright 2019-06-18 00:47:26 CEST
Do you still get the error message from the energy range manager saying "No Model found"?
Comment 8 Sanchit Sharma 2019-06-18 01:01:29 CEST
If I use the above mentioned method of implementing physics list from scratch as per the manual. This gives me that same error. Which is weird because a 14 mev neutron source should not do that. 

If I use G4ThermalNeutrons along with G4Tendl crossections, this works well.


But I still did not resolve the bug with first method.

Thanks
Comment 9 dennis.herbert.wright 2019-06-18 01:31:31 CEST
In your physics list you need to add another neutron model which is active above 20 MeV.  This is regardless of the energy you see in the error message.
Immediately after you instantiate the neutron elastic process, add 

  G4ChipsElasticModel* elMod = new G4ChipsElasticModel();
  theNeutronElasticProcess->RegisterMe(elMod);

Then add the HP elastic model and data as you have already done.   
This should fix the energy manager problem and you can then see what, if anything else, 
is wrong.