I’m using the following modules in my modular physics list to run space radiation simulations for proton/HeavyIons detectors :
// Hadron Elastic scattering RegisterPhysics( new G4HadronElasticPhysicsPHP(verb) ); // Hadron Inelastic Physics ///RegisterPhysics( new G4HadronPhysicsFTFP_BERT_HP(verb)); ////RegisterPhysics( new G4HadronPhysicsQGSP_BIC_AllHP(verb)); RegisterPhysics( new G4HadronInelasticQBBC(verb)); ////RegisterPhysics( new G4HadronPhysicsINCLXX(verb)); // Ion Physics RegisterPhysics( new G4IonPhysicsPHP(verb)); ////RegisterPhysics( new G4IonINCLXXPhysics(verb)); // stopping Particles RegisterPhysics( new G4StoppingPhysics(verb)); // EM physics RegisterPhysics(new G4EmStandardPhysics_option4(verb)); G4EmProcessOptions emOptions; emOptions.SetFluo(true); emOptions.SetAuger(true); emOptions.SetPIXE(true); RegisterPhysics(new G4EmExtraPhysics(verb)); // Decay RegisterPhysics(new G4DecayPhysics());
The simulations run smoothly for protons and electrons as incident particles at all energies with the exception of the following warning every 500K events or so :
G4WT0 > More than one neutron is required for the balance of baryon number!
but when I run the simulation using alphas as my primary particle, the simulation crashes with a segmentation fault and core dump because the following error occurs every 650K events or so at energies above 200MeV :
G4IonTable::GetIon() : illegal atomic number/mass Z =0 A = 5 E = 0
accompanied with lots of warnings like the previous one but this time it occurs much more frequently, on in 50K Events.
I know that G4IonPhysicsPHP switches from TENDL data to binary cascade model at energies higher than 200 MeV. So I think the error is related. but I have always thought of binary cascade model as the trusty model to follow when in doubt. What could be a fix or an alternative to this issue ?
Thanks in advance…