| Summary: | isotopes order matters | ||
|---|---|---|---|
| Product: | Geant4 | Reporter: | elenaguardincerri |
| Component: | materials | Assignee: | Vladimir.Ivantchenko |
| Status: | RESOLVED INVALID | ||
| Severity: | normal | CC: | Alberto.Ribon, Michel.Maire |
| Priority: | P4 | ||
| Version: | 11.1 | ||
| Hardware: | Apple | ||
| OS: | Mac OS X | ||
| Attachments: |
Sample program to reproduce problem
Hadr03: Fer-A Hadr03: Fer-B |
||
Created attachment 806 [details]
Hadr03: Fer-A
Created attachment 807 [details]
Hadr03: Fer-B
I attach 2 runs of Hadr03 (with _HP), for Fer-A and Fer-B The runs are not identical because the sequence of random numbers is not same; but the 2 runs remain statistically compatible. Hello all, if an order of isotopes is different then in the case of nuclear physics, where cross section per isotope is used to identify target nucleus, simulation history become different after one such interaction. So, only statistical comparison is possible in that case. I will close this problem report. If it would be shown that in some application there is real statistical difference we will reopen the problem. VI |
Created attachment 801 [details] Sample program to reproduce problem If I define a material using its isotopes composition the physics results change depending on the order in which I add the isotopes to the material. I have attached an applications where neutrons are shot against a Fe target. When run with run1.mac it produces root histograms with the abundance of activation isotopes as a function of time. Each histogram is for a different activation isotope as shown in its title. The abundance of 54Mn created varies by orders of magnitude depending on whether the Fe material is defined as in case A or case B below in the file DetectorConstruction.cc. *************** case A *************************** G4Material* Fe = nist->FindOrBuildMaterial("G4_Fe"); // define an Element from isotopes, by relative abundance G4Isotope* Fe54 = new G4Isotope("Fe54", 26, 54,53.94*g/mole); G4Isotope* Fe56 = new G4Isotope("Fe56", 26, 56,55.93*g/mole); G4Isotope* Fe57 = new G4Isotope("Fe57", 26, 57,56.94*g/mole); G4Isotope* Fe58 = new G4Isotope("Fe58", 26, 58,57.93*g/mole); G4Element* elFe = new G4Element("natural iron","Fe", 4); elFe->AddIsotope(Fe56, 91.754*perCent); elFe->AddIsotope(Fe54, 5.845*perCent); elFe->AddIsotope(Fe57, 2.119*perCent); elFe->AddIsotope(Fe58, 0.282*perCent); G4Material* Femat = new G4Material("Femat",7.874*g/cm3,1); *************** case B *************************** G4Material* Fe = nist->FindOrBuildMaterial("G4_Fe"); // define an Element from isotopes, by relative abundance G4Isotope* Fe54 = new G4Isotope("Fe54", 26, 54,53.94*g/mole); G4Isotope* Fe56 = new G4Isotope("Fe56", 26, 56,55.93*g/mole); G4Isotope* Fe57 = new G4Isotope("Fe57", 26, 57,56.94*g/mole); G4Isotope* Fe58 = new G4Isotope("Fe58", 26, 58,57.93*g/mole); G4Element* elFe = new G4Element("natural iron","Fe", 4); elFe->AddIsotope(Fe54, 5.845*perCent); elFe->AddIsotope(Fe56, 91.754*perCent); elFe->AddIsotope(Fe57, 2.119*perCent); elFe->AddIsotope(Fe58, 0.282*perCent); G4Material* Femat = new G4Material("Femat",7.874*g/cm3,1);