Problem 1028

Summary: Infinite loop in G4CompetitiveFission::FissionCharge due to typo
Product: Geant4 Reporter: marcus.h.mendenhall
Component: processes/hadronic/models/de_excitation/fissionAssignee: dennis.herbert.wright
Status: RESOLVED FIXED    
Severity: major CC: asai, robert.a.weller
Priority: P5    
Version: 9.1   
Hardware: All   
OS: All   

Description marcus.h.mendenhall 2008-10-29 01:40:03 CET
We ran across infinite looping in G4CompetitiveFission::FissionCharge, and traced it to the following:

lines 342-344 currently are:
    if (Af >= 134.0) DeltaZ = -0.45;                    //                      134 <= Af
    else if (A <= (A-134.0)) DeltaZ = 0.45;             // Af <= (A-134) 
    else DeltaZ = -0.45*(Af-(A/2.0))/(134.0-(A/2.0));   //       (A-134) < Af < 134

but, as one can see from the logic and comment, line 343 should be:

    else if (Af <= (A-134.0)) DeltaZ = 0.45;             // Af <= (A-134) 

This results in crazy parameters in the test in the lines below this which are trying to generate a gaussian within specific bounds, based on the impossible parameters.
Comment 1 dennis.herbert.wright 2008-11-27 16:56:04 CET
Bug fixed and included in 9.2 release.