Problem 2031

Summary: Problem with neutron capture models energy range in G4HadronPhysicsQGSP_BIC_AllHP for Geant4.10.04
Product: Geant4 Reporter: John Watts <john.w.watts>
Component: physics_listsAssignee: Gunter.Folger
Status: RESOLVED FIXED    
Severity: normal CC: Alberto.Ribon, Vladimir.Ivantchenko
Priority: P4    
Version: 10.4   
Hardware: All   
OS: All   
Attachments: Attached is a tarball of the modified Hadr01. Within the directory are output files, output_Hadr01M_AllHP.txt and output_Hadr01M_HP.txt created with macros n_c_AllHP.mac and n_c_HP.mac.
replacement for G4HadronPhysicsQGSP_BIC_AllHP.cc
Modifcation to add NeutronHPCaptureXS and G4LFission for neutrons

Description John Watts 2018-02-01 20:43:26 CET
Created attachment 486 [details]
Attached is a tarball of the modified Hadr01.  Within the directory are output files, output_Hadr01M_AllHP.txt and output_Hadr01M_HP.txt created with macros n_c_AllHP.mac and n_c_HP.mac.

In Geant4.10.04, G4HadronPhysicsQGSP_BIC_AllHP was implmented as a subclass of G4HadronPhysicsQGSP_BIC.
In G4HadronPhysicsQGSP_BIC::ExtraConfiguration() the model,G4NeutronRadCapture(), is created and register with its' default energy range (0.-1.e+7 MeV).

(In the previous Geant4.10.03 version of G4HadronPhysicsQGSP_BIC_AllHP does not inherit from G4HadronPhysicsQGSP_BIC. The model, G4NeutronRadCapture(), is created, the minimum energy is set to 19.9 MeV, and then the model is then register.)

Thus in the new version models ranges, NeutronHPCapture (0-20 MeV), and nRadCapture (0.-100 TeV) completely overlap.
This result in a fatal exception the first time G4EnergyRangeManager looks at the model ranges.
To demonstrate the problem I modified the extended example, Hadr01 class, PhysicsList.cc, to add the QGSP_BIC_AllHP.
I also moved G4HadronPhysicsQGSP_BIC and G4HadronPhysicsQGSP_BIC_AllHP into the local Hadr01 source directories and
 instrumented them with prints to show the location of the problem.

Attached is a tarball of the modified Hadr01. 
Within the directory are output files, output_Hadr01M_AllHP.txt and output_Hadr01M_HP.txt created with macros n_c_AllHP.mac and n_c_HP.mac.

The simples fix is to revert to the Geant4.10.03 version of G4HadronPhysicsQGSP_BIC_AllHP
Comment 1 John Watts 2018-02-02 16:48:44 CET
Created attachment 487 [details]
replacement for G4HadronPhysicsQGSP_BIC_AllHP.cc

The attached source overrides ExtraConfiguration() and set the model lower limit for G4NeutronRadCapture to minBIC_neutron. The needed header files were added.

In G4HadronPhysicsQGSP_BIC_AllHP.hh the line:
    virtual void ExtraConfiguration() override;
should be inserted at line 42.
Comment 2 John Watts 2018-02-27 19:36:36 CET
In my application I am looking at neutron interaction with Li7 to produce a triton. When I use my suggested class, G4HadronPhysicsQGSP_BIC_AllHP, too few of these interaction are produced. I commented out lines 49-52 which removes the cross section, G4NeutronInelasticXS, for neutrons. Neutrons still have NeutronHPIneleasticXS which uses the G4TENDL1.3.2 data as in QGSP_BIC_HP physicslist. It appears that G4NeutronInelasticXS covers the same energy range with less accurate cross sections and is not needed. Is this true?
Comment 3 John Watts 2018-02-28 18:13:00 CET
Created attachment 489 [details]
Modifcation to add NeutronHPCaptureXS and G4LFission for neutrons

My previous version of G4HadronPhysicsGQSP_BIC_AllHP.cc did not add NeutronHPCaptureXS for neutron nCapure processes or G4LFission for nFission.
This version reproduces the the neutron hadronic processes from Geant4.10.03.
Comment 4 Alberto.Ribon 2019-02-06 12:01:32 CET
The problem you reported has been fixed in the latest release, Geant4 10.5.
Thanks for your feedback!