[cig-commits] r20727 - in short/3D/PyLith/branches/v1.7-trunk: libsrc/pylith/feassemble unittests/libtests/feassemble/data

brad at geodynamics.org brad at geodynamics.org
Tue Sep 18 17:15:44 PDT 2012


Author: brad
Date: 2012-09-18 17:15:44 -0700 (Tue, 18 Sep 2012)
New Revision: 20727

Modified:
   short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/feassemble/GeometryTet3D.cc
   short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc
   short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc
   short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DLinear.cc
   short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DQuadratic.cc
   short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/Mesh3DLinear.py
   short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/Mesh3DQuadratic.py
Log:
Updated min cell size for tet (empirical for inscribed sphere).

Modified: short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/feassemble/GeometryTet3D.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/feassemble/GeometryTet3D.cc	2012-09-18 22:40:40 UTC (rev 20726)
+++ short/3D/PyLith/branches/v1.7-trunk/libsrc/pylith/feassemble/GeometryTet3D.cc	2012-09-19 00:15:44 UTC (rev 20727)
@@ -285,7 +285,7 @@
     faceArea(coordinatesCell, 3);
     
   const PylithScalar r = 3.0 * v / a;
-  const PylithScalar rwidth = 3.0*r; // based on empirical tests
+  const PylithScalar rwidth = 6.38*r; // based on empirical tests
   if (rwidth < minWidth) {
     minWidth = rwidth;
   } // if

Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc	2012-09-18 22:40:40 UTC (rev 20726)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc	2012-09-19 00:15:44 UTC (rev 20727)
@@ -43,7 +43,7 @@
 
 const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_dt =   1.00000000e-02;
 
-const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_dtStableExplicit =   3.41009417e-05;
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_dtStableExplicit =   1.80277564e-04;
 
 const PylithScalar pylith::feassemble::ElasticityExplicitData3DLinear::_gravityVec[] = {
   0.00000000e+00,  0.00000000e+00, -1.00000000e+08,

Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc	2012-09-18 22:40:40 UTC (rev 20726)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc	2012-09-19 00:15:44 UTC (rev 20727)
@@ -43,7 +43,7 @@
 
 const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_dt =   1.00000000e-02;
 
-const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_dtStableExplicit =   8.83634933e-05;
+const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_dtStableExplicit =   3.68555740e-04;
 
 const PylithScalar pylith::feassemble::ElasticityExplicitData3DQuadratic::_gravityVec[] = {
   0.00000000e+00,  0.00000000e+00, -1.00000000e+08,

Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DLinear.cc	2012-09-18 22:40:40 UTC (rev 20726)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DLinear.cc	2012-09-19 00:15:44 UTC (rev 20727)
@@ -43,7 +43,7 @@
 
 const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_dt =   1.00000000e-02;
 
-const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_dtStableExplicit =   3.41009417e-05;
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_dtStableExplicit =   1.80277564e-04;
 
 const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DLinear::_gravityVec[] = {
   0.00000000e+00,  0.00000000e+00, -1.00000000e+08,

Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DQuadratic.cc	2012-09-18 22:40:40 UTC (rev 20726)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DQuadratic.cc	2012-09-19 00:15:44 UTC (rev 20727)
@@ -43,7 +43,7 @@
 
 const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_dt =   1.00000000e-02;
 
-const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_dtStableExplicit =   8.83634933e-05;
+const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_dtStableExplicit =   3.68555740e-04;
 
 const PylithScalar pylith::feassemble::ElasticityExplicitGravData3DQuadratic::_gravityVec[] = {
   0.00000000e+00,  0.00000000e+00, -1.00000000e+08,

Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/Mesh3DLinear.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/Mesh3DLinear.py	2012-09-18 22:40:40 UTC (rev 20726)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/Mesh3DLinear.py	2012-09-19 00:15:44 UTC (rev 20727)
@@ -64,6 +64,14 @@
     v1 = self.vertices[1,:]
     v2 = self.vertices[2,:]
     v3 = self.vertices[3,:]
+
+    e01 = ((v0[0]-v1[0])**2 + (v0[1]-v1[1])**2 + (v0[2]-v1[2])**2)**0.5
+    e12 = ((v1[0]-v2[0])**2 + (v1[1]-v2[1])**2 + (v1[2]-v2[2])**2)**0.5
+    e20 = ((v2[0]-v0[0])**2 + (v2[1]-v0[1])**2 + (v2[2]-v0[2])**2)**0.5
+    e03 = ((v0[0]-v3[0])**2 + (v0[1]-v3[1])**2 + (v0[2]-v3[2])**2)**0.5
+    e13 = ((v1[0]-v3[0])**2 + (v1[1]-v3[1])**2 + (v1[2]-v3[2])**2)**0.5
+    e23 = ((v2[0]-v3[0])**2 + (v2[1]-v3[1])**2 + (v2[2]-v3[2])**2)**0.5
+
     vol = 1.0/6.0*numpy.linalg.det(numpy.array([[1.0, v0[0], v0[1], v0[2]],
                                                 [1.0, v1[0], v1[1], v1[2]],
                                                 [1.0, v2[0], v2[1], v2[2]],
@@ -83,7 +91,7 @@
 
     area = area012 + area013 + area123 + area203;
     r = 3.0 * vol / area
-    self.minCellWidth = r
+    self.minCellWidth = min(e01, e12, e20, e03, e13, e23, 6.38*r)
     return
   
 

Modified: short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/Mesh3DQuadratic.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/Mesh3DQuadratic.py	2012-09-18 22:40:40 UTC (rev 20726)
+++ short/3D/PyLith/branches/v1.7-trunk/unittests/libtests/feassemble/data/Mesh3DQuadratic.py	2012-09-19 00:15:44 UTC (rev 20727)
@@ -79,6 +79,13 @@
     v2 = self.vertices[2,:]
     v3 = self.vertices[3,:]
 
+    e01 = ((v0[0]-v1[0])**2 + (v0[1]-v1[1])**2 + (v0[2]-v1[2])**2)**0.5
+    e12 = ((v1[0]-v2[0])**2 + (v1[1]-v2[1])**2 + (v1[2]-v2[2])**2)**0.5
+    e20 = ((v2[0]-v0[0])**2 + (v2[1]-v0[1])**2 + (v2[2]-v0[2])**2)**0.5
+    e03 = ((v0[0]-v3[0])**2 + (v0[1]-v3[1])**2 + (v0[2]-v3[2])**2)**0.5
+    e13 = ((v1[0]-v3[0])**2 + (v1[1]-v3[1])**2 + (v1[2]-v3[2])**2)**0.5
+    e23 = ((v2[0]-v3[0])**2 + (v2[1]-v3[1])**2 + (v2[2]-v3[2])**2)**0.5
+
     vol = 1.0/6.0*numpy.linalg.det(numpy.array([[1.0, v0[0], v0[1], v0[2]],
                                                 [1.0, v1[0], v1[1], v1[2]],
                                                 [1.0, v2[0], v2[1], v2[2]],
@@ -98,7 +105,7 @@
 
     area = area012 + area013 + area123 + area203;
     r = 3.0 * vol / area
-    self.minCellWidth = r
+    self.minCellWidth = min(e01, e12, e20, e03, e13, e23, 6.38*r)
     return
   
 



More information about the CIG-COMMITS mailing list