In my recent GEANT4 space application I am using G4Sphere to construct the atmosphere of Mars planet. For this application I build spheres with radius of the order of 3x10^3km. Running both versions GEANT4.5.0 and GEANT4.5.1.p01, when I define the sphere with a non-zero minimum radius, the geometry test run (/geometry/test/run) gives the following error message: Using a Rmin of 20*km: ********************************************** Geant4 version $Name: geant4-05-00 $ (13-Dec-2002) Copyright : Geant4 Collaboration ********************************************** /geometry/test/run GeomTest Error: SolidProblem DistanceToOut(p,v) = kInfinity for point inside Solid name = world_S Local position = 2.3142e+08 -2.886e+08 -7.4e+06 cm GeomTest Error: SolidProblem DistanceToOut(p,v) = kInfinity for point inside Solid name = world_S Local position = -2.3142e+08 -2.886e+08 -7.4e+06 cm [. . .] GeomTest Error: SolidProblem Solid has odd number of intersection points Solid name = world_S Local position = 2.886e+08 7.4e+06 0 cm GeomTest: no daughter volume extending outside mother detected. GeomTest: no overlapping daughters detected. ********************************************** And with version 4.5.1 using a Rmin = 0.005*km ********************************************** Geant4 version $Name: geant4-05-01-patch-01 $ (19-May-2003) Copyright : Geant4 Collaboration ********************************************** /geometry/test/run GeomTest Error: SolidProblem DistanceToOut(p,v) = kInfinity for point inside Solid name = world_S Local position = 2.3142e+08 -2.886e+08 -7.4e+06 cm GeomTest Error: SolidProblem DistanceToOut(p,v) = kInfinity for point inside Solid name = world_S Local position = -2.3142e+08 -2.886e+08 -7.4e+06 cm [. . .] GeomTest Error: SolidProblem Solid has odd number of intersection points Solid name = world_S Local position = 2.886e+08 7.4e+06 0 cm GeomTest: no daughter volume extending outside mother detected. GeomTest: no overlapping daughters detected. ********************************************** A similar error message appears if I define a G4Sphere with Dtheta equal to a fraction of Pi: Dtheta = pi/2: ********************************************** Geant4 version $Name: geant4-05-00 $ (13-Dec-2002) Copyright : Geant4 Collaboration ********************************************** /geometry/test/run GeomTest Error: SolidProblem Spurious entering intersection point Solid name = world_S Local position = -3.626e+08 0 -1e-10 cm GeomTest Error: SolidProblem Spurious exiting intersection point Solid name = world_S Local position = -3.626e+08 0 -1e-10 cm [. . .] GeomTest Error: SolidProblem Spurious exiting intersection point Solid name = world_S Local position = 3.7e+08 4.76837e-08 0 cm GeomTest: no daughter volume extending outside mother detected. GeomTest: no overlapping daughters detected. ********************************************** And with version 4.5.1 using the same Dtheta = pi/2, the error message is exactly the same. If I perform these tests within a cubic physicalWorld, the problem persists. These tests were performed in different Linux machines.
Hi, Can you send us the application (as simplified as possible) showing these messages? Cheers
Dear Vladimir, According to this problem reportstatus I have sent you a tar file with a simple version of the Geometry Problem application. In this tar you can find the main program, includes and source file, as well as the running outputs. For easy understanding of the output files I gave them names according to the sphere dimensions to change. So for example: G4Sphere_Rmin0km_Dphi2Pi_DThetaPi_p01.txt is the output for the case of a complete Sphere (min.radius=0km,DPhi=2Pi,DTheta=P1) Geant4.5.1.p01. This output gives no error as expected according my last report. Changing the Rmin to 5Km,and keeping Dphi and DTheta the output is: G4Sphere_Rmin5km_Dphi2Pi_DThetaPi_p01.txt -> gives error Changing the DPhi to Pi,and keeping Rmin(0km) and DTheta the output is: G4Sphere_Rmin0km_DphiPi_DThetaPi_p01.txt -> gives error Changing the DTheta to Pi/2,and keeping Dphi and Rmin the output is: G4Sphere_Rmin0km_Dphi2Pi_DThetaPi_2_p01.txt -> gives error I attached as well the wrl files for each case. In all these cases visualisation of the geometry is possible. The Physical Mother volume is a G4Box with size/2 =2*Rmax, to guarantee that the sphere is completely contained.
The problem can be avoided by using two spheres: (0,fRmax) and (0,fRmin) put inside each other, so the geometry consists: world/sphere1/sphere2. For one sphere (fRmin=5*km,fRmax) the problem arises at fRmax=(11.9-12)*km, when kCarTolerance/fRmax becomes smaller than 10^-16. It works for G4Tubs with the same fRmin and fRmax. It is numerical problem of geometry verification test and will be analysed later.
The problem formally can be fixed using recent tag: geomver-V05-02-00: GeometryTest run.mac ********************************************** Geant4 version $Name: geant4-05-02-ref-01 $ (27-June-2003) Copyright : Geant4 Collaboration ********************************************** Visualization Manager instantiating... Visualization Manager initialising... Registering graphics systems... Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) GAGTree (GAGTree) G4HepRepFile (HepRepFile) RayTracer (RayTracer) VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) No problem in the Atmosphere Sphere dimensions: (Rmin,Rmax)=(5,3700) (Sphi,Dphi)=(0,360) (SThe,DThe)=(0,180) /control/saveHistory /geometry/test/run GeomTest: no daughter volume extending outside mother detected. GeomTest: no overlapping daughters detected. Graphics systems deleted. Visualization Manager deleting... However, it means that new (essentially reduced) grid set is applied. Therefore the review of G4Sphere tarcking function code is under progress.