[cig-commits] r13261 - in short/3D/PyLith/trunk: pylith/utils tests/2d/tri3
brad at geodynamics.org
brad at geodynamics.org
Tue Nov 4 21:26:20 PST 2008
Author: brad
Date: 2008-11-04 21:26:20 -0800 (Tue, 04 Nov 2008)
New Revision: 13261
Modified:
short/3D/PyLith/trunk/pylith/utils/VTKDataReader.py
short/3D/PyLith/trunk/tests/2d/tri3/TestAxialPlaneStrain.py
Log:
A little more work on full-scale testing.
Modified: short/3D/PyLith/trunk/pylith/utils/VTKDataReader.py
===================================================================
--- short/3D/PyLith/trunk/pylith/utils/VTKDataReader.py 2008-11-05 00:19:05 UTC (rev 13260)
+++ short/3D/PyLith/trunk/pylith/utils/VTKDataReader.py 2008-11-05 05:26:20 UTC (rev 13261)
@@ -43,7 +43,11 @@
def read(self, filename):
from enthought.tvtk.api import tvtk
reader = tvtk.UnstructuredGridReader()
- reader.file_name = "axialplanestrain-statevars-elastic_info.vtk"
+ reader.file_name = filename
+ reader.read_all_scalars = True
+ reader.read_all_vectors = True
+ reader.read_all_tensors = True
+ reader.read_all_fields = True
err = reader.update()
data = reader.get_output()
@@ -77,11 +81,25 @@
def _getVertexFields(self, data):
- return
+ fields = {}
+ ptdata = data.point_data
+ nfields = ptdata.number_of_arrays
+ for i in xrange(nfields):
+ name = ptdata.get_array_name(i)
+ field = ptdata.get_array(name).to_array()
+ fields[name] = field
+ return fields
def _getCellFields(self, data):
- return
+ fields = {}
+ cdata = data.cell_data
+ nfields = cdata.number_of_arrays
+ for i in xrange(nfields):
+ name = cdata.get_array_name(i)
+ field = cdata.get_array(name).to_array()
+ fields[name] = field
+ return fields
# End of file
Modified: short/3D/PyLith/trunk/tests/2d/tri3/TestAxialPlaneStrain.py
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/TestAxialPlaneStrain.py 2008-11-05 00:19:05 UTC (rev 13260)
+++ short/3D/PyLith/trunk/tests/2d/tri3/TestAxialPlaneStrain.py 2008-11-05 05:26:20 UTC (rev 13261)
@@ -16,6 +16,7 @@
## y-direction for 2-D box.
import unittest
+import numpy
from pylith.utils.VTKDataReader import has_vtk
from pylith.utils.VTKDataReader import VTKDataReader
@@ -80,8 +81,34 @@
self.assertEqual(nverticesE, nvertices)
self.assertEqual(spaceDimE, spaceDim)
- # Check displacement solution
-
+ # Check physical properties
+ tolerance = 1.0e-5
+ vsE = 3000.0
+ vpE = 5291.502622129181
+ densityE = 2500.0
+
+ # Lame's constant mu (shear modulus)
+ muE = densityE*vsE**2
+ diff = numpy.abs(1.0 - data['cell_fields']['mu']/muE)
+ okay = diff < tolerance
+ if numpy.sum(okay) != ncells:
+ print "Lame's constant mu: ",data['cell_fields']['mu']
+ self.assertEqual(ncells, numpy.sum(okay))
+
+ # Lame's constant lambda
+ lambdaE = densityE*vpE**2 - 2*muE
+ diff = numpy.abs(1.0 - data['cell_fields']['lambda']/lambdaE)
+ okay = diff < tolerance
+ if numpy.sum(okay) != ncells:
+ print "Lame's constant lambda: ",data['cell_fields']['lambda']
+ self.assertEqual(ncells, numpy.sum(okay))
+
+ # Density
+ diff = numpy.abs(1.0 - data['cell_fields']['density']/densityE)
+ okay = diff < tolerance
+ if numpy.sum(okay) != ncells:
+ print "Density: ",data['cell_fields']['density']
+ self.assertEqual(ncells, numpy.sum(okay))
return
More information about the CIG-COMMITS
mailing list