Pulsed proton source in FLUKA

Dear FLUKA experts,

Happy New Year!

I am interested in defining a pulsed proton source, with a source frequency (in Hz) and pulse duration (in ms). Is it possible to do this in FLUKA? If so, are there any lecture materials which are available for me to reference to design such a source?

Thanks in advance for your help and guidance.

Best,
Dalini

Dear @Dalini,
Just to understand better: are you interested in studying the activation of some material or what else?

Dear @amario, I am interested in looking at the time structure of pulsed neutrons which emanate from a neutron producing target, when it is struck by a pulsed proton source. In my problem, I utilize 10MeV protons on a beryllium target.

In this case, I would do it at the postprocessing level. All primaries start at t=0, the you determine the timing of a secondary of interest, to this you can apply afterward a variable time shift which is distributed according to the time structure of your primary pulse.

1 Like

Dear Dalini,

in addition to @amario’s solution, an different way would be to set the starting time of the primary in a source user routine (AGESTK (NPFLKA)).

For time dependent scoring you can use the TCQUENCH card, or a access the age of the particle (variable ATRACK) with a custom mgdraw user routine.

Cheers,
David

1 Like

You can define the time structure in the source subroutine, but as @amario says for your task it’s easier to do it at the post-processing level.

1 Like

Dear @kbat @horvathd @amario thank you all for your replies.

@amario is there an example showing how to do this method?

@horvathd I will also explore this option. Is there a clear advantage to using this option instead of handling the time-dependence during post-processing?

Thank you all.
-Dalini

Dear Dalini,

the advantage of using the source routine is that it allows to make time of flight type simulations possible. For example, how the particle bunch duration changes during propagation, etc.

The disadvantage is, that no built in FLUKA scoring is available for this kind of simulations. The user needs to dump the relevant information into a file, and manually process it, to get the desired result.

Cheers,
David

Unfortunately, I’m not aware of any example.

Hi David,

This will be the most appropriate method for me then, as we are interested in time-of-flight type simulations. Is there a FLUKA tutorial to help me get started with these types of simulations?

Kind regards,
Dalini

Hi @amario thanks for your reply and help. Wishing you a good day!

Dear Dalini,

here is an example:

100 MeV protons are impinging on a 7.5 cm thick water phantom. The proton beam is 1 ps long. We score the time when the protons enter and exit the phantom. Then the scored times are plotted in a histogram.

Protons entering the phantom:
in

Protons exiting the phantom (in the 2 cm radius from the beam axis):
out

tof.flair (2.1 KB)
tof_source.f (18.8 KB)
tof_mgdraw.f (4.0 KB)

Cheers,
David

P.S.: The boundary crossing time can be scored with USRYIELD as well. However it takes some effort to determine minimum and maximum time without accessing the actual crossing times using the mgdraw.f user routine. Furthermore, in case you need to change the histogram, the whole simulation needs to be rerun.

2 Likes

Dear @horvathd ,

Thanks so much for providing this clear and detailed example! I will modify this for my needs. If any questions arise, I will send them your way. I hope you had a good weekend.

Kind regards,
Dalini