Interpolation scheme in fluscw.f routine

Dear FLUKA experts,

I got one doubt regarding this old topic:

In this fluscw.f, the scoring contribution is multiplied by the weighting factor assigned in the routine as per the energy bin. But interpolation is missing in this case.

For example, without fluscw.f, let us say, in the detector region, USRTRACK gives a value for energy E = 0.025D-3.

If we apply the present fluscw.f routine. then it will multiply the result by 0.721 (as per the routine). In other words, kerma value between the energy range 0.02D-3 to 0.03D-3 will be same.

However, my intention is to use a multiplication factor such that it would interpolate and then assign a multiplication factor for energy E = 0.025D-3.

I feel this is how dose conversion coefficient should be used.

Hence my query is:

  1. Is it possible to introduce this interpolation scheme in the fluscw.f routine? Or do we have to do that via offline mode only?

  2. When AUXSCORE is used, this interpolation is already embedded. Is it so ?

I am attaching the demo routine that was shared in the old link.

fluscw.f (6.0 KB)

Regards,

Riya

Dear Riya,

using interpolated values for in-between energies makes sense, and it would give more accurate results.

It is possible to use the built-in YINTER function of FLUKA for linear interpolation. See the attached under routine for the implementation.

fluscw.f (6.7 KB)

Note:

  • In the user routine the coefficients are not extrapolated below and above the energy range, but set to the values assigned to the minimum and maximum of the range.
  • the YINTER function returns zero for x_values, below or above the x_range.

In the case of AUXSCORE conversion coefficients are indeed interpolated.

Cheers,
David

1 Like

Dear @horvathd

Thank you @horvathd for the example routine, this is what I intended. I was using external python routine with the same condition as you mentioned in note 1, however, wanted to explore that option in FLUKA routine itself. The example is helpful.

Regards,

Riya