Using GPS for a neutron source as a 3D surface, tallying neutrons from a previous simulation

Dear all,

I want to define manually a neutron source, in this case a cylinder, with particle directions and spectrum obtained by tallying the neutrons in a previous simulation.

In particular:
-in simulation 1, I simulate the spallation process in a complex geometry. Here, I define a logical volume, i.e. a cylinder, to tally neutrons crossing the surface (energy, position, direction) with the Hit class and Sensitive detector.
-in simulation 2, I want to take the output from simulation 1, in order to generate neutrons from a 3D surface, corresponding to that of the logical volume used previously.

Which can be the best way to implement it? I saw that it is possible to use G4GeneralParticleSource. I think that for this case, it is better not to use a macro but to define the source from the classes. Any suggestion (slides, documentation, examples) and recommendations on how to do that?

Thanks in advance for your time.
Best regards,

Christian

Hi, there are various methods you can use. Provided your decsription, I would use the following. In simulation I you store the information of neutrons in a phase space file (energy, direction, position) and generate your primary particles with the ParticleGun. You can then recycle the phase space file (changing the simulation seed) but, then, you should do a study where you have different combinations of number of particle histories in phase space file and recycle number to make sure that there are no biasing effects in the results of the second simulation, because of too many “recycles” of your phase space file.

1 Like

Did it with ParticleGun. Thank you very much for your useful answer! (sorry for the late reply)
Best regards,

Christian

1 Like