usolids library
play

USolids Library Outline First usolids shapes were included in - PowerPoint PPT Presentation

USolids Library Outline First usolids shapes were included in release 10.0 Finishing implementation of UPolycone Adapting and including UMultiUnion shape in release 10.1 BETA New Test Suite for Shapes working with USolids and


  1. USolids Library Outline  First usolids shapes were included in release 10.0  Finishing implementation of UPolycone  Adapting and including UMultiUnion shape in release 10.1 BETA  New Test Suite for Shapes working with USolids and VecGeom  Ongoing: UGenericTrap, UExtrudedSolid and UParaboloid  Plans

  2. USolids shapes included in release 4.10.0. 1 0 0 0 8 0 0  Box 6 0 0 1 0 0 0 4 0 0 5 0 0  Tube 0 2 0 0 - 5 0 0  Cone 1 0 0 0 - 1 0 0 0 1 0 0 0 1 0 0 0 5 0 0 1 0 0 0 5 0 0 5 0 0 0 5 0 0 0 - 5 0 0 - 5 0 0 - 1 0 0 0  Orb - 1 0 0 0 0 0  Sphere  Trd  Tet  Polycone  GenericPolycone 1 0 0 0 5 0 0  Polyhedra 0 - 5 0 0 - 1 0 0 0 1 0 0 0 5 0 0 1 0 0 0 5 0 0 0 0 - 5 0 0 - 5 0 0 - 1 0 0 0 - 1 0 0 0 USolids shapes will be included in release 4.10.1.  Trap  GenericTrap  MultiUnion  ExtrudedSolid In order to use USolids in geant4 bridges were created for each solid. A compilation flag USE_USOLIDS=ON replaces Geant4 solids by Usolids one.

  3. Implementation of UPolycone. Polycone or Ordinary Polycone= composite shape constructed from sections:Tubs and Cons Main methods were done by Marek Gayer. Finishing the implementation : - Add missing methods : Visualization , GetPointOnSurface, Capacity, SurfaceArea,... - Review implementation of methods as DistanceToOut, SafetyFromInside,SafetyFromOutside (Implementation of Convexity and Safety were taking in account only the current section )

  4. Performance for reviewed UPolycone.

  5. SafetyFromInside() for UPolycone. Differences USolids-Geant4.

  6. SafetyFromOutside() for UPolycone. Difference USolids-Geant4.

  7. Scalability for SafetyFromOutside() for UPolycone.

  8. Scalability for SafetyFromInside() for UPolycone.

  9. Scalability for DistanceToOut() for UPolycone.

  10. UMultiUnion is included in 4.10.1 BETA New solid represented as a union of many solids using voxelization technique to optimize the speed. Can be used only with USolids shapes. - Finishing the implementation and integration in Geant4 Visualization, GetPointOnSurface, Capacity, SurfaceArea,... - Fixes in UMultiUnion, G4UMultiUnion and Uvoxelizer (wrong use of fTransform mainly) - UMultiUnion is included in G4GDML Reader/Writer - Creation of different tests

  11. UMultiUnion (Example of solid build using 10 Solids: Boxes, Trd, Tubs) Intersection of Ray with Surface

  12. UMultiUnion. Voxelisation studies(1). Test Case :regular structure 'Real transportation' example with geantinos With G4UMultiUnion or loop or Solids

  13. UMultiUnion. Voxelisation studies(2). Time for 125 Time for 1000 Ratio solids(sec) solids(sec) G4UMultiUnion 10.9 13.25 1.22 Loop of Placements 12.43 17.58 1.41 Ratio 1.14 1.33

  14. New Test Suite for USolids and VecGeom. Existing tests for shapes in different geometry packages: Geant4 tests Root tests Usolids tests - Unit tests CheckShape: -SBT - SBT(solid batch test) -ShapesDistances() -OpticalEscape - SurfaceChecker -ShapesSafety() -SBTperformance ( Comparison - OpticalEscape -ShapeNormal() Usolids, Root, Geant4 ) - SurfaceVisTest Possibility to test shape - testDistanceAccuracy.cc on Run Time … Extensive Testing Suite Shape Tester Unit tests SBTperformance Geant4+USolids+Root tests New 'X-Ray Scan' Test New Test Suite

  15. New Test Suite for USolids and VecGeom. Status.  New Test Suite is containing main tests from Geant4/ ROOT/ USolids  can be used on Run Time  includes new test : 'X-Ray scan'  almost complete, only unit tests are missing(ongoing)  can be used with USolids and VecGeom  batch mode with detailed report of results and errors (if any)  visualization mode : batch mode + graphic representation of results Example of error report : % SN: Wrong direction of Normal calculated by DistanceToOut (SN=name of test) DistanceToOut = -0.74878338060750782024 1 p=( 3.8581653989987083619 0.27877732826716883352 -1.7822375858116894509) v=(-0.43946230357072496586 0.49618175366120031988 0.74878338060750782024) ! only 5 errors of the same kind are reported by default, information about point p, direction v and wrong value

  16. New Test Suite for USolid. 'X-Ray Scan'. Test proposed by Andrei Ghetta Grid Rays Crossed_distance Grid Estimated Volume = Σ Crossed_distance* Area_of _sell Error = Analytic Volume- Estimated Volume Scan can be done for different angles in Theta and Phi

  17. New Test Suite for USolids and VecGeom. 'X-Ray Scan'. Shape drawn using ROOT option “LEGO1” plot. In a Lego plot the cell contents are drawn as 3-d boxes. The height of each box is proportional to the cell content. Cell content is the crossed length .

  18. New Test Suite for USolids and VecGeom. 'X-Ray Scan'. Scan every 24 degrees in phi(from 0 to 360)

  19. New Test Suite for USolids and VecGeom. 'X-Ray Scan'. Scan every 24 degrees in phi(from 0 to 360)

  20. New Test Suite for USolids and VecGeom. 'GetPointOnSurface'. UBox UTubs Number of Points was reduced for better Visualization

  21. New Test Suite for USolids and VecGeom. 'ShapeNormal' or 'Optical Escape'. point UBox(Rays) UTubs(Rays) Improved original “Optical Escape” with random reflection on the Surface: Better distribution of points on the corners UBox(Created points) Number of Points and Rays was reduced for better Visualization

  22. New Test Suite for USolids and VecGeom. Test 'Accuracy DistanceToIn'. P dir P_Surface Accuracy Distance ToIn =| DistanceToIn(P,dir) - |P-P_Surface| |

  23. New Test Suite for USolids and VecGeom. 'Accuracy DistanceToIn for UBox'. Order of value Order of value

  24. New Test Suite for USolids and VecGeom. 'Accuracy DistanceToIn for UTubs'. Order of value

  25. New Test Suite for USolids and VecGeom. Test 'Residual DistanceToIn/DistanceToOut'. (point1,- dmov dir) e d 2 d1 (point,dir) Residual = | dmove – (d1+d2) |

  26. New Test Suite for USolids and VecGeom. 'Residual DistanceToIn/DistanceToOut for UBox'. Order of value

  27. New Test Suite for Usolids and VecGeom. 'Residual DistanceToIn/DistanceToOut for UTubs'. Order of value

  28. New Test Suite for Usolids and VecGeom. 'SafetySphere'. point dist point Test : 1) SafetyFromInside(p) has to be 'safe' = any point situated within safety distance has to be 'Inside' or 'on Surface'. DistanceToOut(p,v) >= SafetyFromInside(p) 2) SafetyFromOutside(p) has to be 'safe' = any point situated within safety distance has to be 'Outside' or 'on Surface'. DistanceToIn(p,v) >= SafetyFromInside(p) This test is passed by all solids from USolids library

  29. Ongoing development: GenericTrap. Ongoing development: GenericTrap. First version of Generic Trap is implemented. Optimization is done for main methods. Main Improvements due to : Use of Bounding Box, better use of std::vectors Ongoing work on remaining methods SurfaceNormal(), SafetyFromInside() and including of precalculation of coefficients of equations. Improvements will be back ported to G4GenericTrap

  30. Ongoing development: ExtrudedSolid. First version of ExtrudedSolid based on Fast TessellatedSolid is implemented. Scalability studies show that this shape can be more optimized. Work in progress. Plot of scalability for DistanceToOut()

  31. New UParaboloid(On going, Sandro?). First shape that does not exist in Usolids, but Developed already in VecGeom with both vector and scalar implementation by Marilena. Implementation is almost finished, normal and tolerance are in implementation.

  32. Plans  Include remaining shapes: UTrap,UGenericTrap,UExtrudedSolid in December release  Implementation of missing shapes : CutTubs,Hyperboloid, Ellipsoid,EllipticalTbe, Elliptical Cone,Torus  Boolean operations : Union, Subtraction, Intersection  Creation of Comparison Solid for comparison of methods of two shapes during run time

Recommend


More recommend