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

brad at geodynamics.org brad at geodynamics.org
Wed Apr 28 14:55:42 PDT 2010


Author: brad
Date: 2010-04-28 14:55:42 -0700 (Wed, 28 Apr 2010)
New Revision: 16595

Modified:
   short/3D/PyLith/trunk/TODO
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinData.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinData.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.hh
Log:
Added testing of fault cohesive info stuff in unit tests for kinematic slip.

Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/TODO	2010-04-28 21:55:42 UTC (rev 16595)
@@ -21,7 +21,6 @@
   Need to pass hint when creating Jacobian.
 
 * Friction
-  + Check output (diagnostic + simulation data)
   + Add stuff to manual
 
 * Optimization
@@ -58,26 +57,16 @@
 FRICTION
 ----------------------------------------------------------------------
 
-Full scale friction tests. [Surendra]
+TPV205
+TPV?? (rate and state)
 
-  check fault output
-    fault constitutive parameters
-      properties
-      initial state variables
-    initial tractions
-    state variables
-    tractions
-    slip
 
-
 ----------------------------------------------------------------------
 LUMPED SOLVER
 ----------------------------------------------------------------------
 
 Unit tests
 
-  setting up cohesive info
-
   ElasticityExplicit
     integrateResidualLumped()
   ElasticityExplicitTet4
@@ -90,7 +79,7 @@
     adjustSolnLumped()
 
 ----------------------------------------------------------------------
-TODO WELL BEFORE WORKSHOP 2010
+TODO BEFORE WORKSHOP 2010
 ----------------------------------------------------------------------
 
 Examples
@@ -122,7 +111,7 @@
 Need full-scale test with variation in physical properties within a material.
 
 ----------------------------------------------------------------------
-POST RELEASE 1.4
+CLEANUP
 ----------------------------------------------------------------------
 
 Brad

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc	2010-04-28 21:55:42 UTC (rev 16595)
@@ -155,13 +155,44 @@
   for (SieveSubMesh::label_sequence::iterator v_iter=verticesBegin;
        v_iter != verticesEnd;
        ++v_iter, ++iVertex) {
-    CPPUNIT_ASSERT(renumbering.find(_data->constraintVertices[iVertex]) !=
+    CPPUNIT_ASSERT(renumbering.find(_data->verticesLagrange[iVertex]) !=
 		   renumbering.end());
-    CPPUNIT_ASSERT_EQUAL(renumbering[_data->constraintVertices[iVertex]],
+#if 0
+    CPPUNIT_ASSERT_EQUAL(renumbering[_data->verticesLagrange[iVertex]],
 			 *v_iter);
+#endif
   } // for
-  CPPUNIT_ASSERT_EQUAL(_data->numConstraintVert, iVertex);
+  CPPUNIT_ASSERT_EQUAL(_data->numFaultVertices, iVertex);
 
+  // Check cohesive vertex info
+  const int numFaultVertices = _data->numFaultVertices;
+  CPPUNIT_ASSERT_EQUAL(numFaultVertices, int(fault._cohesiveVertices.size()));
+  for (int i=0; i < numFaultVertices; ++i) {
+    CPPUNIT_ASSERT_EQUAL(_data->verticesFault[i], 
+			 fault._cohesiveVertices[i].fault);
+    CPPUNIT_ASSERT_EQUAL(_data->verticesLagrange[i], 
+			 fault._cohesiveVertices[i].lagrange);
+    CPPUNIT_ASSERT_EQUAL(_data->verticesNegative[i], 
+			 fault._cohesiveVertices[i].negative);
+    CPPUNIT_ASSERT_EQUAL(_data->verticesPositive[i], 
+			 fault._cohesiveVertices[i].positive);
+  } // for
+
+  // Check cohesive cell info
+  const int numCohesiveCells = _data->numCohesiveCells;
+  CPPUNIT_ASSERT_EQUAL(numCohesiveCells, int(fault._cohesiveToFault.size()));
+  std::map<topology::Mesh::SieveMesh::point_type,
+    topology::Mesh::SieveMesh::point_type>::iterator m_iterator = 
+    fault._cohesiveToFault.begin();
+  std::map<topology::Mesh::SieveMesh::point_type,
+    topology::Mesh::SieveMesh::point_type>::const_iterator mapEnd = 
+    fault._cohesiveToFault.end();
+  for (int i=0; i < numCohesiveCells; ++i, ++m_iterator) {
+    CPPUNIT_ASSERT(mapEnd != m_iterator);
+    CPPUNIT_ASSERT_EQUAL(_data->cellMappingFault[i], m_iterator->second);
+    CPPUNIT_ASSERT_EQUAL(_data->cellMappingCohesive[i], m_iterator->first);
+  } // for
+
   // Check orientation
   //fault._fields->get("orientation").view("ORIENTATION"); // DEBUGGING
   const ALE::Obj<RealSection>& orientationSection = 
@@ -791,7 +822,7 @@
   for (SieveSubMesh::label_sequence::iterator v_iter=verticesBegin;
        v_iter != verticesEnd;
        ++v_iter, ++iVertex) {
-    const SieveSubMesh::point_type meshVertex = _data->constraintVertices[iVertex];
+    const SieveSubMesh::point_type meshVertex = _data->verticesLagrange[iVertex];
     bool found = false;
     for(SieveSubMesh::renumbering_type::const_iterator r_iter = renumbering.begin();
 	r_iter != renumbering.end();
@@ -922,6 +953,8 @@
 void
 pylith::faults::TestFaultCohesiveKin::testSplitField(void)
 { // testSplitField
+  assert(0 != _data);
+
   topology::Mesh mesh;
   FaultCohesiveKin fault;
   topology::SolutionFields fields(mesh);
@@ -950,18 +983,24 @@
   CPPUNIT_ASSERT(!vertices.isNull());
   const SieveMesh::label_sequence::iterator verticesBegin = vertices->begin();
   const SieveMesh::label_sequence::iterator verticesEnd = vertices->end();
-  int iVertex = 0;
+  const int numFaultVertices = _data->numFaultVertices;
   for (SieveMesh::label_sequence::iterator v_iter=verticesBegin;
        v_iter != verticesEnd;
        ++v_iter) {
     const int fiberDim = section->getFiberDimension(*v_iter);
     CPPUNIT_ASSERT_EQUAL(spaceDim, fiberDim);
-    if (*v_iter == _data->constraintVertices[iVertex]) {
+    bool isLagrangeVertex = false;
+    for (int i=0; i < numFaultVertices; ++i)
+      if (*v_iter == _data->verticesLagrange[i]) {
+	isLagrangeVertex = true;
+	break;
+      } // if
+    if (isLagrangeVertex) {
       for (int fibration=0; fibration < spaceDim; ++fibration)
         CPPUNIT_ASSERT_EQUAL(0, section->getFiberDimension(*v_iter, fibration));
       const int fibrationF = spaceDim;
-      CPPUNIT_ASSERT_EQUAL(spaceDim, section->getFiberDimension(*v_iter, fibrationF));
-      ++iVertex;
+      CPPUNIT_ASSERT_EQUAL(spaceDim, 
+			   section->getFiberDimension(*v_iter, fibrationF));
     } else {
       for (int fibration=0; fibration < spaceDim; ++fibration)
         CPPUNIT_ASSERT_EQUAL(1, section->getFiberDimension(*v_iter, fibration));
@@ -1076,19 +1115,19 @@
 // ----------------------------------------------------------------------
 // Determine if vertex is a Lagrange multiplier constraint vertex.
 bool
-pylith::faults::TestFaultCohesiveKin::_isConstraintVertex(const int vertex) const
-{ // _isConstraintVertex
+pylith::faults::TestFaultCohesiveKin::_isLagrangeVertex(const int vertex) const
+{ // _isLagrangeVertex
   assert(0 != _data);
 
-  const int numConstraintVert = _data->numConstraintVert;
+  const int numFaultVertices = _data->numFaultVertices;
   bool isFound = false;
-  for (int i=0; i < _data->numConstraintVert; ++i)
-    if (_data->constraintVertices[i] == vertex) {
+  for (int i=0; i < _data->numFaultVertices; ++i)
+    if (_data->verticesLagrange[i] == vertex) {
       isFound = true;
       break;
     } // if
   return isFound;
-} // _isConstraintVertex
+} // _isLagrangeVertex
 
 
 // End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.hh	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.hh	2010-04-28 21:55:42 UTC (rev 16595)
@@ -135,7 +135,7 @@
    *
    * @returns True if vertex is a constraint vertex, false otherwise.
    */
-  bool _isConstraintVertex(const int vertex) const;
+  bool _isLagrangeVertex(const int vertex) const;
   
 
 }; // class TestFaultCohesiveKin

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinData.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinData.cc	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinData.cc	2010-04-28 21:55:42 UTC (rev 16595)
@@ -39,8 +39,14 @@
   residualIncr(0),
   jacobian(0),
   fieldIncrAdjusted(0),
-  constraintVertices(0),
-  numConstraintVert(0)
+  verticesFault(0),
+  verticesLagrange(0),
+  verticesPositive(0),
+  verticesNegative(0),
+  numFaultVertices(0),
+  numCohesiveCells(0),
+  cellMappingFault(0),
+  cellMappingCohesive(0)
 { // constructor
 } // constructor
 

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinData.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinData.hh	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinData.hh	2010-04-28 21:55:42 UTC (rev 16595)
@@ -80,8 +80,15 @@
   /// Expected values for solution increment after adjustment.
   double* fieldIncrAdjusted;
 
-  int* constraintVertices; ///< Expected points for constraint vertices
-  int numConstraintVert; ///< Number of constraint vertices
+  int* verticesFault; ///< Expected points for Fault vertices
+  int* verticesLagrange; ///< Expected points for Lagrange vertices
+  int* verticesPositive; ///< Expected points for vertices on + side of fault.
+  int* verticesNegative; ///< Expected points for vertices on - side of fault.
+  int numFaultVertices; ///< Number of fault vertices
+
+  int numCohesiveCells;
+  int* cellMappingFault;
+  int* cellMappingCohesive;
   //@}
 
 };

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc	2010-04-28 21:55:42 UTC (rev 16595)
@@ -170,11 +170,29 @@
   1.0, 1.0, 1.0, // 21
 };
 
-const int pylith::faults::CohesiveKinDataHex8::_numConstraintVert = 4;
-const int pylith::faults::CohesiveKinDataHex8::_constraintVertices[] = {
-  18, 19, 20, 21
+const int pylith::faults::CohesiveKinDataHex8::_numFaultVertices = 4;
+const int pylith::faults::CohesiveKinDataHex8::_verticesFault[] = {
+  3, 4, 2, 1
 };
+const int pylith::faults::CohesiveKinDataHex8::_verticesLagrange[] = {
+  20, 21, 19, 18
+};
+const int pylith::faults::CohesiveKinDataHex8::_verticesNegative[] = {
+  8, 9, 7, 6
+};
+const int pylith::faults::CohesiveKinDataHex8::_verticesPositive[] = {
+  16, 17, 15, 14
+};
 
+const int pylith::faults::CohesiveKinDataHex8::_numCohesiveCells = 1;
+const int pylith::faults::CohesiveKinDataHex8::_cellMappingFault[] = {
+  0
+};
+const int pylith::faults::CohesiveKinDataHex8::_cellMappingCohesive[] = {
+  22
+};
+
+
 const double pylith::faults::CohesiveKinDataHex8::_orientation[] = {
   0.0, -1.0, 0.0,    0.0, 0.0, -1.0,    -1.0, 0.0, 0.0,
   0.0, -1.0, 0.0,    0.0, 0.0, -1.0,    -1.0, 0.0, 0.0,
@@ -1484,8 +1502,14 @@
   residual = const_cast<double*>(_residual);
   jacobian = const_cast<double*>(_jacobian);
   fieldIncrAdjusted = const_cast<double*>(_fieldIncrAdjusted);
-  constraintVertices = const_cast<int*>(_constraintVertices);
-  numConstraintVert = _numConstraintVert;  
+  verticesFault = const_cast<int*>(_verticesFault);
+  verticesLagrange = const_cast<int*>(_verticesLagrange);
+  verticesNegative = const_cast<int*>(_verticesNegative);
+  verticesPositive = const_cast<int*>(_verticesPositive);
+  numFaultVertices = _numFaultVertices;  
+  cellMappingFault = const_cast<int*>(_cellMappingFault);
+  cellMappingCohesive = const_cast<int*>(_cellMappingCohesive);
+  numCohesiveCells = _numCohesiveCells;  
 } // constructor
 
 pylith::faults::CohesiveKinDataHex8::~CohesiveKinDataHex8(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.hh	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.hh	2010-04-28 21:55:42 UTC (rev 16595)
@@ -67,9 +67,17 @@
   static const double _residualIncr[]; ///< Expected values from residual calculation with solution increment.
   static const double _jacobian[]; ///< Expected values from Jacobian calculation.
   static const double _fieldIncrAdjusted[]; ///< Expected values for colution increment after adjustment.
-  static const int _constraintVertices[]; ///< Expected points for constraint vertices
-  static const int _numConstraintVert; ///< Number of constraint vertices
 
+  static const int _verticesFault[]; ///< Expected points for Fault vertices
+  static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
+  static const int _verticesPositive[]; ///< Expected points for vertices on + side of fault.
+  static const int _verticesNegative[]; ///< Expected points for vertices on - side of fault.
+  static const int _numFaultVertices; ///< Number of fault vertices
+
+  static const int _numCohesiveCells; ///< Number of cohesive cells
+  static const int _cellMappingFault[]; ///< Fault cell
+  static const int _cellMappingCohesive[]; ///< Cohesive cell
+
 };
 
 #endif // pylith_faults_cohesivekindatahex8_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc	2010-04-28 21:55:42 UTC (rev 16595)
@@ -91,11 +91,27 @@
   1.0
 };
 
-const int pylith::faults::CohesiveKinDataLine2::_numConstraintVert = 1;
-const int pylith::faults::CohesiveKinDataLine2::_constraintVertices[] = {
+const int pylith::faults::CohesiveKinDataLine2::_numFaultVertices = 1;
+const int pylith::faults::CohesiveKinDataLine2::_verticesFault[] = {
+  1
+};
+const int pylith::faults::CohesiveKinDataLine2::_verticesLagrange[] = {
   6
 };
+const int pylith::faults::CohesiveKinDataLine2::_verticesPositive[] = {
+  5
+};
+const int pylith::faults::CohesiveKinDataLine2::_verticesNegative[] = {
+  3
+};
 
+const int pylith::faults::CohesiveKinDataLine2::_numCohesiveCells = 1;
+const int pylith::faults::CohesiveKinDataLine2::_cellMappingFault[] = {
+  0
+};
+const int pylith::faults::CohesiveKinDataLine2::_cellMappingCohesive[] = {
+  7
+};
 
 
 const double pylith::faults::CohesiveKinDataLine2::_orientation[] = {
@@ -164,8 +180,14 @@
   residual = const_cast<double*>(_residual);
   jacobian = const_cast<double*>(_jacobian);
   fieldIncrAdjusted = const_cast<double*>(_fieldIncrAdjusted);
-  constraintVertices = const_cast<int*>(_constraintVertices);
-  numConstraintVert = _numConstraintVert;  
+  verticesFault = const_cast<int*>(_verticesFault);
+  verticesLagrange = const_cast<int*>(_verticesLagrange);
+  verticesNegative = const_cast<int*>(_verticesNegative);
+  verticesPositive = const_cast<int*>(_verticesPositive);
+  numFaultVertices = _numFaultVertices;  
+  cellMappingFault = const_cast<int*>(_cellMappingFault);
+  cellMappingCohesive = const_cast<int*>(_cellMappingCohesive);
+  numCohesiveCells = _numCohesiveCells;  
 } // constructor
 
 pylith::faults::CohesiveKinDataLine2::~CohesiveKinDataLine2(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.hh	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.hh	2010-04-28 21:55:42 UTC (rev 16595)
@@ -67,9 +67,17 @@
   static const double _residualIncr[]; ///< Expected values from residual calculation with solution increment.
   static const double _jacobian[]; ///< Expected values from Jacobian calculation.
   static const double _fieldIncrAdjusted[]; ///< Expected values for colution increment after adjustment.
-  static const int _constraintVertices[]; ///< Expected points for constraint vertices
-  static const int _numConstraintVert; ///< Number of constraint vertices
 
+  static const int _verticesFault[]; ///< Expected points for Fault vertices
+  static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
+  static const int _verticesPositive[]; ///< Expected points for vertices on + side of fault.
+  static const int _verticesNegative[]; ///< Expected points for vertices on - side of fault.
+  static const int _numFaultVertices; ///< Number of fault vertices
+
+  static const int _numCohesiveCells; ///< Number of cohesive cells
+  static const int _cellMappingFault[]; ///< Fault cell
+  static const int _cellMappingCohesive[]; ///< Cohesive cell
+
 };
 
 #endif // pylith_faults_cohesivekindataline2_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc	2010-04-28 21:55:42 UTC (rev 16595)
@@ -129,11 +129,29 @@
 };
 
 
-const int pylith::faults::CohesiveKinDataQuad4::_numConstraintVert = 2;
-const int pylith::faults::CohesiveKinDataQuad4::_constraintVertices[] = {
+const int pylith::faults::CohesiveKinDataQuad4::_numFaultVertices = 2;
+const int pylith::faults::CohesiveKinDataQuad4::_verticesFault[] = {
+  1, 2
+};
+const int pylith::faults::CohesiveKinDataQuad4::_verticesLagrange[] = {
   10, 11
 };
+const int pylith::faults::CohesiveKinDataQuad4::_verticesNegative[] = {
+  4, 5
+};
+const int pylith::faults::CohesiveKinDataQuad4::_verticesPositive[] = {
+  8, 9
+};
 
+const int pylith::faults::CohesiveKinDataQuad4::_numCohesiveCells = 1;
+const int pylith::faults::CohesiveKinDataQuad4::_cellMappingFault[] = {
+  0
+};
+const int pylith::faults::CohesiveKinDataQuad4::_cellMappingCohesive[] = {
+  12
+};
+
+
 const double pylith::faults::CohesiveKinDataQuad4::_orientation[] = {
   0.0,  1.0,  +1.0, 0.0,
   0.0,  1.0,  +1.0, 0.0
@@ -412,8 +430,14 @@
   residual = const_cast<double*>(_residual);
   jacobian = const_cast<double*>(_jacobian);
   fieldIncrAdjusted = const_cast<double*>(_fieldIncrAdjusted);
-  constraintVertices = const_cast<int*>(_constraintVertices);
-  numConstraintVert = _numConstraintVert;  
+  verticesFault = const_cast<int*>(_verticesFault);
+  verticesLagrange = const_cast<int*>(_verticesLagrange);
+  verticesNegative = const_cast<int*>(_verticesNegative);
+  verticesPositive = const_cast<int*>(_verticesPositive);
+  numFaultVertices = _numFaultVertices;  
+  cellMappingFault = const_cast<int*>(_cellMappingFault);
+  cellMappingCohesive = const_cast<int*>(_cellMappingCohesive);
+  numCohesiveCells = _numCohesiveCells;  
 } // constructor
 
 pylith::faults::CohesiveKinDataQuad4::~CohesiveKinDataQuad4(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.hh	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.hh	2010-04-28 21:55:42 UTC (rev 16595)
@@ -67,9 +67,17 @@
   static const double _residualIncr[]; ///< Expected values from residual calculation with solution increment.
   static const double _jacobian[]; ///< Expected values from Jacobian calculation.
   static const double _fieldIncrAdjusted[]; ///< Expected values for colution increment after adjustment.
-  static const int _constraintVertices[]; ///< Expected points for constraint vertices
-  static const int _numConstraintVert; ///< Number of constraint vertices
 
+  static const int _verticesFault[]; ///< Expected points for Fault vertices
+  static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
+  static const int _verticesPositive[]; ///< Expected points for vertices on + side of fault.
+  static const int _verticesNegative[]; ///< Expected points for vertices on - side of fault.
+  static const int _numFaultVertices; ///< Number of fault vertices
+
+  static const int _numCohesiveCells; ///< Number of cohesive cells
+  static const int _cellMappingFault[]; ///< Fault cell
+  static const int _cellMappingCohesive[]; ///< Cohesive cell
+
 };
 
 #endif // pylith_faults_cohesivekindataquad4_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc	2010-04-28 21:55:42 UTC (rev 16595)
@@ -127,7 +127,6 @@
 };
 
 
-const int pylith::faults::CohesiveKinDataQuad4e::_numConstraintVert = 3;
 
 const double pylith::faults::CohesiveKinDataQuad4e::_orientation[] = {
   0.0, -1.0,  -1.0, 0.0,
@@ -141,10 +140,29 @@
   1.0,
 };
 
-const int pylith::faults::CohesiveKinDataQuad4e::_constraintVertices[] = {
-  16, 17, 18
+const int pylith::faults::CohesiveKinDataQuad4e::_numFaultVertices = 3;
+const int pylith::faults::CohesiveKinDataQuad4e::_verticesFault[] = {
+  3, 2, 4
 };
+const int pylith::faults::CohesiveKinDataQuad4e::_verticesLagrange[] = {
+  17, 16, 18
+};
+const int pylith::faults::CohesiveKinDataQuad4e::_verticesNegative[] = {
+  7, 6, 11
+};
+const int pylith::faults::CohesiveKinDataQuad4e::_verticesPositive[] = {
+  14, 13, 15
+};
 
+const int pylith::faults::CohesiveKinDataQuad4e::_numCohesiveCells = 2;
+const int pylith::faults::CohesiveKinDataQuad4e::_cellMappingFault[] = {
+  0, 1
+};
+const int pylith::faults::CohesiveKinDataQuad4e::_cellMappingCohesive[] = {
+  19, 20
+};
+
+
 const double pylith::faults::CohesiveKinDataQuad4e::_residual[] = {
   0.0,  0.0,
   0.0,  0.0,
@@ -654,11 +672,17 @@
   fieldT = const_cast<double*>(_fieldT);
   orientation = const_cast<double*>(_orientation);
   area = const_cast<double*>(_area);
-  constraintVertices = const_cast<int*>(_constraintVertices);
   residual = const_cast<double*>(_residual);
   residualIncr = const_cast<double*>(_residualIncr);
   jacobian = const_cast<double*>(_jacobian);
-  numConstraintVert = _numConstraintVert;  
+  verticesFault = const_cast<int*>(_verticesFault);
+  verticesLagrange = const_cast<int*>(_verticesLagrange);
+  verticesNegative = const_cast<int*>(_verticesNegative);
+  verticesPositive = const_cast<int*>(_verticesPositive);
+  numFaultVertices = _numFaultVertices;  
+  cellMappingFault = const_cast<int*>(_cellMappingFault);
+  cellMappingCohesive = const_cast<int*>(_cellMappingCohesive);
+  numCohesiveCells = _numCohesiveCells;  
 } // constructor
 
 pylith::faults::CohesiveKinDataQuad4e::~CohesiveKinDataQuad4e(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.hh	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.hh	2010-04-28 21:55:42 UTC (rev 16595)
@@ -61,12 +61,20 @@
 
   static const double _orientation[]; ///< Expected values for fault orientation.
   static const double _area[]; ///< Expected values for fault area.
-  static const int _constraintVertices[]; ///< Expected points for constraint vertices
   static const double _residual[]; ///< Expected values from residual calculation.
   static const double _residualIncr[]; ///< Expected values from residual calculation using solution increment.
   static const double _jacobian[]; ///< Expected values from Jacobian calculation.
-  static const int _numConstraintVert; ///< Number of constraint vertices
 
+  static const int _verticesFault[]; ///< Expected points for Fault vertices
+  static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
+  static const int _verticesPositive[]; ///< Expected points for vertices on + side of fault.
+  static const int _verticesNegative[]; ///< Expected points for vertices on - side of fault.
+  static const int _numFaultVertices; ///< Number of fault vertices
+
+  static const int _numCohesiveCells; ///< Number of cohesive cells
+  static const int _cellMappingFault[]; ///< Fault cell
+  static const int _cellMappingCohesive[]; ///< Cohesive cell
+
 };
 
 #endif // pylith_faults_cohesivekindataquad4e_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc	2010-04-28 21:55:42 UTC (rev 16595)
@@ -20,7 +20,7 @@
  *
  * After adding cohesive elements
  *
- * Cells are 0-1,10, vertices are 2-9.
+ * Cells are 0-1,13, vertices are 2-9.
  *
  * 2   3,4,5  7,8,9   6
  *             10,11,12
@@ -119,11 +119,30 @@
   1.1, 1.1, 1.1, // 12
 };
 
-const int pylith::faults::CohesiveKinDataTet4::_numConstraintVert = 3;
-const int pylith::faults::CohesiveKinDataTet4::_constraintVertices[] = {
-  10, 11, 12
+const int pylith::faults::CohesiveKinDataTet4::_numFaultVertices = 3;
+const int pylith::faults::CohesiveKinDataTet4::_verticesFault[] = {
+  2, 1, 3
 };
+const int pylith::faults::CohesiveKinDataTet4::_verticesLagrange[] = {
+  11, 10, 12
+};
+const int pylith::faults::CohesiveKinDataTet4::_verticesNegative[] = {
+  4, 3, 5
+};
+const int pylith::faults::CohesiveKinDataTet4::_verticesPositive[] = {
+  8, 7, 9
+};
 
+const int pylith::faults::CohesiveKinDataTet4::_numCohesiveCells = 1;
+const int pylith::faults::CohesiveKinDataTet4::_cellMappingFault[] = {
+  0
+};
+const int pylith::faults::CohesiveKinDataTet4::_cellMappingCohesive[] = {
+  13
+};
+
+
+
 const double pylith::faults::CohesiveKinDataTet4::_orientation[] = {
   0.0, +1.0, 0.0,    0.0, 0.0, +1.0,    +1.0, 0.0, 0.0,
   0.0, +1.0, 0.0,    0.0, 0.0, +1.0,    +1.0, 0.0, 0.0,
@@ -570,8 +589,14 @@
   residual = const_cast<double*>(_residual);
   jacobian = const_cast<double*>(_jacobian);
   fieldIncrAdjusted = const_cast<double*>(_fieldIncrAdjusted);
-  constraintVertices = const_cast<int*>(_constraintVertices);
-  numConstraintVert = _numConstraintVert;  
+  verticesFault = const_cast<int*>(_verticesFault);
+  verticesLagrange = const_cast<int*>(_verticesLagrange);
+  verticesNegative = const_cast<int*>(_verticesNegative);
+  verticesPositive = const_cast<int*>(_verticesPositive);
+  numFaultVertices = _numFaultVertices;  
+  cellMappingFault = const_cast<int*>(_cellMappingFault);
+  cellMappingCohesive = const_cast<int*>(_cellMappingCohesive);
+  numCohesiveCells = _numCohesiveCells;  
 } // constructor
 
 pylith::faults::CohesiveKinDataTet4::~CohesiveKinDataTet4(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.hh	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.hh	2010-04-28 21:55:42 UTC (rev 16595)
@@ -67,9 +67,17 @@
   static const double _residualIncr[]; ///< Expected values from residual calculation with solution increment.
   static const double _jacobian[]; ///< Expected values from Jacobian calculation.
   static const double _fieldIncrAdjusted[]; ///< Expected values for colution increment after adjustment.
-  static const int _constraintVertices[]; ///< Expected points for constraint vertices
-  static const int _numConstraintVert; ///< Number of constraint vertices
 
+  static const int _verticesFault[]; ///< Expected points for Fault vertices
+  static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
+  static const int _verticesPositive[]; ///< Expected points for vertices on + side of fault.
+  static const int _verticesNegative[]; ///< Expected points for vertices on - side of fault.
+  static const int _numFaultVertices; ///< Number of fault vertices
+
+  static const int _numCohesiveCells; ///< Number of cohesive cells
+  static const int _cellMappingFault[]; ///< Fault cell
+  static const int _cellMappingCohesive[]; ///< Cohesive cell
+
 };
 
 #endif // pylith_faults_cohesivekindatatet4_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc	2010-04-28 21:55:42 UTC (rev 16595)
@@ -94,7 +94,6 @@
   4.4, 6.4, 8.4, // 17
 };
 
-const int pylith::faults::CohesiveKinDataTet4e::_numConstraintVert = 4;
 
 const double pylith::faults::CohesiveKinDataTet4e::_orientation[] = {
   0.0, +1.0, 0.0,    0.0, 0.0, +1.0,    +1.0, 0.0, 0.0,
@@ -110,10 +109,30 @@
   1.0/3.0,
 };
 
-const int pylith::faults::CohesiveKinDataTet4e::_constraintVertices[] = {
-  14, 15, 16, 17
+const int pylith::faults::CohesiveKinDataTet4e::_numFaultVertices = 4;
+const int pylith::faults::CohesiveKinDataTet4e::_verticesFault[] = {
+  3, 2, 4, 5
 };
+const int pylith::faults::CohesiveKinDataTet4e::_verticesLagrange[] = {
+  15, 14, 16, 17
+};
+const int pylith::faults::CohesiveKinDataTet4e::_verticesNegative[] = {
+  6, 5, 7, 8
+};
+const int pylith::faults::CohesiveKinDataTet4e::_verticesPositive[] = {
+  11, 10, 12, 13
+};
 
+const int pylith::faults::CohesiveKinDataTet4e::_numCohesiveCells = 2;
+const int pylith::faults::CohesiveKinDataTet4e::_cellMappingFault[] = {
+  0, 1
+};
+const int pylith::faults::CohesiveKinDataTet4e::_cellMappingCohesive[] = {
+  18, 19
+};
+
+
+
 const double pylith::faults::CohesiveKinDataTet4e::_residual[] = {
   0.0,  0.0,  0.0,
   7.8,  3.8,  5.8, // 5
@@ -759,11 +778,17 @@
   fieldT = const_cast<double*>(_fieldT);
   orientation = const_cast<double*>(_orientation);
   area = const_cast<double*>(_area);
-  constraintVertices = const_cast<int*>(_constraintVertices);
   residual = const_cast<double*>(_residual);
   residualIncr = const_cast<double*>(_residualIncr);
   jacobian = const_cast<double*>(_jacobian);
-  numConstraintVert = _numConstraintVert;  
+  verticesFault = const_cast<int*>(_verticesFault);
+  verticesLagrange = const_cast<int*>(_verticesLagrange);
+  verticesNegative = const_cast<int*>(_verticesNegative);
+  verticesPositive = const_cast<int*>(_verticesPositive);
+  numFaultVertices = _numFaultVertices;  
+  cellMappingFault = const_cast<int*>(_cellMappingFault);
+  cellMappingCohesive = const_cast<int*>(_cellMappingCohesive);
+  numCohesiveCells = _numCohesiveCells;  
 } // constructor
 
 pylith::faults::CohesiveKinDataTet4e::~CohesiveKinDataTet4e(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.hh	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.hh	2010-04-28 21:55:42 UTC (rev 16595)
@@ -61,12 +61,20 @@
 
   static const double _orientation[]; ///< Expected values for fault orientation.
   static const double _area[]; ///< Expected values for fault area.
-  static const int _constraintVertices[]; ///< Expected points for constraint vertices
   static const double _residual[]; ///< Expected values from residual calculation.
   static const double _residualIncr[]; ///< Expected values from residual calculation using solution increment.
   static const double _jacobian[]; ///< Expected values from Jacobian calculation.
-  static const int _numConstraintVert; ///< Number of constraint vertices
 
+  static const int _verticesFault[]; ///< Expected points for Fault vertices
+  static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
+  static const int _verticesPositive[]; ///< Expected points for vertices on + side of fault.
+  static const int _verticesNegative[]; ///< Expected points for vertices on - side of fault.
+  static const int _numFaultVertices; ///< Number of fault vertices
+
+  static const int _numCohesiveCells; ///< Number of cohesive cells
+  static const int _cellMappingFault[]; ///< Fault cell
+  static const int _cellMappingCohesive[]; ///< Cohesive cell
+
 };
 
 #endif // pylith_faults_cohesivekindatatet4e_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.cc	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.cc	2010-04-28 21:55:42 UTC (rev 16595)
@@ -91,7 +91,6 @@
   7.1, 8.1, 9.1, // 12
 };
 
-const int pylith::faults::CohesiveKinDataTet4f::_numConstraintVert = 3;
 
 const double pylith::faults::CohesiveKinDataTet4f::_orientation[] = {
   0.0, -1.0, 0.0,    0.0, 0.0, -1.0,    -1.0, 0.0, 0.0,
@@ -105,10 +104,29 @@
   1.0/3.0,
 };
 
-const int pylith::faults::CohesiveKinDataTet4f::_constraintVertices[] = {
-  10, 11, 12
+const int pylith::faults::CohesiveKinDataTet4f::_numFaultVertices = 3;
+const int pylith::faults::CohesiveKinDataTet4f::_verticesFault[] = {
+  3, 1, 2
 };
+const int pylith::faults::CohesiveKinDataTet4f::_verticesLagrange[] = {
+  12, 10, 11
+};
+const int pylith::faults::CohesiveKinDataTet4f::_verticesNegative[] = {
+  5, 3, 4
+};
+const int pylith::faults::CohesiveKinDataTet4f::_verticesPositive[] = {
+  9, 7, 8
+};
 
+const int pylith::faults::CohesiveKinDataTet4f::_numCohesiveCells = 1;
+const int pylith::faults::CohesiveKinDataTet4f::_cellMappingFault[] = {
+  0
+};
+const int pylith::faults::CohesiveKinDataTet4f::_cellMappingCohesive[] = {
+  13
+};
+
+
 const double pylith::faults::CohesiveKinDataTet4f::_residual[] = {
   0.0,  0.0,  0.0,
  -9.7, -7.7, -8.7, // 3
@@ -523,11 +541,17 @@
   fieldT = const_cast<double*>(_fieldT);
   orientation = const_cast<double*>(_orientation);
   area = const_cast<double*>(_area);
-  constraintVertices = const_cast<int*>(_constraintVertices);
   residual = const_cast<double*>(_residual);
   residualIncr = const_cast<double*>(_residualIncr);
   jacobian = const_cast<double*>(_jacobian);
-  numConstraintVert = _numConstraintVert;  
+  verticesFault = const_cast<int*>(_verticesFault);
+  verticesLagrange = const_cast<int*>(_verticesLagrange);
+  verticesNegative = const_cast<int*>(_verticesNegative);
+  verticesPositive = const_cast<int*>(_verticesPositive);
+  numFaultVertices = _numFaultVertices;  
+  cellMappingFault = const_cast<int*>(_cellMappingFault);
+  cellMappingCohesive = const_cast<int*>(_cellMappingCohesive);
+  numCohesiveCells = _numCohesiveCells;  
 } // constructor
 
 pylith::faults::CohesiveKinDataTet4f::~CohesiveKinDataTet4f(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.hh	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.hh	2010-04-28 21:55:42 UTC (rev 16595)
@@ -61,12 +61,20 @@
 
   static const double _orientation[]; ///< Expected values for fault orientation.
   static const double _area[]; ///< Expected values for fault area.
-  static const int _constraintVertices[]; ///< Expected points for constraint vertices
   static const double _residual[]; ///< Expected values from residual calculation.
   static const double _residualIncr[]; ///< Expected values from residual calculation using solution increment.
   static const double _jacobian[]; ///< Expected values from Jacobian calculation.
-  static const int _numConstraintVert; ///< Number of constraint vertices
 
+  static const int _verticesFault[]; ///< Expected points for Fault vertices
+  static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
+  static const int _verticesPositive[]; ///< Expected points for vertices on + side of fault.
+  static const int _verticesNegative[]; ///< Expected points for vertices on - side of fault.
+  static const int _numFaultVertices; ///< Number of fault vertices
+
+  static const int _numCohesiveCells; ///< Number of cohesive cells
+  static const int _cellMappingFault[]; ///< Fault cell
+  static const int _cellMappingCohesive[]; ///< Cohesive cell
+
 };
 
 #endif // pylith_faults_cohesivekindatatet4f_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc	2010-04-28 21:55:42 UTC (rev 16595)
@@ -29,7 +29,7 @@
  *
  * After adding cohesive elements
  *
- * Cells are 0-1, 8, vertices are 2-7.
+ * Cells are 0-1, 10, vertices are 2-7.
  *
  *              6 -8- 3
  *             /|     |\
@@ -125,12 +125,29 @@
   1.8, 1.8, // 9
 };
 
-const int pylith::faults::CohesiveKinDataTri3::_numConstraintVert = 2;
-const int pylith::faults::CohesiveKinDataTri3::_constraintVertices[] = {
+const int pylith::faults::CohesiveKinDataTri3::_numFaultVertices = 2;
+const int pylith::faults::CohesiveKinDataTri3::_verticesFault[] = {
+  1, 2
+};
+const int pylith::faults::CohesiveKinDataTri3::_verticesLagrange[] = {
   8, 9
 };
+const int pylith::faults::CohesiveKinDataTri3::_verticesNegative[] = {
+  3, 4
+};
+const int pylith::faults::CohesiveKinDataTri3::_verticesPositive[] = {
+  6, 7
+};
 
+const int pylith::faults::CohesiveKinDataTri3::_numCohesiveCells = 1;
+const int pylith::faults::CohesiveKinDataTri3::_cellMappingFault[] = {
+  0
+};
+const int pylith::faults::CohesiveKinDataTri3::_cellMappingCohesive[] = {
+  10
+};
 
+
 const double pylith::faults::CohesiveKinDataTri3::_orientation[] = {
   0.0, -1.0,  -1.0, 0.0,
   0.0, -1.0,  -1.0, 0.0
@@ -333,8 +350,14 @@
   residual = const_cast<double*>(_residual);
   jacobian = const_cast<double*>(_jacobian);
   fieldIncrAdjusted = const_cast<double*>(_fieldIncrAdjusted);
-  constraintVertices = const_cast<int*>(_constraintVertices);
-  numConstraintVert = _numConstraintVert;  
+  verticesFault = const_cast<int*>(_verticesFault);
+  verticesLagrange = const_cast<int*>(_verticesLagrange);
+  verticesNegative = const_cast<int*>(_verticesNegative);
+  verticesPositive = const_cast<int*>(_verticesPositive);
+  numFaultVertices = _numFaultVertices;  
+  cellMappingFault = const_cast<int*>(_cellMappingFault);
+  cellMappingCohesive = const_cast<int*>(_cellMappingCohesive);
+  numCohesiveCells = _numCohesiveCells;  
 } // constructor
 
 pylith::faults::CohesiveKinDataTri3::~CohesiveKinDataTri3(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.hh	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.hh	2010-04-28 21:55:42 UTC (rev 16595)
@@ -67,9 +67,17 @@
   static const double _residualIncr[]; ///< Expected values from residual calculation with solution increment.
   static const double _jacobian[]; ///< Expected values from Jacobian calculation.
   static const double _fieldIncrAdjusted[]; ///< Expected values for colution increment after adjustment.
-  static const int _constraintVertices[]; ///< Expected points for constraint vertices
-  static const int _numConstraintVert; ///< Number of constraint vertices
 
+  static const int _verticesFault[]; ///< Expected points for Fault vertices
+  static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
+  static const int _verticesPositive[]; ///< Expected points for vertices on + side of fault.
+  static const int _verticesNegative[]; ///< Expected points for vertices on - side of fault.
+  static const int _numFaultVertices; ///< Number of fault vertices
+
+  static const int _numCohesiveCells; ///< Number of cohesive cells
+  static const int _cellMappingFault[]; ///< Fault cell
+  static const int _cellMappingCohesive[]; ///< Cohesive cell
+
 };
 
 #endif // pylith_faults_cohesivekindatatri3_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.cc	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.cc	2010-04-28 21:55:42 UTC (rev 16595)
@@ -122,7 +122,6 @@
   7.2, 9.2, // 15
 };
 
-const int pylith::faults::CohesiveKinDataTri3d::_numConstraintVert = 3;
 
 const double pylith::faults::CohesiveKinDataTri3d::_orientation[] = {
   +0.70710678118654757, -0.70710678118654757,  
@@ -137,10 +136,28 @@
   1.0,
 };
 
-const int pylith::faults::CohesiveKinDataTri3d::_constraintVertices[] = {
-  13, 14, 15
+const int pylith::faults::CohesiveKinDataTri3d::_numFaultVertices = 3;
+const int pylith::faults::CohesiveKinDataTri3d::_verticesFault[] = {
+  4, 2, 3
 };
+const int pylith::faults::CohesiveKinDataTri3d::_verticesLagrange[] = {
+  15, 13, 14
+};
+const int pylith::faults::CohesiveKinDataTri3d::_verticesNegative[] = {
+  8, 5, 6
+};
+const int pylith::faults::CohesiveKinDataTri3d::_verticesPositive[] = {
+  12, 10, 11
+};
 
+const int pylith::faults::CohesiveKinDataTri3d::_numCohesiveCells = 2;
+const int pylith::faults::CohesiveKinDataTri3d::_cellMappingFault[] = {
+  0, 1
+};
+const int pylith::faults::CohesiveKinDataTri3d::_cellMappingCohesive[] = {
+  16, 17
+};
+
 const double pylith::faults::CohesiveKinDataTri3d::_residual[] = {
   0.0,  0.0,
  -1.4142135623730949, -11.030865786510143, // 5
@@ -482,11 +499,17 @@
   fieldT = const_cast<double*>(_fieldT);
   orientation = const_cast<double*>(_orientation);
   area = const_cast<double*>(_area);
-  constraintVertices = const_cast<int*>(_constraintVertices);
   residual = const_cast<double*>(_residual);
   residualIncr = const_cast<double*>(_residualIncr);
   jacobian = const_cast<double*>(_jacobian);
-  numConstraintVert = _numConstraintVert;  
+  verticesFault = const_cast<int*>(_verticesFault);
+  verticesLagrange = const_cast<int*>(_verticesLagrange);
+  verticesNegative = const_cast<int*>(_verticesNegative);
+  verticesPositive = const_cast<int*>(_verticesPositive);
+  numFaultVertices = _numFaultVertices;  
+  cellMappingFault = const_cast<int*>(_cellMappingFault);
+  cellMappingCohesive = const_cast<int*>(_cellMappingCohesive);
+  numCohesiveCells = _numCohesiveCells;  
 } // constructor
 
 pylith::faults::CohesiveKinDataTri3d::~CohesiveKinDataTri3d(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.hh	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.hh	2010-04-28 21:55:42 UTC (rev 16595)
@@ -61,12 +61,20 @@
 
   static const double _orientation[]; ///< Expected values for fault orientation.
   static const double _area[]; ///< Expected values for fault area.
-  static const int _constraintVertices[]; ///< Expected points for constraint vertices
   static const double _residual[]; ///< Expected values from residual calculation.
   static const double _residualIncr[]; ///< Expected values from residual calculation using solution increment.
   static const double _jacobian[]; ///< Expected values from Jacobian calculation.
-  static const int _numConstraintVert; ///< Number of constraint vertices
 
+  static const int _verticesFault[]; ///< Expected points for Fault vertices
+  static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
+  static const int _verticesPositive[]; ///< Expected points for vertices on + side of fault.
+  static const int _verticesNegative[]; ///< Expected points for vertices on - side of fault.
+  static const int _numFaultVertices; ///< Number of fault vertices
+
+  static const int _numCohesiveCells; ///< Number of cohesive cells
+  static const int _cellMappingFault[]; ///< Fault cell
+  static const int _cellMappingCohesive[]; ///< Cohesive cell
+
 };
 
 #endif // pylith_faults_cohesivekindatatri3d_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.cc	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.cc	2010-04-28 21:55:42 UTC (rev 16595)
@@ -124,7 +124,6 @@
   5.0, 7.0, 9.0, // 21
 };
 
-const int pylith::faults::CohesiveKinSrcsDataHex8::_numConstraintVert = 4;
 
 const double pylith::faults::CohesiveKinSrcsDataHex8::_orientation[] = {
   0.0, -1.0, 0.0,    0.0, 0.0, -1.0,    -1.0, 0.0, 0.0,
@@ -137,10 +136,29 @@
   1.0, 1.0, 1.0, 1.0
 };
 
-const int pylith::faults::CohesiveKinSrcsDataHex8::_constraintVertices[] = {
-  18, 19, 20, 21
+const int pylith::faults::CohesiveKinSrcsDataHex8::_numFaultVertices = 4;
+const int pylith::faults::CohesiveKinSrcsDataHex8::_verticesFault[] = {
+  3, 4, 2, 1
 };
+const int pylith::faults::CohesiveKinSrcsDataHex8::_verticesLagrange[] = {
+  20, 21, 19, 18
+};
+const int pylith::faults::CohesiveKinSrcsDataHex8::_verticesNegative[] = {
+  8, 9, 7, 6
+};
+const int pylith::faults::CohesiveKinSrcsDataHex8::_verticesPositive[] = {
+  16, 17, 15, 14
+};
 
+const int pylith::faults::CohesiveKinSrcsDataHex8::_numCohesiveCells = 1;
+const int pylith::faults::CohesiveKinSrcsDataHex8::_cellMappingFault[] = {
+  0
+};
+const int pylith::faults::CohesiveKinSrcsDataHex8::_cellMappingCohesive[] = {
+  22
+};
+
+
 const double pylith::faults::CohesiveKinSrcsDataHex8::_residual[] = {
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
@@ -1410,11 +1428,17 @@
   fieldT = const_cast<double*>(_fieldT);
   orientation = const_cast<double*>(_orientation);
   area = const_cast<double*>(_area);
-  constraintVertices = const_cast<int*>(_constraintVertices);
   residual = const_cast<double*>(_residual);
   residualIncr = const_cast<double*>(_residualIncr);
   jacobian = const_cast<double*>(_jacobian);
-  numConstraintVert = _numConstraintVert;  
+  verticesFault = const_cast<int*>(_verticesFault);
+  verticesLagrange = const_cast<int*>(_verticesLagrange);
+  verticesNegative = const_cast<int*>(_verticesNegative);
+  verticesPositive = const_cast<int*>(_verticesPositive);
+  numFaultVertices = _numFaultVertices;  
+  cellMappingFault = const_cast<int*>(_cellMappingFault);
+  cellMappingCohesive = const_cast<int*>(_cellMappingCohesive);
+  numCohesiveCells = _numCohesiveCells;  
 } // constructor
 
 pylith::faults::CohesiveKinSrcsDataHex8::~CohesiveKinSrcsDataHex8(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.hh	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.hh	2010-04-28 21:55:42 UTC (rev 16595)
@@ -61,12 +61,20 @@
 
   static const double _orientation[]; ///< Expected values for fault orientation.
   static const double _area[]; ///< Expected values for fault area.
-  static const int _constraintVertices[]; ///< Expected points for constraint vertices
   static const double _residual[]; ///< Expected values from residual calculation.
   static const double _residualIncr[]; ///< Expected values from residual calculation using solution increment.
   static const double _jacobian[]; ///< Expected values from Jacobian calculation.
-  static const int _numConstraintVert; ///< Number of constraint vertices
 
+  static const int _verticesFault[]; ///< Expected points for Fault vertices
+  static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
+  static const int _verticesPositive[]; ///< Expected points for vertices on + side of fault.
+  static const int _verticesNegative[]; ///< Expected points for vertices on - side of fault.
+  static const int _numFaultVertices; ///< Number of fault vertices
+
+  static const int _numCohesiveCells; ///< Number of cohesive cells
+  static const int _cellMappingFault[]; ///< Fault cell
+  static const int _cellMappingCohesive[]; ///< Cohesive cell
+
 };
 
 #endif // pylith_faults_cohesivekinsrcsdatahex8_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.cc	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.cc	2010-04-28 21:55:42 UTC (rev 16595)
@@ -75,7 +75,6 @@
   7.5
 };
 
-const int pylith::faults::CohesiveKinSrcsDataLine2::_numConstraintVert = 1;
 
 const double pylith::faults::CohesiveKinSrcsDataLine2::_orientation[] = {
   1.0
@@ -85,10 +84,29 @@
   1.0
 };
 
-const int pylith::faults::CohesiveKinSrcsDataLine2::_constraintVertices[] = {
+const int pylith::faults::CohesiveKinSrcsDataLine2::_numFaultVertices = 1;
+const int pylith::faults::CohesiveKinSrcsDataLine2::_verticesFault[] = {
+  1
+};
+const int pylith::faults::CohesiveKinSrcsDataLine2::_verticesLagrange[] = {
   6
 };
+const int pylith::faults::CohesiveKinSrcsDataLine2::_verticesPositive[] = {
+  5
+};
+const int pylith::faults::CohesiveKinSrcsDataLine2::_verticesNegative[] = {
+  3
+};
 
+const int pylith::faults::CohesiveKinSrcsDataLine2::_numCohesiveCells = 1;
+const int pylith::faults::CohesiveKinSrcsDataLine2::_cellMappingFault[] = {
+  0
+};
+const int pylith::faults::CohesiveKinSrcsDataLine2::_cellMappingCohesive[] = {
+  7
+};
+
+
 const double pylith::faults::CohesiveKinSrcsDataLine2::_residualIncr[] = {
    0.0,
    7.5,
@@ -133,11 +151,17 @@
   fieldT = const_cast<double*>(_fieldT);
   orientation = const_cast<double*>(_orientation);
   area = const_cast<double*>(_area);
-  constraintVertices = const_cast<int*>(_constraintVertices);
   residualIncr = const_cast<double*>(_residualIncr);
   residual = const_cast<double*>(_residual);
   jacobian = const_cast<double*>(_jacobian);
-  numConstraintVert = _numConstraintVert;  
+  verticesFault = const_cast<int*>(_verticesFault);
+  verticesLagrange = const_cast<int*>(_verticesLagrange);
+  verticesNegative = const_cast<int*>(_verticesNegative);
+  verticesPositive = const_cast<int*>(_verticesPositive);
+  numFaultVertices = _numFaultVertices;  
+  cellMappingFault = const_cast<int*>(_cellMappingFault);
+  cellMappingCohesive = const_cast<int*>(_cellMappingCohesive);
+  numCohesiveCells = _numCohesiveCells;  
 } // constructor
 
 pylith::faults::CohesiveKinSrcsDataLine2::~CohesiveKinSrcsDataLine2(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.hh	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.hh	2010-04-28 21:55:42 UTC (rev 16595)
@@ -61,12 +61,20 @@
 
   static const double _orientation[]; ///< Expected values for fault orientation.
   static const double _area[]; ///< Expected values for fault area.
-  static const int _constraintVertices[]; ///< Expected points for constraint vertices
   static const double _residual[]; ///< Expected values from residual calculation.
   static const double _residualIncr[]; ///< Expected values from residual calculation with solution increment.
   static const double _jacobian[]; ///< Expected values from Jacobian calculation.
-  static const int _numConstraintVert; ///< Number of constraint vertices
 
+  static const int _verticesFault[]; ///< Expected points for Fault vertices
+  static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
+  static const int _verticesPositive[]; ///< Expected points for vertices on + side of fault.
+  static const int _verticesNegative[]; ///< Expected points for vertices on - side of fault.
+  static const int _numFaultVertices; ///< Number of fault vertices
+
+  static const int _numCohesiveCells; ///< Number of cohesive cells
+  static const int _cellMappingFault[]; ///< Fault cell
+  static const int _cellMappingCohesive[]; ///< Cohesive cell
+
 };
 
 #endif // pylith_faults_cohesivekindatasrcsline2_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.cc	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.cc	2010-04-28 21:55:42 UTC (rev 16595)
@@ -103,7 +103,6 @@
 };
 
 
-const int pylith::faults::CohesiveKinSrcsDataQuad4::_numConstraintVert = 2;
 
 const double pylith::faults::CohesiveKinSrcsDataQuad4::_orientation[] = {
   0.0,  1.0,  +1.0, 0.0,
@@ -114,10 +113,29 @@
   1.0, 1.0,
 };
 
-const int pylith::faults::CohesiveKinSrcsDataQuad4::_constraintVertices[] = {
+const int pylith::faults::CohesiveKinSrcsDataQuad4::_numFaultVertices = 2;
+const int pylith::faults::CohesiveKinSrcsDataQuad4::_verticesFault[] = {
+  1, 2
+};
+const int pylith::faults::CohesiveKinSrcsDataQuad4::_verticesLagrange[] = {
   10, 11
 };
+const int pylith::faults::CohesiveKinSrcsDataQuad4::_verticesNegative[] = {
+  4, 5
+};
+const int pylith::faults::CohesiveKinSrcsDataQuad4::_verticesPositive[] = {
+  8, 9
+};
 
+const int pylith::faults::CohesiveKinSrcsDataQuad4::_numCohesiveCells = 1;
+const int pylith::faults::CohesiveKinSrcsDataQuad4::_cellMappingFault[] = {
+  0
+};
+const int pylith::faults::CohesiveKinSrcsDataQuad4::_cellMappingCohesive[] = {
+  12
+};
+
+
 const double pylith::faults::CohesiveKinSrcsDataQuad4::_residual[] = {
   0.0,  0.0,
   0.0,  0.0,
@@ -367,11 +385,17 @@
   fieldT = const_cast<double*>(_fieldT);
   orientation = const_cast<double*>(_orientation);
   area = const_cast<double*>(_area);
-  constraintVertices = const_cast<int*>(_constraintVertices);
   residual = const_cast<double*>(_residual);
   residualIncr = const_cast<double*>(_residualIncr);
   jacobian = const_cast<double*>(_jacobian);
-  numConstraintVert = _numConstraintVert;  
+  verticesFault = const_cast<int*>(_verticesFault);
+  verticesLagrange = const_cast<int*>(_verticesLagrange);
+  verticesNegative = const_cast<int*>(_verticesNegative);
+  verticesPositive = const_cast<int*>(_verticesPositive);
+  numFaultVertices = _numFaultVertices;  
+  cellMappingFault = const_cast<int*>(_cellMappingFault);
+  cellMappingCohesive = const_cast<int*>(_cellMappingCohesive);
+  numCohesiveCells = _numCohesiveCells;  
 } // constructor
 
 pylith::faults::CohesiveKinSrcsDataQuad4::~CohesiveKinSrcsDataQuad4(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.hh	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.hh	2010-04-28 21:55:42 UTC (rev 16595)
@@ -61,12 +61,20 @@
 
   static const double _orientation[]; ///< Expected values for fault orientation.
   static const double _area[]; ///< Expected values for fault area.
-  static const int _constraintVertices[]; ///< Expected points for constraint vertices
   static const double _residual[]; ///< Expected values from residual calculation.
   static const double _residualIncr[]; ///< Expected values from residual calculation using solution increment.
   static const double _jacobian[]; ///< Expected values from Jacobian calculation.
-  static const int _numConstraintVert; ///< Number of constraint vertices
 
+  static const int _verticesFault[]; ///< Expected points for Fault vertices
+  static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
+  static const int _verticesPositive[]; ///< Expected points for vertices on + side of fault.
+  static const int _verticesNegative[]; ///< Expected points for vertices on - side of fault.
+  static const int _numFaultVertices; ///< Number of fault vertices
+
+  static const int _numCohesiveCells; ///< Number of cohesive cells
+  static const int _cellMappingFault[]; ///< Fault cell
+  static const int _cellMappingCohesive[]; ///< Cohesive cell
+
 };
 
 #endif // pylith_faults_cohesivekinsrcsdataquad4_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.cc	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.cc	2010-04-28 21:55:42 UTC (rev 16595)
@@ -91,7 +91,6 @@
   7.1, 8.1, 9.1, // 12
 };
 
-const int pylith::faults::CohesiveKinSrcsDataTet4::_numConstraintVert = 3;
 
 const double pylith::faults::CohesiveKinSrcsDataTet4::_orientation[] = {
   0.0, +1.0, 0.0,    0.0, 0.0, +1.0,    +1.0, 0.0, 0.0,
@@ -105,10 +104,29 @@
   1.0/3.0,
 };
 
-const int pylith::faults::CohesiveKinSrcsDataTet4::_constraintVertices[] = {
-  10, 11, 12
+const int pylith::faults::CohesiveKinSrcsDataTet4::_numFaultVertices = 3;
+const int pylith::faults::CohesiveKinSrcsDataTet4::_verticesFault[] = {
+  2, 1, 3
 };
+const int pylith::faults::CohesiveKinSrcsDataTet4::_verticesLagrange[] = {
+  11, 10, 12
+};
+const int pylith::faults::CohesiveKinSrcsDataTet4::_verticesNegative[] = {
+  4, 3, 5
+};
+const int pylith::faults::CohesiveKinSrcsDataTet4::_verticesPositive[] = {
+  8, 7, 9
+};
 
+const int pylith::faults::CohesiveKinSrcsDataTet4::_numCohesiveCells = 1;
+const int pylith::faults::CohesiveKinSrcsDataTet4::_cellMappingFault[] = {
+  0
+};
+const int pylith::faults::CohesiveKinSrcsDataTet4::_cellMappingCohesive[] = {
+  13
+};
+
+
 const double pylith::faults::CohesiveKinSrcsDataTet4::_residual[] = {
   0.0,  0.0,  0.0,
   9.7,  7.7,  8.7, // 3
@@ -523,11 +541,17 @@
   fieldT = const_cast<double*>(_fieldT);
   orientation = const_cast<double*>(_orientation);
   area = const_cast<double*>(_area);
-  constraintVertices = const_cast<int*>(_constraintVertices);
   residual = const_cast<double*>(_residual);
   residualIncr = const_cast<double*>(_residualIncr);
   jacobian = const_cast<double*>(_jacobian);
-  numConstraintVert = _numConstraintVert;  
+  verticesFault = const_cast<int*>(_verticesFault);
+  verticesLagrange = const_cast<int*>(_verticesLagrange);
+  verticesNegative = const_cast<int*>(_verticesNegative);
+  verticesPositive = const_cast<int*>(_verticesPositive);
+  numFaultVertices = _numFaultVertices;  
+  cellMappingFault = const_cast<int*>(_cellMappingFault);
+  cellMappingCohesive = const_cast<int*>(_cellMappingCohesive);
+  numCohesiveCells = _numCohesiveCells;  
 } // constructor
 
 pylith::faults::CohesiveKinSrcsDataTet4::~CohesiveKinSrcsDataTet4(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.hh	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.hh	2010-04-28 21:55:42 UTC (rev 16595)
@@ -61,12 +61,20 @@
 
   static const double _orientation[]; ///< Expected values for fault orientation.
   static const double _area[]; ///< Expected values for fault area.
-  static const int _constraintVertices[]; ///< Expected points for constraint vertices
   static const double _residual[]; ///< Expected values from residual calculation.
   static const double _residualIncr[]; ///< Expected values from residual calculation using solution increment.
   static const double _jacobian[]; ///< Expected values from Jacobian calculation.
-  static const int _numConstraintVert; ///< Number of constraint vertices
 
+  static const int _verticesFault[]; ///< Expected points for Fault vertices
+  static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
+  static const int _verticesPositive[]; ///< Expected points for vertices on + side of fault.
+  static const int _verticesNegative[]; ///< Expected points for vertices on - side of fault.
+  static const int _numFaultVertices; ///< Number of fault vertices
+
+  static const int _numCohesiveCells; ///< Number of cohesive cells
+  static const int _cellMappingFault[]; ///< Fault cell
+  static const int _cellMappingCohesive[]; ///< Cohesive cell
+
 };
 
 #endif // pylith_faults_cohesivekindatatet4_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.cc	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.cc	2010-04-28 21:55:42 UTC (rev 16595)
@@ -114,7 +114,6 @@
   8.8, 9.8, // 9
 };
 
-const int pylith::faults::CohesiveKinSrcsDataTri3::_numConstraintVert = 2;
 
 const double pylith::faults::CohesiveKinSrcsDataTri3::_orientation[] = {
   0.0, -1.0,  -1.0, 0.0,
@@ -126,10 +125,29 @@
   1.0,
 };
 
-const int pylith::faults::CohesiveKinSrcsDataTri3::_constraintVertices[] = {
+const int pylith::faults::CohesiveKinSrcsDataTri3::_numFaultVertices = 2;
+const int pylith::faults::CohesiveKinSrcsDataTri3::_verticesFault[] = {
+  1, 2
+};
+const int pylith::faults::CohesiveKinSrcsDataTri3::_verticesLagrange[] = {
   8, 9
 };
+const int pylith::faults::CohesiveKinSrcsDataTri3::_verticesNegative[] = {
+  3, 4
+};
+const int pylith::faults::CohesiveKinSrcsDataTri3::_verticesPositive[] = {
+  6, 7
+};
 
+const int pylith::faults::CohesiveKinSrcsDataTri3::_numCohesiveCells = 1;
+const int pylith::faults::CohesiveKinSrcsDataTri3::_cellMappingFault[] = {
+  0
+};
+const int pylith::faults::CohesiveKinSrcsDataTri3::_cellMappingCohesive[] = {
+  10
+};
+
+
 const double pylith::faults::CohesiveKinSrcsDataTri3::_residual[] = {
   0.0,  0.0,
  -9.6, -8.6, // 3
@@ -305,11 +323,17 @@
   fieldT = const_cast<double*>(_fieldT);
   orientation = const_cast<double*>(_orientation);
   area = const_cast<double*>(_area);
-  constraintVertices = const_cast<int*>(_constraintVertices);
   residual = const_cast<double*>(_residual);
   residualIncr = const_cast<double*>(_residualIncr);
   jacobian = const_cast<double*>(_jacobian);
-  numConstraintVert = _numConstraintVert;  
+  verticesFault = const_cast<int*>(_verticesFault);
+  verticesLagrange = const_cast<int*>(_verticesLagrange);
+  verticesNegative = const_cast<int*>(_verticesNegative);
+  verticesPositive = const_cast<int*>(_verticesPositive);
+  numFaultVertices = _numFaultVertices;  
+  cellMappingFault = const_cast<int*>(_cellMappingFault);
+  cellMappingCohesive = const_cast<int*>(_cellMappingCohesive);
+  numCohesiveCells = _numCohesiveCells;  
 } // constructor
 
 pylith::faults::CohesiveKinSrcsDataTri3::~CohesiveKinSrcsDataTri3(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.hh	2010-04-28 20:13:22 UTC (rev 16594)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.hh	2010-04-28 21:55:42 UTC (rev 16595)
@@ -61,12 +61,20 @@
 
   static const double _orientation[]; ///< Expected values for fault orientation.
   static const double _area[]; ///< Expected values for fault area.
-  static const int _constraintVertices[]; ///< Expected points for constraint vertices
   static const double _residual[]; ///< Expected values from residual calculation.
   static const double _residualIncr[]; ///< Expected values from residual calculation using solution increment.
   static const double _jacobian[]; ///< Expected values from Jacobian calculation.
-  static const int _numConstraintVert; ///< Number of constraint vertices
 
+  static const int _verticesFault[]; ///< Expected points for Fault vertices
+  static const int _verticesLagrange[]; ///< Expected points for Lagrange vertices
+  static const int _verticesPositive[]; ///< Expected points for vertices on + side of fault.
+  static const int _verticesNegative[]; ///< Expected points for vertices on - side of fault.
+  static const int _numFaultVertices; ///< Number of fault vertices
+
+  static const int _numCohesiveCells; ///< Number of cohesive cells
+  static const int _cellMappingFault[]; ///< Fault cell
+  static const int _cellMappingCohesive[]; ///< Cohesive cell
+
 };
 
 #endif // pylith_faults_cohesivekinsrcsdatatri3_hh



More information about the CIG-COMMITS mailing list