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

brad at geodynamics.org brad at geodynamics.org
Tue Jun 16 23:07:52 PDT 2009


Author: brad
Date: 2009-06-16 23:07:50 -0700 (Tue, 16 Jun 2009)
New Revision: 15313

Modified:
   short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc
   short/3D/PyLith/trunk/pylith/problems/Implicit.py
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.cc
Log:
Fixed bugs in integrating residual for fault. Orientation for missing term was transposed and integrateResidualAssembled needed updateAllPoint not updatePoint. Calculation of fault orientation was okay. Bugs offset each other (for solution) in linear solves. Updated unit tests to include missing term.

Modified: short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc	2009-06-17 05:08:41 UTC (rev 15312)
+++ short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc	2009-06-17 06:07:50 UTC (rev 15313)
@@ -246,7 +246,7 @@
   double_array orientationCell(numConstraintVert*orientationSize);
   double_array dispTCell(numCorners*spaceDim);
   double_array dispTIncrCell(numCorners*spaceDim);
-  double_array dispTpdtCell(numBasis*spaceDim);
+  double_array dispTpdtCell(numCorners*spaceDim);
   double_array residualCell(numCorners*spaceDim);
 
   // Tributary area for the current for each vertex.
@@ -292,14 +292,12 @@
 					       dispTCell.size(), 
 					       &dispTCell[0]);
 
-#if 0 // :TODO: Need to use solution
   topology::Field<topology::Mesh>& dispTIncr = fields->get("dispIncr(t->t+dt)");
   const ALE::Obj<RealSection>& dispTIncrSection = dispTIncr.section();
   assert(!dispTIncrSection.isNull());  
   topology::Mesh::RestrictVisitor dispTIncrVisitor(*dispTIncrSection,
 					       dispTIncrCell.size(), 
 					       &dispTIncrCell[0]);
-#endif
 
   const ALE::Obj<RealSection>& residualSection = residual.section();
   topology::Mesh::UpdateAddVisitor residualVisitor(*residualSection,
@@ -353,11 +351,9 @@
     dispTVisitor.clear();
     sieveMesh->restrictClosure(*c_iter, dispTVisitor);
     
-#if 0 // :TODO: need to use solution
     // Get dispIncr(t) at cohesive cell's vertices.
     dispTIncrVisitor.clear();
     sieveMesh->restrictClosure(*c_iter, dispTIncrVisitor);
-#endif
     
     // Compute current estimate of displacement at time t+dt using
     // solution increment.
@@ -382,7 +378,7 @@
       for (int iDim=0; iDim < spaceDim; ++iDim) {
 	for (int kDim=0; kDim < spaceDim; ++kDim)
 	  residualCell[indexI*spaceDim+iDim] -=
-	    dispTCell[indexK*spaceDim+kDim] * 
+	    dispTpdtCell[indexK*spaceDim+kDim] * 
 	    -orientationVertex[kDim*spaceDim+iDim] * wt;
       } // for
       
@@ -390,33 +386,31 @@
       for (int jDim=0; jDim < spaceDim; ++jDim) {
 	for (int kDim=0; kDim < spaceDim; ++kDim)
 	  residualCell[indexJ*spaceDim+jDim] -=
-	    dispTCell[indexK*spaceDim+kDim] * 
+	    dispTpdtCell[indexK*spaceDim+kDim] * 
 	    orientationVertex[kDim*spaceDim+jDim] * wt;
       } // for
-      
-#if 0 // :TODO: Is this a missing -C u term??
+
       // Entries associated with relative displacements between node i
       // and node j for constraint node k
       for (int kDim=0; kDim < spaceDim; ++kDim) {
-	for (int iDim=0; iDim < spaceDim; ++iDim)
+	for (int iDim=0; iDim < spaceDim; ++iDim) 
 	  residualCell[indexK*spaceDim+kDim] -=
-	    (dispTpdtCell[indexI*spaceDim+iDim] - 
-	     dispTpdtCell[indexJ*spaceDim+iDim]) *
+	    (dispTpdtCell[indexJ*spaceDim+iDim] - 
+	     dispTpdtCell[indexI*spaceDim+iDim]) *
 	    orientationVertex[kDim*spaceDim+iDim] * wt;
       } // for
-#endif
     } // for
 
 #if 0 // DEBUGGING
     std::cout << "Updating fault residual for cell " << *c_iter << std::endl;
-    for(int i = 0; i < numConstraintVert; ++i) {
-      std::cout << "  stif["<<i<<"]: " << stiffnessCell[i] << std::endl;
+    for(int i = 0; i < numCorners*spaceDim; ++i) {
+      std::cout << "  dispTpdt["<<i<<"]: " << dispTpdtCell[i] << std::endl;
     }
-    for(int i = 0; i < numConstraintVert*spaceDim; ++i) {
-      std::cout << "  slip["<<i<<"]: " << cellSlip[i] << std::endl;
+    for(int i = 0; i < numCorners*spaceDim; ++i) {
+      std::cout << "  dispT["<<i<<"]: " << dispTCell[i] << std::endl;
     }
     for(int i = 0; i < numCorners*spaceDim; ++i) {
-      std::cout << "  soln["<<i<<"]: " << dispTpdtCell[i] << std::endl;
+      std::cout << "  dispIncr["<<i<<"]: " << dispTIncrCell[i] << std::endl;
     }
     for(int i = 0; i < numCorners*spaceDim; ++i) {
       std::cout << "  v["<<i<<"]: " << residualCell[i] << std::endl;
@@ -452,29 +446,16 @@
 
   topology::Field<topology::SubMesh>& slip = _fields->get("slip");
   slip.zero();
-  if (!_useSolnIncr) {
-    // Compute slip field at current time step
-    const srcs_type::const_iterator srcsEnd = _eqSrcs.end();
-    for (srcs_type::iterator s_iter=_eqSrcs.begin(); 
-	 s_iter != srcsEnd; 
-	 ++s_iter) {
-      EqKinSrc* src = s_iter->second;
-      assert(0 != src);
-      if (t >= src->originTime())
-	src->slip(&slip, t);
-    } // for
-  } else {
-    // Compute increment of slip field at current time step
-    const srcs_type::const_iterator srcsEnd = _eqSrcs.end();
-    for (srcs_type::iterator s_iter=_eqSrcs.begin(); 
-	 s_iter != srcsEnd; 
-	 ++s_iter) {
-      EqKinSrc* src = s_iter->second;
-      assert(0 != src);
-      if (t >= src->originTime())
-	src->slipIncr(&slip, t-_dt, t);
-    } // for
-  } // else
+  // Compute slip field at current time step
+  const srcs_type::const_iterator srcsEnd = _eqSrcs.end();
+  for (srcs_type::iterator s_iter=_eqSrcs.begin(); 
+       s_iter != srcsEnd; 
+       ++s_iter) {
+    EqKinSrc* src = s_iter->second;
+    assert(0 != src);
+    if (t >= src->originTime())
+      src->slip(&slip, t);
+  } // for
 
   const int spaceDim = _quadrature->spaceDim();
 
@@ -498,6 +479,7 @@
     faultSieveMesh->getRenumbering();
   const SieveSubMesh::renumbering_type::const_iterator renumberingEnd =
     renumbering.end();
+
   for (SieveSubMesh::label_sequence::iterator v_iter=verticesBegin; 
        v_iter != verticesEnd;
        ++v_iter)
@@ -508,7 +490,7 @@
       assert(spaceDim == slipSection->getFiberDimension(vertexFault));
       assert(spaceDim == residualSection->getFiberDimension(vertexMesh));
       assert(0 != slipVertex);
-      residualSection->updatePoint(vertexMesh, slipVertex);
+      residualSection->updateAddPoint(vertexMesh, slipVertex);
     } // if
 } // integrateResidualAssembled
 
@@ -1006,26 +988,30 @@
 				      
     assert(3 == spaceDim);
     double_array normalDirVertex(&orientationVertex[6], 3);
-    const double dot = 
+    const double normalDot = 
       normalDir[0]*normalDirVertex[0] +
       normalDir[1]*normalDirVertex[1] +
       normalDir[2]*normalDirVertex[2];
-    if (dot < 0.0)
+    
+    const int istrike = 0;
+    const int idip = 3;
+    const int inormal = 6;
+    if (normalDot < 0.0) {
+      // Flip dip direction
       for (SieveSubMesh::label_sequence::iterator v_iter=verticesBegin;
 	   v_iter != verticesEnd;
 	   ++v_iter) {
 	orientationSection->restrictPoint(*v_iter, &orientationVertex[0],
 					  orientationVertex.size());
 	assert(9 == orientationSection->getFiberDimension(*v_iter));
-	// Flip up-dip direction
-	for (int iDim=3; iDim < 6; ++iDim)
-	  orientationVertex[iDim] = -orientationVertex[iDim];
+	for (int iDim=0; iDim < 3; ++iDim) // flip dip
+	  orientationVertex[idip+iDim] *= -1.0;
 	
 	// Update direction
 	orientationSection->updatePoint(*v_iter, &orientationVertex[0]);
       } // for
-
-    PetscLogFlops(5 + count * 3);
+      PetscLogFlops(5 + count * 3);
+    } // if
   } // if
 
   //orientation.view("ORIENTATION");

Modified: short/3D/PyLith/trunk/pylith/problems/Implicit.py
===================================================================
--- short/3D/PyLith/trunk/pylith/problems/Implicit.py	2009-06-17 05:08:41 UTC (rev 15312)
+++ short/3D/PyLith/trunk/pylith/problems/Implicit.py	2009-06-17 06:07:50 UTC (rev 15313)
@@ -191,6 +191,12 @@
     residual = self.fields.get("residual")
     self._eventLogger.stagePush("Solve")
     self.solver.solve(dispIncr, self.jacobian, residual)
+
+    # DEBUGGING
+    # Verify solution makes residual 0
+    #self._reformResidual(t+dt, dt)
+    #residual.view("RESIDUAL")
+    
     self._eventLogger.stagePop()
 
     return

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc	2009-06-17 05:08:41 UTC (rev 15312)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc	2009-06-17 06:07:50 UTC (rev 15313)
@@ -299,19 +299,12 @@
       const double* vals = residualSection->restrictPoint(*v_iter);
       CPPUNIT_ASSERT(0 != vals);
       
-      const bool isConstraint = _isConstraintVertex(*v_iter);
-      if (!isConstraint) {
-	for (int i=0; i < fiberDimE; ++i) {
-	  const int index = iVertex*spaceDim+i;
-	  const double valE = valsE[index];
-	  if (fabs(valE) > tolerance)
-	    CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valE, tolerance);
-	  else
-	    CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[i], tolerance);
-	} // for
-      } else {
-	const double valE = 0.0; // no contribution
-	for (int i=0; i < fiberDimE; ++i)
+      for (int i=0; i < fiberDimE; ++i) {
+	const int index = iVertex*spaceDim+i;
+	const double valE = valsE[index];
+	if (fabs(valE) > tolerance)
+	  CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valE, tolerance);
+	else
 	  CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[i], tolerance);
       } // for
     } // for
@@ -938,7 +931,8 @@
   // Setup fields
   fields->add("residual", "residual");
   fields->add("disp(t)", "displacement");
-  fields->solutionName("disp(t)");
+  fields->add("dispIncr(t->t+dt)", "displacement_increment");
+  fields->solutionName("dispIncr(t->t+dt)");
   
   const int spaceDim = _data->spaceDim;
   topology::Field<topology::Mesh>& residual = fields->get("residual");

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc	2009-06-17 05:08:41 UTC (rev 15312)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc	2009-06-17 06:07:50 UTC (rev 15313)
@@ -109,18 +109,18 @@
   4.2, 6.2, 8.2,
   4.3, 6.3, 8.3,
   4.4, 6.4, 8.4,
-  4.5, 6.5, 8.5,
-  4.6, 6.6, 8.6,
-  4.7, 6.7, 8.7,
-  4.8, 6.8, 8.8,
+  4.5, 6.5, 8.5, // 6
+  4.6, 6.6, 8.6, // 7
+  4.7, 6.7, 8.7, // 8
+  4.8, 6.8, 8.8, // 9
   4.9, 6.9, 8.9,
   4.0, 6.0, 8.0,
   5.1, 7.1, 9.1,
   5.2, 7.2, 9.2,
-  5.3, 7.3, 9.3,
-  5.5, 7.5, 9.5,
-  5.7, 7.7, 9.7,
-  5.9, 7.9, 9.9,
+  5.3, 7.3, 9.3, // 14
+  5.5, 7.5, 9.5, // 15
+  5.7, 7.7, 9.7, // 16
+  5.9, 7.9, 9.9, // 17
   5.4, 7.4, 9.4, // 18
   5.6, 7.6, 9.6, // 19
   5.8, 7.8, 9.8, // 20
@@ -188,10 +188,10 @@
  +9.6,+5.6,+7.6, // 15
  +9.8,+5.8,+7.8, // 16
  +9.0,+5.0,+7.0, // 17
-  0.01271057284, -0.00386843521, 0.00055263360, // 18 (constraint)
-  0.01411467401, -0.00470489134, 0.00117622283, // 19 (constraint)
-  0.01544188788, -0.00555907964, 0.00185302655, // 20 (constraint)
-  0.01656103940, -0.00636963054, 0.00254785222, // 21 (constraint)
+  0.8, 0.8, 0.8, // 18 (constraint)
+  0.9, 0.9, 0.9, // 19 (constraint)
+  1.0, 1.0, 1.0, // 20 (constraint)
+  1.1, 1.1, 1.1, // 21 (constraint)
 };
 
 const double pylith::faults::CohesiveKinDataHex8::_valsJacobian[] = {

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc	2009-06-17 05:08:41 UTC (rev 15312)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc	2009-06-17 06:07:50 UTC (rev 15313)
@@ -101,7 +101,7 @@
    7.5,
    0.0,
   -7.5,
-   0.01257664078
+  -0.2,
 };
 
 const double pylith::faults::CohesiveKinDataLine2::_valsResidual[] = {

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc	2009-06-17 05:08:41 UTC (rev 15312)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc	2009-06-17 06:07:50 UTC (rev 15313)
@@ -95,12 +95,12 @@
 const double pylith::faults::CohesiveKinDataQuad4::_fieldT[] = {
   8.1, 9.1,
   8.2, 9.2,
-  8.3, 9.3,
-  8.4, 9.4,
+  8.3, 9.3, // 4
+  8.4, 9.4, // 5
   8.5, 9.5,
   8.6, 9.6,
-  8.7, 9.7,
-  8.9, 9.9,
+  8.7, 9.7, // 8
+  8.9, 9.9, // 9
   8.8, 9.8, // 10
   8.0, 9.0, // 11
 };
@@ -147,8 +147,8 @@
   0.0,  0.0,
  -9.8, -8.8, // 8
  -9.0, -8.0, // 9
-  0.01401378019, 0.00116781502, // 10
-  0.01257113624, 0.00054657114, // 11
+ -0.4, -0.4, // 10
+ -0.5, -0.5, // 11
 };
 
 const double pylith::faults::CohesiveKinDataQuad4::_valsJacobian[] = {

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc	2009-06-17 05:08:41 UTC (rev 15312)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc	2009-06-17 06:07:50 UTC (rev 15313)
@@ -114,16 +114,16 @@
 const double pylith::faults::CohesiveKinDataQuad4e::_fieldT[] = {
   3.1, 5.1,
   3.2, 5.2,
-  3.3, 5.3,
-  3.4, 5.4,
+  3.3, 5.3, // 6
+  3.4, 5.4, // 7
   3.5, 5.5,
   3.6, 5.6,
   3.7, 5.7,
-  3.8, 5.8,
+  3.8, 5.8, // 11
   3.9, 5.9,
-  3.0, 5.0,
-  4.2, 6.2,
-  4.4, 6.4,
+  3.0, 5.0, // 13
+  4.2, 6.2, // 14
+  4.4, 6.4, // 15
   4.1, 6.1, // 16
   4.3, 6.3, // 17
   4.5, 6.5, // 18
@@ -183,9 +183,9 @@
  +6.1, +4.1, // 13
  +6.3, +4.3, // 15
  +6.5, +4.5, // 17
-  0.01401378019, 0.00116781502, // 16
-  0.01257113624, 0.00054657114, // 17
-  0.01543608228, 0.00185232987, // 18
+ -0.3, -0.3, // 16
+  0.8,  0.8, // 17
+  0.6,  0.6, // 18
 };
 
 const double pylith::faults::CohesiveKinDataQuad4e::_valsJacobian[] = {

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc	2009-06-17 05:08:41 UTC (rev 15312)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc	2009-06-17 06:07:50 UTC (rev 15313)
@@ -22,7 +22,7 @@
  *
  * Cells are 0-1,10, vertices are 2-9.
  *
- * 2   3,4,5  7,8,19   6
+ * 2   3,4,5  7,8,9   6
  *             10,11,12
  *     ^^^^^^^^^^^^ Cohesive element in x-y plane.
  */
@@ -82,13 +82,13 @@
 
 const double pylith::faults::CohesiveKinDataTet4::_fieldT[] = {
   7.1, 8.1, 9.1,
-  7.2, 8.2, 9.2,
-  7.3, 8.3, 9.3,
-  7.4, 8.4, 9.4,
+  7.2, 8.2, 9.2, // 3
+  7.3, 8.3, 9.3, // 4
+  7.4, 8.4, 9.4, // 5
   7.5, 8.5, 9.5,
-  7.6, 8.6, 9.6,
-  7.8, 8.8, 9.8,
-  7.0, 8.0, 9.0,
+  7.6, 8.6, 9.6, // 7
+  7.8, 8.8, 9.8, // 8
+  7.0, 8.0, 9.0, // 9
   7.7, 8.7, 9.7, // 10
   7.9, 8.9, 9.9, // 11
   7.1, 8.1, 9.1, // 12
@@ -139,9 +139,9 @@
  -9.7, -7.7, -8.7, // 7
  -9.9, -7.9, -8.9, // 4
  -9.1, -7.1, -8.1, // 5
-  0.01271057284, -0.00386843521, 0.00055263360, // 10
-  0.01411467401, -0.00470489134, 0.00117622283, // 11
-  0.01544188788, -0.00555907964, 0.00185302655, // 12
+ -0.4, -0.4, -0.4, // 10
+ -0.5, -0.5, -0.5, // 11
+  0.4,  0.4,  0.4, // 12
 };
 
 const double pylith::faults::CohesiveKinDataTet4::_valsJacobian[] = {

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc	2009-06-17 05:08:41 UTC (rev 15312)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc	2009-06-17 06:07:50 UTC (rev 15313)
@@ -82,15 +82,15 @@
 
 const double pylith::faults::CohesiveKinDataTet4e::_fieldT[] = {
   3.1, 5.1, 7.1,
-  3.2, 5.2, 7.2,
-  3.3, 5.3, 7.3,
-  3.4, 5.4, 7.4,
-  3.5, 5.5, 7.5,
+  3.2, 5.2, 7.2, // 5
+  3.3, 5.3, 7.3, // 6
+  3.4, 5.4, 7.4, // 7
+  3.5, 5.5, 7.5, // 8
   3.6, 5.6, 7.6,
-  3.7, 5.7, 7.7,
-  3.9, 5.9, 7.9,
-  4.1, 6.1, 8.1,
-  4.3, 6.3, 8.3,
+  3.7, 5.7, 7.7, // 10
+  3.9, 5.9, 7.9, // 11
+  4.1, 6.1, 8.1, // 12
+  4.3, 6.3, 8.3, // 13
   3.8, 5.8, 7.8, // 14
   3.0, 5.0, 7.0, // 15
   4.2, 6.2, 8.2, // 16
@@ -149,10 +149,10 @@
  -7.0, -3.0, -5.0, // 11
  -8.2, -4.2, -6.2, // 12
  -8.4, -4.4, -6.4, // 13
-  0.01271057284, -0.00386843521, 0.00055263360, // 14
-  0.01411467401, -0.00470489134, 0.00117622283, // 15
-  0.01544188788, -0.00555907964, 0.00185302655, // 16
-  0.01656103940, -0.00636963054, 0.00254785222, // 17
+ -0.5, -0.5, -0.5, // 14
+ -0.6, -0.6, -0.6, // 15
+ -0.7, -0.7, -0.7, // 16
+ -0.8, -0.8, -0.8, // 17
 };
 
 const double pylith::faults::CohesiveKinDataTet4e::_valsJacobian[] = {

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.cc	2009-06-17 05:08:41 UTC (rev 15312)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4f.cc	2009-06-17 06:07:50 UTC (rev 15313)
@@ -82,13 +82,13 @@
 
 const double pylith::faults::CohesiveKinDataTet4f::_fieldT[] = {
   7.1, 8.1, 9.1,
-  7.2, 8.2, 9.2,
-  7.3, 8.3, 9.3,
-  7.4, 8.4, 9.4,
+  7.2, 8.2, 9.2, // 3
+  7.3, 8.3, 9.3, // 4
+  7.4, 8.4, 9.4, // 5
   7.5, 8.5, 9.5,
-  7.6, 8.6, 9.6,
-  7.8, 8.8, 9.8,
-  7.0, 8.0, 9.0,
+  7.6, 8.6, 9.6, // 7
+  7.8, 8.8, 9.8, // 8
+  7.0, 8.0, 9.0, // 9
   7.7, 8.7, 9.7, // 10
   7.9, 8.9, 9.9, // 11
   7.1, 8.1, 9.1, // 12
@@ -139,9 +139,9 @@
  +9.7, +7.7, +8.7, // 7
  +9.9, +7.9, +8.9, // 8
  +9.1, +7.1, +8.1, // 9
-  0.01271057284, -0.00386843521, 0.00055263360, // 10
-  0.01411467401, -0.00470489134, 0.00117622283, // 11
-  0.01544188788, -0.00555907964, 0.00185302655, // 12
+  0.4,  0.4,  0.4, // 10
+  0.5,  0.5,  0.5, // 11
+ -0.4, -0.4, -0.4, // 12
 };
 
 const double pylith::faults::CohesiveKinDataTet4f::_valsJacobian[] = {

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc	2009-06-17 05:08:41 UTC (rev 15312)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc	2009-06-17 06:07:50 UTC (rev 15313)
@@ -97,11 +97,11 @@
 
 const double pylith::faults::CohesiveKinDataTri3::_fieldT[] = {
   8.1, 9.1,
-  8.2, 9.2,
-  8.3, 9.3,
+  8.2, 9.2, // 3
+  8.3, 9.3, // 4
   8.4, 9.4,
-  8.5, 9.5,
-  8.7, 9.7,
+  8.5, 9.5, // 6
+  8.7, 9.7, // 7
   8.6, 9.6, // 8
   8.8, 9.8, // 9
 };
@@ -144,8 +144,8 @@
   0.0,  0.0,
  +9.6, +8.6, // 6
  +9.8, +8.8, // 7
-  0.01257113624, 0.00054657114, // 8
-  0.01401378019, 0.00116781502, // 9
+  0.3,  0.3, // 8
+  0.4,  0.4, // 9
 };
 
 const double pylith::faults::CohesiveKinDataTri3::_valsJacobian[] = {

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.cc	2009-06-17 05:08:41 UTC (rev 15312)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3d.cc	2009-06-17 06:07:50 UTC (rev 15313)
@@ -112,14 +112,14 @@
 
 const double pylith::faults::CohesiveKinDataTri3d::_fieldT[] = {
   6.1, 8.1,
-  6.2, 8.2,
-  6.3, 8.3,
+  6.2, 8.2, // 5
+  6.3, 8.3, // 6
   6.4, 8.4,
-  6.5, 8.5,
+  6.5, 8.5, // 8
   6.6, 8.6,
-  6.7, 8.7,
-  6.9, 8.9,
-  7.1, 9.1,
+  6.7, 8.7, // 10
+  6.9, 8.9, // 11
+  7.1, 9.1, // 12
   6.8, 8.8, // 13
   6.0, 8.0, // 14
   7.2, 9.2, // 15
@@ -173,9 +173,9 @@
  +1.4142135623730949, +11.030865786510143, // 10
  +8.0, +6.0, // 11
  -7.2, +9.2, // 12
-  0.01257113624, 0.00054657114, // 13
-  0.01401378019, 0.00116781502, // 14
-  0.01543608228, 0.00185232987, // 15
+  0.0, +0.70710678118654757, // 13
+  0.6, 0.6, // 14
+ -0.6, 0.6, // 15
 };
 
 const double pylith::faults::CohesiveKinDataTri3d::_valsJacobian[] = {

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.cc	2009-06-17 05:08:41 UTC (rev 15312)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.cc	2009-06-17 06:07:50 UTC (rev 15313)
@@ -188,10 +188,10 @@
  +9.6,+5.6,+7.6, // 15
  +9.8,+5.8,+7.8, // 16
  +9.0,+5.0,+7.0, // 17
-  0.02640548173, -0.00803645096, 0.00114806442, // 18 (constraint)
-  0.02731113725, -0.00910371242, 0.00227592810, // 19 (constraint)
-  0.02695149106, -0.00970253678, 0.00323417893, // 20 (constraint)
-  0.02466176975, -0.00948529606, 0.00379411842, // 21 (constraint)
+  0.8, 0.8, 0.8, // 18 (constraint)
+  0.9, 0.9, 0.9, // 19 (constraint)
+  1.0, 1.0, 1.0, // 20 (constraint)
+  1.1, 1.1, 1.1, // 21 (constraint)
 };
 
 const double pylith::faults::CohesiveKinSrcsDataHex8::_valsJacobian[] = {

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.cc	2009-06-17 05:08:41 UTC (rev 15312)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.cc	2009-06-17 06:07:50 UTC (rev 15313)
@@ -101,7 +101,7 @@
    7.5,
    0.0,
   -7.5,
-   0.02585951076
+  -0.2
 };
 
 const double pylith::faults::CohesiveKinSrcsDataLine2::_valsResidual[] = {

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.cc	2009-06-17 05:08:41 UTC (rev 15312)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.cc	2009-06-17 06:07:50 UTC (rev 15313)
@@ -95,12 +95,12 @@
 const double pylith::faults::CohesiveKinSrcsDataQuad4::_fieldT[] = {
   8.1, 9.1,
   8.2, 9.2,
-  8.3, 9.3,
-  8.4, 9.4,
+  8.3, 9.3, // 4
+  8.4, 9.4, // 5
   8.5, 9.5,
   8.6, 9.6,
-  8.7, 9.7,
-  8.9, 9.9,
+  8.7, 9.7, // 8
+  8.9, 9.9, // 9
   8.8, 9.8, // 10
   8.0, 9.0, // 11
 };
@@ -147,8 +147,8 @@
   0.0,  0.0,
  -9.8, -8.8, // 8
  -9.0, -8.0, // 9
-  0.02698044341, 0.00224837028, // 10
-  0.02583782954, 0.00112338389, // 11
+ -0.4, -0.4, // 10
+ -0.5, -0.5, // 11
 };
 
 const double pylith::faults::CohesiveKinSrcsDataQuad4::_valsJacobian[] = {

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.cc	2009-06-17 05:08:41 UTC (rev 15312)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.cc	2009-06-17 06:07:50 UTC (rev 15313)
@@ -139,9 +139,9 @@
  -9.7, -7.7, -8.7, // 7
  -9.9, -7.9, -8.9, // 4
  -9.1, -7.1, -8.1, // 5
-  0.02640548173, -0.00803645096, 0.00114806442, // 10
-  0.02731113725, -0.00910371242, 0.00227592810, // 11
-  0.02695149106, -0.00970253678, 0.00323417893, // 12
+ -0.4, -0.4, -0.4, // 10
+ -0.5, -0.5, -0.5, // 11
+  0.4,  0.4,  0.4, // 12
 };
 
 const double pylith::faults::CohesiveKinSrcsDataTet4::_valsJacobian[] = {

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.cc	2009-06-17 05:08:41 UTC (rev 15312)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.cc	2009-06-17 06:07:50 UTC (rev 15313)
@@ -155,8 +155,8 @@
   0.0,  0.0,
  +9.6, +8.6, // 6
  +9.8, +8.8, // 7
-  0.02583782954, 0.00112338389, // 8
-  0.02698044341, 0.00224837028, // 9
+  0.3,  0.3, // 8
+  0.4,  0.4, // 9
 };
 
 const double pylith::faults::CohesiveKinSrcsDataTri3::_valsJacobian[] = {



More information about the CIG-COMMITS mailing list