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

brad at geodynamics.org brad at geodynamics.org
Sat Jun 23 14:53:26 PDT 2007


Author: brad
Date: 2007-06-23 14:53:25 -0700 (Sat, 23 Jun 2007)
New Revision: 7425

Added:
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8g.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8g.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8h.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8h.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTet4i.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTet4i.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTri3e.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTri3e.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/hex8g.mesh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/hex8h.mesh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4i.mesh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/tri3e.mesh
Modified:
   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
   short/3D/PyLith/trunk/unittests/libtests/faults/data/Makefile.am
Log:
Fished unit test suite exposing bug in creating cohesive cells (inconsistent orientations). May have exposed additional bug in setting up cohesive cells for hex8 cells or may be same bug.

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am	2007-06-23 19:58:23 UTC (rev 7424)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/Makefile.am	2007-06-23 21:53:25 UTC (rev 7425)
@@ -62,6 +62,7 @@
 	data/CohesiveDataTri3b.cc \
 	data/CohesiveDataTri3c.cc \
 	data/CohesiveDataTri3d.cc \
+	data/CohesiveDataTri3e.cc \
 	data/CohesiveDataTri3Lagrange.cc \
 	data/CohesiveDataQuad4.cc \
 	data/CohesiveDataQuad4b.cc \
@@ -77,6 +78,7 @@
 	data/CohesiveDataTet4f.cc \
 	data/CohesiveDataTet4g.cc \
 	data/CohesiveDataTet4h.cc \
+	data/CohesiveDataTet4i.cc \
 	data/CohesiveDataTet4Lagrange.cc \
 	data/CohesiveDataHex8.cc \
 	data/CohesiveDataHex8b.cc \
@@ -84,6 +86,8 @@
 	data/CohesiveDataHex8d.cc \
 	data/CohesiveDataHex8e.cc \
 	data/CohesiveDataHex8f.cc \
+	data/CohesiveDataHex8g.cc \
+	data/CohesiveDataHex8h.cc \
 	data/CohesiveDataHex8Lagrange.cc \
 	data/CohesiveKinData.cc \
 	data/CohesiveKinDataLine2.cc \
@@ -104,6 +108,7 @@
 	data/CohesiveDataTri3b.hh \
 	data/CohesiveDataTri3c.hh \
 	data/CohesiveDataTri3d.hh \
+	data/CohesiveDataTri3e.hh \
 	data/CohesiveDataTri3Lagrange.hh \
 	data/CohesiveDataQuad4.hh \
 	data/CohesiveDataQuad4b.hh \
@@ -119,6 +124,7 @@
 	data/CohesiveDataTet4f.hh \
 	data/CohesiveDataTet4g.hh \
 	data/CohesiveDataTet4h.hh \
+	data/CohesiveDataTet4i.hh \
 	data/CohesiveDataTet4Lagrange.hh \
 	data/CohesiveDataHex8.hh \
 	data/CohesiveDataHex8b.hh \
@@ -126,6 +132,8 @@
 	data/CohesiveDataHex8d.hh \
 	data/CohesiveDataHex8e.hh \
 	data/CohesiveDataHex8f.hh \
+	data/CohesiveDataHex8g.hh \
+	data/CohesiveDataHex8h.hh \
 	data/CohesiveDataHex8Lagrange.hh \
 	data/CohesiveKinData.hh \
 	data/CohesiveKinDataLine2.hh \

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesive.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesive.cc	2007-06-23 19:58:23 UTC (rev 7424)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesive.cc	2007-06-23 21:53:25 UTC (rev 7425)
@@ -27,6 +27,7 @@
 #include "data/CohesiveDataTri3b.hh" // USES CohesiveDataTri3b
 #include "data/CohesiveDataTri3c.hh" // USES CohesiveDataTri3c
 #include "data/CohesiveDataTri3d.hh" // USES CohesiveDataTri3d
+#include "data/CohesiveDataTri3e.hh" // USES CohesiveDataTri3e
 #include "data/CohesiveDataQuad4.hh" // USES CohesiveDataQuad4
 #include "data/CohesiveDataQuad4b.hh" // USES CohesiveDataQuad4b
 #include "data/CohesiveDataQuad4c.hh" // USES CohesiveDataQuad4c
@@ -40,12 +41,15 @@
 #include "data/CohesiveDataTet4f.hh" // USES CohesiveDataTet4f
 #include "data/CohesiveDataTet4g.hh" // USES CohesiveDataTet4g
 #include "data/CohesiveDataTet4h.hh" // USES CohesiveDataTet4h
+#include "data/CohesiveDataTet4i.hh" // USES CohesiveDataTet4i
 #include "data/CohesiveDataHex8.hh" // USES CohesiveDataHex8
 #include "data/CohesiveDataHex8b.hh" // USES CohesiveDataHex8b
 #include "data/CohesiveDataHex8c.hh" // USES CohesiveDataHex8c
 #include "data/CohesiveDataHex8d.hh" // USES CohesiveDataHex8d
 #include "data/CohesiveDataHex8e.hh" // USES CohesiveDataHex8e
 #include "data/CohesiveDataHex8f.hh" // USES CohesiveDataHex8f
+#include "data/CohesiveDataHex8g.hh" // USES CohesiveDataHex8g
+#include "data/CohesiveDataHex8h.hh" // USES CohesiveDataHex8h
 
 #include "data/CohesiveDataLine2Lagrange.hh" // USES CohesiveDataLine2Lagrange
 #include "data/CohesiveDataTri3Lagrange.hh" // USES CohesiveDataTri3Lagrange
@@ -107,6 +111,16 @@
 } // testAdjustTopologyTri3d
 
 // ----------------------------------------------------------------------
+// Test adjustTopology() with 2-D triangular element (two cohesive cells b).
+void
+pylith::faults::TestFaultCohesive::testAdjustTopologyTri3e(void)
+{ // testAdjustTopologyTri3e
+  CohesiveDataTri3e data;
+  FaultCohesiveDyn fault;
+  _testAdjustTopology(&fault, data);
+} // testAdjustTopologyTri3e
+
+// ----------------------------------------------------------------------
 // Test adjustTopology() with 2-D quadrilateral element.
 void
 pylith::faults::TestFaultCohesive::testAdjustTopologyQuad4(void)
@@ -237,6 +251,16 @@
 } // testAdjustTopologyTet4h
 
 // ----------------------------------------------------------------------
+// Test adjustTopology() with 3-D tetrahedral element (2 cells b).
+void
+pylith::faults::TestFaultCohesive::testAdjustTopologyTet4i(void)
+{ // testAdjustTopologyTet4i
+  CohesiveDataTet4i data;
+  FaultCohesiveDyn fault;
+  _testAdjustTopology(&fault, data);
+} // testAdjustTopologyTet4i
+
+// ----------------------------------------------------------------------
 // Test adjustTopology() with 3-D hexahedral element.
 void
 pylith::faults::TestFaultCohesive::testAdjustTopologyHex8(void)
@@ -297,6 +321,26 @@
 } // testAdjustTopologyHex8f
 
 // ----------------------------------------------------------------------
+// Test adjustTopology() with 3-D hexahedral element (2 cells easy).
+void
+pylith::faults::TestFaultCohesive::testAdjustTopologyHex8g(void)
+{ // testAdjustTopologyHex8g
+  CohesiveDataHex8g data;
+  FaultCohesiveDyn fault;
+  _testAdjustTopology(&fault, data);
+} // testAdjustTopologyHex8g
+
+// ----------------------------------------------------------------------
+// Test adjustTopology() with 3-D hexahedral element (2 cells difficult).
+void
+pylith::faults::TestFaultCohesive::testAdjustTopologyHex8h(void)
+{ // testAdjustTopologyHex8h
+  CohesiveDataHex8h data;
+  FaultCohesiveDyn fault;
+  _testAdjustTopology(&fault, data);
+} // testAdjustTopologyHex8h
+
+// ----------------------------------------------------------------------
 // Test adjustTopology() with 1-D line element for Lagrange
 // multipliers.
 void

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesive.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesive.hh	2007-06-23 19:58:23 UTC (rev 7424)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesive.hh	2007-06-23 21:53:25 UTC (rev 7425)
@@ -46,6 +46,7 @@
   CPPUNIT_TEST( testAdjustTopologyTri3b );
   CPPUNIT_TEST( testAdjustTopologyTri3c );
   CPPUNIT_TEST( testAdjustTopologyTri3d );
+  CPPUNIT_TEST( testAdjustTopologyTri3e );
   CPPUNIT_TEST( testAdjustTopologyQuad4 );
   CPPUNIT_TEST( testAdjustTopologyQuad4b );
   CPPUNIT_TEST( testAdjustTopologyQuad4c );
@@ -59,12 +60,15 @@
   CPPUNIT_TEST( testAdjustTopologyTet4f );
   CPPUNIT_TEST( testAdjustTopologyTet4g );
   CPPUNIT_TEST( testAdjustTopologyTet4h );
+  CPPUNIT_TEST( testAdjustTopologyTet4i );
   CPPUNIT_TEST( testAdjustTopologyHex8 );
   CPPUNIT_TEST( testAdjustTopologyHex8b );
   CPPUNIT_TEST( testAdjustTopologyHex8c );
   CPPUNIT_TEST( testAdjustTopologyHex8d );
   CPPUNIT_TEST( testAdjustTopologyHex8e );
   CPPUNIT_TEST( testAdjustTopologyHex8f );
+  CPPUNIT_TEST( testAdjustTopologyHex8g );
+  CPPUNIT_TEST( testAdjustTopologyHex8h );
 
   CPPUNIT_TEST( testAdjustTopologyLine2Lagrange );
   CPPUNIT_TEST( testAdjustTopologyTri3Lagrange );
@@ -96,6 +100,9 @@
   /// Test adjustTopology() with 2-D triangular element (2 cohesive cells).
   void testAdjustTopologyTri3d(void);
 
+  /// Test adjustTopology() with 2-D triangular element (2 cohesive cells b).
+  void testAdjustTopologyTri3e(void);
+
   /// Test adjustTopology() with 2-D quadrilateral element.
   void testAdjustTopologyQuad4(void);
 
@@ -135,6 +142,9 @@
   /// Test adjustTopology() with 3-D tetrahedral element (face h).
   void testAdjustTopologyTet4h(void);
 
+  /// Test adjustTopology() with 3-D tetrahedral element (2 cells b).
+  void testAdjustTopologyTet4i(void);
+
   /// Test adjustTopology() with 3-D hexahedral element.
   void testAdjustTopologyHex8(void);
 
@@ -153,6 +163,12 @@
   /// Test adjustTopology() with 3-D hexahedral element (face f).
   void testAdjustTopologyHex8f(void);
 
+  /// Test adjustTopology() with 3-D hexahedral element (2 cells easy).
+  void testAdjustTopologyHex8g(void);
+
+  /// Test adjustTopology() with 3-D hexahedral element (2 cells difficult).
+  void testAdjustTopologyHex8h(void);
+
   /// Test adjustTopology() with 1-D line element for Lagrange
   /// multipliers.
   void testAdjustTopologyLine2Lagrange(void);

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8g.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8g.cc	2007-06-23 19:58:23 UTC (rev 7424)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8g.cc	2007-06-23 21:53:25 UTC (rev 7425)
@@ -0,0 +1,134 @@
+// -*- 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,15,16,17 -------- 10,11,12,13
+ *
+ *                        ^^^^^^^^^^^^^^^^^^^^^^ Cohesive element
+ *
+ */
+
+#include "CohesiveDataHex8g.hh"
+
+const int pylith::faults::CohesiveDataHex8g::_numVertices = 24;
+
+const int pylith::faults::CohesiveDataHex8g::_spaceDim = 3;
+
+const int pylith::faults::CohesiveDataHex8g::_numCells = 6;
+
+const int pylith::faults::CohesiveDataHex8g::_cellDim = 3;
+
+const double pylith::faults::CohesiveDataHex8g::_vertices[] = {
+  -2.0, -1.0, -2.0,
+  -2.0,  1.0, -2.0,
+  -2.0, -1.0,  0.0,
+  -2.0,  1.0,  0.0,
+  -2.0, -1.0,  2.0,
+  -2.0,  1.0,  2.0,
+   0.0, -1.0, -2.0,
+   0.0,  1.0, -2.0,
+   0.0, -1.0,  0.0,
+   0.0,  1.0,  0.0,
+   0.0, -1.0,  2.0,
+   0.0,  1.0,  2.0,
+   2.0, -1.0, -2.0,
+   2.0,  1.0, -2.0,
+   2.0, -1.0,  0.0,
+   2.0,  1.0,  0.0,
+   2.0, -1.0,  2.0,
+   2.0,  1.0,  2.0,
+   0.0, -1.0, -2.0,
+   0.0,  1.0, -2.0,
+   0.0, -1.0,  0.0,
+   0.0,  1.0,  0.0,
+   0.0, -1.0,  2.0,
+   0.0,  1.0,  2.0,
+};
+
+const int pylith::faults::CohesiveDataHex8g::_numCorners[] = {
+  8,
+  8,
+  8,
+  8,
+  8,
+  8
+};
+
+const int pylith::faults::CohesiveDataHex8g::_cells[] = {
+   4, 10, 11,  5,  6, 12, 13,  7,
+   6, 12, 13,  7,  8, 14, 15,  9,
+  22, 16, 17, 23, 24, 18, 19, 25,
+  24, 18, 19, 25, 26, 20, 21, 27,
+  10, 11, 13, 12, 22, 23, 25, 24,
+  12, 13, 15, 14, 24, 25, 27, 26,
+};
+
+const int pylith::faults::CohesiveDataHex8g::_materialIds[] = {
+  0,  0,  0,  0,
+  1,  1
+};
+
+const int pylith::faults::CohesiveDataHex8g::_numGroups = 2;
+
+const int pylith::faults::CohesiveDataHex8g::_groupSizes[] = 
+  { 12, 8 };
+
+const int pylith::faults::CohesiveDataHex8g::_groups[] = {
+  10, 11, 12, 13, 14, 15, 22, 23, 24, 25, 26, 27,
+  8, 9, 14, 15, 20, 21, 26, 27
+};
+
+const char* pylith::faults::CohesiveDataHex8g::_groupNames[] = {
+  "fault", "output"
+};
+
+const char* pylith::faults::CohesiveDataHex8g::_groupTypes[] = {
+  "vertex", "vertex"
+};
+
+const char* pylith::faults::CohesiveDataHex8g::_filename = 
+  "data/hex8g.mesh";
+
+pylith::faults::CohesiveDataHex8g::CohesiveDataHex8g(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::CohesiveDataHex8g::~CohesiveDataHex8g(void)
+{}
+
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8g.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8g.hh	2007-06-23 19:58:23 UTC (rev 7424)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8g.hh	2007-06-23 21:53:25 UTC (rev 7425)
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_faults_cohesivedatahex8g_hh)
+#define pylith_faults_cohesivedatahex8g_hh
+
+#include "CohesiveData.hh"
+
+namespace pylith {
+  namespace faults {
+     class CohesiveDataHex8g;
+  } // pylith
+} // faults
+
+class pylith::faults::CohesiveDataHex8g : public CohesiveData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  CohesiveDataHex8g(void);
+
+  /// Destructor
+  ~CohesiveDataHex8g(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_cohesivedatahex8g_hh
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8h.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8h.cc	2007-06-23 19:58:23 UTC (rev 7424)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8h.cc	2007-06-23 21:53:25 UTC (rev 7425)
@@ -0,0 +1,134 @@
+// -*- 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,15,16,17 -------- 10,11,12,13
+ *
+ *                        ^^^^^^^^^^^^^^^^^^^^^^ Cohesive element
+ *
+ */
+
+#include "CohesiveDataHex8h.hh"
+
+const int pylith::faults::CohesiveDataHex8h::_numVertices = 24;
+
+const int pylith::faults::CohesiveDataHex8h::_spaceDim = 3;
+
+const int pylith::faults::CohesiveDataHex8h::_numCells = 6;
+
+const int pylith::faults::CohesiveDataHex8h::_cellDim = 3;
+
+const double pylith::faults::CohesiveDataHex8h::_vertices[] = {
+  -2.0, -1.0, -2.0,
+  -2.0,  1.0, -2.0,
+  -2.0, -1.0,  0.0,
+  -2.0,  1.0,  0.0,
+  -2.0, -1.0,  2.0,
+  -2.0,  1.0,  2.0,
+   0.0, -1.0, -2.0,
+   0.0,  1.0, -2.0,
+   0.0, -1.0,  0.0,
+   0.0,  1.0,  0.0,
+   0.0, -1.0,  2.0,
+   0.0,  1.0,  2.0,
+   2.0, -1.0, -2.0,
+   2.0,  1.0, -2.0,
+   2.0, -1.0,  0.0,
+   2.0,  1.0,  0.0,
+   2.0, -1.0,  2.0,
+   2.0,  1.0,  2.0,
+   0.0, -1.0, -2.0,
+   0.0,  1.0, -2.0,
+   0.0, -1.0,  0.0,
+   0.0,  1.0,  0.0,
+   0.0, -1.0,  2.0,
+   0.0,  1.0,  2.0,
+};
+
+const int pylith::faults::CohesiveDataHex8h::_numCorners[] = {
+  8,
+  8,
+  8,
+  8,
+  8,
+  8
+};
+
+const int pylith::faults::CohesiveDataHex8h::_cells[] = {
+   4, 10, 11,  5,  6, 12, 13,  7,
+  19, 18, 20, 21, 25, 24, 26, 27,
+  23, 17, 19, 25, 22, 16, 18, 24,
+  15, 14,  8,  9, 13, 12,  6,  7,
+  11, 13, 12, 10, 23, 25, 24, 22,
+  15, 14, 12, 13, 27, 26, 24, 25, 
+};
+
+const int pylith::faults::CohesiveDataHex8h::_materialIds[] = {
+  0,  0,  0,  0,
+  1,  1
+};
+
+const int pylith::faults::CohesiveDataHex8h::_numGroups = 2;
+
+const int pylith::faults::CohesiveDataHex8h::_groupSizes[] = 
+  { 12, 8 };
+
+const int pylith::faults::CohesiveDataHex8h::_groups[] = {
+  10, 11, 12, 13, 14, 15, 22, 23, 24, 25, 26, 27,
+  8, 9, 14, 15, 20, 21, 26, 27
+};
+
+const char* pylith::faults::CohesiveDataHex8h::_groupNames[] = {
+  "fault", "output"
+};
+
+const char* pylith::faults::CohesiveDataHex8h::_groupTypes[] = {
+  "vertex", "vertex"
+};
+
+const char* pylith::faults::CohesiveDataHex8h::_filename = 
+  "data/hex8h.mesh";
+
+pylith::faults::CohesiveDataHex8h::CohesiveDataHex8h(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::CohesiveDataHex8h::~CohesiveDataHex8h(void)
+{}
+
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8h.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8h.hh	2007-06-23 19:58:23 UTC (rev 7424)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataHex8h.hh	2007-06-23 21:53:25 UTC (rev 7425)
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_faults_cohesivedatahex8h_hh)
+#define pylith_faults_cohesivedatahex8h_hh
+
+#include "CohesiveData.hh"
+
+namespace pylith {
+  namespace faults {
+     class CohesiveDataHex8h;
+  } // pylith
+} // faults
+
+class pylith::faults::CohesiveDataHex8h : public CohesiveData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  CohesiveDataHex8h(void);
+
+  /// Destructor
+  ~CohesiveDataHex8h(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_cohesivedatahex8h_hh
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTet4i.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTet4i.cc	2007-06-23 19:58:23 UTC (rev 7424)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTet4i.cc	2007-06-23 21:53:25 UTC (rev 7425)
@@ -0,0 +1,118 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/* Original mesh
+ *
+ * Cells are 0-3, vertices are 4-9.
+ *
+ * 4   5,6,7,8  9
+ *
+ *     ^^^^^ Face in x-y plane
+ *
+ * After adding cohesive elements
+ *
+ * Cells are 0-3,14-15, vertices are 4-13.
+ *
+ * 4   5,6,7,8  10,11,12,13    9
+ *
+ *     ^^^^^^^^^^^^ Cohesive element in x-y plane.
+ */
+
+#include "CohesiveDataTet4i.hh"
+
+const int pylith::faults::CohesiveDataTet4i::_numVertices = 10;
+
+const int pylith::faults::CohesiveDataTet4i::_spaceDim = 3;
+
+const int pylith::faults::CohesiveDataTet4i::_numCells = 6;
+
+const int pylith::faults::CohesiveDataTet4i::_cellDim = 3;
+
+const double pylith::faults::CohesiveDataTet4i::_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,
+   0.0,  0.0, -1.0,
+   1.0,  0.0,  0.0,
+   0.0, -1.0,  0.0,
+   0.0,  0.0,  1.0,
+   0.0,  1.0,  0.0,
+   0.0,  0.0, -1.0,
+};
+
+const int pylith::faults::CohesiveDataTet4i::_numCorners[] = {
+  4,
+  4,
+  4,
+  4,
+  6,
+  6,
+};
+
+const int pylith::faults::CohesiveDataTet4i::_cells[] = {
+  5,  6,  7,  4,
+ 10, 12, 11,  9,
+ 13,  9, 12, 10,
+  4,  5,  8,  7,
+  5,  7,  6, 10, 12, 11,
+  7, 5,  8,  12, 10, 13,
+};
+
+const int pylith::faults::CohesiveDataTet4i::_materialIds[] = {
+  0,  0, 0, 0,
+  1, 1
+};
+
+const int pylith::faults::CohesiveDataTet4i::_numGroups = 2;
+
+const int pylith::faults::CohesiveDataTet4i::_groupSizes[] = 
+  { 8, 2 };
+
+const int pylith::faults::CohesiveDataTet4i::_groups[] = {
+  5, 6, 7, 8, 10, 11, 12, 13,
+  0, 5
+};
+
+const char* pylith::faults::CohesiveDataTet4i::_groupNames[] = {
+  "fault", "output"
+};
+
+const char* pylith::faults::CohesiveDataTet4i::_groupTypes[] = {
+  "vertex", "vertex"
+};
+
+const char* pylith::faults::CohesiveDataTet4i::_filename = "data/tet4i.mesh";
+
+pylith::faults::CohesiveDataTet4i::CohesiveDataTet4i(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::CohesiveDataTet4i::~CohesiveDataTet4i(void)
+{}
+
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTet4i.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTet4i.hh	2007-06-23 19:58:23 UTC (rev 7424)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTet4i.hh	2007-06-23 21:53:25 UTC (rev 7425)
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_faults_cohesivedatatet4i_hh)
+#define pylith_faults_cohesivedatatet4i_hh
+
+#include "CohesiveData.hh"
+
+namespace pylith {
+  namespace faults {
+     class CohesiveDataTet4i;
+  } // pylith
+} // faults
+
+class pylith::faults::CohesiveDataTet4i : public CohesiveData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  CohesiveDataTet4i(void);
+
+  /// Destructor
+  ~CohesiveDataTet4i(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_cohesivedatatet4i_hh
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTri3e.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTri3e.cc	2007-06-23 19:58:23 UTC (rev 7424)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTri3e.cc	2007-06-23 21:53:25 UTC (rev 7425)
@@ -0,0 +1,147 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+/* Original mesh
+ *
+ * Cells are 0-3, vertices are 4-9.
+ *
+ *
+ *         9
+ *        / \
+ *       /   \
+ *      /     \
+ *     /       \
+ *    8---------5
+ *     \       /|\
+ *      \     / | \
+ *       \   /  |  \
+ *        \ /   |   \
+ *         4    |    7
+ *          \   |   /
+ *           \  |  /
+ *            \ | /
+ *             \|/
+ *              6
+ *
+ *
+ * After adding cohesive elements
+ *
+ * Cells are 0-3, 13-14, vertices are 4-12.
+ *
+ *         9
+ *        / \
+ *       /   \
+ *      /     \
+ *     /       \
+ *   12--------- 10
+ *    |          /|
+ *    8---------5 |
+ *     \       /| |\
+ *      \     / | | \
+ *       \   /  | |  \
+ *        \ /   | |   \
+ *         4    | |    7
+ *          \   | |   /
+ *           \  | |  /
+ *            \ | | /
+ *             \| |/
+ *              6-11
+ */
+
+#include "CohesiveDataTri3e.hh"
+
+const int pylith::faults::CohesiveDataTri3e::_numVertices = 9;
+
+const int pylith::faults::CohesiveDataTri3e::_spaceDim = 2;
+
+const int pylith::faults::CohesiveDataTri3e::_numCells = 6;
+
+const int pylith::faults::CohesiveDataTri3e::_cellDim = 2;
+
+const double pylith::faults::CohesiveDataTri3e::_vertices[] = {
+ -1.0,  0.0,
+  0.0,  1.0,
+  0.0, -1.0,
+  1.0,  0.0,
+ -2.0,  1.0,
+ -1.0,  2.0,
+  0.0,  1.0,
+  0.0, -1.0,
+ -2.0,  1.0,
+};
+
+const int pylith::faults::CohesiveDataTri3e::_numCorners[] = {
+  3,
+  3,
+  3,
+  3,
+  4,
+  4,
+};
+
+const int pylith::faults::CohesiveDataTri3e::_cells[] = {
+  4,  6,  5,
+ 10, 11,  7,
+ 12, 10,  9,
+  8,  4,  5,
+  6,  5, 11, 10,
+  5,  8, 10, 12,
+};
+
+const int pylith::faults::CohesiveDataTri3e::_materialIds[] = {
+  0,  0,  0,  0,
+  1,  1
+};
+
+const int pylith::faults::CohesiveDataTri3e::_numGroups = 2;
+
+const int pylith::faults::CohesiveDataTri3e::_groupSizes[] = 
+  { 6, 5 };
+
+const int pylith::faults::CohesiveDataTri3e::_groups[] = {
+  5, 6, 8, 10, 11, 12,
+  5, 6, 7, 10, 11
+};
+
+const char* pylith::faults::CohesiveDataTri3e::_groupNames[] = {
+  "fault", "output"
+};
+
+const char* pylith::faults::CohesiveDataTri3e::_groupTypes[] = {
+  "vertex", "vertex"
+};
+
+const char* pylith::faults::CohesiveDataTri3e::_filename = "data/tri3e.mesh";
+
+pylith::faults::CohesiveDataTri3e::CohesiveDataTri3e(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::CohesiveDataTri3e::~CohesiveDataTri3e(void)
+{}
+
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTri3e.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTri3e.hh	2007-06-23 19:58:23 UTC (rev 7424)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveDataTri3e.hh	2007-06-23 21:53:25 UTC (rev 7425)
@@ -0,0 +1,60 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+#if !defined(pylith_faults_cohesivedatatri3e_hh)
+#define pylith_faults_cohesivedatatri3e_hh
+
+#include "CohesiveData.hh"
+
+namespace pylith {
+  namespace faults {
+     class CohesiveDataTri3e;
+  } // pylith
+} // faults
+
+class pylith::faults::CohesiveDataTri3e : public CohesiveData
+{
+
+// PUBLIC METHODS ///////////////////////////////////////////////////////
+public: 
+
+  /// Constructor
+  CohesiveDataTri3e(void);
+
+  /// Destructor
+  ~CohesiveDataTri3e(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_cohesivedatatri3e_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-23 19:58:23 UTC (rev 7424)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/Makefile.am	2007-06-23 21:53:25 UTC (rev 7425)
@@ -22,6 +22,7 @@
 	tri3b.mesh \
 	tri3c.mesh \
 	tri3d.mesh \
+	tri3e.mesh \
 	tri3_finalslip.spatialdb \
 	tri3_sliptime.spatialdb \
 	tri3_peakrate.spatialdb \
@@ -48,6 +49,7 @@
 	tet4f.mesh \
 	tet4g.mesh \
 	tet4h.mesh \
+	tet4i.mesh \
 	tet4_finalslip.spatialdb \
 	tet4_sliptime.spatialdb \
 	tet4_peakrate.spatialdb \
@@ -60,6 +62,8 @@
 	hex8d.mesh \
 	hex8e.mesh \
 	hex8f.mesh \
+	hex8g.mesh \
+	hex8h.mesh \
 	hex8_finalslip.spatialdb \
 	hex8_sliptime.spatialdb \
 	hex8_peakrate.spatialdb

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/hex8g.mesh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/hex8g.mesh	2007-06-23 19:58:23 UTC (rev 7424)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/hex8g.mesh	2007-06-23 21:53:25 UTC (rev 7425)
@@ -0,0 +1,70 @@
+mesh = {
+  dimension = 3
+  use-index-zero = true
+  vertices = {
+    dimension = 3
+    count = 18
+    coordinates = {
+             0     -2.0 -1.0 -2.0
+             1     -2.0  1.0 -2.0
+             2     -2.0 -1.0  0.0
+             3     -2.0  1.0  0.0
+             4     -2.0 -1.0  2.0
+             5     -2.0  1.0  2.0
+             6      0.0 -1.0 -2.0
+             7      0.0  1.0 -2.0
+             8      0.0 -1.0  0.0
+             9      0.0  1.0  0.0
+            10      0.0 -1.0  2.0
+            11      0.0  1.0  2.0
+            12      2.0 -1.0 -2.0
+            13      2.0  1.0 -2.0
+            14      2.0 -1.0  0.0
+            15      2.0  1.0  0.0
+            16      2.0 -1.0  2.0
+            17      2.0  1.0  2.0
+    }
+  }
+  cells = {
+    count = 4
+    num-corners = 8
+    simplices = {
+             0       0  6  7  1  2  8  9  3
+             1       2  8  9  3  4 10 11  5
+             2       6 12 13  7  8 14 15  9
+             3       8 14 15  9 10 16 17 11
+    }
+    material-ids = {
+             0   0
+             1   0
+             2   0
+             3   0
+    }
+  }
+  group = {
+    name = fault
+    type = vertices
+    count = 6
+    indices = {
+      6
+      7
+      8
+      9
+     10
+     11
+    }
+  }
+  group = {
+    name = output
+    type = vertices
+    count = 6
+    indices = {
+      4
+      5
+     10
+     11
+     16
+     17
+    }
+  }
+}

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/hex8h.mesh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/hex8h.mesh	2007-06-23 19:58:23 UTC (rev 7424)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/hex8h.mesh	2007-06-23 21:53:25 UTC (rev 7425)
@@ -0,0 +1,70 @@
+mesh = {
+  dimension = 3
+  use-index-zero = true
+  vertices = {
+    dimension = 3
+    count = 18
+    coordinates = {
+             0     -2.0 -1.0 -2.0
+             1     -2.0  1.0 -2.0
+             2     -2.0 -1.0  0.0
+             3     -2.0  1.0  0.0
+             4     -2.0 -1.0  2.0
+             5     -2.0  1.0  2.0
+             6      0.0 -1.0 -2.0
+             7      0.0  1.0 -2.0
+             8      0.0 -1.0  0.0
+             9      0.0  1.0  0.0
+            10      0.0 -1.0  2.0
+            11      0.0  1.0  2.0
+            12      2.0 -1.0 -2.0
+            13      2.0  1.0 -2.0
+            14      2.0 -1.0  0.0
+            15      2.0  1.0  0.0
+            16      2.0 -1.0  2.0
+            17      2.0  1.0  2.0
+    }
+  }
+  cells = {
+    count = 4
+    num-corners = 8
+    simplices = {
+             0       0  6  7  1  2  8  9  3
+             1      15 14 16 17  9  6 10 11
+             2       7 13 15  9  6 12 14  8
+             3      11 10  4  5  9  8  2  3
+    }
+    material-ids = {
+             0   0
+             1   0
+             2   0
+             3   0
+    }
+  }
+  group = {
+    name = fault
+    type = vertices
+    count = 6
+    indices = {
+      6
+      7
+      8
+      9
+     10
+     11
+    }
+  }
+  group = {
+    name = output
+    type = vertices
+    count = 6
+    indices = {
+      4
+      5
+     10
+     11
+     16
+     17
+    }
+  }
+}

Added: short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4i.mesh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4i.mesh	2007-06-23 19:58:23 UTC (rev 7424)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/tet4i.mesh	2007-06-23 21:53:25 UTC (rev 7425)
@@ -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       1  3  2  5
+             2       4  5  3  1
+             3       0  1  4  3
+    }
+    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/tri3e.mesh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/tri3e.mesh	2007-06-23 19:58:23 UTC (rev 7424)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/tri3e.mesh	2007-06-23 21:53:25 UTC (rev 7425)
@@ -0,0 +1,52 @@
+mesh = {
+  dimension = 2
+  use-index-zero = true
+  vertices = {
+    dimension = 2
+    count = 6
+    coordinates = {
+             0     -1.0  0.0
+             1      0.0  1.0
+             2      0.0 -1.0
+             3      1.0  0.0
+             4     -2.0  1.0
+             5     -1.0  2.0
+    }
+  }
+  cells = {
+    count = 4
+    num-corners = 3
+    simplices = {
+             0       0  2  1
+             1       1  2  3
+             2       4  1  5
+             3       4  0  1
+    }
+    material-ids = {
+             0   0
+             1   0
+             2   0
+             3   0
+    }
+  }
+  group = {
+    name = fault
+    type = vertices
+    count = 3
+    indices = {
+      1
+      2
+      4
+    }
+  }
+  group = {
+    name = output
+    type = vertices
+    count = 3
+    indices = {
+      1
+      2
+      3
+    }
+  }
+}



More information about the cig-commits mailing list