Hi!
It seems there is a bug in Geant4 modeling of spontaneous fission.
I know that it doesn’t model the fragments (for now?) but it seems to promise a correct simulation of prompt neutrons and gammas for several nuclides tabulated in LLNL.
But it seems when the neutron multiplicity is generated to be a zero, prompt gammas are not modeled either and the code falls back to SF modeling of nuclides which do not have any SF data tables.
It can be seen directly in G4SFDecay.cc on lines 103-145:
if (nNeut > 0) {
// Put neutrons on the stack
for (G4int i = 0; i < nNeut; i++) {
…
}
// Put gammas on the stack
for (G4int i = 0; i < nGam; i++) {
…
}
} else {
// No data for this isotope, return parent nucleus for now
// G4cout << " No fission data for this isotope " << G4endl;
G4DynamicParticle* parent =
new G4DynamicParticle(G4MT_parent, G4ThreeVector(0.,0.,0.) );
products->PushProducts(parent);
}
But this seems wrong to me - 0 prompt neutrons is a normal outcome of some fission: P(ν=0) = 4.8% for 238U, 6.3% for 240Pu, 6.8% for 242Pu, etc from G4SmpSpNuDistData.cc. For such events it seems all generated prompt gammas are discarded.
Is my understanding correct here?
Thanks!
Geant4 Version: 11.4.0
Operating System: Ubuntu 26.04