| 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_lists | Assignee: | 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 |
||
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.
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? 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.
The problem you reported has been fixed in the latest release, Geant4 10.5. Thanks for your feedback! |
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