Slab Infinite Geometry

Dear Community,

Beginner with Geant4, we are trying to simulate 4 slabs (infinite planar medium) with infinite gamma source.

Other codes, e.g. in nuclear reactor physics, already have this simple geometry ready. I have to be most compliant with these codes for the purpose of comparison of the implemented physics.

From what I understand, to simulate this kind of geometry in Geant-4, we have to go through G4Box.

Am I Right ? To make it really infinite, can I mention y and z dimensions that are infinite?


new G4Box(“Slab1” ,0.5*(x2-x1),1E+28 * cm,1E+28 * cm) ;
new G4Box(“Slab2” ,0.5*(x3-x2),1E+28 * cm,1E+28 * cm) ;
new G4Box(“Slab3” ,0.5*(x4-x3),1E+28 * cm,1E+28 * cm) ;
new G4Box(“Slab4” ,0.5*(x5-x4),1E+28 * cm,1E+28 * cm) ;
new G4Box(“World” ,1E+28*cm ,1E+28 * cm,1E+28 * cm) ;

Then, we define our logical volumes, followed by the physical volumes. This “1E + 28 * cm” corresponds exactly to what the code in reactor physics recognizes as infinite.

I tried a simulation going with this methodology, but I have overlapping issues between slab 2 and 4 which appear at infinite positions…

Checking overlaps for volume Slab1 (G4Box) … OK!
Checking overlaps for volume Slab2 (G4Box) … OK!
Checking overlaps for volume Slab3 (G4Box) … OK!
Checking overlaps for volume Slab4 (G4Box) …
-------- WWWW ------- G4Exception-START -------- WWWW -------
*** G4Exception : GeomVol1002
issued by : G4PVPlacement::CheckOverlaps()
Overlap with volume already placed !
Overlap is detected for volume Slab4:0 (G4Box)
with Slab2:0 (G4Box) volume’s
local point (0,-2.40287e+28,3.5745e+28), overlapping by at least: 1 cm
NOTE: Reached maximum fixed number -1- of overlaps reports for this volume !
*** This is just a warning message. ***

Unfortunately, at the moment, I don’t have the visualization capabilities to see further. So your response will help a lot.

Any advice is welcome.

The problem of overlapping and visualization capabilities is now resolved.
I want to know if it is possible to define infinite slab in Geant-4. This information does not seem to be available in the manual. The goal behind is to compare with a 1D Code (Boltzmann solver).

There is no such thing as infinite in the real world, nor in a Geant4 world. Just make it big enough for your purposes. If you think it’s not big enough make it bigger and see if it makes any difference. If it is big enough, make it smaller (as long as it makes no difference) so that Geant4 does not have to do so much work.

Thank you very much @allison for your response.

I understand very well that the concept of infinity does not exist in real life. In reactor physics, they use the term “infinite slab” to refer to a 1D transport problem in a slab medium.

The goal here is to compare Geant with a 1D code (Boltzmann deterministic solver coupled photon-neutron-electron), i.e. a code which does the particle transport only along x direction.

Please, do you think that your suggestion remains valid to answer this problem?

I have already started to try to increase the dimensions in y and z (of the geometry as well as of the source) little by little towards very very very large numbers. The dose x-profile in Gy, which is the quantity of interest, do not then stops drastically decreasing!

So I have doubts about this trial error method because Geant will continues in any case to transport particles in y and z directions.

What do you think about it ? Otherwise, I don’t understand what you mean by “if it makes difference” except a difference on a quantity of interest, here the dose. Am I right ?

Note: Other codes in reactor physics can transport particles in 1D, 2D and 3D. When “Slab” is selected as geometry, the transport automatically becomes 1D.

Thank you @allison for your time and your advice.


I don’t expect a dramatic stopping. But at some point, it should change only by a small amount - by less than 1%, say, for every facto of 10 in dimension. If it does not then there is something more dramatically wrong, like you have the axes confused.

They are making the same assumptions that I am suggesting, only in Geant4 it has to be explicit.

1 Like

Thank you @allison. I will keep trying.