Message: Overlaps between the solids of G4IntersectionSolid Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Overlaps between the solids of G4IntersectionSolid  

Forum: Geometry
Date: 30 Oct, 2013
From: <zhaodh@bao.ac.cn>

Hello,

I have built a structure consisting of 16 same solids. Each solid is a G4IntersectionSolid of G4Sphere and G4Box. And these 16 soilds are distributed on the same Sphere by rotation. The overlap check during the placement gives some informations about overlaps. But When I visualize with Qt I do not see any overlapps.

I don't know why. And I am not sure if I should go on ignoring the warning.

Please give me some suggestions. Thank you in advance.

D.H. Zhao

The part of corresponding program and the warning informations are as following:

/***********************************/
 the parameters
/***********************************/
    SpaceMirror= 3*mm;              /// !!!!!!!!!!

/// half size
    World_x=10.*0.5*m;
    World_y=10.*0.5*m;
    World_z=10.*0.5*m;

///mirror plane dimentions
    G4double factor = 1;
    Mirror_x=40.*0.5*mm/factor;
    Mirror_y=40.*0.5*mm/factor;
    Mirror_z=2.5*0.5*mm;   
    NMirrorXY= 2;           //  total mirror number is: (NMirrorXY*2)*2

/// global dimentions
    Radius = 4000.0*mm;  
    RadiusInner = Radius-Mirror_z;
    RadiusOuter = Radius+Mirror_z;
    Lfocus = Radius*0.5; 

/// arrange mirror array
    Theta = atan(Mirror_x/Radius);

/***********************************/
  SetupConstructions()
/***********************************/

// The experimental Hall--World
//
  G4Box* World_Box = new G4Box("World_Box",World_x,World_y,World_z);
  G4LogicalVolume* World_Log = new G4LogicalVolume(World_Box,Vacuum,"World_Log",0,0,0);
  G4VPhysicalVolume* World_Phy = new G4PVPlacement(0,G4ThreeVector(),World_Log,"World",0,false,0);

//the whole mirror--one piece

  G4Sphere* Mirror_Sphere = new G4Sphere("Mirror_Sphere", RadiusInner,RadiusOuter, 0, 360.*deg, 0, 0.45*deg); //0.50*deg );
  G4Box* Mirror_Box = new G4Box("Mirror_Box",Mirror_x, Mirror_y, Mirror_z*2);
  G4IntersectionSolid* Mirror_Solid = new G4IntersectionSolid("Sphere&&Box", Mirror_Sphere, Mirror_Box, 0, G4ThreeVector(0.,0., Radius) );
  G4LogicalVolume* Mirror_Log = new G4LogicalVolume(Mirror_Solid, MirrorMaterial,"Mirror_Log",0,0,0);

// The total 16 piece of mirrors
  G4int NoMirror=0;
  G4double Lx=0; G4double Ly=0;
  char MirrorName[20];

  for(int ix=0-NMirrorXY; ix<NMirrorXY+1; ++ix)
  for(int iy=0-NMirrorXY; iy<NMirrorXY+1; ++iy)
  {
        sprintf(MirrorName, "Mirror%d%d", ix,iy);
        G4RotationMatrix* Rot = new G4RotationMatrix;         

        //when coordinate X>0, ix<0; when coordinate Y>0, iy>0;
        if(ix>0)          Lx= (ix-0.5)*SpaceMirror+(2*ix-1)*Radius*Theta;
        if(ix<0)     Lx= (ix+0.5)*SpaceMirror+(2*ix+1)*Radius*Theta;

        if(iy>0)          Ly= (iy-0.5)*SpaceMirror+(2*iy-1)*Radius*Theta;
        if(iy<0)     Ly= (iy+0.5)*SpaceMirror+(2*iy+1)*Radius*Theta;

        Rot->rotateX(Ly/Radius);          Rot->rotateY(Lx/Radius);

        if(ix!=0&&iy!=0)
        {   ///G4cout<<"Mirror_Phy "<<NoMirror<<", ("<<ix<<", "<<iy<<"): "<<"Rot->rotateX("<<Ly/Radius*180./acos(-1.)<<"), Rot->rotateY("<<Lx/Radius*180./acos(-1.)<<")"<<G4endl;
            G4VPhysicalVolume* Mirror_Phy = new G4PVPlacement(0,G4ThreeVector(0, 0, 0-Radius), Mirror_Log, MirrorName, World_Log,false,NoMirror, true);
            Mirror_Phy->SetRotation(Rot);
            NoMirror +=1;}
  }

/***********************************/
	The warning of Overlaps
/***********************************/

Checking overlaps for volume PoreInMirror ... OK! 
Checking overlaps for volume Mirror-2-2 ... OK! 
Checking overlaps for volume Mirror-2-1 ... OK! 
Checking overlaps for volume Mirror-21 ... OK! 
Checking overlaps for volume Mirror-22 ... OK! 
Checking overlaps for volume Mirror-1-2 ... OK! 
Checking overlaps for volume Mirror-1-1 ... OK! 
Checking overlaps for volume Mirror-11 ... 
-------- WWWW ------- G4Exception-START -------- WWWW -------
*** G4Exception : GeomVol1002
      issued by : G4PVPlacement::CheckOverlaps()
Overlap with volume already placed !
          Overlap is detected for volume Mirror-11
          with Mirror-1-1 volume's
          local point (-12.0897,1.50445,4000.87), overlapping by at least: 363.86 um 
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------

Checking overlaps for volume Mirror-12 ... 
-------- WWWW ------- G4Exception-START -------- WWWW -------
*** G4Exception : GeomVol1002
      issued by : G4PVPlacement::CheckOverlaps()
Overlap with volume already placed !
          Overlap is detected for volume Mirror-12
          with Mirror-11 volume's
          local point (-1.49326,-6.85066,3998.79), overlapping by at least: 48.8377 um 
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------

Checking overlaps for volume Mirror1-2 ... 
-------- WWWW ------- G4Exception-START -------- WWWW -------
*** G4Exception : GeomVol1002
      issued by : G4PVPlacement::CheckOverlaps()
Overlap with volume already placed !
          Overlap is detected for volume Mirror1-2
          with Mirror-11 volume's
          local point (-17.527,-1.50347,4000.66), overlapping by at least: 555.463 um 
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------

Checking overlaps for volume Mirror1-1 ... 
-------- WWWW ------- G4Exception-START -------- WWWW -------
*** G4Exception : GeomVol1002
      issued by : G4PVPlacement::CheckOverlaps()
Overlap with volume already placed !
          Overlap is detected for volume Mirror1-1
          with Mirror-1-1 volume's
          local point (-1.49998,5.20199,4000.04), overlapping by at least: 1.20434 mm 
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------

Checking overlaps for volume Mirror11 ... 
-------- WWWW ------- G4Exception-START -------- WWWW -------
*** G4Exception : GeomVol1002
      issued by : G4PVPlacement::CheckOverlaps()
Overlap with volume already placed !
          Overlap is detected for volume Mirror11
          with Mirror-1-1 volume's
          local point (-13.8153,1.49669,3999.41), overlapping by at least: 687.85 um 
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------

Checking overlaps for volume Mirror12 ... 
-------- WWWW ------- G4Exception-START -------- WWWW -------
*** G4Exception : GeomVol1002
      issued by : G4PVPlacement::CheckOverlaps()
Overlap with volume already placed !
          Overlap is detected for volume Mirror12
          with Mirror11 volume's
          local point (4.00136,-1.50353,4000.74), overlapping by at least: 508.663 um 
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------

Checking overlaps for volume Mirror2-2 ... 
-------- WWWW ------- G4Exception-START -------- WWWW -------
*** G4Exception : GeomVol1002
      issued by : G4PVPlacement::CheckOverlaps()
Overlap with volume already placed !
          Overlap is detected for volume Mirror2-2
          with Mirror1-1 volume's
          local point (1.49722,12.7654,3999.53), overlapping by at least: 798.818 um 
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------

Checking overlaps for volume Mirror2-1 ... 
-------- WWWW ------- G4Exception-START -------- WWWW -------
*** G4Exception : GeomVol1002
      issued by : G4PVPlacement::CheckOverlaps()
Overlap with volume already placed !
          Overlap is detected for volume Mirror2-1
          with Mirror1-1 volume's
          local point (14.1697,1.4943,3998.97), overlapping by at least: 243.178 um 
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------

Checking overlaps for volume Mirror21 ... 
-------- WWWW ------- G4Exception-START -------- WWWW -------
*** G4Exception : GeomVol1002
      issued by : G4PVPlacement::CheckOverlaps()
Overlap with volume already placed !
          Overlap is detected for volume Mirror21
          with Mirror-1-1 volume's
          local point (-15.9141,1.49437,3998.97), overlapping by at least: 252.986 um 
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------

Checking overlaps for volume Mirror22 ... 
-------- WWWW ------- G4Exception-START -------- WWWW -------
*** G4Exception : GeomVol1002
      issued by : G4PVPlacement::CheckOverlaps()
Overlap with volume already placed !
          Overlap is detected for volume Mirror22
          with Mirror-1-1 volume's
          local point (-17.5763,1.49523,3999.12), overlapping by at least: 410.688 um 
*** This is just a warning message. ***
-------- WWWW -------- G4Exception-END --------- WWWW -------

 Add Message Add Message
to: "Overlaps between the solids of G4IntersectionSolid "

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]