| Summary: | Crash in G4LowEIonFragmentation | ||
|---|---|---|---|
| Product: | Geant4 | Reporter: | h.szymanowski |
| Component: | processes/hadronic/models | Assignee: | Hans-Peter.Wellisch |
| Status: | RESOLVED WONTFIX | ||
| Severity: | critical | ||
| Priority: | P2 | ||
| Version: | 6.0 | ||
| Hardware: | PC | ||
| OS: | Linux | ||
Hi, please do not use G4LowEIonFragmentation (it is deprecated), but use G4BinaryLightIonReaction in stead. Many greetings, Hans-Peter. |
Hello, the simulation of 300 MeV/u C12 ions in water using G4LowEIonFragmentation in Geant4.6.0 leads to an immediate crash: In /usr/local/sw/cern/geant4.6.0/source/processes/hadronic/models/util/include/G4Fr agment.hh, line 261: ===> G4Fragment::SetNumberOfCharged: Number of charged particles can't be greater than number of particles G4HadronicProcess failed in ApplyYourself call for - Particle energy[GeV] = 1.28623 - Material = Water - Particle type = C12[0.0] *** G4Exception : 007 issued by : G4HadronicProcess GeneralPostStepDoIt failed. *** Fatal Exception *** core dump *** *** G4Exception: Aborting execution *** Aborted The simulation seems to work better if one includes the following correction in G4Fragment.hh: inline void G4Fragment::SetNumberOfCharged(const G4int value) { if (value <= (numberOfParticles + numberOfHoles)) numberOfCharged = value; else { G4String text = "G4Fragment::SetNumberOfCharged: Number of charged particles can't be greater than number of particles"; throw G4HadronicException(__FILE__, __LINE__, text); } } instead of inline void G4Fragment::SetNumberOfCharged(const G4int value) { if (value <= numberOfParticles) numberOfCharged = value; else { G4String text = "G4Fragment::SetNumberOfCharged: Number of charged particles can't be greater than number of particles"; throw G4HadronicException(__FILE__, __LINE__, text); } } Unfortunately one gets negative excitation energies, e.g.: G4Fragment::G4Fragment Excitation Energy =-11.6027 for A = 9 and Z= 4 and the program crashes after several thousand events with the error message: G4NuclearLevelStore::GetManager: Wrong values Z = 0 A = 3 Thanks a lot for your help. Cheers, Hanitra Szymanowski