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

brad at geodynamics.org brad at geodynamics.org
Fri Apr 27 08:57:50 PDT 2007


Author: brad
Date: 2007-04-27 08:57:49 -0700 (Fri, 27 Apr 2007)
New Revision: 6709

Added:
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8Lagrange.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8Lagrange.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataLine2Lagrange.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataLine2Lagrange.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataQuad4Lagrange.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataQuad4Lagrange.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTet4Lagrange.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTet4Lagrange.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTri3Lagrange.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTri3Lagrange.hh
Removed:
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataHex8.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataHex8.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataLine2.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataLine2.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataQuad4.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataQuad4.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTet4.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTet4.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTri3.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTri3.hh
Modified:
   short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc
   short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.hh
   short/3D/PyLith/trunk/libsrc/faults/FaultCohesive.cc
   short/3D/PyLith/trunk/libsrc/faults/FaultCohesive.hh
   short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.hh
   short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.icc
   short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesive.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesive.hh
Log:
Added switch in CohesiveTopology::create for normal cohesive cells or cohesive cells for Lagrange multipliers. Updated unit tests (awaiting FaultCohesiveDyn implementation to test creation of normal cohesive cells).

Modified: short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc	2007-04-27 15:57:49 UTC (rev 6709)
@@ -23,7 +23,8 @@
 pylith::faults::CohesiveTopology::create(ALE::Obj<Mesh>* fault,
 					 const ALE::Obj<Mesh>& mesh,
 					 const ALE::Obj<Mesh::int_section_type>& groupField,
-					 const int materialId)
+					 const int materialId,
+					 const bool constraintCell)
 { // create
   assert(0 != fault);
 
@@ -33,7 +34,6 @@
   // Create set with vertices on fault
   const int_section_type::chart_type& chart = groupField->getChart();
   std::set<Mesh::point_type> faultVertices; // Vertices on fault
-  bool useLagrangeMultipliers = true;
 
   const int numCells = mesh->heightStratum(0)->size();
   for(int_section_type::chart_type::iterator c_iter = chart.begin();
@@ -151,12 +151,12 @@
 
       if (group->hasPoint(*v_iter)) {
         group->setFiberDimension(newPoint, 1);
-        if (useLagrangeMultipliers) {
+        if (constraintCell) {
           group->setFiberDimension(newPoint+1, 1);
         }
       }
     } // for
-    if (useLagrangeMultipliers) newPoint++;
+    if (constraintCell) newPoint++;
   } // for
 
   // Split the mesh along the fault sieve and create cohesive elements
@@ -217,7 +217,7 @@
         std::cout << "    shadow vertex " << vertexRenumber[*v_iter] << std::endl;
       sieve->addArrow(vertexRenumber[*v_iter], newPoint, color++);
     }
-    if (useLagrangeMultipliers) {
+    if (constraintCell) {
       for(sieve_type::traits::coneSequence::iterator v_iter = fBegin; v_iter != fEnd;
           ++v_iter) {
         if (debug)
@@ -241,7 +241,7 @@
       ++v_iter) {
     coordinates->addPoint(vertexRenumber[*v_iter],
 			  coordinates->getFiberDimension(*v_iter));
-    if (useLagrangeMultipliers) {
+    if (constraintCell) {
       coordinates->addPoint(vertexRenumber[*v_iter]+1,
 			  coordinates->getFiberDimension(*v_iter));
     }
@@ -252,7 +252,7 @@
       ++v_iter) {
     coordinates->updatePoint(vertexRenumber[*v_iter], 
 			     coordinates->restrictPoint(*v_iter));
-    if (useLagrangeMultipliers) {
+    if (constraintCell) {
       coordinates->updatePoint(vertexRenumber[*v_iter]+1,
 			     coordinates->restrictPoint(*v_iter));
     }

Modified: short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.hh	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.hh	2007-04-27 15:57:49 UTC (rev 6709)
@@ -41,12 +41,15 @@
    * @param faultVertices Vertices assocated with faces of cells defining 
    *   fault surface
    * @param materialId Material id for cohesive elements.
+   * @param constraintCell True if creating cells constrained with 
+   *   Lagrange multipliers that require extra vertices, false otherwise
    */
   static
   void create(ALE::Obj<Mesh>* fault,
               const ALE::Obj<Mesh>& mesh,
               const ALE::Obj<Mesh::int_section_type>& groupField,
-	      const int materialId);
+	      const int materialId,
+	      const bool constraintCell =false);
 
   // PRIVATE METHODS ////////////////////////////////////////////////////
 private :

Modified: short/3D/PyLith/trunk/libsrc/faults/FaultCohesive.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/FaultCohesive.cc	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/libsrc/faults/FaultCohesive.cc	2007-04-27 15:57:49 UTC (rev 6709)
@@ -57,7 +57,8 @@
     mesh->getIntSection(label());
   assert(!groupField.isNull());
 
-  CohesiveTopology::create(_faultMesh, mesh, groupField, id());
+  CohesiveTopology::create(_faultMesh, mesh, groupField, id(),
+			   _useLagrangeConstraints());
 } // adjustTopology
 
 // ----------------------------------------------------------------------

Modified: short/3D/PyLith/trunk/libsrc/faults/FaultCohesive.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/FaultCohesive.hh	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/libsrc/faults/FaultCohesive.hh	2007-04-27 15:57:49 UTC (rev 6709)
@@ -110,6 +110,14 @@
    */
   FaultCohesive(const FaultCohesive& m);
 
+  /** Cohesive cells use Lagrange multiplier constraints?
+   *
+   * @returns True if implementation using Lagrange multiplier
+   * constraints, false otherwise.
+   */
+  virtual
+  bool _useLagrangeConstraints(void) const = 0;
+
   /** Compute weighted orientation of fault for cohesive cell between
    * 1-D elements. Orientation is either at vertices or quadrature
    * points, depending on whether the arguments have been evaluated at

Modified: short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.hh	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.hh	2007-04-27 15:57:49 UTC (rev 6709)
@@ -119,6 +119,13 @@
    */
   FaultCohesiveKin(const FaultCohesiveKin& m);
 
+  /** Cohesive cells use Lagrange multiplier constraints?
+   *
+   * @returns True if implementation using Lagrange multiplier
+   * constraints, false otherwise.
+   */
+  bool _useLagrangeConstraints(void) const;
+
   // NOT IMPLEMENTED ////////////////////////////////////////////////////
 private :
 

Modified: short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.icc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.icc	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.icc	2007-04-27 15:57:49 UTC (rev 6709)
@@ -21,5 +21,12 @@
   return new FaultCohesiveKin(*this);
 } // clone
 
+// Cohesive cells use Lagrange multiplier constraints?
+inline
+bool
+pylith::faults::FaultCohesiveKin::_useLagrangeConstraints(void) const {
+  return true;
+} // useLagrangeConstraints
 
+
 // End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am	2007-04-27 15:57:49 UTC (rev 6709)
@@ -33,28 +33,28 @@
 testfaults_SOURCES += \
 	data/CohesiveData.cc \
 	data/CohesiveDataLine2.cc \
-	data/CohesiveLagrangeDataLine2.cc \
+	data/CohesiveDataLine2Lagrange.cc \
 	data/CohesiveDataTri3.cc \
-	data/CohesiveLagrangeDataTri3.cc \
+	data/CohesiveDataTri3Lagrange.cc \
 	data/CohesiveDataQuad4.cc \
-	data/CohesiveLagrangeDataQuad4.cc \
+	data/CohesiveDataQuad4Lagrange.cc \
 	data/CohesiveDataHex8.cc \
-	data/CohesiveLagrangeDataHex8.cc \
-	data/CohesiveLagrangeDataTet4.cc \
-	data/CohesiveDataTet4.cc
+	data/CohesiveDataHex8Lagrange.cc \
+	data/CohesiveDataTet4.cc \
+	data/CohesiveDataTet4Lagrange.cc
 
 noinst_HEADERS += \
 	data/CohesiveData.hh \
 	data/CohesiveDataLine2.hh \
-	data/CohesiveLagrangeDataLine2.hh \
+	data/CohesiveDataLine2Lagrange.hh \
 	data/CohesiveDataTri3.hh \
-	data/CohesiveLagrangeDataTri3.hh \
+	data/CohesiveDataTri3Lagrange.hh \
 	data/CohesiveDataQuad4.hh \
-	data/CohesiveLagrangeDataQuad4.hh \
+	data/CohesiveDataQuad4Lagrange.hh \
 	data/CohesiveDataHex8.hh \
-	data/CohesiveLagrangeDataHex8.hh \
+	data/CohesiveDataHex8Lagrange.hh \
 	data/CohesiveDataTet4.hh \
-	data/CohesiveLagrangeDataTet4.hh
+	data/CohesiveDataTet4Lagrange.hh
 
 testfaults_LDFLAGS = $(PETSC_LIB)
 

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesive.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesive.cc	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesive.cc	2007-04-27 15:57:49 UTC (rev 6709)
@@ -21,16 +21,17 @@
 #include "pylith/meshio/MeshIOAscii.hh" // USES MeshIOAscii
 
 #include "data/CohesiveDataLine2.hh" // USES CohesiveDataLine2
-#include "data/CohesiveLagrangeDataLine2.hh" // USES CohesiveLagrangeDataLine2
 #include "data/CohesiveDataTri3.hh" // USES CohesiveDataTri3
-#include "data/CohesiveLagrangeDataTri3.hh" // USES CohesiveLagrangeDataTri3
 #include "data/CohesiveDataQuad4.hh" // USES CohesiveDataQuad4
-#include "data/CohesiveLagrangeDataQuad4.hh" // USES CohesiveLagrangeDataQuad4
 #include "data/CohesiveDataTet4.hh" // USES CohesiveDataTet4
-#include "data/CohesiveLagrangeDataTet4.hh" // USES CohesiveLagrangeDataTet4
 #include "data/CohesiveDataHex8.hh" // USES CohesiveDataHex8
-#include "data/CohesiveLagrangeDataHex8.hh" // USES CohesiveLagrangeDataHex8
 
+#include "data/CohesiveDataLine2Lagrange.hh" // USES CohesiveDataLine2Lagrange
+#include "data/CohesiveDataTri3Lagrange.hh" // USES CohesiveDataTri3Lagrange
+#include "data/CohesiveDataQuad4Lagrange.hh" // USES CohesiveDataQuad4Lagrange
+#include "data/CohesiveDataTet4Lagrange.hh" // USES CohesiveDataTet4Lagrange
+#include "data/CohesiveDataHex8Lagrange.hh" // USES CohesiveDataHex8Lagrange
+
 // ----------------------------------------------------------------------
 CPPUNIT_TEST_SUITE_REGISTRATION( pylith::faults::TestFaultCohesive );
 
@@ -39,8 +40,7 @@
 void
 pylith::faults::TestFaultCohesive::testAdjustTopologyLine2(void)
 { // testAdjustTopologyLine2
-  /// CohesiveDataLine2 data;
-  CohesiveLagrangeDataLine2 data;
+  CohesiveDataLine2 data;
   _testAdjustTopology(data);
 } // testAdjustTopologyLine2
 
@@ -49,8 +49,7 @@
 void
 pylith::faults::TestFaultCohesive::testAdjustTopologyTri3(void)
 { // testAdjustTopologyTri3
-  ///CohesiveDataTri3 data;
-  CohesiveLagrangeDataTri3 data;
+  CohesiveDataTri3 data;
   _testAdjustTopology(data);
 } // testAdjustTopologyTri3
 
@@ -59,8 +58,7 @@
 void
 pylith::faults::TestFaultCohesive::testAdjustTopologyQuad4(void)
 { // testAdjustTopologyQuad4
-  ///CohesiveDataQuad4 data;
-  CohesiveLagrangeDataQuad4 data;
+  CohesiveDataQuad4 data;
   _testAdjustTopology(data);
 } // testAdjustTopologyQuad4
 
@@ -69,8 +67,7 @@
 void
 pylith::faults::TestFaultCohesive::testAdjustTopologyTet4(void)
 { // testAdjustTopologyTet4
-  ///CohesiveDataTet4 data;
-  CohesiveLagrangeDataTet4 data;
+  CohesiveDataTet4 data;
   _testAdjustTopology(data);
 } // testAdjustTopologyTet4
 
@@ -79,12 +76,61 @@
 void
 pylith::faults::TestFaultCohesive::testAdjustTopologyHex8(void)
 { // testAdjustTopologyHex8
-  ///CohesiveDataHex8 data;
-  CohesiveLagrangeDataHex8 data;
+  CohesiveDataHex8 data;
   _testAdjustTopology(data);
 } // testAdjustTopologyHex8
 
 // ----------------------------------------------------------------------
+// Test adjustTopology() with 1-D line element for Lagrange
+// multipliers.
+void
+pylith::faults::TestFaultCohesive::testAdjustTopologyLine2Lagrange(void)
+{ // testAdjustTopologyLine2Lagrange
+  CohesiveDataLine2Lagrange data;
+  _testAdjustTopology(data);
+} // testAdjustTopologyLine2Lagrange
+
+// ----------------------------------------------------------------------
+// Test adjustTopology() with 2-D triangular element for Lagrange
+// multipliers.
+void
+pylith::faults::TestFaultCohesive::testAdjustTopologyTri3Lagrange(void)
+{ // testAdjustTopologyTri3Lagrange
+  CohesiveDataTri3Lagrange data;
+  _testAdjustTopology(data);
+} // testAdjustTopologyTri3Lagrange
+
+// ----------------------------------------------------------------------
+// Test adjustTopology() with 2-D quadrilateral element for Lagrange
+// multipliers.
+void
+pylith::faults::TestFaultCohesive::testAdjustTopologyQuad4Lagrange(void)
+{ // testAdjustTopologyQuad4Lagrange
+  CohesiveDataQuad4Lagrange data;
+  _testAdjustTopology(data);
+} // testAdjustTopologyQuad4Lagrange
+
+// ----------------------------------------------------------------------
+// Test adjustTopology() with 3-D tetrahedral element for Lagrange
+// multipliers.
+void
+pylith::faults::TestFaultCohesive::testAdjustTopologyTet4Lagrange(void)
+{ // testAdjustTopologyTet4Lagrange
+  CohesiveDataTet4Lagrange data;
+  _testAdjustTopology(data);
+} // testAdjustTopologyTet4Lagrange
+
+// ----------------------------------------------------------------------
+// Test adjustTopology() with 3-D hexahedral element for Lagrange
+// multipliers.
+void
+pylith::faults::TestFaultCohesive::testAdjustTopologyHex8Lagrange(void)
+{ // testAdjustTopologyHex8Lagrange
+  CohesiveDataHex8Lagrange data;
+  _testAdjustTopology(data);
+} // testAdjustTopologyHex8Lagrange
+
+// ----------------------------------------------------------------------
 // Test adjustTopology().
 void
 pylith::faults::TestFaultCohesive::_testAdjustTopology(const CohesiveData& data)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesive.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesive.hh	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesive.hh	2007-04-27 15:57:49 UTC (rev 6709)
@@ -40,11 +40,22 @@
 
   // CPPUNIT TEST SUITE /////////////////////////////////////////////////
   CPPUNIT_TEST_SUITE( TestFaultCohesive );
+
+#if 0
+  // awaiting FaultCohesiveDyn implementation
   CPPUNIT_TEST( testAdjustTopologyLine2 );
   CPPUNIT_TEST( testAdjustTopologyTri3 );
   CPPUNIT_TEST( testAdjustTopologyQuad4 );
   CPPUNIT_TEST( testAdjustTopologyTet4 );
   CPPUNIT_TEST( testAdjustTopologyHex8 );
+#endif
+
+  CPPUNIT_TEST( testAdjustTopologyLine2Lagrange );
+  CPPUNIT_TEST( testAdjustTopologyTri3Lagrange );
+  CPPUNIT_TEST( testAdjustTopologyQuad4Lagrange );
+  CPPUNIT_TEST( testAdjustTopologyTet4Lagrange );
+  CPPUNIT_TEST( testAdjustTopologyHex8Lagrange );
+
   CPPUNIT_TEST_SUITE_END();
 
   // PUBLIC METHODS /////////////////////////////////////////////////////
@@ -65,6 +76,26 @@
   /// Test adjustTopology() with 3-D hexahedral element.
   void testAdjustTopologyHex8(void);
 
+  /// Test adjustTopology() with 1-D line element for Lagrange
+  /// multipliers.
+  void testAdjustTopologyLine2Lagrange(void);
+
+  /// Test adjustTopology() with 2-D triangular element for Lagrange
+  /// multipliers.
+  void testAdjustTopologyTri3Lagrange(void);
+
+  /// Test adjustTopology() with 2-D quadrilateral element for Lagrange
+  /// multipliers.
+  void testAdjustTopologyQuad4Lagrange(void);
+
+  /// Test adjustTopology() with 3-D tetrahedral element for Lagrange
+  /// multipliers.
+  void testAdjustTopologyTet4Lagrange(void);
+
+  /// Test adjustTopology() with 3-D hexahedral element for Lagrange
+  /// multipliers.
+  void testAdjustTopologyHex8Lagrange(void);
+
   // PROTECTED METHODS //////////////////////////////////////////////////
 public :
 

Copied: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8Lagrange.cc (from rev 6708, short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataHex8.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataHex8.cc	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8Lagrange.cc	2007-04-27 15:57:49 UTC (rev 6709)
@@ -0,0 +1,123 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/* Original mesh
+ *
+ * Cells are 0-1 and vertices are 2-13.
+ *
+ *       2,3,4,5 -------- 6,7,8,9 -------- 10,11,12,13
+ *
+ *                        ^^^^^^^ Vertices forming fault
+ *
+ * After adding cohesive elements
+ *
+ * Cells are 0-1,16 and vertices are 4-15.
+ *
+ *       2,3,4,5 -------- 6,7,8,9 -- 14,16,18,20 -------- 10,11,12,13
+ *                                    15,17,19,21
+ *                        ^^^^^^^^^^^^^^^^^^^^^^ Cohesive element
+ *
+ */
+
+#include "CohesiveDataHex8Lagrange.hh"
+
+const int pylith::faults::CohesiveDataHex8Lagrange::_numVertices = 20;
+
+const int pylith::faults::CohesiveDataHex8Lagrange::_spaceDim = 3;
+
+const int pylith::faults::CohesiveDataHex8Lagrange::_numCells = 3;
+
+const int pylith::faults::CohesiveDataHex8Lagrange::_cellDim = 3;
+
+const double pylith::faults::CohesiveDataHex8Lagrange::_vertices[] = {
+  -2.0, -1.0, -1.0,
+  -2.0,  1.0, -1.0,
+  -2.0, -1.0,  1.0,
+  -2.0,  1.0,  1.0,
+   0.0, -1.0, -1.0,
+   0.0,  1.0, -1.0,
+   0.0, -1.0,  1.0,
+   0.0,  1.0,  1.0,
+   2.0, -1.0, -1.0,
+   2.0,  1.0, -1.0,
+   2.0, -1.0,  1.0,
+   2.0,  1.0,  1.0,
+   0.0, -1.0, -1.0,
+   0.0, -1.0, -1.0,
+   0.0,  1.0, -1.0,
+   0.0,  1.0, -1.0,
+   0.0, -1.0,  1.0,
+   0.0, -1.0,  1.0,
+   0.0,  1.0,  1.0,
+   0.0,  1.0,  1.0
+};
+
+const int pylith::faults::CohesiveDataHex8Lagrange::_numCorners[] = {
+  8,
+  8,
+  12
+};
+
+const int pylith::faults::CohesiveDataHex8Lagrange::_cells[] = {
+  2,  4,  5,  3,  6,  8,  9,  7,
+ 14, 18, 20, 16, 10, 12, 13, 11,
+  6,  8,  9,  7, 14, 18, 20, 16, 15, 19, 21, 17
+};
+
+const int pylith::faults::CohesiveDataHex8Lagrange::_materialIds[] = {
+  0,  0,
+  1
+};
+
+const int pylith::faults::CohesiveDataHex8Lagrange::_numGroups = 2;
+
+const int pylith::faults::CohesiveDataHex8Lagrange::_groupSizes[] = 
+  { 12, 10 };
+
+const int pylith::faults::CohesiveDataHex8Lagrange::_groups[] = {
+  6, 7, 8, 9, 14, 15, 16, 17, 18, 19, 20, 21,
+  4, 5, 8, 9, 12, 13, 18, 19, 20, 21
+};
+
+const char* pylith::faults::CohesiveDataHex8Lagrange::_groupNames[] = {
+  "fault", "output"
+};
+
+const char* pylith::faults::CohesiveDataHex8Lagrange::_groupTypes[] = {
+  "vertex", "vertex"
+};
+
+const char* pylith::faults::CohesiveDataHex8Lagrange::_filename = "data/meshHex8A.txt";
+
+pylith::faults::CohesiveDataHex8Lagrange::CohesiveDataHex8Lagrange(void)
+{ // constructor
+  numVertices = _numVertices;
+  spaceDim = _spaceDim;
+  numCells = _numCells;
+  cellDim = _cellDim;
+  vertices = const_cast<double*>(_vertices);
+  numCorners = const_cast<int*>(_numCorners);
+  cells = const_cast<int*>(_cells);
+  materialIds = const_cast<int*>(_materialIds);
+  groups = const_cast<int*>(_groups);
+  groupSizes = const_cast<int*>(_groupSizes);
+  groupNames = const_cast<char**>(_groupNames);
+  groupTypes = const_cast<char**>(_groupTypes);
+  numGroups = _numGroups;
+  filename = const_cast<char*>(_filename);
+} // constructor
+
+pylith::faults::CohesiveDataHex8Lagrange::~CohesiveDataHex8Lagrange(void)
+{}
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8Lagrange.hh (from rev 6708, short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataHex8.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataHex8.hh	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8Lagrange.hh	2007-04-27 15:57:49 UTC (rev 6709)
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_faults_cohesivedatahex8lagrange_hh)
+#define pylith_faults_cohesivedatahex8lagrange_hh
+
+#include "CohesiveData.hh"
+
+namespace pylith {
+  namespace faults {
+     class CohesiveDataHex8Lagrange;
+  } // pylith
+} // faults
+
+class pylith::faults::CohesiveDataHex8Lagrange : public CohesiveData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  CohesiveDataHex8Lagrange(void);
+
+  /// Destructor
+  ~CohesiveDataHex8Lagrange(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const int _numVertices; ///< Number of vertices
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _numCells; ///< Number of cells
+  static const int _cellDim; ///< Number of dimensions associated with cell
+
+  static const double _vertices[]; ///< Pointer to coordinates of vertices
+  static const int _numCorners[]; ///< Number of vertices in cell
+  static const int _cells[]; ///< Pointer to indices of vertices in cells
+  static const int _materialIds[]; ///< Pointer to cell material identifiers
+
+  static const int _groups[]; ///< Groups of points
+  static const int _groupSizes[]; ///< Sizes of groups
+  static const char* _groupNames[]; ///< Array of group names
+  static const char* _groupTypes[]; ///< Array of group types
+  static const int _numGroups; ///< Number of groups
+
+  static const char* _filename; ///< Filename of input mesh
+};
+
+#endif // pylith_faults_cohesivedatahex8lagrange_hh
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataLine2Lagrange.cc (from rev 6708, short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataLine2.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataLine2.cc	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataLine2Lagrange.cc	2007-04-27 15:57:49 UTC (rev 6709)
@@ -0,0 +1,100 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/* Original mesh
+ *
+ *   Cells are 0-1, vertices are 2-4.
+ *
+ *   2 -------- 3 -------- 4
+ *
+ * After adding cohesive elements
+ *   2 -------- 3 -6- 5 -------- 4
+ */
+
+#include "CohesiveDataLine2Lagrange.hh"
+
+const int pylith::faults::CohesiveDataLine2Lagrange::_numVertices = 5;
+
+const int pylith::faults::CohesiveDataLine2Lagrange::_spaceDim = 1;
+
+const int pylith::faults::CohesiveDataLine2Lagrange::_numCells = 3;
+
+const int pylith::faults::CohesiveDataLine2Lagrange::_cellDim = 1;
+
+const double pylith::faults::CohesiveDataLine2Lagrange::_vertices[] = {
+  -1.0,
+   0.0,
+   1.0,
+   0.0,
+   0.0
+};
+
+const int pylith::faults::CohesiveDataLine2Lagrange::_numCorners[] = {
+  2,
+  2,
+  3
+};
+
+const int pylith::faults::CohesiveDataLine2Lagrange::_cells[] = {
+       2,  3,
+       5,  4,
+       3,  5,  6
+};
+
+const int pylith::faults::CohesiveDataLine2Lagrange::_materialIds[] = {
+  0,  0,
+  1
+};
+
+const int pylith::faults::CohesiveDataLine2Lagrange::_numGroups = 2;
+
+const int pylith::faults::CohesiveDataLine2Lagrange::_groupSizes[] = 
+  { 3, 4 };
+
+const int pylith::faults::CohesiveDataLine2Lagrange::_groups[] = {
+  3, 5, 6,
+  2, 3, 5, 6
+};
+
+const char* pylith::faults::CohesiveDataLine2Lagrange::_groupNames[] = {
+  "fault", "output"
+};
+
+const char* pylith::faults::CohesiveDataLine2Lagrange::_groupTypes[] = {
+  "vertex", "vertex"
+};
+
+const char* pylith::faults::CohesiveDataLine2Lagrange::_filename = "data/meshLine.txt";
+
+pylith::faults::CohesiveDataLine2Lagrange::CohesiveDataLine2Lagrange(void)
+{ // constructor
+  numVertices = _numVertices;
+  spaceDim = _spaceDim;
+  numCells = _numCells;
+  cellDim = _cellDim;
+  vertices = const_cast<double*>(_vertices);
+  numCorners = const_cast<int*>(_numCorners);
+  cells = const_cast<int*>(_cells);
+  materialIds = const_cast<int*>(_materialIds);
+  groups = const_cast<int*>(_groups);
+  groupSizes = const_cast<int*>(_groupSizes);
+  groupNames = const_cast<char**>(_groupNames);
+  groupTypes = const_cast<char**>(_groupTypes);
+  numGroups = _numGroups;
+  filename = const_cast<char*>(_filename);
+} // constructor
+
+pylith::faults::CohesiveDataLine2Lagrange::~CohesiveDataLine2Lagrange(void)
+{}
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataLine2Lagrange.hh (from rev 6708, short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataLine2.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataLine2.hh	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataLine2Lagrange.hh	2007-04-27 15:57:49 UTC (rev 6709)
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_faults_cohesivedataline2lagrange_hh)
+#define pylith_faults_cohesivedataline2lagrange_hh
+
+#include "CohesiveData.hh"
+
+namespace pylith {
+  namespace faults {
+     class CohesiveDataLine2Lagrange;
+  } // pylith
+} // faults
+
+class pylith::faults::CohesiveDataLine2Lagrange : public CohesiveData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  CohesiveDataLine2Lagrange(void);
+
+  /// Destructor
+  ~CohesiveDataLine2Lagrange(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const int _numVertices; ///< Number of vertices
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _numCells; ///< Number of cells
+  static const int _cellDim; ///< Number of dimensions associated with cell
+
+  static const double _vertices[]; ///< Pointer to coordinates of vertices
+  static const int _numCorners[]; ///< Number of vertices in cell
+  static const int _cells[]; ///< Pointer to indices of vertices in cells
+  static const int _materialIds[]; ///< Pointer to cell material identifiers
+
+  static const int _groups[]; ///< Groups of points
+  static const int _groupSizes[]; ///< Sizes of groups
+  static const char* _groupNames[]; ///< Array of group names
+  static const char* _groupTypes[]; ///< Array of group types
+  static const int _numGroups; ///< Number of groups
+
+  static const char* _filename; ///< Filename of input mesh
+};
+
+#endif // pylith_faults_cohesivedataline2lagrange_hh
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataQuad4Lagrange.cc (from rev 6708, short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataQuad4.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataQuad4.cc	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataQuad4Lagrange.cc	2007-04-27 15:57:49 UTC (rev 6709)
@@ -0,0 +1,126 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/* Original mesh
+ *
+ * Cells are 0-1, vertices are 2-7.
+ *
+ *       3 -------- 5 -------- 7
+ *       |          |          |
+ *       |          |          |
+ *       |          |          |
+ *       |          |          |
+ *       |          |          |
+ *       |          |          |
+ *       |          |          |
+ *       |          |          |
+ *       2 -------- 4 -------- 6
+ *
+ * After adding cohesive elements
+ *
+ * Cells are 0-1,10 vertices are 2-9.
+ *
+ *       3 -------- 5 -11- 10 -------- 7
+ *       |          |       |          |
+ *       |          |       |          |
+ *       |          |       |          |
+ *       |          |       |          |
+ *       |          |       |          |
+ *       |          |       |          |
+ *       |          |       |          |
+ *       |          |       |          |
+ *       2 -------- 4 --9-- 8 -------- 6
+ */
+
+#include "CohesiveDataQuad4Lagrange.hh"
+
+const int pylith::faults::CohesiveDataQuad4Lagrange::_numVertices = 10;
+
+const int pylith::faults::CohesiveDataQuad4Lagrange::_spaceDim = 2;
+
+const int pylith::faults::CohesiveDataQuad4Lagrange::_numCells = 3;
+
+const int pylith::faults::CohesiveDataQuad4Lagrange::_cellDim = 2;
+
+const double pylith::faults::CohesiveDataQuad4Lagrange::_vertices[] = {
+  -2.0, -1.0,
+  -2.0,  1.0,
+   0.0, -1.0,
+   0.0,  1.0,
+   2.0, -1.0,
+   2.0,  1.0,
+   0.0, -1.0,
+   0.0, -1.0,
+   0.0,  1.0,
+   0.0,  1.0,
+};
+
+const int pylith::faults::CohesiveDataQuad4Lagrange::_numCorners[] = {
+  4,
+  4,
+  6
+};
+
+const int pylith::faults::CohesiveDataQuad4Lagrange::_cells[] = {
+  2,  4,  5,  3,
+  6,  7, 10,  8,
+  4,  5,  8, 10,  9, 11
+};
+
+const int pylith::faults::CohesiveDataQuad4Lagrange::_materialIds[] = {
+  0,  0,
+  1
+};
+
+const int pylith::faults::CohesiveDataQuad4Lagrange::_numGroups = 2;
+
+const int pylith::faults::CohesiveDataQuad4Lagrange::_groupSizes[] = 
+  { 6, 5 };
+
+const int pylith::faults::CohesiveDataQuad4Lagrange::_groups[] = {
+  4, 5, 8, 9, 10, 11,
+  3, 5, 7, 10, 11
+};
+
+const char* pylith::faults::CohesiveDataQuad4Lagrange::_groupNames[] = {
+  "fault", "output"
+};
+
+const char* pylith::faults::CohesiveDataQuad4Lagrange::_groupTypes[] = {
+  "vertex", "vertex"
+};
+
+const char* pylith::faults::CohesiveDataQuad4Lagrange::_filename = "data/meshQuad4A.txt";
+
+pylith::faults::CohesiveDataQuad4Lagrange::CohesiveDataQuad4Lagrange(void)
+{ // constructor
+  numVertices = _numVertices;
+  spaceDim = _spaceDim;
+  numCells = _numCells;
+  cellDim = _cellDim;
+  vertices = const_cast<double*>(_vertices);
+  numCorners = const_cast<int*>(_numCorners);
+  cells = const_cast<int*>(_cells);
+  materialIds = const_cast<int*>(_materialIds);
+  groups = const_cast<int*>(_groups);
+  groupSizes = const_cast<int*>(_groupSizes);
+  groupNames = const_cast<char**>(_groupNames);
+  groupTypes = const_cast<char**>(_groupTypes);
+  numGroups = _numGroups;
+  filename = const_cast<char*>(_filename);
+} // constructor
+
+pylith::faults::CohesiveDataQuad4Lagrange::~CohesiveDataQuad4Lagrange(void)
+{}
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataQuad4Lagrange.hh (from rev 6708, short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataQuad4.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataQuad4.hh	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataQuad4Lagrange.hh	2007-04-27 15:57:49 UTC (rev 6709)
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_faults_cohesivedataquad4lagrange_hh)
+#define pylith_faults_cohesivedataquad4lagrange_hh
+
+#include "CohesiveData.hh"
+
+namespace pylith {
+  namespace faults {
+     class CohesiveDataQuad4Lagrange;
+  } // pylith
+} // faults
+
+class pylith::faults::CohesiveDataQuad4Lagrange : public CohesiveData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  CohesiveDataQuad4Lagrange(void);
+
+  /// Destructor
+  ~CohesiveDataQuad4Lagrange(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const int _numVertices; ///< Number of vertices
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _numCells; ///< Number of cells
+  static const int _cellDim; ///< Number of dimensions associated with cell
+
+  static const double _vertices[]; ///< Pointer to coordinates of vertices
+  static const int _numCorners[]; ///< Number of vertices in cell
+  static const int _cells[]; ///< Pointer to indices of vertices in cells
+  static const int _materialIds[]; ///< Pointer to cell material identifiers
+
+  static const int _groups[]; ///< Groups of points
+  static const int _groupSizes[]; ///< Sizes of groups
+  static const char* _groupNames[]; ///< Array of group names
+  static const char* _groupTypes[]; ///< Array of group types
+  static const int _numGroups; ///< Number of groups
+
+  static const char* _filename; ///< Filename of input mesh
+};
+
+#endif // pylith_faults_cohesivedataquad4lagrange_hh
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTet4Lagrange.cc (from rev 6708, short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTet4.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTet4.cc	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTet4Lagrange.cc	2007-04-27 15:57:49 UTC (rev 6709)
@@ -0,0 +1,113 @@
+// -*- 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 "CohesiveDataTet4Lagrange.hh"
+
+const int pylith::faults::CohesiveDataTet4Lagrange::_numVertices = 11;
+
+const int pylith::faults::CohesiveDataTet4Lagrange::_spaceDim = 3;
+
+const int pylith::faults::CohesiveDataTet4Lagrange::_numCells = 3;
+
+const int pylith::faults::CohesiveDataTet4Lagrange::_cellDim = 3;
+
+const double pylith::faults::CohesiveDataTet4Lagrange::_vertices[] = {
+  -1.0,  0.0,  0.0,
+   0.0, -1.0,  0.0,
+   0.0,  0.0,  1.0,
+   0.0,  1.0,  0.0,
+   1.0,  0.0,  0.0,
+   0.0, -1.0,  0.0,
+   0.0, -1.0,  0.0,
+   0.0,  0.0,  1.0,
+   0.0,  0.0,  1.0,
+   0.0,  1.0,  0.0,
+   0.0,  1.0,  0.0
+};
+
+const int pylith::faults::CohesiveDataTet4Lagrange::_numCorners[] = {
+  4,
+  4,
+  9
+};
+
+const int pylith::faults::CohesiveDataTet4Lagrange::_cells[] = {
+  3,  4,  5,  2,
+  7, 11,  9,  6,
+  3,  4,  5,  7,  9, 11,  8, 10, 12
+};
+
+const int pylith::faults::CohesiveDataTet4Lagrange::_materialIds[] = {
+  0,  0,
+  1
+};
+
+const int pylith::faults::CohesiveDataTet4Lagrange::_numGroups = 2;
+
+const int pylith::faults::CohesiveDataTet4Lagrange::_groupSizes[] = 
+  { 9, 7 };
+
+const int pylith::faults::CohesiveDataTet4Lagrange::_groups[] = {
+  3, 4, 5, 7, 8, 9, 10, 11, 12,
+  2, 4, 5, 9, 10, 11, 12
+};
+
+const char* pylith::faults::CohesiveDataTet4Lagrange::_groupNames[] = {
+  "fault", "output"
+};
+
+const char* pylith::faults::CohesiveDataTet4Lagrange::_groupTypes[] = {
+  "vertex", "vertex"
+};
+
+const char* pylith::faults::CohesiveDataTet4Lagrange::_filename = "data/meshTet4A.txt";
+
+pylith::faults::CohesiveDataTet4Lagrange::CohesiveDataTet4Lagrange(void)
+{ // constructor
+  numVertices = _numVertices;
+  spaceDim = _spaceDim;
+  numCells = _numCells;
+  cellDim = _cellDim;
+  vertices = const_cast<double*>(_vertices);
+  numCorners = const_cast<int*>(_numCorners);
+  cells = const_cast<int*>(_cells);
+  materialIds = const_cast<int*>(_materialIds);
+  groups = const_cast<int*>(_groups);
+  groupSizes = const_cast<int*>(_groupSizes);
+  groupNames = const_cast<char**>(_groupNames);
+  groupTypes = const_cast<char**>(_groupTypes);
+  numGroups = _numGroups;
+  filename = const_cast<char*>(_filename);
+} // constructor
+
+pylith::faults::CohesiveDataTet4Lagrange::~CohesiveDataTet4Lagrange(void)
+{}
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTet4Lagrange.hh (from rev 6708, short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTet4.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTet4.hh	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTet4Lagrange.hh	2007-04-27 15:57:49 UTC (rev 6709)
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_faults_cohesivedatatet4lagrange_hh)
+#define pylith_faults_cohesivedatatet4lagrange_hh
+
+#include "CohesiveData.hh"
+
+namespace pylith {
+  namespace faults {
+     class CohesiveDataTet4Lagrange;
+  } // pylith
+} // faults
+
+class pylith::faults::CohesiveDataTet4Lagrange : public CohesiveData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  CohesiveDataTet4Lagrange(void);
+
+  /// Destructor
+  ~CohesiveDataTet4Lagrange(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const int _numVertices; ///< Number of vertices
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _numCells; ///< Number of cells
+  static const int _cellDim; ///< Number of dimensions associated with cell
+
+  static const double _vertices[]; ///< Pointer to coordinates of vertices
+  static const int _numCorners[]; ///< Number of vertices in cell
+  static const int _cells[]; ///< Pointer to indices of vertices in cells
+  static const int _materialIds[]; ///< Pointer to cell material identifiers
+
+  static const int _groups[]; ///< Groups of points
+  static const int _groupSizes[]; ///< Sizes of groups
+  static const char* _groupNames[]; ///< Array of group names
+  static const char* _groupTypes[]; ///< Array of group types
+  static const int _numGroups; ///< Number of groups
+
+  static const char* _filename; ///< Filename of input mesh
+};
+
+#endif // pylith_faults_cohesivedatatet4lagrange_hh
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTri3Lagrange.cc (from rev 6708, short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTri3.cc)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTri3.cc	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTri3Lagrange.cc	2007-04-27 15:57:49 UTC (rev 6709)
@@ -0,0 +1,127 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/* Original mesh
+ *
+ * Cells are 0-1, vertices are 2-5.
+ *
+ *              3
+ *             /|\
+ *            / | \
+ *           /  |  \
+ *          /   |   \
+ *         2    |    5
+ *          \   |   /
+ *           \  |  /
+ *            \ | /
+ *             \|/
+ *              4
+ *
+ *
+ * After adding cohesive elements
+ *
+ * Cells are 0-1, 8, vertices are 2-7.
+ *
+ *              3 -7- 6
+ *             /|     |\
+ *            / |     | \
+ *           /  |     |  \
+ *          /   |     |   \
+ *         2    |     |    5
+ *          \   |     |   /
+ *           \  |     |  /
+ *            \ |     | /
+ *             \|     |/
+ *              4 -9- 8
+ */
+
+#include "CohesiveDataTri3Lagrange.hh"
+
+const int pylith::faults::CohesiveDataTri3Lagrange::_numVertices = 8;
+
+const int pylith::faults::CohesiveDataTri3Lagrange::_spaceDim = 2;
+
+const int pylith::faults::CohesiveDataTri3Lagrange::_numCells = 3;
+
+const int pylith::faults::CohesiveDataTri3Lagrange::_cellDim = 2;
+
+const double pylith::faults::CohesiveDataTri3Lagrange::_vertices[] = {
+ -1.0,  0.0,
+  0.0,  1.0,
+  0.0, -1.0,
+  1.0,  0.0,
+  0.0,  1.0,
+  0.0,  1.0,
+  0.0, -1.0,
+  0.0, -1.0
+};
+
+const int pylith::faults::CohesiveDataTri3Lagrange::_numCorners[] = {
+  3,
+  3,
+  6
+};
+
+const int pylith::faults::CohesiveDataTri3Lagrange::_cells[] = {
+  2,  4,  3,
+  6,  8,  5,
+  3,  4,  6,  8,  7,  9
+};
+
+const int pylith::faults::CohesiveDataTri3Lagrange::_materialIds[] = {
+  0,  0,
+  1
+};
+
+const int pylith::faults::CohesiveDataTri3Lagrange::_numGroups = 2;
+
+const int pylith::faults::CohesiveDataTri3Lagrange::_groupSizes[] = 
+  { 6, 7 };
+
+const int pylith::faults::CohesiveDataTri3Lagrange::_groups[] = {
+  3, 4, 6, 7, 8, 9,
+  3, 4, 5, 6, 7, 8, 9
+};
+
+const char* pylith::faults::CohesiveDataTri3Lagrange::_groupNames[] = {
+  "fault", "output"
+};
+
+const char* pylith::faults::CohesiveDataTri3Lagrange::_groupTypes[] = {
+  "vertex", "vertex"
+};
+
+const char* pylith::faults::CohesiveDataTri3Lagrange::_filename = "data/meshTri3A.txt";
+
+pylith::faults::CohesiveDataTri3Lagrange::CohesiveDataTri3Lagrange(void)
+{ // constructor
+  numVertices = _numVertices;
+  spaceDim = _spaceDim;
+  numCells = _numCells;
+  cellDim = _cellDim;
+  vertices = const_cast<double*>(_vertices);
+  numCorners = const_cast<int*>(_numCorners);
+  cells = const_cast<int*>(_cells);
+  materialIds = const_cast<int*>(_materialIds);
+  groups = const_cast<int*>(_groups);
+  groupSizes = const_cast<int*>(_groupSizes);
+  groupNames = const_cast<char**>(_groupNames);
+  groupTypes = const_cast<char**>(_groupTypes);
+  numGroups = _numGroups;
+  filename = const_cast<char*>(_filename);
+} // constructor
+
+pylith::faults::CohesiveDataTri3Lagrange::~CohesiveDataTri3Lagrange(void)
+{}
+
+
+// End of file

Copied: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTri3Lagrange.hh (from rev 6708, short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTri3.hh)
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTri3.hh	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTri3Lagrange.hh	2007-04-27 15:57:49 UTC (rev 6709)
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_faults_cohesivedatatri3lagrange_hh)
+#define pylith_faults_cohesivedatatri3lagrange_hh
+
+#include "CohesiveData.hh"
+
+namespace pylith {
+  namespace faults {
+     class CohesiveDataTri3Lagrange;
+  } // pylith
+} // faults
+
+class pylith::faults::CohesiveDataTri3Lagrange : public CohesiveData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  CohesiveDataTri3Lagrange(void);
+
+  /// Destructor
+  ~CohesiveDataTri3Lagrange(void);
+
+// PRIVATE MEMBERS //////////////////////////////////////////////////////
+private:
+
+  static const int _numVertices; ///< Number of vertices
+  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
+  static const int _numCells; ///< Number of cells
+  static const int _cellDim; ///< Number of dimensions associated with cell
+
+  static const double _vertices[]; ///< Pointer to coordinates of vertices
+  static const int _numCorners[]; ///< Number of vertices in cell
+  static const int _cells[]; ///< Pointer to indices of vertices in cells
+  static const int _materialIds[]; ///< Pointer to cell material identifiers
+
+  static const int _groups[]; ///< Groups of points
+  static const int _groupSizes[]; ///< Sizes of groups
+  static const char* _groupNames[]; ///< Array of group names
+  static const char* _groupTypes[]; ///< Array of group types
+  static const int _numGroups; ///< Number of groups
+
+  static const char* _filename; ///< Filename of input mesh
+};
+
+#endif // pylith_faults_cohesivedatatri3lagrange_hh
+
+// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataHex8.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataHex8.cc	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataHex8.cc	2007-04-27 15:57:49 UTC (rev 6709)
@@ -1,123 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/* Original mesh
- *
- * Cells are 0-1 and vertices are 2-13.
- *
- *       2,3,4,5 -------- 6,7,8,9 -------- 10,11,12,13
- *
- *                        ^^^^^^^ Vertices forming fault
- *
- * After adding cohesive elements
- *
- * Cells are 0-1,16 and vertices are 4-15.
- *
- *       2,3,4,5 -------- 6,7,8,9 -- 14,16,18,20 -------- 10,11,12,13
- *                                    15,17,19,21
- *                        ^^^^^^^^^^^^^^^^^^^^^^ Cohesive element
- *
- */
-
-#include "CohesiveLagrangeDataHex8.hh"
-
-const int pylith::faults::CohesiveLagrangeDataHex8::_numVertices = 20;
-
-const int pylith::faults::CohesiveLagrangeDataHex8::_spaceDim = 3;
-
-const int pylith::faults::CohesiveLagrangeDataHex8::_numCells = 3;
-
-const int pylith::faults::CohesiveLagrangeDataHex8::_cellDim = 3;
-
-const double pylith::faults::CohesiveLagrangeDataHex8::_vertices[] = {
-  -2.0, -1.0, -1.0,
-  -2.0,  1.0, -1.0,
-  -2.0, -1.0,  1.0,
-  -2.0,  1.0,  1.0,
-   0.0, -1.0, -1.0,
-   0.0,  1.0, -1.0,
-   0.0, -1.0,  1.0,
-   0.0,  1.0,  1.0,
-   2.0, -1.0, -1.0,
-   2.0,  1.0, -1.0,
-   2.0, -1.0,  1.0,
-   2.0,  1.0,  1.0,
-   0.0, -1.0, -1.0,
-   0.0, -1.0, -1.0,
-   0.0,  1.0, -1.0,
-   0.0,  1.0, -1.0,
-   0.0, -1.0,  1.0,
-   0.0, -1.0,  1.0,
-   0.0,  1.0,  1.0,
-   0.0,  1.0,  1.0
-};
-
-const int pylith::faults::CohesiveLagrangeDataHex8::_numCorners[] = {
-  8,
-  8,
-  12
-};
-
-const int pylith::faults::CohesiveLagrangeDataHex8::_cells[] = {
-  2,  4,  5,  3,  6,  8,  9,  7,
- 14, 18, 20, 16, 10, 12, 13, 11,
-  6,  8,  9,  7, 14, 18, 20, 16, 15, 19, 21, 17
-};
-
-const int pylith::faults::CohesiveLagrangeDataHex8::_materialIds[] = {
-  0,  0,
-  1
-};
-
-const int pylith::faults::CohesiveLagrangeDataHex8::_numGroups = 2;
-
-const int pylith::faults::CohesiveLagrangeDataHex8::_groupSizes[] = 
-  { 12, 10 };
-
-const int pylith::faults::CohesiveLagrangeDataHex8::_groups[] = {
-  6, 7, 8, 9, 14, 15, 16, 17, 18, 19, 20, 21,
-  4, 5, 8, 9, 12, 13, 18, 19, 20, 21
-};
-
-const char* pylith::faults::CohesiveLagrangeDataHex8::_groupNames[] = {
-  "fault", "output"
-};
-
-const char* pylith::faults::CohesiveLagrangeDataHex8::_groupTypes[] = {
-  "vertex", "vertex"
-};
-
-const char* pylith::faults::CohesiveLagrangeDataHex8::_filename = "data/meshHex8A.txt";
-
-pylith::faults::CohesiveLagrangeDataHex8::CohesiveLagrangeDataHex8(void)
-{ // constructor
-  numVertices = _numVertices;
-  spaceDim = _spaceDim;
-  numCells = _numCells;
-  cellDim = _cellDim;
-  vertices = const_cast<double*>(_vertices);
-  numCorners = const_cast<int*>(_numCorners);
-  cells = const_cast<int*>(_cells);
-  materialIds = const_cast<int*>(_materialIds);
-  groups = const_cast<int*>(_groups);
-  groupSizes = const_cast<int*>(_groupSizes);
-  groupNames = const_cast<char**>(_groupNames);
-  groupTypes = const_cast<char**>(_groupTypes);
-  numGroups = _numGroups;
-  filename = const_cast<char*>(_filename);
-} // constructor
-
-pylith::faults::CohesiveLagrangeDataHex8::~CohesiveLagrangeDataHex8(void)
-{}
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataHex8.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataHex8.hh	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataHex8.hh	2007-04-27 15:57:49 UTC (rev 6709)
@@ -1,60 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_faults_cohesivelagrangedatahex8_hh)
-#define pylith_faults_cohesivelagrangedatahex8_hh
-
-#include "CohesiveData.hh"
-
-namespace pylith {
-  namespace faults {
-     class CohesiveLagrangeDataHex8;
-  } // pylith
-} // faults
-
-class pylith::faults::CohesiveLagrangeDataHex8 : public CohesiveData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public: 
-
-  /// Constructor
-  CohesiveLagrangeDataHex8(void);
-
-  /// Destructor
-  ~CohesiveLagrangeDataHex8(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
-  static const int _numVertices; ///< Number of vertices
-  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
-  static const int _numCells; ///< Number of cells
-  static const int _cellDim; ///< Number of dimensions associated with cell
-
-  static const double _vertices[]; ///< Pointer to coordinates of vertices
-  static const int _numCorners[]; ///< Number of vertices in cell
-  static const int _cells[]; ///< Pointer to indices of vertices in cells
-  static const int _materialIds[]; ///< Pointer to cell material identifiers
-
-  static const int _groups[]; ///< Groups of points
-  static const int _groupSizes[]; ///< Sizes of groups
-  static const char* _groupNames[]; ///< Array of group names
-  static const char* _groupTypes[]; ///< Array of group types
-  static const int _numGroups; ///< Number of groups
-
-  static const char* _filename; ///< Filename of input mesh
-};
-
-#endif // pylith_faults_cohesivelagrangedatahex8_hh
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataLine2.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataLine2.cc	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataLine2.cc	2007-04-27 15:57:49 UTC (rev 6709)
@@ -1,100 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/* Original mesh
- *
- *   Cells are 0-1, vertices are 2-4.
- *
- *   2 -------- 3 -------- 4
- *
- * After adding cohesive elements
- *   2 -------- 3 -6- 5 -------- 4
- */
-
-#include "CohesiveLagrangeDataLine2.hh"
-
-const int pylith::faults::CohesiveLagrangeDataLine2::_numVertices = 5;
-
-const int pylith::faults::CohesiveLagrangeDataLine2::_spaceDim = 1;
-
-const int pylith::faults::CohesiveLagrangeDataLine2::_numCells = 3;
-
-const int pylith::faults::CohesiveLagrangeDataLine2::_cellDim = 1;
-
-const double pylith::faults::CohesiveLagrangeDataLine2::_vertices[] = {
-  -1.0,
-   0.0,
-   1.0,
-   0.0,
-   0.0
-};
-
-const int pylith::faults::CohesiveLagrangeDataLine2::_numCorners[] = {
-  2,
-  2,
-  3
-};
-
-const int pylith::faults::CohesiveLagrangeDataLine2::_cells[] = {
-       2,  3,
-       5,  4,
-       3,  5,  6
-};
-
-const int pylith::faults::CohesiveLagrangeDataLine2::_materialIds[] = {
-  0,  0,
-  1
-};
-
-const int pylith::faults::CohesiveLagrangeDataLine2::_numGroups = 2;
-
-const int pylith::faults::CohesiveLagrangeDataLine2::_groupSizes[] = 
-  { 3, 4 };
-
-const int pylith::faults::CohesiveLagrangeDataLine2::_groups[] = {
-  3, 5, 6,
-  2, 3, 5, 6
-};
-
-const char* pylith::faults::CohesiveLagrangeDataLine2::_groupNames[] = {
-  "fault", "output"
-};
-
-const char* pylith::faults::CohesiveLagrangeDataLine2::_groupTypes[] = {
-  "vertex", "vertex"
-};
-
-const char* pylith::faults::CohesiveLagrangeDataLine2::_filename = "data/meshLine.txt";
-
-pylith::faults::CohesiveLagrangeDataLine2::CohesiveLagrangeDataLine2(void)
-{ // constructor
-  numVertices = _numVertices;
-  spaceDim = _spaceDim;
-  numCells = _numCells;
-  cellDim = _cellDim;
-  vertices = const_cast<double*>(_vertices);
-  numCorners = const_cast<int*>(_numCorners);
-  cells = const_cast<int*>(_cells);
-  materialIds = const_cast<int*>(_materialIds);
-  groups = const_cast<int*>(_groups);
-  groupSizes = const_cast<int*>(_groupSizes);
-  groupNames = const_cast<char**>(_groupNames);
-  groupTypes = const_cast<char**>(_groupTypes);
-  numGroups = _numGroups;
-  filename = const_cast<char*>(_filename);
-} // constructor
-
-pylith::faults::CohesiveLagrangeDataLine2::~CohesiveLagrangeDataLine2(void)
-{}
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataLine2.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataLine2.hh	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataLine2.hh	2007-04-27 15:57:49 UTC (rev 6709)
@@ -1,60 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_faults_cohesivelagrangedataline2_hh)
-#define pylith_faults_cohesivelagrangedataline2_hh
-
-#include "CohesiveData.hh"
-
-namespace pylith {
-  namespace faults {
-     class CohesiveLagrangeDataLine2;
-  } // pylith
-} // faults
-
-class pylith::faults::CohesiveLagrangeDataLine2 : public CohesiveData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public: 
-
-  /// Constructor
-  CohesiveLagrangeDataLine2(void);
-
-  /// Destructor
-  ~CohesiveLagrangeDataLine2(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
-  static const int _numVertices; ///< Number of vertices
-  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
-  static const int _numCells; ///< Number of cells
-  static const int _cellDim; ///< Number of dimensions associated with cell
-
-  static const double _vertices[]; ///< Pointer to coordinates of vertices
-  static const int _numCorners[]; ///< Number of vertices in cell
-  static const int _cells[]; ///< Pointer to indices of vertices in cells
-  static const int _materialIds[]; ///< Pointer to cell material identifiers
-
-  static const int _groups[]; ///< Groups of points
-  static const int _groupSizes[]; ///< Sizes of groups
-  static const char* _groupNames[]; ///< Array of group names
-  static const char* _groupTypes[]; ///< Array of group types
-  static const int _numGroups; ///< Number of groups
-
-  static const char* _filename; ///< Filename of input mesh
-};
-
-#endif // pylith_faults_cohesivelagrangedataline2_hh
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataQuad4.cc	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataQuad4.cc	2007-04-27 15:57:49 UTC (rev 6709)
@@ -1,126 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/* Original mesh
- *
- * Cells are 0-1, vertices are 2-7.
- *
- *       3 -------- 5 -------- 7
- *       |          |          |
- *       |          |          |
- *       |          |          |
- *       |          |          |
- *       |          |          |
- *       |          |          |
- *       |          |          |
- *       |          |          |
- *       2 -------- 4 -------- 6
- *
- * After adding cohesive elements
- *
- * Cells are 0-1,10 vertices are 2-9.
- *
- *       3 -------- 5 -11- 10 -------- 7
- *       |          |       |          |
- *       |          |       |          |
- *       |          |       |          |
- *       |          |       |          |
- *       |          |       |          |
- *       |          |       |          |
- *       |          |       |          |
- *       |          |       |          |
- *       2 -------- 4 --9-- 8 -------- 6
- */
-
-#include "CohesiveLagrangeDataQuad4.hh"
-
-const int pylith::faults::CohesiveLagrangeDataQuad4::_numVertices = 10;
-
-const int pylith::faults::CohesiveLagrangeDataQuad4::_spaceDim = 2;
-
-const int pylith::faults::CohesiveLagrangeDataQuad4::_numCells = 3;
-
-const int pylith::faults::CohesiveLagrangeDataQuad4::_cellDim = 2;
-
-const double pylith::faults::CohesiveLagrangeDataQuad4::_vertices[] = {
-  -2.0, -1.0,
-  -2.0,  1.0,
-   0.0, -1.0,
-   0.0,  1.0,
-   2.0, -1.0,
-   2.0,  1.0,
-   0.0, -1.0,
-   0.0, -1.0,
-   0.0,  1.0,
-   0.0,  1.0,
-};
-
-const int pylith::faults::CohesiveLagrangeDataQuad4::_numCorners[] = {
-  4,
-  4,
-  6
-};
-
-const int pylith::faults::CohesiveLagrangeDataQuad4::_cells[] = {
-  2,  4,  5,  3,
-  6,  7, 10,  8,
-  4,  5,  8, 10,  9, 11
-};
-
-const int pylith::faults::CohesiveLagrangeDataQuad4::_materialIds[] = {
-  0,  0,
-  1
-};
-
-const int pylith::faults::CohesiveLagrangeDataQuad4::_numGroups = 2;
-
-const int pylith::faults::CohesiveLagrangeDataQuad4::_groupSizes[] = 
-  { 6, 5 };
-
-const int pylith::faults::CohesiveLagrangeDataQuad4::_groups[] = {
-  4, 5, 8, 9, 10, 11,
-  3, 5, 7, 10, 11
-};
-
-const char* pylith::faults::CohesiveLagrangeDataQuad4::_groupNames[] = {
-  "fault", "output"
-};
-
-const char* pylith::faults::CohesiveLagrangeDataQuad4::_groupTypes[] = {
-  "vertex", "vertex"
-};
-
-const char* pylith::faults::CohesiveLagrangeDataQuad4::_filename = "data/meshQuad4A.txt";
-
-pylith::faults::CohesiveLagrangeDataQuad4::CohesiveLagrangeDataQuad4(void)
-{ // constructor
-  numVertices = _numVertices;
-  spaceDim = _spaceDim;
-  numCells = _numCells;
-  cellDim = _cellDim;
-  vertices = const_cast<double*>(_vertices);
-  numCorners = const_cast<int*>(_numCorners);
-  cells = const_cast<int*>(_cells);
-  materialIds = const_cast<int*>(_materialIds);
-  groups = const_cast<int*>(_groups);
-  groupSizes = const_cast<int*>(_groupSizes);
-  groupNames = const_cast<char**>(_groupNames);
-  groupTypes = const_cast<char**>(_groupTypes);
-  numGroups = _numGroups;
-  filename = const_cast<char*>(_filename);
-} // constructor
-
-pylith::faults::CohesiveLagrangeDataQuad4::~CohesiveLagrangeDataQuad4(void)
-{}
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataQuad4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataQuad4.hh	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataQuad4.hh	2007-04-27 15:57:49 UTC (rev 6709)
@@ -1,60 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_faults_cohesivelagrangedataquad4_hh)
-#define pylith_faults_cohesivelagrangedataquad4_hh
-
-#include "CohesiveData.hh"
-
-namespace pylith {
-  namespace faults {
-     class CohesiveLagrangeDataQuad4;
-  } // pylith
-} // faults
-
-class pylith::faults::CohesiveLagrangeDataQuad4 : public CohesiveData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public: 
-
-  /// Constructor
-  CohesiveLagrangeDataQuad4(void);
-
-  /// Destructor
-  ~CohesiveLagrangeDataQuad4(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
-  static const int _numVertices; ///< Number of vertices
-  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
-  static const int _numCells; ///< Number of cells
-  static const int _cellDim; ///< Number of dimensions associated with cell
-
-  static const double _vertices[]; ///< Pointer to coordinates of vertices
-  static const int _numCorners[]; ///< Number of vertices in cell
-  static const int _cells[]; ///< Pointer to indices of vertices in cells
-  static const int _materialIds[]; ///< Pointer to cell material identifiers
-
-  static const int _groups[]; ///< Groups of points
-  static const int _groupSizes[]; ///< Sizes of groups
-  static const char* _groupNames[]; ///< Array of group names
-  static const char* _groupTypes[]; ///< Array of group types
-  static const int _numGroups; ///< Number of groups
-
-  static const char* _filename; ///< Filename of input mesh
-};
-
-#endif // pylith_faults_cohesivedataquad4_hh
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTet4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTet4.cc	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTet4.cc	2007-04-27 15:57:49 UTC (rev 6709)
@@ -1,113 +0,0 @@
-// -*- 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 "CohesiveLagrangeDataTet4.hh"
-
-const int pylith::faults::CohesiveLagrangeDataTet4::_numVertices = 11;
-
-const int pylith::faults::CohesiveLagrangeDataTet4::_spaceDim = 3;
-
-const int pylith::faults::CohesiveLagrangeDataTet4::_numCells = 3;
-
-const int pylith::faults::CohesiveLagrangeDataTet4::_cellDim = 3;
-
-const double pylith::faults::CohesiveLagrangeDataTet4::_vertices[] = {
-  -1.0,  0.0,  0.0,
-   0.0, -1.0,  0.0,
-   0.0,  0.0,  1.0,
-   0.0,  1.0,  0.0,
-   1.0,  0.0,  0.0,
-   0.0, -1.0,  0.0,
-   0.0, -1.0,  0.0,
-   0.0,  0.0,  1.0,
-   0.0,  0.0,  1.0,
-   0.0,  1.0,  0.0,
-   0.0,  1.0,  0.0
-};
-
-const int pylith::faults::CohesiveLagrangeDataTet4::_numCorners[] = {
-  4,
-  4,
-  9
-};
-
-const int pylith::faults::CohesiveLagrangeDataTet4::_cells[] = {
-  3,  4,  5,  2,
-  7, 11,  9,  6,
-  3,  4,  5,  7,  9, 11,  8, 10, 12
-};
-
-const int pylith::faults::CohesiveLagrangeDataTet4::_materialIds[] = {
-  0,  0,
-  1
-};
-
-const int pylith::faults::CohesiveLagrangeDataTet4::_numGroups = 2;
-
-const int pylith::faults::CohesiveLagrangeDataTet4::_groupSizes[] = 
-  { 9, 7 };
-
-const int pylith::faults::CohesiveLagrangeDataTet4::_groups[] = {
-  3, 4, 5, 7, 8, 9, 10, 11, 12,
-  2, 4, 5, 9, 10, 11, 12
-};
-
-const char* pylith::faults::CohesiveLagrangeDataTet4::_groupNames[] = {
-  "fault", "output"
-};
-
-const char* pylith::faults::CohesiveLagrangeDataTet4::_groupTypes[] = {
-  "vertex", "vertex"
-};
-
-const char* pylith::faults::CohesiveLagrangeDataTet4::_filename = "data/meshTet4A.txt";
-
-pylith::faults::CohesiveLagrangeDataTet4::CohesiveLagrangeDataTet4(void)
-{ // constructor
-  numVertices = _numVertices;
-  spaceDim = _spaceDim;
-  numCells = _numCells;
-  cellDim = _cellDim;
-  vertices = const_cast<double*>(_vertices);
-  numCorners = const_cast<int*>(_numCorners);
-  cells = const_cast<int*>(_cells);
-  materialIds = const_cast<int*>(_materialIds);
-  groups = const_cast<int*>(_groups);
-  groupSizes = const_cast<int*>(_groupSizes);
-  groupNames = const_cast<char**>(_groupNames);
-  groupTypes = const_cast<char**>(_groupTypes);
-  numGroups = _numGroups;
-  filename = const_cast<char*>(_filename);
-} // constructor
-
-pylith::faults::CohesiveLagrangeDataTet4::~CohesiveLagrangeDataTet4(void)
-{}
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTet4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTet4.hh	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTet4.hh	2007-04-27 15:57:49 UTC (rev 6709)
@@ -1,60 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_faults_cohesivelagrangedatatet4_hh)
-#define pylith_faults_cohesivelagrangedatatet4_hh
-
-#include "CohesiveData.hh"
-
-namespace pylith {
-  namespace faults {
-     class CohesiveLagrangeDataTet4;
-  } // pylith
-} // faults
-
-class pylith::faults::CohesiveLagrangeDataTet4 : public CohesiveData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public: 
-
-  /// Constructor
-  CohesiveLagrangeDataTet4(void);
-
-  /// Destructor
-  ~CohesiveLagrangeDataTet4(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
-  static const int _numVertices; ///< Number of vertices
-  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
-  static const int _numCells; ///< Number of cells
-  static const int _cellDim; ///< Number of dimensions associated with cell
-
-  static const double _vertices[]; ///< Pointer to coordinates of vertices
-  static const int _numCorners[]; ///< Number of vertices in cell
-  static const int _cells[]; ///< Pointer to indices of vertices in cells
-  static const int _materialIds[]; ///< Pointer to cell material identifiers
-
-  static const int _groups[]; ///< Groups of points
-  static const int _groupSizes[]; ///< Sizes of groups
-  static const char* _groupNames[]; ///< Array of group names
-  static const char* _groupTypes[]; ///< Array of group types
-  static const int _numGroups; ///< Number of groups
-
-  static const char* _filename; ///< Filename of input mesh
-};
-
-#endif // pylith_faults_cohesivedatatet4_hh
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTri3.cc	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTri3.cc	2007-04-27 15:57:49 UTC (rev 6709)
@@ -1,127 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-/* Original mesh
- *
- * Cells are 0-1, vertices are 2-5.
- *
- *              3
- *             /|\
- *            / | \
- *           /  |  \
- *          /   |   \
- *         2    |    5
- *          \   |   /
- *           \  |  /
- *            \ | /
- *             \|/
- *              4
- *
- *
- * After adding cohesive elements
- *
- * Cells are 0-1, 8, vertices are 2-7.
- *
- *              3 -7- 6
- *             /|     |\
- *            / |     | \
- *           /  |     |  \
- *          /   |     |   \
- *         2    |     |    5
- *          \   |     |   /
- *           \  |     |  /
- *            \ |     | /
- *             \|     |/
- *              4 -9- 8
- */
-
-#include "CohesiveLagrangeDataTri3.hh"
-
-const int pylith::faults::CohesiveLagrangeDataTri3::_numVertices = 8;
-
-const int pylith::faults::CohesiveLagrangeDataTri3::_spaceDim = 2;
-
-const int pylith::faults::CohesiveLagrangeDataTri3::_numCells = 3;
-
-const int pylith::faults::CohesiveLagrangeDataTri3::_cellDim = 2;
-
-const double pylith::faults::CohesiveLagrangeDataTri3::_vertices[] = {
- -1.0,  0.0,
-  0.0,  1.0,
-  0.0, -1.0,
-  1.0,  0.0,
-  0.0,  1.0,
-  0.0,  1.0,
-  0.0, -1.0,
-  0.0, -1.0
-};
-
-const int pylith::faults::CohesiveLagrangeDataTri3::_numCorners[] = {
-  3,
-  3,
-  6
-};
-
-const int pylith::faults::CohesiveLagrangeDataTri3::_cells[] = {
-  2,  4,  3,
-  6,  8,  5,
-  3,  4,  6,  8,  7,  9
-};
-
-const int pylith::faults::CohesiveLagrangeDataTri3::_materialIds[] = {
-  0,  0,
-  1
-};
-
-const int pylith::faults::CohesiveLagrangeDataTri3::_numGroups = 2;
-
-const int pylith::faults::CohesiveLagrangeDataTri3::_groupSizes[] = 
-  { 6, 7 };
-
-const int pylith::faults::CohesiveLagrangeDataTri3::_groups[] = {
-  3, 4, 6, 7, 8, 9,
-  3, 4, 5, 6, 7, 8, 9
-};
-
-const char* pylith::faults::CohesiveLagrangeDataTri3::_groupNames[] = {
-  "fault", "output"
-};
-
-const char* pylith::faults::CohesiveLagrangeDataTri3::_groupTypes[] = {
-  "vertex", "vertex"
-};
-
-const char* pylith::faults::CohesiveLagrangeDataTri3::_filename = "data/meshTri3A.txt";
-
-pylith::faults::CohesiveLagrangeDataTri3::CohesiveLagrangeDataTri3(void)
-{ // constructor
-  numVertices = _numVertices;
-  spaceDim = _spaceDim;
-  numCells = _numCells;
-  cellDim = _cellDim;
-  vertices = const_cast<double*>(_vertices);
-  numCorners = const_cast<int*>(_numCorners);
-  cells = const_cast<int*>(_cells);
-  materialIds = const_cast<int*>(_materialIds);
-  groups = const_cast<int*>(_groups);
-  groupSizes = const_cast<int*>(_groupSizes);
-  groupNames = const_cast<char**>(_groupNames);
-  groupTypes = const_cast<char**>(_groupTypes);
-  numGroups = _numGroups;
-  filename = const_cast<char*>(_filename);
-} // constructor
-
-pylith::faults::CohesiveLagrangeDataTri3::~CohesiveLagrangeDataTri3(void)
-{}
-
-
-// End of file

Deleted: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTri3.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTri3.hh	2007-04-27 12:23:34 UTC (rev 6708)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveLagrangeDataTri3.hh	2007-04-27 15:57:49 UTC (rev 6709)
@@ -1,60 +0,0 @@
-// -*- C++ -*-
-//
-// ======================================================================
-//
-//                           Brad T. Aagaard
-//                        U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ======================================================================
-//
-
-#if !defined(pylith_faults_cohesivelagrangedatatri3_hh)
-#define pylith_faults_cohesivelagrangedatatri3_hh
-
-#include "CohesiveData.hh"
-
-namespace pylith {
-  namespace faults {
-     class CohesiveLagrangeDataTri3;
-  } // pylith
-} // faults
-
-class pylith::faults::CohesiveLagrangeDataTri3 : public CohesiveData
-{
-
-// PUBLIC METHODS ///////////////////////////////////////////////////////
-public: 
-
-  /// Constructor
-  CohesiveLagrangeDataTri3(void);
-
-  /// Destructor
-  ~CohesiveLagrangeDataTri3(void);
-
-// PRIVATE MEMBERS //////////////////////////////////////////////////////
-private:
-
-  static const int _numVertices; ///< Number of vertices
-  static const int _spaceDim; ///< Number of dimensions in vertex coordinates
-  static const int _numCells; ///< Number of cells
-  static const int _cellDim; ///< Number of dimensions associated with cell
-
-  static const double _vertices[]; ///< Pointer to coordinates of vertices
-  static const int _numCorners[]; ///< Number of vertices in cell
-  static const int _cells[]; ///< Pointer to indices of vertices in cells
-  static const int _materialIds[]; ///< Pointer to cell material identifiers
-
-  static const int _groups[]; ///< Groups of points
-  static const int _groupSizes[]; ///< Sizes of groups
-  static const char* _groupNames[]; ///< Array of group names
-  static const char* _groupTypes[]; ///< Array of group types
-  static const int _numGroups; ///< Number of groups
-
-  static const char* _filename; ///< Filename of input mesh
-};
-
-#endif // pylith_faults_cohesivedatatri3_hh
-
-// End of file



More information about the cig-commits mailing list