[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