[cig-commits] r18960 - in short/3D/PyLith/branches/v1.6-revisedfault: libsrc/pylith/faults modulesrc/friction unittests/libtests/faults unittests/libtests/faults/data

brad at geodynamics.org brad at geodynamics.org
Wed Sep 21 16:57:40 PDT 2011


Author: brad
Date: 2011-09-21 16:57:40 -0700 (Wed, 21 Sep 2011)
New Revision: 18960

Modified:
   short/3D/PyLith/branches/v1.6-revisedfault/libsrc/pylith/faults/FaultCohesiveLagrange.cc
   short/3D/PyLith/branches/v1.6-revisedfault/modulesrc/friction/FrictionModel.i
   short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/TestFaultCohesiveKin.cc
   short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataLine2.cc
   short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc
   short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc
   short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataTet4.cc
   short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataTri3.cc
Log:
Fixed bugs in fault implementation. Started updating C++ test data for revised fault implementation.

Modified: short/3D/PyLith/branches/v1.6-revisedfault/libsrc/pylith/faults/FaultCohesiveLagrange.cc
===================================================================
--- short/3D/PyLith/branches/v1.6-revisedfault/libsrc/pylith/faults/FaultCohesiveLagrange.cc	2011-09-21 19:02:02 UTC (rev 18959)
+++ short/3D/PyLith/branches/v1.6-revisedfault/libsrc/pylith/faults/FaultCohesiveLagrange.cc	2011-09-21 23:57:40 UTC (rev 18960)
@@ -192,7 +192,7 @@
   assert(0 != _fields);
   assert(0 != _logger);
 
-  // Cohesive cells with normal vertices P and N, and constraint
+  // Cohesive cells with conventional vertices N and P, and constraint
   // vertex L make contributions to the assembled residual:
   //
   // DOF P: \int_{S_f^+} \tensor{N}_m^T \cdot \tensor{N}_p \cdot \vec{l}_p dS
@@ -342,12 +342,16 @@
     slipGlobalCell = 0.0;
     for (int iBasis=0; iBasis < numBasis; ++iBasis) {
       const int iB = iBasis*spaceDim;
-      for (int iDim = 0; iDim < spaceDim; ++iDim)
-	for (int kDim = 0; kDim < spaceDim; ++kDim)
+      for (int iDim = 0; iDim < spaceDim; ++iDim) {
+	for (int kDim = 0; kDim < spaceDim; ++kDim) {
 	  slipGlobalCell[iB+iDim] += slipCell[iB+kDim] *
 	    orientationCell[iB*spaceDim + kDim*spaceDim + iDim];
+	} // for
+      } // for
     } // for
 
+    residualCell = 0.0;
+
     // Compute action for positive side of fault and Lagrange constraints
     for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
       const double wt = quadWts[iQuad] * jacobianDet[iQuad];
@@ -356,42 +360,58 @@
         const double valI = wt*basis[iQ+iBasis];
 
 	// Add entries to residual at
+	// iN = DOF at negative node
 	// iP = DOF at positive node
-	// iN = DOF at negative node
 	// iL = DOF at constraint node
 
+	// Indices for negative vertex
+	const int iBN = 0*numBasis*spaceDim + iBasis*spaceDim;
+	
 	// Indices for positive vertex
-	const int iBP = 0*numBasis*spaceDim + iBasis*spaceDim;
+	const int iBP = 1*numBasis*spaceDim + iBasis*spaceDim;
 	
-	// Indices for negative vertex
-	const int iBN = 1*numBasis*spaceDim + iBasis*spaceDim;
-	
 	// Indices for Lagrange vertex
 	const int iBL = 2*numBasis*spaceDim + iBasis*spaceDim;
 
         for (int jBasis=0; jBasis < numBasis; ++jBasis) {
           const double valIJ = valI * basis[iQ+jBasis];
 
+	  // Indices for negative vertex
+	  const int jBN = 0*numBasis*spaceDim + jBasis*spaceDim;
+
 	  // Indices for positive vertex
-	  const int jBP = 0*numBasis*spaceDim + jBasis*spaceDim;
+	  const int jBP = 1*numBasis*spaceDim + jBasis*spaceDim;
 
-	  // Indices for negative vertex
-	  const int jBN = 1*numBasis*spaceDim + jBasis*spaceDim;
-
 	  // Indices for Lagrange vertex
 	  const int jBL = 2*numBasis*spaceDim + jBasis*spaceDim;
 
           for (int iDim=0; iDim < spaceDim; ++iDim) {
+	    // negative side of the fault
+            residualCell[iBN + iDim] -= valIJ * dispTpdtCell[jBL + iDim];
+	    
 	    // positive side of the fault
-            residualCell[iBP + iDim] += dispTpdtCell[jBL + iDim] * valIJ;
+            residualCell[iBP + iDim] += valIJ * dispTpdtCell[jBL + iDim];
 	    
-	    // negative side of the fault
-            residualCell[iBN + iDim] = -residualCell[iBP + iDim];
-	    
 	    // Lagrange constraint
-	    residualCell[iBL + iDim] += 
-	      valIJ * (slipGlobalCell[jBasis*spaceDim+iDim]
-		       - dispTpdtCell[jBP + iDim] + dispTpdtCell[jBN + iDim]);
+	    residualCell[iBL + iDim] += valIJ * 
+	      (dispTpdtCell[jBP + iDim] - dispTpdtCell[jBN + iDim] -
+	       slipGlobalCell[jBasis*spaceDim+iDim]);
+
+#if 1
+	    std::cout << "iBasis: " << iBasis
+		      << ", jBasis: " << jBasis
+		      << ", iDim: " << iDim
+		      << ", valIJ: " << valIJ
+		      << ", jacobianDet: " << jacobianDet[iQuad]
+		      << ", slip: " << slipGlobalCell[jBasis*spaceDim+iDim]
+		      << ", dispP: " << dispTpdtCell[jBP + iDim]
+		      << ", dispN: " << dispTpdtCell[jBN + iDim]
+		      << ", residualN: " << residualCell[iBN + iDim]
+		      << ", residualP: " << residualCell[iBP + iDim]
+		      << ", residualL: " << residualCell[iBL + iDim]
+		      << std::endl;
+#endif
+
 	  } // for
         } // for
       } // for
@@ -539,33 +559,34 @@
           const double valIJ = valI * basis[iQ+jBasis];
 
 	  // First index for positive, negative, and Lagrange vertices
-	  const int iBP = 0*numBasis*spaceDim + iBasis*spaceDim;
-	  const int iBN = 1*numBasis*spaceDim + iBasis*spaceDim;
+	  const int iBN = 0*numBasis*spaceDim + iBasis*spaceDim;
+	  const int iBP = 1*numBasis*spaceDim + iBasis*spaceDim;
 	  const int iBL = 2*numBasis*spaceDim + iBasis*spaceDim;
 
 	  for (int iDim=0; iDim < spaceDim; ++iDim) {
 	    // Add entries to Jacobian at (i,j) where
+	    // iN = DOF at negative node, jL = DOF at constraint node
+	    // iL = DOF at constraint node, jN = DOF at negative node
 	    // iP = DOF at positive node, jL = DOF at constraint node
 	    // iL = DOF at constraint node, jP = DOF at positive node
-	    // iN = DOF at negative node, jL = DOF at constraint node
-	    // iL = DOF at constraint node, jN = DOF at negative node
 
-            const int iP = (iBP + iDim) * rowSize; // row
-            const int jP = (iBP + iDim); // col
-
 	    // Indices for negative vertex
             const int iN = (iBN + iDim) * rowSize; // row
             const int jN = (iBN + iDim); // col
 
+	    // Indices for positive vertex
+            const int iP = (iBP + iDim) * rowSize; // row
+            const int jP = (iBP + iDim); // col
+
 	    // Indices for Lagrange vertex
             const int iL = (iBL + iDim) * rowSize; // row
             const int jL = (iBL + iDim); // col
 
+            jacobianCell[iN + jL] += valIJ;
+            jacobianCell[iL + jN] += valIJ;
+
             jacobianCell[iP + jL] -= valIJ;
             jacobianCell[iL + jP] -= valIJ;
-
-            jacobianCell[iN + jL] += valIJ;
-            jacobianCell[iL + jN] += valIJ;
           } // for
         } // for
       } // for

Modified: short/3D/PyLith/branches/v1.6-revisedfault/modulesrc/friction/FrictionModel.i
===================================================================
--- short/3D/PyLith/branches/v1.6-revisedfault/modulesrc/friction/FrictionModel.i	2011-09-21 19:02:02 UTC (rev 18959)
+++ short/3D/PyLith/branches/v1.6-revisedfault/modulesrc/friction/FrictionModel.i	2011-09-21 23:57:40 UTC (rev 18960)
@@ -95,12 +95,10 @@
        *
        * @param mesh Finite-element mesh of subdomain.
        * @param quadrature Quadrature for finite-element integration
-       * @param area Area at vertices of subdomain.
        */
       virtual
       void initialize(const pylith::topology::SubMesh& mesh,
-		      pylith::feassemble::Quadrature<pylith::topology::SubMesh>* quadrature,
-		      const pylith::topology::Field<pylith::topology::SubMesh>& area);
+		      pylith::feassemble::Quadrature<pylith::topology::SubMesh>* quadrature);
   
       /** Check whether friction model has a field as a property or
        * state variable.

Modified: short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/TestFaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/TestFaultCohesiveKin.cc	2011-09-21 19:02:02 UTC (rev 18959)
+++ short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/TestFaultCohesiveKin.cc	2011-09-21 23:57:40 UTC (rev 18960)
@@ -264,6 +264,7 @@
     fault.useSolnIncr(false);
     fault.integrateResidual(residual, t, &fields);
 
+    mesh.view("DOMAIN MESH");
     residual.view("RESIDUAL"); // DEBUGGING
 
     // Check values

Modified: short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataLine2.cc
===================================================================
--- short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataLine2.cc	2011-09-21 19:02:02 UTC (rev 18959)
+++ short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataLine2.cc	2011-09-21 23:57:40 UTC (rev 18960)
@@ -121,7 +121,7 @@
 
 
 const double pylith::faults::CohesiveKinDataLine2::_orientation[] = {
-  1.0
+   1.0
 };
 
 const double pylith::faults::CohesiveKinDataLine2::_area[] = {
@@ -130,26 +130,26 @@
 
 const double pylith::faults::CohesiveKinDataLine2::_residualIncr[] = {
    0.0,
-   7.5,
+  -7.5,
    0.0,
-  -7.5,
-   -0.2+1.89546413727,
+  +7.5,
+  0.2-1.89546413727,
 };
 
 const double pylith::faults::CohesiveKinDataLine2::_residual[] = {
    0.0,
-   7.5, // 3
+  -7.5, // 3
    0.0,
-   -7.5, // 5
-   -0.2+1.89546413727,
+  +7.5, // 5
+  0.2-1.89546413727,
 };
 
 const double pylith::faults::CohesiveKinDataLine2::_jacobian[] = {
   0.0,  0.0,  0.0,  0.0,  0.0,
+  0.0,  0.0,  0.0,  0.0, +1.0,
+  0.0,  0.0,  0.0,  0.0,  0.0,
   0.0,  0.0,  0.0,  0.0, -1.0,
-  0.0,  0.0,  0.0,  0.0,  0.0,
-  0.0,  0.0,  0.0,  0.0, +1.0,
-  0.0, -1.0,  0.0, +1.0,  0.0,
+  0.0, +1.0,  0.0, -1.0,  0.0,
 };
 
 const double pylith::faults::CohesiveKinDataLine2::_fieldIncrAdjusted[] = {

Modified: short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc
===================================================================
--- short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc	2011-09-21 19:02:02 UTC (rev 18959)
+++ short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc	2011-09-21 23:57:40 UTC (rev 18960)
@@ -171,27 +171,31 @@
 const double pylith::faults::CohesiveKinDataQuad4::_residual[] = {
   0.0,  0.0,
   0.0,  0.0,
-  9.8,  8.8, // 4
-  9.0,  8.0, // 5
+ -8.4, -9.4, // 4
+ -8.4, -9.4, // 5
   0.0,  0.0,
   0.0,  0.0,
- -9.8, -8.8, // 8
- -9.0, -8.0, // 9
- -0.4+1.77538035254, -0.4+0.14794836271, // 10
- -0.5+1.89546413727, -0.5+0.08241148423, // 11
+ +8.4, +9.4, // 8
+ +8.4, +9.4, // 9
+  0.5*(8.7-8.3 + 8.9-8.4) - 0.5*(0.14794836271+0.08241148423),
+  0.5*(9.7-9.3 + 9.9-9.4) - 0.5*(1.77538035254+1.89546413727), // 10
+  0.5*(8.7-8.3 + 8.9-8.4) - 0.5*(0.14794836271+0.08241148423),
+  0.5*(9.7-9.3 + 9.9-9.4) - 0.5*(1.77538035254+1.89546413727), // 11
 };
 
 const double pylith::faults::CohesiveKinDataQuad4::_residualIncr[] = {
   0.0,  0.0,
   0.0,  0.0,
-  9.8,  8.8, // 4
-  9.0,  8.0, // 5
+ -8.4, -9.4, // 4
+ -8.4, -9.4, // 5
   0.0,  0.0,
   0.0,  0.0,
- -9.8, -8.8, // 8
- -9.0, -8.0, // 9
- -0.4+1.77538035254, -0.4+0.14794836271, // 10
- -0.5+1.89546413727, -0.5+0.08241148423, // 11
+ +8.4, +9.4, // 8
+ +8.4, +9.4, // 9
+  0.5*(8.7-8.3 + 8.9-8.4) - 0.5*(0.14794836271+0.08241148423),
+  0.5*(9.7-9.3 + 9.9-9.4) - 0.5*(1.77538035254+1.89546413727), // 10
+  0.5*(8.7-8.3 + 8.9-8.4) - 0.5*(0.14794836271+0.08241148423),
+  0.5*(9.7-9.3 + 9.9-9.4) - 0.5*(1.77538035254+1.89546413727), // 11
 };
 
 const double pylith::faults::CohesiveKinDataQuad4::_jacobian[] = {
@@ -243,7 +247,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,-1.0, // 10
+ +1.0, 0.0, // 10
   0.0, 0.0,
   0.0, 0.0, // 4y
   0.0, 0.0,
@@ -253,7 +257,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- -1.0, 0.0, //  10
+  0.0,+1.0, //  10
   0.0, 0.0,
   0.0, 0.0, // 5x
   0.0, 0.0,
@@ -264,7 +268,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,-1.0, //  11
+ +1.0, 0.0, //  11
   0.0, 0.0, // 5y
   0.0, 0.0,
   0.0, 0.0,
@@ -274,7 +278,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- -1.0, 0.0, //  11
+  0.0,+1.0, //  11
   0.0, 0.0, // 6x
   0.0, 0.0,
   0.0, 0.0,
@@ -323,7 +327,7 @@
   0.0, 0.0, 
   0.0, 0.0,
   0.0, 0.0,
-  0.0,+1.0, //  10
+ -1.0, 0.0, //  10
   0.0, 0.0,
   0.0, 0.0, // 8y
   0.0, 0.0,
@@ -333,7 +337,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- +1.0, 0.0, // 10
+  0.0,-1.0, // 10
   0.0, 0.0,
   0.0, 0.0, // 9x
   0.0, 0.0,
@@ -344,7 +348,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,+1.0, // 11
+ -1.0, 0.0, // 11
   0.0, 0.0, // 9y
   0.0, 0.0,
   0.0, 0.0,
@@ -354,45 +358,45 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- +1.0, 0.0, // 11
+  0.0,-1.0, // 11
   0.0, 0.0, // 10x
   0.0, 0.0,
-  0.0,-1.0, //  4
+ +1.0, 0.0, //  4
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,+1.0, //  8
+ -1.0, 0.0, //  8
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0, // 10y
   0.0, 0.0,
- -1.0, 0.0, //  4
+  0.0,+1.0, //  4
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- +1.0, 0.0, //  8
+  0.0,-1.0, //  8
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0, // 11x
   0.0, 0.0,
   0.0, 0.0,
-  0.0,-1.0, //  5
+ +1.0, 0.0, //  5
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,+1.0, //  9
+ -1.0, 0.0, //  9
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0, // 11y
   0.0, 0.0,
   0.0, 0.0,
- -1.0, 0.0, //  5
+  0.0,+1.0, //  5
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- +1.0, 0.0, // 9
+  0.0,-1.0, // 9
   0.0, 0.0,
   0.0, 0.0,
 };

Modified: short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc
===================================================================
--- short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc	2011-09-21 19:02:02 UTC (rev 18959)
+++ short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc	2011-09-21 23:57:40 UTC (rev 18960)
@@ -172,37 +172,47 @@
 const double pylith::faults::CohesiveKinDataQuad4e::_residual[] = {
   0.0,  0.0,
   0.0,  0.0,
- -6.1, -4.1, // 6
- -6.3, -4.3, // 7
+ -4.2, -6.2, // 6
+ -8.6,-12.6, // 7
   0.0,  0.0,
   0.0,  0.0,
   0.0,  0.0,
- -6.5, -4.5, // 11
+ -4.4, -6.4, // 11
   0.0,  0.0,
- +6.1, +4.1, // 13
- +6.3, +4.3, // 15
- +6.5, +4.5, // 17
- -0.3+1.77538035254, -0.3+0.14794836271, // 16
-  0.8+1.89546413727,  0.8+0.08241148423, // 17
-  0.6+1.59887481971,  0.6+0.19186497837, // 18
+ +4.2, +6.2, // 13
+ +8.6,+12.6, // 15
+ +4.4, +6.4, // 17
+  0.5*(3.0-3.3 + 4.2-3.4) + 0.5*(0.14794836271 + 0.08241148423),
+  0.5*(5.0-5.3 + 6.2-5.4) + 0.5*(1.77538035254 + 1.89546413727), // 16
+  0.5*(3.0-3.3 + 4.2-3.4) + 0.5*(0.14794836271 + 0.08241148423) +
+  0.5*(4.2-3.4 + 4.4-3.8) + 0.5*(0.08241148423 + 0.19186497837),
+  0.5*(5.0-5.3 + 6.2-5.4) + 0.5*(1.77538035254 + 1.89546413727) +
+  0.5*(6.2-5.4 + 6.4-5.8) + 0.5*(1.89546413727 + 1.59887481971), // 17
+  0.5*(4.2-3.4 + 4.4-3.8) + 0.5*(0.08241148423 + 0.19186497837),
+  0.5*(6.2-5.4 + 6.4-5.8) + 0.5*(1.89546413727 + 1.59887481971), // 18
 };
 
 const double pylith::faults::CohesiveKinDataQuad4e::_residualIncr[] = {
   0.0,  0.0,
   0.0,  0.0,
- -6.1, -4.1, // 6
- -6.3, -4.3, // 7
+ -4.2, -6.2, // 6
+ -8.6,-12.6, // 7
   0.0,  0.0,
   0.0,  0.0,
   0.0,  0.0,
- -6.5, -4.5, // 11
+ -4.4, -6.4, // 11
   0.0,  0.0,
- +6.1, +4.1, // 13
- +6.3, +4.3, // 15
- +6.5, +4.5, // 17
- -0.3+1.77538035254, -0.3+0.14794836271, // 16
-  0.8+1.89546413727,  0.8+0.08241148423, // 17
-  0.6+1.59887481971,  0.6+0.19186497837, // 18
+ +4.2, +6.2, // 13
+ +8.6,+12.6, // 15
+ +4.4, +6.4, // 17
+  0.5*(3.0-3.3 + 4.2-3.4) + 0.5*(0.14794836271 + 0.08241148423),
+  0.5*(5.0-5.3 + 6.2-5.4) + 0.5*(1.77538035254 + 1.89546413727), // 16
+  0.5*(3.0-3.3 + 4.2-3.4) + 0.5*(0.14794836271 + 0.08241148423) +
+  0.5*(4.2-3.4 + 4.4-3.8) + 0.5*(0.08241148423 + 0.19186497837),
+  0.5*(5.0-5.3 + 6.2-5.4) + 0.5*(1.77538035254 + 1.89546413727) +
+  0.5*(6.2-5.4 + 6.4-5.8) + 0.5*(1.89546413727 + 1.59887481971), // 17
+  0.5*(4.2-3.4 + 4.4-3.8) + 0.5*(0.08241148423 + 0.19186497837),
+  0.5*(6.2-5.4 + 6.4-5.8) + 0.5*(1.89546413727 + 1.59887481971), // 18
 };
 
 const double pylith::faults::CohesiveKinDataQuad4e::_jacobian[] = {
@@ -278,7 +288,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,+1.0, // 16
+ +1.0, 0.0, // 16
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0, // 6y
@@ -293,7 +303,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- +1.0, 0.0, // 16
+  0.0,+1.0, // 16
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0, // 7x
@@ -309,7 +319,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,+1.0, // 17
+ +2.0, 0.0, // 17
   0.0, 0.0,
   0.0, 0.0, // 7y
   0.0, 0.0,
@@ -324,7 +334,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- +1.0, 0.0, // 17
+  0.0,+2.0, // 17
   0.0, 0.0,
   0.0, 0.0, // 8x
   0.0, 0.0,
@@ -430,7 +440,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,+1.0, // 18
+ +1.0, 0.0, // 18
   0.0, 0.0, // 11y
   0.0, 0.0,
   0.0, 0.0,
@@ -445,7 +455,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- +1.0, 0.0, // 18
+  0.0,+1.0, // 18
   0.0, 0.0, // 12x
   0.0, 0.0,
   0.0, 0.0,
@@ -488,7 +498,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,-1.0, // 16
+ -1.0, 0.0, // 16
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0, // 13y
@@ -503,7 +513,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- -1.0, 0.0, // 16
+  0.0,-1.0, // 16
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0, // 14x
@@ -519,7 +529,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,-1.0, // 17
+ -2.0, 0.0, // 17
   0.0, 0.0,
   0.0, 0.0, // 14y
   0.0, 0.0,
@@ -534,7 +544,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- -1.0, 0.0, // 17
+  0.0,-2.0, // 17
   0.0, 0.0,
   0.0, 0.0, // 15x
   0.0, 0.0,
@@ -550,7 +560,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,-1.0, // 18
+ -1.0, 0.0, // 18
   0.0, 0.0, // 15y
   0.0, 0.0,
   0.0, 0.0,
@@ -565,17 +575,17 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- -1.0, 0.0, // 18
+  0.0,-1.0, // 18
   0.0, 0.0, // 16x
   0.0, 0.0,
-  0.0,+1.0, // 6
+ +1.0, 0.0, // 6
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,-1.0, // 13
+ -1.0, 0.0, // 13
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
@@ -583,14 +593,14 @@
   0.0, 0.0,
   0.0, 0.0, // 16y
   0.0, 0.0,
- +1.0, 0.0, // 6
+  0.0,+1.0, // 6
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- -1.0, 0.0, // 13
+  0.0,-1.0, // 13
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
@@ -599,14 +609,14 @@
   0.0, 0.0, // 17x
   0.0, 0.0,
   0.0, 0.0,
-  0.0,+1.0, // 7
+ +2.0, 0.0, // 7
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,-1.0, // 14
+ -2.0, 0.0, // 14
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
@@ -614,14 +624,14 @@
   0.0, 0.0, // 17y
   0.0, 0.0,
   0.0, 0.0,
- +1.0, 0.0, // 7
+  0.0,+2.0, // 7
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- -1.0, 0.0, // 14
+  0.0,-2.0, // 14
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
@@ -633,11 +643,11 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,+1.0, // 11
+ +1.0, 0.0, // 11
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,-1.0, // 15
+ -1.0, 0.0, // 15
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
@@ -648,11 +658,11 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- +1.0, 0.0, // 11
+  0.0,+1.0, // 11
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- -1.0, 0.0, // 15
+  0.0,-1.0, // 15
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,

Modified: short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataTet4.cc
===================================================================
--- short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataTet4.cc	2011-09-21 19:02:02 UTC (rev 18959)
+++ short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataTet4.cc	2011-09-21 23:57:40 UTC (rev 18960)
@@ -163,30 +163,60 @@
 
 const double pylith::faults::CohesiveKinDataTet4::_residual[] = {
   0.0,  0.0,  0.0,
-  9.7,  7.7,  8.7, // 3
-  9.9,  7.9,  8.9, // 4
-  9.1,  7.1,  8.1, // 5
+  -(7.7+7.9+7.1)/9.0,  -(8.7+8.9+8.1)/9.0,  -(9.7+9.9+9.1)/9.0, // 3
+  -(7.7+7.9+7.1)/9.0,  -(8.7+8.9+8.1)/9.0,  -(9.7+9.9+9.1)/9.0, // 4
+  -(7.7+7.9+7.1)/9.0,  -(8.7+8.9+8.1)/9.0,  -(9.7+9.9+9.1)/9.0, // 5
   0.0,  0.0,  0.0,
- -9.7, -7.7, -8.7, // 7
- -9.9, -7.9, -8.9, // 4
- -9.1, -7.1, -8.1, // 5
- -0.4+1.82575588523, -0.4+-0.55566483464, -0.4+0.07938069066, // 10
- -0.5+1.69682900001, -0.5+-0.56560966667, -0.5+0.14140241667, // 11
-  0.4+1.51709826228,  0.4+-0.54615537442,  0.4+0.18205179147, // 12
+  +(7.7+7.9+7.1)/9.0,  +(8.7+8.9+8.1)/9.0,  +(9.7+9.9+9.1)/9.0, // 7
+  +(7.7+7.9+7.1)/9.0,  +(8.7+8.9+8.1)/9.0,  +(9.7+9.9+9.1)/9.0, // 8
+  +(7.7+7.9+7.1)/9.0,  +(8.7+8.9+8.1)/9.0,  +(9.7+9.9+9.1)/9.0, // 9
+  (7.6-7.2 + 7.8-7.3 + 7.0-7.4)/9.0 +
+  (-0.07938069066 + -0.14140241667 + -0.18205179147)/9.0,
+  (8.6-8.2 + 8.8-8.3 + 9.0-9.4)/9.0 +
+  (-1.69682900001 + -1.82575588523 + -1.51709826228)/9.0,
+  (9.6-9.2 + 9.8-9.3 + 9.0-9.4)/9.0 +
+  (0.55566483464 + 0.56560966667 + 0.54615537442)/9.0, // 10
+  (7.6-7.2 + 7.8-7.3 + 7.0-7.4)/9.0 +
+  (-0.07938069066 + -0.14140241667 + -0.18205179147)/9.0,
+  (8.6-8.2 + 8.8-8.3 + 9.0-9.4)/9.0 +
+  (-1.69682900001 + -1.82575588523 + -1.51709826228)/9.0,
+  (9.6-9.2 + 9.8-9.3 + 9.0-9.4)/9.0 +
+  (0.55566483464 + 0.56560966667 + 0.54615537442)/9.0, // 11
+  (7.6-7.2 + 7.8-7.3 + 7.0-7.4)/9.0 +
+  (-0.07938069066 + -0.14140241667 + -0.18205179147)/9.0,
+  (8.6-8.2 + 8.8-8.3 + 9.0-9.4)/9.0 +
+  (-1.69682900001 + -1.82575588523 + -1.51709826228)/9.0,
+  (9.6-9.2 + 9.8-9.3 + 9.0-9.4)/9.0 +
+  (0.55566483464 + 0.56560966667 + 0.54615537442)/9.0, // 12
 };
 
 const double pylith::faults::CohesiveKinDataTet4::_residualIncr[] = {
   0.0,  0.0,  0.0,
-  9.7,  7.7,  8.7, // 3
-  9.9,  7.9,  8.9, // 4
-  9.1,  7.1,  8.1, // 5
+  -(7.7+7.9+7.1)/9.0,  -(8.7+8.9+8.1)/9.0,  -(9.7+9.9+9.1)/9.0, // 3
+  -(7.7+7.9+7.1)/9.0,  -(8.7+8.9+8.1)/9.0,  -(9.7+9.9+9.1)/9.0, // 4
+  -(7.7+7.9+7.1)/9.0,  -(8.7+8.9+8.1)/9.0,  -(9.7+9.9+9.1)/9.0, // 5
   0.0,  0.0,  0.0,
- -9.7, -7.7, -8.7, // 7
- -9.9, -7.9, -8.9, // 4
- -9.1, -7.1, -8.1, // 5
- -0.4+1.82575588523, -0.4+-0.55566483464, -0.4+0.07938069066, // 10
- -0.5+1.69682900001, -0.5+-0.56560966667, -0.5+0.14140241667, // 11
-  0.4+1.51709826228,  0.4+-0.54615537442,  0.4+0.18205179147, // 12
+  +(7.7+7.9+7.1)/9.0,  +(8.7+8.9+8.1)/9.0,  +(9.7+9.9+9.1)/9.0, // 7
+  +(7.7+7.9+7.1)/9.0,  +(8.7+8.9+8.1)/9.0,  +(9.7+9.9+9.1)/9.0, // 8
+  +(7.7+7.9+7.1)/9.0,  +(8.7+8.9+8.1)/9.0,  +(9.7+9.9+9.1)/9.0, // 9
+  (7.6-7.2 + 7.8-7.3 + 7.0-7.4)/9.0 +
+  (-0.07938069066 + -0.14140241667 + -0.18205179147)/9.0,
+  (8.6-8.2 + 8.8-8.3 + 9.0-9.4)/9.0 +
+  (-1.69682900001 + -1.82575588523 + -1.51709826228)/9.0,
+  (9.6-9.2 + 9.8-9.3 + 9.0-9.4)/9.0 +
+  (0.55566483464 + 0.56560966667 + 0.54615537442)/9.0, // 10
+  (7.6-7.2 + 7.8-7.3 + 7.0-7.4)/9.0 +
+  (-0.07938069066 + -0.14140241667 + -0.18205179147)/9.0,
+  (8.6-8.2 + 8.8-8.3 + 9.0-9.4)/9.0 +
+  (-1.69682900001 + -1.82575588523 + -1.51709826228)/9.0,
+  (9.6-9.2 + 9.8-9.3 + 9.0-9.4)/9.0 +
+  (0.55566483464 + 0.56560966667 + 0.54615537442)/9.0, // 11
+  (7.6-7.2 + 7.8-7.3 + 7.0-7.4)/9.0 +
+  (-0.07938069066 + -0.14140241667 + -0.18205179147)/9.0,
+  (8.6-8.2 + 8.8-8.3 + 9.0-9.4)/9.0 +
+  (-1.69682900001 + -1.82575588523 + -1.51709826228)/9.0,
+  (9.6-9.2 + 9.8-9.3 + 9.0-9.4)/9.0 +
+  (0.55566483464 + 0.56560966667 + 0.54615537442)/9.0, // 12
 };
 
 const double pylith::faults::CohesiveKinDataTet4::_jacobian[] = {
@@ -231,7 +261,7 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0,-1.0, // 10
+ +1.0/3.0, 0.0, 0.0, // 10
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 3y
@@ -242,7 +272,7 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 10
+  0.0,+1.0/3.0, 0.0, // 10
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 3z
@@ -253,7 +283,7 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,-1.0, 0.0, // 10
+  0.0, 0.0,+1.0/3.0, // 10
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 4x
@@ -265,7 +295,7 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0,-1.0, // 11
+ +1.0/3.0, 0.0, 0.0, // 11
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 4y
   0.0, 0.0, 0.0,
@@ -276,7 +306,7 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 11
+  0.0,+1.0/3.0, 0.0, // 11
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 4z
   0.0, 0.0, 0.0,
@@ -287,7 +317,7 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,-1.0, 0.0, // 11
+  0.0, 0.0,+1.0/3.0, // 11
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 5x
   0.0, 0.0, 0.0,
@@ -299,7 +329,7 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0,-1.0, // 12
+ +1.0/3.0, 0.0, 0.0, // 12
   0.0, 0.0, 0.0, // 5y
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
@@ -310,7 +340,7 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 12
+  0.0,+1.0/3.0, 0.0, // 12
   0.0, 0.0, 0.0, // 5z
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
@@ -321,7 +351,7 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,-1.0, 0.0, // 12
+  0.0, 0.0,+1.0/3.0, // 12
   0.0, 0.0, 0.0, // 6x
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
@@ -363,7 +393,7 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0,+1.0, // 10
+ -1.0/3.0, 0.0, 0.0, // 10
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 7y
@@ -374,7 +404,7 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 10
+  0.0,-1.0/3.0, 0.0, // 10
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 7z
@@ -385,7 +415,7 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,+1.0, 0.0, // 10
+  0.0, 0.0,-1.0/3.0, // 10
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 8x
@@ -397,7 +427,7 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0,+1.0, // 11
+ -1.0/3.0, 0.0, 0.0, // 11
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 8y
   0.0, 0.0, 0.0,
@@ -408,7 +438,7 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 11
+  0.0,-1.0/3.0, 0.0, // 11
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 8z
   0.0, 0.0, 0.0,
@@ -419,7 +449,7 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,+1.0, 0.0, // 11
+  0.0, 0.0,-1.0/3.0, // 11
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 9x
   0.0, 0.0, 0.0,
@@ -431,7 +461,7 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0,+1.0, // 12
+ -1.0/3.0, 0.0, 0.0, // 12
   0.0, 0.0, 0.0, // 9y
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
@@ -442,7 +472,7 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 12
+  0.0,-1.0/3.0, 0.0, // 12
   0.0, 0.0, 0.0, // 9z
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
@@ -453,35 +483,35 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,+1.0, 0.0, // 12
+  0.0, 0.0,-1.0/3.0, // 12
   0.0, 0.0, 0.0, // 10x
-  0.0,-1.0, 0.0, // 3
+ +1.0/3.0, 0.0, 0.0, // 3
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,+1.0, 0.0, // 7
+ -1.0/3.0, 0.0, 0.0, // 7
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 10y
-  0.0, 0.0,-1.0, // 3
+  0.0,+1.0/3.0, 0.0, // 3
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0,+1.0, // 7
+  0.0,-1.0/3.0, 0.0, // 7
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 10z
- -1.0, 0.0, 0.0, // 3
+  0.0, 0.0,+1.0/3.0, // 3
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 7
+  0.0, 0.0,-1.0/3.0, // 7
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
@@ -489,33 +519,33 @@
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 11x
   0.0, 0.0, 0.0,
-  0.0,-1.0, 0.0, // 4
+ +1.0/3.0, 0.0, 0.0, // 4
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,+1.0, 0.0, // 8
+ -1.0/3.0, 0.0, 0.0, // 8
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 11y
   0.0, 0.0, 0.0,
-  0.0, 0.0,-1.0, // 4
+  0.0,+1.0/3.0, 0.0, // 4
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0,+1.0, // 8
+  0.0,-1.0/3.0, 0.0, // 8
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 11z
   0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 4
+  0.0, 0.0,+1.0/3.0, // 4
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 8
+  0.0, 0.0,-1.0/3.0, // 8
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
@@ -523,33 +553,33 @@
   0.0, 0.0, 0.0, // 12x
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,-1.0, 0.0, // 5
+ +1.0/3.0, 0.0, 0.0, // 5
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0,+1.0, 0.0, // 9
+ -1.0/3.0, 0.0, 0.0, // 9
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 12y
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0,-1.0, // 5
+  0.0,+1.0/3.0, 0.0, // 5
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
-  0.0, 0.0,+1.0, // 9
+  0.0,-1.0/3.0, 0.0, // 9
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0, // 12z
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- -1.0, 0.0, 0.0, // 5
+  0.0, 0.0,+1.0/3.0, // 5
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
- +1.0, 0.0, 0.0, // 9
+  0.0, 0.0,-1.0/3.0, // 9
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,
   0.0, 0.0, 0.0,

Modified: short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataTri3.cc
===================================================================
--- short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataTri3.cc	2011-09-21 19:02:02 UTC (rev 18959)
+++ short/3D/PyLith/branches/v1.6-revisedfault/unittests/libtests/faults/data/CohesiveKinDataTri3.cc	2011-09-21 23:57:40 UTC (rev 18960)
@@ -171,21 +171,23 @@
   0.0,  0.0,
  +8.7, +9.7, // 6
  +8.7, +9.7, // 7
-  0.5*(0.08241148423+0.14794836271) - 0.5*(3.5-3.2 + 3.7-3.3),
-  0.5*(1.89546413727+1.77538035254) - 0.5*(4.5-4.2 + 4.7-4.3), // 8
-  0.5*(0.08241148423+0.14794836271) - 0.5*(3.5-3.2 + 3.7-3.3),
-  0.5*(1.89546413727+1.77538035254) - 0.5*(4.5-4.2 + 4.7-4.3), // 9
+  0.5*(8.5-8.2 + 8.7-8.3) + 0.5*(0.08241148423+0.14794836271),
+  0.5*(9.5-9.2 + 9.7-9.3) + 0.5*(1.89546413727+1.77538035254), // 8
+  0.5*(8.5-8.2 + 8.7-8.3) + 0.5*(0.08241148423+0.14794836271),
+  0.5*(9.5-9.2 + 9.7-9.3) + 0.5*(1.89546413727+1.77538035254), // 9
 };
 
 const double pylith::faults::CohesiveKinDataTri3::_residualIncr[] = {
   0.0,  0.0,
- -8.6, -9.6, // 3
- -8.8, -9.8, // 4
+ -8.7, -9.7, // 3
+ -8.7, -9.7, // 4
   0.0,  0.0,
- +8.6, +9.6, // 6
- +8.8, +9.8, // 7
-  0.3+0.08241148423, 0.3+1.89546413727, // 8
-  0.4+0.14794836271, 0.4+1.77538035254, // 9
+ +8.7, +9.7, // 6
+ +8.7, +9.7, // 7
+  0.5*(8.5-8.2 + 8.7-8.3) + 0.5*(0.08241148423+0.14794836271),
+  0.5*(9.5-9.2 + 9.7-9.3) + 0.5*(1.89546413727+1.77538035254), // 8
+  0.5*(8.5-8.2 + 8.7-8.3) + 0.5*(0.08241148423+0.14794836271),
+  0.5*(9.5-9.2 + 9.7-9.3) + 0.5*(1.89546413727+1.77538035254), // 9
 };
 
 const double pylith::faults::CohesiveKinDataTri3::_jacobian[] = {
@@ -211,7 +213,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,+1.0, // 8
+ +1.0, 0.0, // 8
   0.0, 0.0,
   0.0, 0.0, // 3y
   0.0, 0.0,
@@ -219,7 +221,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- +1.0, 0.0, //  8
+  0.0,+1.0, //  8
   0.0, 0.0,
   0.0, 0.0, // 4x
   0.0, 0.0,
@@ -228,7 +230,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,+1.0, //  9
+ +1.0, 0.0, //  9
   0.0, 0.0, // 4y
   0.0, 0.0,
   0.0, 0.0,
@@ -236,7 +238,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- +1.0, 0.0, //  9
+  0.0,+1.0, //  9
   0.0, 0.0, // 5x
   0.0, 0.0,
   0.0, 0.0,
@@ -259,7 +261,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,-1.0, //  8
+ -1.0, 0.0, //  8
   0.0, 0.0,
   0.0, 0.0, // 6y
   0.0, 0.0,
@@ -267,7 +269,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- -1.0, 0.0, //  8
+  0.0,-1.0, //  8
   0.0, 0.0,
   0.0, 0.0, // 7x
   0.0, 0.0,
@@ -276,7 +278,7 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
-  0.0,-1.0, //  9
+ -1.0, 0.0, //  9
   0.0, 0.0, // 7y
   0.0, 0.0,
   0.0, 0.0,
@@ -284,39 +286,39 @@
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
- -1.0, 0.0, //  9
+  0.0,-1.0, //  9
 
   0.0, 0.0, // 8x
-  0.0,+1.0, //  3
+ +1.0, 0.0, //  3
   0.0, 0.0,
   0.0, 0.0,
-  0.0,-1.0, //  6
+ -1.0, 0.0, //  6
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0, // 8y
- +1.0, 0.0, //  3
+  0.0,+1.0, //  3
   0.0, 0.0,
   0.0, 0.0,
- -1.0, 0.0, //  6
+  0.0,-1.0, //  6
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0,
 
   0.0, 0.0, // 9x
   0.0, 0.0,
-  0.0,+1.0, //  4
+ +1.0, 0.0, //  4
   0.0, 0.0,
   0.0, 0.0,
-  0.0,-1.0, //  7
+ -1.0, 0.0, //  7
   0.0, 0.0,
   0.0, 0.0,
   0.0, 0.0, // 9y
   0.0, 0.0,
- +1.0, 0.0, //  4
+  0.0,+1.0, //  4
   0.0, 0.0,
   0.0, 0.0,
- -1.0, 0.0, //  7
+  0.0,-1.0, //  7
   0.0, 0.0,
   0.0, 0.0,
 };



More information about the CIG-COMMITS mailing list