Geometry overlap check: issue with G4IntersectionSolid


I observe a similar exception message for G4IntersectionSolid testing the geometry with 10.7.p01 (and 10.6.p2) as reported here:

Checking overlaps for volume ManginMirrorCoating (G4IntersectionSolid) …
-------- WWWW ------- G4Exception-START -------- WWWW -------
*** G4Exception : GeomSolids1001
issued by : G4BooleanSolid::GetPointOnSurface()
Solid - ManginMirrorCoating
All 100k attempts to generate a point on the surface have failed!
The solid created may be an invalid Boolean construct!
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------

In this class I cannot find a relation to G4Voxelizer, hence the proposed fix from the linked ticket (which I tried to apply) does not seem to help here. But I may got the wrong impression.
I would like to ask if this is a real problem of the geometry or if the origin of this exception is really similar to what was reported in the linked bug report.

Thank you very much for a reply.

Best regards,

In case of G4IntersectionSolid (and G4SubtractionSolid) this message usually means that the resulting solid is much smaller than the constituent solids. It’s also possible that the result of the Boolean operation is a null object. Please check volumes of the solids.

Thank you very much for the reply. Do you have a suggestion how to best check the volumes wrt this issue? From visualisation, everything looks good.

From your reply I understand that you think this is not related to sth similar as in the quoted bug report? I am asking since we never had this sort of messages before using 10.6.p2 and 10.7.p1. and the geometry was apparently not changed.

If you’re making a G4IntersectionSolid, and you have a good idea of what the dimensions of the final result should be, then you should try to adjust the dimensions of the constituents so they don’t stick out very far.

It is difficult to figure out the reason of the warning from visualisation. Visualisation shows only the resulting solid, and not the solids that participate in the Boolean operation.

In reality such warning does not mean that there is a bug. It simply informs that all attempts to generate a random point on the surface of a Boolean solid have failed. Starting from 10.6 the number of the attempts to generate a random point has been reduced from 1M to 100K. This explains why you did not see this message before.

/vis/drawLogicalVolume shows the constituent parts.

Thank you all for your comments. The geometry appears to be ok after it was checked again, thanks to your hints. I will try to test changing back the condition of the check to 1M and see what happens.

Resetting the check to 1M, the exceptions disappear. We observe trial numbers not larger than 120k, so close to the new limit. Hence the geometries should be ok? I think so. It concernes really thin layers of material.