Lattice geometry errors and copying sources

Dear FLUKA Community,

I’m trying to develop the geometry in the attached input files. I have a block with two holes on it, which I would like to replicate using the lattice capabilities.

I think I’ve followed every recommendation so far: I enclosed the block with an “external surface”, which I use to create the replica regions. I create the first replica at the left of the first one, taking care that the external surfaces do not touch/overlap.

Strangely, the simulation in these conditions run, but the GEOEND Debug option shows a lot of errors, which I discovered after adding many blocks. So I returned to the primitive version, with only one block, and the errors are still there.

I haven’t been able to detect the problem, because the geoviewer does not show it, and the Debug option of the GEOEND card only gives me a lot of the following messages:

**** Flkldb: Geometry error found ****
**** The point: 1.7000000003887630 -10.399999999611236 0.58500000038876376 ****
**** is not contained in any region ****
**** ( Current cell: 1 Cell0001 ) ****

even though these points are (according to geoviewer and my understanding) included in a region.

If anyone could spot the error would be a lot of help.

I also have a question regarding the lattice capabilities: I would like to include a volume source in one of the holes of the block. Is it possible that, when I replicate the mother region, the holes in the replicas also work as sources? Or is lattice only a transport-related trick?

Thank you all for your time.


02-2021-flair.flair (3.3 KB) 02-2021-flair.inp (4.0 KB) 02-2021-flair001.err (122.1 KB)

Hi Federico,

You are using the LATTICE cards in the correct way. However it seems like you included the STOP card before defining the lattice ROT-DEFi and it is therefore ignored. Moving the STOP card after this should fix the geometry issues. You also did not set the (optional) continuation card for setting the geometry debugging step sizes, this is a line Fluka tries to read but does not manage (this needs to be fixed).

To my knowledge the lattice transformation will not affect the volumetric sources in the same way as is done for the geometry. The way forward would be to use the source.f routine (13.2.20} source.f: user-written source | FLUKA) as discussed in
User rotuine for multiple locations of a source - #4 by horvathd and
Zero result after biasing
There you define the same transformations as you impose on the different lattice cells.

Hope this is helpful, cheers,


Hi Andreas

Thank you very much for your answer and your time.

Yes, I completed the GEOEND card and removed the STOP card, and the mistakes were gone until I add several blocks. With more blocks the errors appear again. Your answer was nevertheless useful, given that now I know it is probably an error in my definition of the transformations, and not on the way of defining the lattice replicas.

I suspected that the source definition should proceed via the source.f subroutine, but it is good to confirm that lattice cannot perform this task. I will take a look at the links you sent, they will for sure come in handy.

Thank you again!


Dear @Fgeser,

For the source routine you might also have a look at the new template for user source routine source_newgen.f which is distributed since the 4.1.0 release and it is announced among its technical improvements (Release of FLUKA 4-1.0):

 An additional version of the source routine, source_newgen.f, with a cleaner structure that facilitates access to newcomers and several built-in options, has been made available as beta release in the src/user/ directory. (The traditional source.f is still fully operational and preexisting user-customized source routines remain totally compatible).

You can find info on how to use it in the dedicated lecture:

Dear @amario

Thank you very much for your recommendation! Of course I will take a look at this option.