# CYLI-VOL source and

Dear Experts,
I want to define a neutron source (with an energy spectrum) as an extended source shaped as a cylinder of 0.9cm radius and 4.5cm in height using: CYLI-VOL.

I am using “source_newgen.f” to implement the source spectrum, but after some tries I understood that my routine overwrite my CYLI-VOL command given through BEAMPOS card.
Also I found in an old post (Flood source & energy spectrum) that to solve the same problem with a FLOOD source I need to add `SFLOOD` subroutine in “source_newgen.f”:

``````CALL SFLOOD ( XXX, YYY, ZZZ, UXX, VYY, WZZ )
``````

So I searched in FLUKA manual and on this forum, but I couldn’t find which is the name and the syntax of the subroutine I need to use to implement the CYLI-VOL.
Or maybe there are other ways to do the same that are unknown to me.

I hope someone could help me!

Luca

Dear Luca,

In my opinion, the easiest way to create your cylindrical source is by using the regionsource implemented in source_newgen.f according to this post.

``````  call regionsource  ( coordinate_x, coordinate_y, coordinate_z, [region number], [xmin], [xmax], [ymin], [ymax], [zmin], [zmax] )
``````

Regards,
Mihaela

Dear Mihaela,
thanks for the help!

I tried calling regionsource but I was just able to implement a parallelepiped shape with it.
So I navigated a little more the forum finding some extended cylindrical source implemented in source.f subroutine. Then I adjusted a little bit the code to use it in source_newgen.f and it worked!
That’s the part of the code I wrote in section 5.1 of source_newgen.f:

``````rmax = 0.9D0
zmin = 10.0D0
zmax = 14.5D0
theta = FLRNDM(xdummy)*TWOPIP
r = rmax * FLRNDM(xdummy)
coordinate_x = r*cos(theta)
coordinate_y = r*sin(theta)
coordinate_z = FLRNDM(xdummy)*(zmax-zmin) + zmin
``````

Problem solved!