[MOAB-dev] r4334 - MOAB/trunk/tools/dagmc

bmsmith6 at wisc.edu bmsmith6 at wisc.edu
Tue Dec 7 12:28:05 CST 2010


Author: bmsmith
Date: 2010-12-07 12:28:05 -0600 (Tue, 07 Dec 2010)
New Revision: 4334

Modified:
   MOAB/trunk/tools/dagmc/DagMC.cpp
   MOAB/trunk/tools/dagmc/DagMC.hpp
   MOAB/trunk/tools/dagmc/test_geom.cc
Log:
-Rework ray_fire to increase robustness against numerical precision.
-Add a point_in_vol test based on ray firing.
-Add ability to tolerate small geometric overlaps to ray_fire and
point_in_vol.
-Instead of add_dist_tol and discard_dist_tol, now a numerical_precision
and overlap_thickness tolerance exist. See comments at the top of
DagMC.cpp.
-Added unit tests for special cases (node/edge intersections).



Modified: MOAB/trunk/tools/dagmc/DagMC.cpp
===================================================================
--- MOAB/trunk/tools/dagmc/DagMC.cpp	2010-12-07 17:21:27 UTC (rev 4333)
+++ MOAB/trunk/tools/dagmc/DagMC.cpp	2010-12-07 18:28:05 UTC (rev 4334)
@@ -57,6 +57,40 @@
 
 namespace moab {
 
+/* Tolerance Summary
+ 
+   Facet Tolerance:
+   Maximum distance between continuous solid model surface and faceted surface.
+     Performance:  increasing tolerance increased performance (fewer triangles)
+     Robustness:   should not be affected
+     Knowledge:    user must understand how coarser faceting influences accuracy
+                   of results
+ 
+   Overlap Thickness:
+   This tolerance is the maximum normal distance between two overlapping
+   volumes. This should be zero unless geometry has overlaps. User must provide
+   guidance about the magnitude of overlaps. Overlap thickness depends upon 
+   geometric model and must be small enough not to significantly affect physics.
+   For CAD models, 0.1 cm is suggested.
+     Performance: increasing tolerance decreases performance
+     Robustness:  increasing tolerance increases robustness
+     Knowledge:   user must have intuition of overlap thickness
+
+   Numerical Precision:
+   This tolerance is used for obb.intersect_ray, finding neighborhood of
+   adjacent triangle for edge/node intersections, and error in advancing
+   geometric position of particle (x' ~= x + d*u). When determining the
+   neighborhood of adjacent triangles for edge/node intersections, the facet
+   based model is expected to be watertight.
+     Performance: increasing tolerance decreases performance (but not very much)
+     Robustness:  increasing tolerance increases robustness
+     Knowledge:   user should not change this tolerance
+
+*/
+
+  const bool debug    = false; /* controls print statements */
+  const bool counting = false; /* controls counts of ray casts and pt_in_vols */
+
 DagMC *DagMC::instance_ = NULL;
 
 void DagMC::create_instance(Interface *mb_impl) 
@@ -84,18 +118,16 @@
   return result;
 }
 
-
-const bool debug = false;


More information about the moab-dev mailing list