[cig-commits] r13269 - short/3D/PyLith/trunk/tests/2d/tri3

brad at geodynamics.org brad at geodynamics.org
Thu Nov 6 21:47:46 PST 2008


Author: brad
Date: 2008-11-06 21:47:46 -0800 (Thu, 06 Nov 2008)
New Revision: 13269

Modified:
   short/3D/PyLith/trunk/tests/2d/tri3/TestAxialPlaneStrain.py
Log:
More work on tests/2d/tri3.

Modified: short/3D/PyLith/trunk/tests/2d/tri3/TestAxialPlaneStrain.py
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/TestAxialPlaneStrain.py	2008-11-07 03:29:17 UTC (rev 13268)
+++ short/3D/PyLith/trunk/tests/2d/tri3/TestAxialPlaneStrain.py	2008-11-07 05:47:46 UTC (rev 13269)
@@ -116,6 +116,56 @@
     """
     Check solution (displacement) field.
     """
+    if self.reader is None:
+      return
+
+    data = self.reader.read("axialplanestrain_t0000000.vtk")
+
+    # Check cells
+    ncellsE = 84
+    ncornersE = 3
+    (ncells, ncorners) = data['cells'].shape
+    self.assertEqual(ncellsE, ncells)
+    self.assertEqual(ncornersE, ncorners)
+
+    # Check vertices
+    nverticesE = 54
+    spaceDimE = 3
+    vertices = data['vertices']
+    (nvertices, spaceDim) = vertices.shape
+    self.assertEqual(nverticesE, nvertices)
+    self.assertEqual(spaceDimE, spaceDim)
+
+    # Check displacement solution
+    tolerance = 1.0e-5
+    dispE = numpy.zeros( (nvertices, spaceDim), dtype=numpy.float64)
+    dispE[:,1] = -0.004 * vertices[:,1]
+
+    disp = data['vertex_fields']['displacements']
+
+    # Check x displacements
+    diff = numpy.abs(disp[:,0] - dispE[:,0])
+    okay = diff < tolerance
+    if numpy.sum(okay) != nvertices:
+      print "Displacement field: ",disp
+      self.assertEqual(nvertices, numpy.sum(okay))    
+    
+    # Check y displacements
+    mask = dispE[:,1] > 0.0
+    diff = mask * numpy.abs(1.0 - disp[:,1] / dispE[:,1]) + \
+        ~mask * numpy.abs(disp[:,1] - dispE[:,1])
+    okay = diff < tolerance
+    if numpy.sum(okay) != nvertices:
+      print "Displacement field: ",disp
+      self.assertEqual(nvertices, numpy.sum(okay))    
+
+    # Check z displacements
+    diff = numpy.abs(disp[:,2] - dispE[:,2])
+    okay = diff < tolerance
+    if numpy.sum(okay) != nvertices:
+      print "Displacement field: ",disp
+      self.assertEqual(nvertices, numpy.sum(okay))    
+    
     return
 
 



More information about the CIG-COMMITS mailing list