Bug #1039
G4TessellatedSolid Problem
100%
Description
The tessellated solids sometimes give this error,
*** G4Exception : UnknownInsideOutside issued by : G4TessellatedSolid::Inside() Cannot determine whether point is inside or outside volume! *** This is just a warning message.
Found out Why and What we can do about it?
- It seems that this is an issue in the CAD models where the objects are not being fully enclosed into a volume. i.e. there is a small hole in the object somewhere.
Updated by Rogers, Chris almost 11 years ago
- Assignee changed from Littlefield, Matthew to Bayes, Ryan
Updated by Rogers, Chris almost 11 years ago
Ryan, could you have a look at this? I think you have Geant4 experience so you may be able to help...
Updated by Bayes, Ryan almost 11 years ago
I am looking into the problem. I think I remember seeing something similar in the past.
Rogers, Chris wrote:
Ryan, could you have a look at this? I think you have Geant4 experience so you may be able to help...
Updated by Littlefield, Matthew almost 11 years ago
Hmm, I've been trying to recreate the inside outside problem as well and a geometry where this happened before it hasn't happened? Could this have been solved in the new G4 update?
Updated by Littlefield, Matthew almost 11 years ago
Oh wait I'v made a mistake will update shortly.
Updated by Littlefield, Matthew almost 11 years ago
OK, If you download the latest geometry off of the CDB and run the simulation on that you should be able to recreate the error. I'm seeing it now, I had to make a couple of changes to the handling software because of other bugs I didn't spot before so best to update your branch from the maus/merge branch before you download. :-)
Updated by Bayes, Ryan almost 11 years ago
I allowed the simulation to run with the warning using the current CDB geometry.
As reported the code just outputs.
- G4Exception : UnknownInsideOutside
issued by : G4TessellatedSolid::Inside()
Cannot determine whether point is inside or outside volume! - This is just a warning message.
repeatedly until the end when there is a message
Setting the phase ..
Made 2 attempts to phase 4 cavities with 2 remaining
Traceback (most recent call last):
File "./simulate_mice.py", line 54, in <module>
run()
File "./simulate_mice.py", line 51, in run
MAUS.Go(my_input, my_map, MAUS.ReducePyDoNothing(), my_output, datacards)
File "/data/neutrino02/rbayes/MICE/devel_maus/maus/src/common_py/Go.py", line 108, in init
maus_cpp.globals.birth(json.dumps(json_config_dictionary))
RuntimeError: Failed to phase cavities at FieldPhaser::PhaseCavities
The G4Tessellated solid error is given because the G4TessellatedSolid::Inside() method needs to test whether the test point is inside the solid more than once to get a vector normal to the solid surface and iterative tests do not converge (I think). The authors admit that this code is over-engineered (spit and duct tape came up, I believe), but the code is simple enough that it is unlikely that there is a bug.
New problem is why does the error appear in the FieldPhaser?
Updated by Rogers, Chris almost 11 years ago
Interesting - it should not have any cavities at all.
Made 2 attempts to phase 4 cavities with 2 remaining
Sounds like somehow it sees 4 cavities? There are no cavities in StepIV...
Updated by Rogers, Chris almost 11 years ago
I am trying to run the example and so far, after 6 minutes running, my log file has 560 Mb of G4Tessellated error. This is not acceptable.
Updated by Bayes, Ryan over 10 years ago
Jason provided a gdml file of a simplified object translated from CAD. When translated to MAUS modules and used as the geometry in a MAUS simulation the warning was reproduced. The conclusion is that the problem was not associated with a complicated geometry.
The problem was investigated by running raw gdml files through an example gdml reader provided in geant4.9.6. The error was not reproduced in the toy simulation. Conclusion was that the error was not in the production of the gdml, so it must have been in the software in MAUS somewhere. It was clearly not in the translation from GDML to MAUS modules or the translation from MAUS modules to G4Solids ... no information was lost going from gdml to G4Solids based on some judicious output statements.
Problem is solved by switching to geant4.9.5. Building MAUS v0.5.2 with geant4.9.5 and making no other changes I was able to run the CAD derived geometry with no G4TessellatedSolid warnings.
Updated by Bayes, Ryan over 10 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
Updated by Rajaram, Durga about 10 years ago
- Target version changed from Future MAUS release to MAUS-v0.5.5