[cig-commits] r7272 - in short/3D/PyLith/trunk: . unittests/libtests/faults unittests/libtests/faults/data

brad at geodynamics.org brad at geodynamics.org
Fri Jun 15 15:49:16 PDT 2007


Author: brad
Date: 2007-06-15 15:49:16 -0700 (Fri, 15 Jun 2007)
New Revision: 7272

Added:
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4e.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4e.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4e.mesh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4e_finalslip.spatialdb
   short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4e_peakrate.spatialdb
   short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4e_sliptime.spatialdb
Modified:
   short/3D/PyLith/trunk/TODO
   short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/Makefile.am
Log:
Added unit tests for multiple cohesive cells in tet4 mesh. No bugs found.

Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO	2007-06-15 21:34:57 UTC (rev 7271)
+++ short/3D/PyLith/trunk/TODO	2007-06-15 22:49:16 UTC (rev 7272)
@@ -1,16 +1,26 @@
 ======================================================================
 CURRENT ISSUES
 ======================================================================
-  creation of cohesive cells for hex8 meshes
-  tests/1d/line3/dislocation.cfg [CHACO]
-  tests/3d/tet4/shearelasticstrain.cfg [SIEVE INDEXING AND CONSTRAINTS]
-    Note: ordering the Dirichlet BC so that the constrainted DOF are in 
-          order is a workaround.
 
-  VTK output
-    zero out values at Lagrange constraint vertices
-    make 3-component displacements default even for 1-D and 2-D meshes
+  1. creation of cohesive cells for hex8 meshes
+     [MATT]
 
+  2. tests/3d/tet4/shearelasticstrain.cfg [SIEVE INDEXING AND CONSTRAINTS]
+     Note: ordering the Dirichlet BC so that the constrainted DOF are in 
+           order is a workaround.
+     [MATT]
+
+  3. VTK output
+     zero out values at Lagrange constraint vertices
+     make 3-component displacements default even for 1-D and 2-D meshes
+     [MATT] 
+    
+  4. tests/1d/line3/dislocation.cfg [CHACO]
+     [MATT]
+
+
+Charles is debugging Maxwell viscoelastic model.
+  
 ======================================================================
 MAIN PRIORITIES (Brad)
 ======================================================================

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am	2007-06-15 21:34:57 UTC (rev 7271)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am	2007-06-15 22:49:16 UTC (rev 7272)
@@ -32,6 +32,7 @@
 	TestFaultCohesiveKinQuad4.cc \
 	TestFaultCohesiveKinQuad4e.cc \
 	TestFaultCohesiveKinTet4.cc \
+	TestFaultCohesiveKinTet4e.cc \
 	TestFaultCohesiveKinHex8.cc \
 	test_faults.cc
 
@@ -47,6 +48,7 @@
 	TestFaultCohesiveKinQuad4.hh \
 	TestFaultCohesiveKinQuad4e.hh \
 	TestFaultCohesiveKinTet4.hh \
+	TestFaultCohesiveKinTet4e.hh \
 	TestFaultCohesiveKinHex8.hh
 
 # Source files associated with testing data
@@ -84,6 +86,7 @@
 	data/CohesiveKinDataQuad4.cc \
 	data/CohesiveKinDataQuad4e.cc \
 	data/CohesiveKinDataTet4.cc \
+	data/CohesiveKinDataTet4e.cc \
 	data/CohesiveKinDataHex8.cc
 
 noinst_HEADERS += \
@@ -120,6 +123,7 @@
 	data/CohesiveKinDataQuad4.hh \
 	data/CohesiveKinDataQuad4e.hh \
 	data/CohesiveKinDataTet4.hh \
+	data/CohesiveKinDataTet4e.hh \
 	data/CohesiveKinDataHex8.hh
 
 AM_CPPFLAGS = $(PETSC_SIEVE_FLAGS) $(PETSC_INCLUDE)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc	2007-06-15 21:34:57 UTC (rev 7271)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc	2007-06-15 22:49:16 UTC (rev 7272)
@@ -287,8 +287,8 @@
   for (int iRow=0; iRow < nrows; ++iRow)
     for (int iCol=0; iCol < ncols; ++iCol) {
       const int index = ncols*iRow+iCol;
+#if 0 // DEBUGGING
       if (fabs(valsE[index]-vals[index]) > tolerance)
-#if 0 // DEBUGGING
 	std::cout << "ERROR: iRow: " << iRow << ", iCol: " << iCol
 		  << "valE: " << valsE[index]
 		  << ", val: " << vals[index]

Added: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4e.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4e.cc	2007-06-15 21:34:57 UTC (rev 7271)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4e.cc	2007-06-15 22:49:16 UTC (rev 7272)
@@ -0,0 +1,39 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestFaultCohesiveKinTet4e.hh" // Implementation of class methods
+
+#include "data/CohesiveKinDataTet4e.hh" // USES CohesiveKinDataTet4e
+
+#include "pylith/feassemble/Quadrature2Din3D.hh" // USES Quadrature2Din3D
+#include "pylith/feassemble/GeometryTri3D.hh" // USES GeometryTri3D
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::faults::TestFaultCohesiveKinTet4e );
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::faults::TestFaultCohesiveKinTet4e::setUp(void)
+{ // setUp
+  TestFaultCohesiveKin::setUp();
+  _data = new CohesiveKinDataTet4e();
+  _quadrature = new feassemble::Quadrature2Din3D();
+  CPPUNIT_ASSERT(0 != _quadrature);
+  feassemble::GeometryTri3D geometry;
+  _quadrature->refGeometry(&geometry);
+} // setUp
+
+
+// End of file 

Added: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4e.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4e.hh	2007-06-15 21:34:57 UTC (rev 7271)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinTet4e.hh	2007-06-15 22:49:16 UTC (rev 7272)
@@ -0,0 +1,57 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/faults/TestFaultCohesiveKinTet4e.hh
+ *
+ * @brief C++ TestFaultCohesiveKinTet4e object.
+ *
+ * C++ unit testing for FaultCohesiveKin for mesh with 3-D tetrahedral cells.
+ */
+
+#if !defined(pylith_faults_testfaultcohesivekintet4e_hh)
+#define pylith_faults_testfaultcohesivekintet4e_hh
+
+#include "TestFaultCohesiveKin.hh" // ISA TestFaultCohesiveKin
+
+/// Namespace for pylith package
+namespace pylith {
+  namespace faults {
+    class TestFaultCohesiveKinTet4e;
+  } // bc
+} // pylith
+
+/// C++ unit testing for FaultCohesiveKin for mesh with 3-D tetrahedral cells.
+class pylith::faults::TestFaultCohesiveKinTet4e : public TestFaultCohesiveKin
+{ // class TestFaultCohesiveKinTet4e
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestFaultCohesiveKinTet4e );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestFaultCohesiveKinTet4e
+
+#endif // pylith_faults_testfaultcohesivetet4e_hh
+
+
+// End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc	2007-06-15 21:34:57 UTC (rev 7271)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc	2007-06-15 22:49:16 UTC (rev 7272)
@@ -12,117 +12,124 @@
 
 /* Original mesh
  *
- * Cells are 0-1, vertices are 2-6.
+ * Cells are 0-3, vertices are 4-8.
  *
- * 2   3,4,5  6
+ * 4   5,6,7  8
  *
  *     ^^^^^ Face in x-y plane
  *
  * After adding cohesive elements
  *
- * Cells are 0-1,10, vertices are 2-9.
+ * Cells are 0-3,18,19, vertices are 4-17.
  *
- * 2   3,4,5  7,9,11   6
- *             8,10,12
+ * 4   5,6,7  10,12,14   8
+ *            11,13,15
  *     ^^^^^^^^^^^^ Cohesive element in x-y plane.
  */
 
-#include "CohesiveKinDataTet4.hh"
+#include "CohesiveKinDataTet4e.hh"
 
-const char* pylith::faults::CohesiveKinDataTet4::_meshFilename =
-  "data/tet4.mesh";
+const char* pylith::faults::CohesiveKinDataTet4e::_meshFilename =
+  "data/tet4e.mesh";
 
-const int pylith::faults::CohesiveKinDataTet4::_spaceDim = 3;
+const int pylith::faults::CohesiveKinDataTet4e::_spaceDim = 3;
 
-const int pylith::faults::CohesiveKinDataTet4::_cellDim = 2;
+const int pylith::faults::CohesiveKinDataTet4e::_cellDim = 2;
 
-const int pylith::faults::CohesiveKinDataTet4::_numBasis = 3;
+const int pylith::faults::CohesiveKinDataTet4e::_numBasis = 3;
 
-const int pylith::faults::CohesiveKinDataTet4::_numQuadPts = 1;
+const int pylith::faults::CohesiveKinDataTet4e::_numQuadPts = 1;
 
-const double pylith::faults::CohesiveKinDataTet4::_quadPts[] = {
+const double pylith::faults::CohesiveKinDataTet4e::_quadPts[] = {
   3.33333333e-01,  3.33333333e-01,
 };
 
-const double pylith::faults::CohesiveKinDataTet4::_quadWts[] = {
+const double pylith::faults::CohesiveKinDataTet4e::_quadWts[] = {
   5.00000000e-01,
 };
 
-const double pylith::faults::CohesiveKinDataTet4::_basis[] = {
+const double pylith::faults::CohesiveKinDataTet4e::_basis[] = {
   3.33333333e-01,  3.33333333e-01,
   3.33333333e-01,};
 
-const double pylith::faults::CohesiveKinDataTet4::_basisDeriv[] = {
+const double pylith::faults::CohesiveKinDataTet4e::_basisDeriv[] = {
  -1.00000000e+00, -1.00000000e+00,
   1.00000000e+00,  0.00000000e+00,
   0.00000000e+00,  1.00000000e+00,
 };
 
-const double pylith::faults::CohesiveKinDataTet4::_verticesRef[] = {
+const double pylith::faults::CohesiveKinDataTet4e::_verticesRef[] = {
  -1.00000000e+00, -1.00000000e+00,
   1.00000000e+00, -1.00000000e+00,
  -1.00000000e+00,  1.00000000e+00,
 };
 
-const int pylith::faults::CohesiveKinDataTet4::_id = 10;
+const int pylith::faults::CohesiveKinDataTet4e::_id = 10;
 
-const char* pylith::faults::CohesiveKinDataTet4::_label = "fault";
+const char* pylith::faults::CohesiveKinDataTet4e::_label = "fault";
 
-const char* pylith::faults::CohesiveKinDataTet4::_finalSlipFilename = 
-  "data/tet4_finalslip.spatialdb";
+const char* pylith::faults::CohesiveKinDataTet4e::_finalSlipFilename = 
+  "data/tet4e_finalslip.spatialdb";
 
-const char* pylith::faults::CohesiveKinDataTet4::_slipTimeFilename = 
-  "data/tet4_sliptime.spatialdb";
+const char* pylith::faults::CohesiveKinDataTet4e::_slipTimeFilename = 
+  "data/tet4e_sliptime.spatialdb";
 
-const char* pylith::faults::CohesiveKinDataTet4::_peakRateFilename = 
-  "data/tet4_peakrate.spatialdb";
+const char* pylith::faults::CohesiveKinDataTet4e::_peakRateFilename = 
+  "data/tet4e_peakrate.spatialdb";
 
-const double pylith::faults::CohesiveKinDataTet4::_fieldT[] = {
-  7.1, 8.1, 9.1,
-  7.2, 8.2, 9.2,
-  7.3, 8.3, 9.3,
-  7.4, 8.4, 9.4,
-  7.5, 8.5, 9.5,
-  7.6, 8.6, 9.6,
-  7.7, 8.7, 9.7,
-  7.8, 8.8, 9.8,
-  7.9, 8.9, 9.9,
-  7.0, 8.0, 9.0,
-  7.1, 8.1, 9.1,
+const double pylith::faults::CohesiveKinDataTet4e::_fieldT[] = {
+  3.1, 5.1, 7.1,
+  3.2, 5.2, 7.2,
+  3.3, 5.3, 7.3,
+  3.4, 5.4, 7.4,
+  3.5, 5.5, 7.5,
+  3.6, 5.6, 7.6,
+  3.7, 5.7, 7.7,
+  3.8, 5.8, 7.8,
+  3.9, 5.9, 7.9,
+  3.0, 5.0, 7.0,
+  4.1, 6.1, 8.1,
+  4.2, 6.2, 8.2,
+  4.3, 6.3, 8.3,
+  4.4, 6.4, 8.4,
 };
 
-const int pylith::faults::CohesiveKinDataTet4::_numConstraintVert = 3;
+const int pylith::faults::CohesiveKinDataTet4e::_numConstraintVert = 4;
 
-const double pylith::faults::CohesiveKinDataTet4::_orientation[] = {
+const double pylith::faults::CohesiveKinDataTet4e::_orientation[] = {
   0.0, +1.0, 0.0,    0.0, 0.0, +1.0,    +1.0, 0.0, 0.0,
   0.0, +1.0, 0.0,    0.0, 0.0, +1.0,    +1.0, 0.0, 0.0,
   0.0, +1.0, 0.0,    0.0, 0.0, +1.0,    +1.0, 0.0, 0.0,
+  0.0, +1.0, 0.0,    0.0, 0.0, +1.0,    +1.0, 0.0, 0.0,
 };
 
-const int pylith::faults::CohesiveKinDataTet4::_constraintVertices[] = {
-  8, 10, 12
+const int pylith::faults::CohesiveKinDataTet4e::_constraintVertices[] = {
+  11, 13, 15, 17
 };
 
-const int pylith::faults::CohesiveKinDataTet4::_constraintCells[] = {
-  13, 13, 13
+const int pylith::faults::CohesiveKinDataTet4e::_constraintCells[] = {
+  18, 18, 18, 19
 };
 
-const double pylith::faults::CohesiveKinDataTet4::_valsResidual[] = {
+const double pylith::faults::CohesiveKinDataTet4e::_valsResidual[] = {
   0.0,  0.0,  0.0,
   0.0,  0.0,  0.0,
   0.0,  0.0,  0.0,
   0.0,  0.0,  0.0,
   0.0,  0.0,  0.0,
   0.0,  0.0,  0.0,
-  1.07974939836, -0.32861938211, 0.04694562602, // 8
   0.0,  0.0,  0.0,
-  1.00381374723, -0.33460458241, 0.08365114560, // 10
+  1.07974939836, -0.32861938211, 0.04694562602, // 11
   0.0,  0.0,  0.0,
-  0.90493237602, -0.32577565537, 0.10859188512, // 12
+  1.00381374723, -0.33460458241, 0.08365114560, // 13
+  0.0,  0.0,  0.0,
+  0.90493237602, -0.32577565537, 0.10859188512, // 15
+  0.0, 0.0, 0.0,
+  0.78469841324, -0.30180708202, 0.12072283281, // 17
 };
 
-const double pylith::faults::CohesiveKinDataTet4::_valsJacobian[] = {
-  0.0, 0.0, 0.0, // 2x
+const double pylith::faults::CohesiveKinDataTet4e::_valsJacobian[] = {
+  0.0, 0.0, 0.0, // 4x
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
@@ -133,10 +140,10 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 2y
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 4y
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
@@ -144,73 +151,69 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 2z
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 4z
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 3x
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0,-1.0, // 8
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 3y
+  0.0, 0.0, 0.0, // 5x
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 8
   0.0, 0.0, 0.0,
+  0.0, 0.0,-1.0, // 11
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 3z
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 5y
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,-1.0, 0.0, // 8
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 4x
+ -1.0, 0.0, 0.0, // 11
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 5z
   0.0, 0.0, 0.0,
-  0.0, 0.0,-1.0, // 10
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 4y
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0,-1.0, 0.0, // 11
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 10
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 4z
+  0.0, 0.0, 0.0, // 6x
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
@@ -218,43 +221,41 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,-1.0, 0.0, // 10
   0.0, 0.0, 0.0,
+  0.0, 0.0,-1.0, // 13
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 5x
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 6y
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0,-1.0, // 12
-  0.0, 0.0, 0.0, // 5y
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+ -1.0, 0.0, 0.0, // 13
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 6z
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 12
-  0.0, 0.0, 0.0, // 5z
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0,-1.0, 0.0, // 13
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,-1.0, 0.0, // 12
-  0.0, 0.0, 0.0, // 6x
+  0.0, 0.0, 0.0, // 7x
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
@@ -265,9 +266,10 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 6y
+  0.0, 0.0,-1.0, // 15
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 7y
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
@@ -276,95 +278,87 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 6z
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+ -1.0, 0.0, 0.0, // 15
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 7z
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 7x
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0,-1.0, 0.0, // 15
   0.0, 0.0, 0.0,
-  0.0, 0.0,+1.0, // 8
   0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 8x
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 7y
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 8
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 7z
+  0.0, 0.0,-1.0, // 17
+  0.0, 0.0, 0.0, // 8y
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,+1.0, 0.0, // 8
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 8x
-  0.0,-1.0, 0.0, // 3
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,+1.0, 0.0, // 7
+ -1.0, 0.0, 0.0, // 17
+  0.0, 0.0, 0.0, // 8z
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 8y
-  0.0, 0.0,-1.0, // 3
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0,+1.0, // 7
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0,-1.0, 0.0, // 17
+  0.0, 0.0, 0.0, // 9x
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 8z
- -1.0, 0.0, 0.0, // 3
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 7
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 9x
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 9y
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0,+1.0, // 10
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0, // 9y
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
@@ -372,9 +366,7 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 10
   0.0, 0.0, 0.0,
-  0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 9z
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
@@ -383,111 +375,351 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,+1.0, 0.0, // 10
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 10x
   0.0, 0.0, 0.0,
-  0.0,-1.0, 0.0, // 4
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,+1.0, 0.0, // 9
   0.0, 0.0, 0.0,
+  0.0, 0.0,+1.0, // 11
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 10y
   0.0, 0.0, 0.0,
-  0.0, 0.0,-1.0, // 4
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0,+1.0, // 9
   0.0, 0.0, 0.0,
+ +1.0, 0.0, 0.0, // 11
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 10z
   0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 4
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 9
   0.0, 0.0, 0.0,
+  0.0,+1.0, 0.0, // 11
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 11x
+  0.0,-1.0, 0.0, // 5
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0,+1.0, 0.0, // 10
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0,+1.0, // 12
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 11y
+  0.0, 0.0,-1.0, // 5
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+  0.0, 0.0,+1.0, // 10
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 12
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 11z
+ -1.0, 0.0, 0.0, // 5
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
+ +1.0, 0.0, 0.0, // 10
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,+1.0, 0.0, // 12
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 12x
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,-1.0, 0.0, // 5
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,+1.0, 0.0, // 11
   0.0, 0.0, 0.0,
+  0.0, 0.0,+1.0, // 13
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 12y
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0,-1.0, // 5
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0,+1.0, // 11
   0.0, 0.0, 0.0,
+ +1.0, 0.0, 0.0, // 13
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 12z
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 5
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 11
   0.0, 0.0, 0.0,
+  0.0,+1.0, 0.0, // 13
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 13x
+  0.0, 0.0, 0.0,
+  0.0,-1.0, 0.0, // 6
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0,+1.0, 0.0, // 12
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 13y
+  0.0, 0.0, 0.0,
+  0.0, 0.0,-1.0, // 6
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0,+1.0, // 12
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 13z
+  0.0, 0.0, 0.0,
+ -1.0, 0.0, 0.0, // 6
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+ +1.0, 0.0, 0.0, // 12
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 14x
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0,+1.0, // 15
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 14y
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+ +1.0, 0.0, 0.0, // 15
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 14z
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0,+1.0, 0.0, // 15
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 15x
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0,-1.0, 0.0, // 7
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0,+1.0, 0.0, // 14
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 15y
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0,-1.0, // 7
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0,+1.0, // 14
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 15z
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+ -1.0, 0.0, 0.0, // 7
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+ +1.0, 0.0, 0.0, // 14
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 16x
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0,+1.0, // 17
+  0.0, 0.0, 0.0, // 16y
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+ +1.0, 0.0, 0.0, // 17
+  0.0, 0.0, 0.0, // 16z
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0,+1.0, 0.0, // 17
+  0.0, 0.0, 0.0, // 17x
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0,-1.0, 0.0, // 8
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0,+1.0, 0.0, // 16
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 17y
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0,-1.0, // 8
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0,+1.0, // 16
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 17z
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+ -1.0, 0.0, 0.0, // 8
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+ +1.0, 0.0, 0.0, // 16
+  0.0, 0.0, 0.0,
 };
 
-pylith::faults::CohesiveKinDataTet4::CohesiveKinDataTet4(void)
+pylith::faults::CohesiveKinDataTet4e::CohesiveKinDataTet4e(void)
 { // constructor
   meshFilename = const_cast<char*>(_meshFilename);
   spaceDim = _spaceDim;
@@ -513,7 +745,7 @@
   numConstraintVert = _numConstraintVert;  
 } // constructor
 
-pylith::faults::CohesiveKinDataTet4::~CohesiveKinDataTet4(void)
+pylith::faults::CohesiveKinDataTet4e::~CohesiveKinDataTet4e(void)
 {}
 
 

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc	2007-06-15 21:34:57 UTC (rev 7271)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc	2007-06-15 22:49:16 UTC (rev 7272)
@@ -0,0 +1,520 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/* Original mesh
+ *
+ * Cells are 0-1, vertices are 2-6.
+ *
+ * 2   3,4,5  6
+ *
+ *     ^^^^^ Face in x-y plane
+ *
+ * After adding cohesive elements
+ *
+ * Cells are 0-1,10, vertices are 2-9.
+ *
+ * 2   3,4,5  7,9,11   6
+ *             8,10,12
+ *     ^^^^^^^^^^^^ Cohesive element in x-y plane.
+ */
+
+#include "CohesiveKinDataTet4.hh"
+
+const char* pylith::faults::CohesiveKinDataTet4::_meshFilename =
+  "data/tet4.mesh";
+
+const int pylith::faults::CohesiveKinDataTet4::_spaceDim = 3;
+
+const int pylith::faults::CohesiveKinDataTet4::_cellDim = 2;
+
+const int pylith::faults::CohesiveKinDataTet4::_numBasis = 3;
+
+const int pylith::faults::CohesiveKinDataTet4::_numQuadPts = 1;
+
+const double pylith::faults::CohesiveKinDataTet4::_quadPts[] = {
+  3.33333333e-01,  3.33333333e-01,
+};
+
+const double pylith::faults::CohesiveKinDataTet4::_quadWts[] = {
+  5.00000000e-01,
+};
+
+const double pylith::faults::CohesiveKinDataTet4::_basis[] = {
+  3.33333333e-01,  3.33333333e-01,
+  3.33333333e-01,};
+
+const double pylith::faults::CohesiveKinDataTet4::_basisDeriv[] = {
+ -1.00000000e+00, -1.00000000e+00,
+  1.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.00000000e+00,
+};
+
+const double pylith::faults::CohesiveKinDataTet4::_verticesRef[] = {
+ -1.00000000e+00, -1.00000000e+00,
+  1.00000000e+00, -1.00000000e+00,
+ -1.00000000e+00,  1.00000000e+00,
+};
+
+const int pylith::faults::CohesiveKinDataTet4::_id = 10;
+
+const char* pylith::faults::CohesiveKinDataTet4::_label = "fault";
+
+const char* pylith::faults::CohesiveKinDataTet4::_finalSlipFilename = 
+  "data/tet4_finalslip.spatialdb";
+
+const char* pylith::faults::CohesiveKinDataTet4::_slipTimeFilename = 
+  "data/tet4_sliptime.spatialdb";
+
+const char* pylith::faults::CohesiveKinDataTet4::_peakRateFilename = 
+  "data/tet4_peakrate.spatialdb";
+
+const double pylith::faults::CohesiveKinDataTet4::_fieldT[] = {
+  7.1, 8.1, 9.1,
+  7.2, 8.2, 9.2,
+  7.3, 8.3, 9.3,
+  7.4, 8.4, 9.4,
+  7.5, 8.5, 9.5,
+  7.6, 8.6, 9.6,
+  7.7, 8.7, 9.7,
+  7.8, 8.8, 9.8,
+  7.9, 8.9, 9.9,
+  7.0, 8.0, 9.0,
+  7.1, 8.1, 9.1,
+};
+
+const int pylith::faults::CohesiveKinDataTet4::_numConstraintVert = 3;
+
+const double pylith::faults::CohesiveKinDataTet4::_orientation[] = {
+  0.0, +1.0, 0.0,    0.0, 0.0, +1.0,    +1.0, 0.0, 0.0,
+  0.0, +1.0, 0.0,    0.0, 0.0, +1.0,    +1.0, 0.0, 0.0,
+  0.0, +1.0, 0.0,    0.0, 0.0, +1.0,    +1.0, 0.0, 0.0,
+};
+
+const int pylith::faults::CohesiveKinDataTet4::_constraintVertices[] = {
+  8, 10, 12
+};
+
+const int pylith::faults::CohesiveKinDataTet4::_constraintCells[] = {
+  13, 13, 13
+};
+
+const double pylith::faults::CohesiveKinDataTet4::_valsResidual[] = {
+  0.0,  0.0,  0.0,
+  0.0,  0.0,  0.0,
+  0.0,  0.0,  0.0,
+  0.0,  0.0,  0.0,
+  0.0,  0.0,  0.0,
+  0.0,  0.0,  0.0,
+  1.07974939836, -0.32861938211, 0.04694562602, // 8
+  0.0,  0.0,  0.0,
+  1.00381374723, -0.33460458241, 0.08365114560, // 10
+  0.0,  0.0,  0.0,
+  0.90493237602, -0.32577565537, 0.10859188512, // 12
+};
+
+const double pylith::faults::CohesiveKinDataTet4::_valsJacobian[] = {
+  0.0, 0.0, 0.0, // 2x
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 2y
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 2z
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 3x
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0,-1.0, // 8
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 3y
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+ -1.0, 0.0, 0.0, // 8
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 3z
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0,-1.0, 0.0, // 8
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 4x
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0,-1.0, // 10
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 4y
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+ -1.0, 0.0, 0.0, // 10
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 4z
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0,-1.0, 0.0, // 10
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 5x
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0,-1.0, // 12
+  0.0, 0.0, 0.0, // 5y
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+ -1.0, 0.0, 0.0, // 12
+  0.0, 0.0, 0.0, // 5z
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0,-1.0, 0.0, // 12
+  0.0, 0.0, 0.0, // 6x
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 6y
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 6z
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 7x
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0,+1.0, // 8
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 7y
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+ +1.0, 0.0, 0.0, // 8
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 7z
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0,+1.0, 0.0, // 8
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 8x
+  0.0,-1.0, 0.0, // 3
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0,+1.0, 0.0, // 7
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 8y
+  0.0, 0.0,-1.0, // 3
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0,+1.0, // 7
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 8z
+ -1.0, 0.0, 0.0, // 3
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+ +1.0, 0.0, 0.0, // 7
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 9x
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0,+1.0, // 10
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 9y
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+ +1.0, 0.0, 0.0, // 10
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 9z
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0,+1.0, 0.0, // 10
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 10x
+  0.0, 0.0, 0.0,
+  0.0,-1.0, 0.0, // 4
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0,+1.0, 0.0, // 9
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 10y
+  0.0, 0.0, 0.0,
+  0.0, 0.0,-1.0, // 4
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0,+1.0, // 9
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 10z
+  0.0, 0.0, 0.0,
+ -1.0, 0.0, 0.0, // 4
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+ +1.0, 0.0, 0.0, // 9
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 11x
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0,+1.0, // 12
+  0.0, 0.0, 0.0, // 11y
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+ +1.0, 0.0, 0.0, // 12
+  0.0, 0.0, 0.0, // 11z
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0,+1.0, 0.0, // 12
+  0.0, 0.0, 0.0, // 12x
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0,-1.0, 0.0, // 5
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0,+1.0, 0.0, // 11
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 12y
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0,-1.0, // 5
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0,+1.0, // 11
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0, // 12z
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+ -1.0, 0.0, 0.0, // 5
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+  0.0, 0.0, 0.0,
+ +1.0, 0.0, 0.0, // 11
+  0.0, 0.0, 0.0,
+};
+
+pylith::faults::CohesiveKinDataTet4::CohesiveKinDataTet4(void)
+{ // constructor
+  meshFilename = const_cast<char*>(_meshFilename);
+  spaceDim = _spaceDim;
+  cellDim = _cellDim;
+  numBasis = _numBasis;
+  numQuadPts = _numQuadPts;
+  quadPts = const_cast<double*>(_quadPts);
+  quadWts = const_cast<double*>(_quadWts);
+  basis = const_cast<double*>(_basis);
+  basisDeriv = const_cast<double*>(_basisDeriv);
+  verticesRef = const_cast<double*>(_verticesRef);
+  id = _id;
+  label = const_cast<char*>(_label);
+  finalSlipFilename = const_cast<char*>(_finalSlipFilename);
+  slipTimeFilename = const_cast<char*>(_slipTimeFilename);
+  peakRateFilename = const_cast<char*>(_peakRateFilename);
+  fieldT = const_cast<double*>(_fieldT);
+  orientation = const_cast<double*>(_orientation);
+  constraintVertices = const_cast<int*>(_constraintVertices);
+  constraintCells = const_cast<int*>(_constraintCells);
+  valsResidual = const_cast<double*>(_valsResidual);
+  valsJacobian = const_cast<double*>(_valsJacobian);
+  numConstraintVert = _numConstraintVert;  
+} // constructor
+
+pylith::faults::CohesiveKinDataTet4::~CohesiveKinDataTet4(void)
+{}
+
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.hh	2007-06-15 21:34:57 UTC (rev 7271)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.hh	2007-06-15 22:49:16 UTC (rev 7272)
@@ -0,0 +1,73 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_faults_cohesivekindatatet4e_hh)
+#define pylith_faults_cohesivekindatatet4e_hh
+
+#include "CohesiveKinData.hh"
+
+namespace pylith {
+  namespace faults {
+     class CohesiveKinDataTet4e;
+  } // pylith
+} // faults
+
+class pylith::faults::CohesiveKinDataTet4e : public CohesiveKinData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  CohesiveKinDataTet4e(void);
+
+  /// Destructor
+  ~CohesiveKinDataTet4e(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const char* _meshFilename; ///< Filename of input mesh
+
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _cellDim; ///< Number of dimensions associated with cell
+
+  static const int _numBasis; ///< Number of vertices in cell
+  static const int _numQuadPts; ///< Number of quadrature points
+  static const double _quadPts[]; ///< Coordinates of quad pts in ref cell
+  static const double _quadWts[]; ///< Weights of quadrature points
+  static const double _basis[]; ///< Basis fns at quadrature points
+  static const double _basisDeriv[]; ///< Derivatives of basis fns at quad pts
+  static const double _verticesRef[]; ///< Coordinates of vertices in ref cell (dual basis)
+
+  static const int _id; ///< Fault material identifier
+  static const char* _label; ///< Label for fault
+  static const char* _finalSlipFilename; ///< Name of db for final slip
+  static const char* _slipTimeFilename; ///< Name of db for slip time
+  static const char* _peakRateFilename; ///< Name of db for peak rate
+  //@}
+
+  static const double _fieldT[]; ///< Solution field at time t.
+
+  static const double _orientation[]; ///< Expected values for fault orientation.
+  static const int _constraintVertices[]; ///< Expected points for constraint vertices
+  static const int _constraintCells[]; ///< Expected cells for constraint vertices
+  static const double _valsResidual[]; ///< Expected values from residual calculation.
+  static const double _valsJacobian[]; ///< Expected values from Jacobian calculation.
+  static const int _numConstraintVert; ///< Number of constraint vertices
+
+};
+
+#endif // pylith_faults_cohesivekindatatet4e_hh
+
+
+// End of file

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/Makefile.am	2007-06-15 21:34:57 UTC (rev 7271)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/Makefile.am	2007-06-15 22:49:16 UTC (rev 7272)
@@ -40,9 +40,13 @@
 	tet4b.mesh \
 	tet4c.mesh \
 	tet4d.mesh \
+	tet4e.mesh \
 	tet4_finalslip.spatialdb \
 	tet4_sliptime.spatialdb \
 	tet4_peakrate.spatialdb \
+	tet4e_finalslip.spatialdb \
+	tet4e_sliptime.spatialdb \
+	tet4e_peakrate.spatialdb \
 	hex8.mesh \
 	hex8b.mesh \
 	hex8c.mesh \

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4e.mesh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4e.mesh	2007-06-15 21:34:57 UTC (rev 7271)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4e.mesh	2007-06-15 22:49:16 UTC (rev 7272)
@@ -0,0 +1,52 @@
+mesh = {
+  dimension = 3
+  use-index-zero = true
+  vertices = {
+    dimension = 3
+    count = 6
+    coordinates = {
+             0     -1.0  0.0  0.0
+             1      0.0 -1.0  0.0
+             2      0.0  0.0  1.0
+             3      0.0  1.0  0.0
+             4      0.0  0.0 -1.0
+             5      1.0  0.0  0.0
+    }
+  }
+  cells = {
+    count = 4
+    num-corners = 4
+    simplices = {
+             0       1  2  3  0
+             1       3  4  1  0
+             2       1  5  3  2
+             3       3  4  5  1
+    }
+    material-ids = {
+             0   0
+             1   0
+             2   0
+             3   0
+    }
+  }
+  group = {
+    name = fault
+    type = vertices
+    count = 4
+    indices = {
+      1
+      2
+      3
+      4
+    }
+  }
+  group = {
+    name = end points
+    type = vertices
+    count = 2
+    indices = {
+      0
+      5
+    }
+  }
+}

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4e_finalslip.spatialdb
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4e_finalslip.spatialdb	2007-06-15 21:34:57 UTC (rev 7271)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4e_finalslip.spatialdb	2007-06-15 22:49:16 UTC (rev 7272)
@@ -0,0 +1,17 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 3
+  value-names =  left-lateral-slip  reverse-slip  fault-opening
+  value-units =  m   m   m
+  num-locs = 4
+  data-dim = 2
+  space-dim = 3
+  cs-data = cartesian {
+    to-meters = 1.0
+    space-dim = 3
+  }
+}
+0.0  -1.0  0.0    2.3  -0.7  0.1
+0.0   0.0  1.0    2.4  -0.8  0.2
+0.0   1.0  0.0    2.5  -0.9  0.3
+0.0   0.0 -1.0    2.6  -1.0  0.4

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4e_peakrate.spatialdb
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4e_peakrate.spatialdb	2007-06-15 21:34:57 UTC (rev 7271)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4e_peakrate.spatialdb	2007-06-15 22:49:16 UTC (rev 7272)
@@ -0,0 +1,17 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 1
+  value-names =  slip-rate
+  value-units =  m/s
+  num-locs = 4
+  data-dim = 2
+  space-dim = 3
+  cs-data = cartesian {
+    to-meters = 1.0
+    space-dim = 3
+  }
+}
+0.0  -1.0  0.0    1.5
+0.0   0.0  1.0    1.6
+0.0   1.0  0.0    1.7
+0.0   0.0 -1.0    1.8

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4e_sliptime.spatialdb
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4e_sliptime.spatialdb	2007-06-15 21:34:57 UTC (rev 7271)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4e_sliptime.spatialdb	2007-06-15 22:49:16 UTC (rev 7272)
@@ -0,0 +1,17 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 1
+  value-names =  slip-time
+  value-units =  s
+  num-locs = 4
+  data-dim = 2
+  space-dim = 3
+  cs-data = cartesian {
+    to-meters = 1.0
+    space-dim = 3
+  }
+}
+0.0  -1.0  0.0    1.2
+0.0   0.0  1.0    1.3
+0.0   1.0  0.0    1.4
+0.0   0.0 -1.0    1.5



More information about the cig-commits mailing list