Problem 2234

Summary: Problem with the Wendt fission model
Product: Geant4 Reporter: Federico.Carminati
Component: processes/hadronic/models/neutron_hpAssignee: dennis.herbert.wright
Status: RESOLVED FIXED    
Severity: normal    
Priority: P4    
Version: 10.6   
Hardware: All   
OS: All   

Description Federico.Carminati 2020-04-05 11:09:48 CEST
I have circumstantial evidence that the Wendt fission model is not thread-safe. The method 

G4DynamicParticleVector* G4FissionProductYieldDist::G4GetFission( void )

in particular generates one fission fragment and then it subtracts its Z and A from the fissible atom to obtain the second. When running in single thread the code works and the distribution is reasonable. When running in MT mode, the method produces fragments with negative A and Z values when more than one thread access the method and subtracts from the variables  RemainingA_ and  RemainingZ_. 

I think the method should be at least locked. Best,
Comment 1 dennis.herbert.wright 2020-07-02 19:16:12 CEST
G4AutoLock placed on G4FissionProductYieldDist::G4GetFission() .