I try to use mgdraw.f for creating neutron sources as I did here. The source file came out, but when I plot the neutron distribution from this source file in MATLAB. The result shows like this
On the other hand, when I use fluscw.f the neutron distribution looks like this. it seems the distribution is correct. fluscw_forads.f (4.7 KB) ads_complex-fuelrod.inp (39.4 KB)
I do not understand what causes the neutron source from mgdraw.f distributed like that and the energy range between these sources is significantly different.
The updated file you attached has additional PHYSICS cards definitions, but still has the same geometric errors, please correct them.
Nevertheless, I had a look at your routines.
In the mgdraw_example.f routine, on line 93, you are applying a cut on the particle generation: IF (LTRACK.GT.1 .OR. LTRACK.LT.4)THEN
which is not present in the fluscw_forads.f. This will of course reduce the number of particles that will be saved.
Secondly, please pay attention to the kinematic variables you are storing. In mgdraw_example.f, you are saving the TKI(ip), which is the kinetic energy of the particle, whereas in fluscw_forads.f you are first taking the norm of the PLA variable, but in the header (documentation) of the user routine, on line 33, it tells you that if it’s negative, then it’s the laboratory momentum. My guess is that you are storing the momentum instead of the kinetic energy, hence why the energy range between the source is different. Out of curiosity, I plotted the kinetic energy vs. momentum in your energy range for neutrons, and it seems to confirm the order of magnitude.
Please let me know if this was useful and if there is anything else I can help with.