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

brad at geodynamics.org brad at geodynamics.org
Mon Mar 15 13:44:21 PDT 2010


Author: brad
Date: 2010-03-15 13:44:20 -0700 (Mon, 15 Mar 2010)
New Revision: 16420

Modified:
   short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveLagrange.cc
   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/CohesiveKinDataTet4.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/data/adjustsoln.py
Log:
Fixed bug in FaultCohesiveLagrange::adjustSolnLumped(). Set increment in Lagrange multiplier value, don't add to it.

Modified: short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveLagrange.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveLagrange.cc	2010-03-15 08:38:45 UTC (rev 16419)
+++ short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveLagrange.cc	2010-03-15 20:44:20 UTC (rev 16420)
@@ -635,7 +635,7 @@
 
     // Get residual at cohesive cell's vertices.
     residualSection->restrictPoint(v_negative, &residualVertexN[0],
-				   residualVertexN.size());
+			   residualVertexN.size());
     residualSection->restrictPoint(v_positive, &residualVertexP[0], 
 				   residualVertexP.size());
     
@@ -669,6 +669,8 @@
     _logger->eventBegin(updateEvent);
 #endif
 
+    // Adjust displacements to account for Lagrange multiplier values
+    // (assumed to be zero in perliminary solve).
     assert(dispTIncrVertexN.size() == 
 	   dispTIncrSection->getFiberDimension(v_negative));
     dispTIncrSection->updateAddPoint(v_negative, &dispTIncrVertexN[0]);
@@ -677,6 +679,8 @@
 	   dispTIncrSection->getFiberDimension(v_positive));
     dispTIncrSection->updateAddPoint(v_positive, &dispTIncrVertexP[0]);
 
+    // Set Lagrange multiplier value. Value from preliminary solve is
+    // bogus due to artificial diagonal entry of 1.0.
     assert(lagrangeIncrVertex.size() == 
 	   dispTIncrSection->getFiberDimension(v_lagrange));
     dispTIncrSection->updatePoint(v_lagrange, &lagrangeIncrVertex[0]);

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc	2010-03-15 08:38:45 UTC (rev 16419)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc	2010-03-15 20:44:20 UTC (rev 16420)
@@ -693,7 +693,7 @@
   const topology::Field<topology::Mesh>& solution = fields.get("dispIncr(t->t+dt)");
   fault.adjustSolnLumped(&fields, jacobian);
 
-  // solution.view("SOLUTION AFTER ADJUSTMENT"); // DEBUGGING
+  //solution.view("SOLUTION AFTER ADJUSTMENT"); // DEBUGGING
 
   const ALE::Obj<RealSection>& solutionSection = solution.section();
   CPPUNIT_ASSERT(!solutionSection.isNull());

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc	2010-03-15 08:38:45 UTC (rev 16419)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataHex8.cc	2010-03-15 20:44:20 UTC (rev 16420)
@@ -1455,10 +1455,10 @@
   -3.43749802151, -0.573632172048, 0.260744774195, // 15
   -2.65573177809, 0.0296861629776, 0.884842393092, // 16
   -1.46880950929, 1.10387616968, 1.92273501079, // 17
-  -3.82865142007, -3.17016199016, -4.61242583814, // 18
-  -4.01044825807, -3.25888283871, -4.80624703226, // 19
-  -4.13953352294, -3.38576793174, -5.00474402275, // 20
-  -4.21263527761, -3.55680347951, -5.20073806765, // 21
+  -7.22865142007, -7.57016199016, -10.0124258381, // 18
+  -7.61044825807, -7.85888283871, -10.4062470323, // 19
+  -7.93953352294, -8.18576793174, -10.8047440227, // 20
+  -7.21263527761, -7.55680347951, -10.2007380677, // 21
 };
 
 pylith::faults::CohesiveKinDataHex8::CohesiveKinDataHex8(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc	2010-03-15 08:38:45 UTC (rev 16419)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataLine2.cc	2010-03-15 20:44:20 UTC (rev 16420)
@@ -138,7 +138,7 @@
   -3.09368089375, // 3
   1.3,
   5.33587415261, // 5
-  -7.94609796626, // 6
+  -9.44609796626, // 6
 };
 
 pylith::faults::CohesiveKinDataLine2::CohesiveKinDataLine2(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc	2010-03-15 08:38:45 UTC (rev 16419)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc	2010-03-15 20:44:20 UTC (rev 16420)
@@ -385,8 +385,8 @@
   3.6, 4.6,
   9.35548350619, 10.472468741, // 8
   8.459683341, 9.70254140433, // 9
-  -6.0131968597, -4.81432196053, // 10
-  -6.12482866822, -4.66339834789, // 11
+  -9.8131968597, -9.61432196053, // 10
+  -9.12482866822, -8.66339834789, // 11
 };
 
 pylith::faults::CohesiveKinDataQuad4::CohesiveKinDataQuad4(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc	2010-03-15 08:38:45 UTC (rev 16419)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTet4.cc	2010-03-15 20:44:20 UTC (rev 16420)
@@ -542,9 +542,9 @@
   9.52509172457, 10.0235382365, 10.6279293566, // 7
   9.14962036828, 9.69078492115, 10.2975758746, // 8
   12.4395302117, 12.2183073197, 13.0147426983, // 9
-  -4.97766117844, -3.34468697053, -3.78014675931, // 10
-  -4.90341285807, -3.19563657419, -3.72931666291, // 11
-  -5.11830731966, -3.91474269826, -4.33953021169, // 12
+  -8.67766117844, -8.04468697053, -9.48014675931, // 10
+  -8.80341285807, -8.09563657419, -9.62931666291, // 11
+  -8.21830731966, -8.01474269826, -9.43953021169, // 12
 };
 
 pylith::faults::CohesiveKinDataTet4::CohesiveKinDataTet4(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc	2010-03-15 08:38:45 UTC (rev 16419)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/CohesiveKinDataTri3.cc	2010-03-15 20:44:20 UTC (rev 16420)
@@ -306,8 +306,8 @@
   3.4, 4.4,
   -3.06996065966, -2.20909517212, // 6
   -2.30215017286, -1.41913540767, // 7
-  -6.46364275818, -5.25494098949, // 8
-  -6.60253019304, -5.40365529386, // 9
+  -10.0636427582, -9.85494098949, // 8
+  -10.402530193, -10.2036552939, // 9
 };
 
 pylith::faults::CohesiveKinDataTri3::CohesiveKinDataTri3(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/data/adjustsoln.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/data/adjustsoln.py	2010-03-15 08:38:45 UTC (rev 16419)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/data/adjustsoln.py	2010-03-15 20:44:20 UTC (rev 16420)
@@ -21,7 +21,7 @@
     #print "Si",Si
     #print "dlip",dlp
 
-    print dui+ddui,duj+dduj,l+dlp
+    print dui+ddui,duj+dduj,dlp
 
 # ----------------------------------------------------------------------
 elif test == "tri3" or test == "quad4":
@@ -148,7 +148,7 @@
 
     print duix+dduix,duiy+dduiy
     print dujx+ddujx,dujy+ddujy
-    print lp+dlp,lq+dlq
+    print dlp,dlq
 
 # ----------------------------------------------------------------------
 elif test == "tet4" or test == "hex8":
@@ -330,31 +330,31 @@
     ddujy = -1.0/Ajy * (Cpy*dlp + Cqy*dlq + Cry*dlr)
     ddujz = -1.0/Ajz * (Cpz*dlp + Cqz*dlq + Crz*dlr)
 
-    print "Sppi",Sppi
-    print "Sqqi",Sqqi
-    print "Srri",Srri
+#     print "Sppi",Sppi
+#     print "Sqqi",Sqqi
+#     print "Srri",Srri
 
-    print "Arup",Arup
-    print "Aruq",Aruq
-    print "Arur",Arur
+#     print "Arup",Arup
+#     print "Aruq",Aruq
+#     print "Arur",Arur
 
-    print "Arupslip",Arupslip
-    print "Aruqslip",Aruqslip
-    print "Arurslip",Arurslip
+#     print "Arupslip",Arupslip
+#     print "Aruqslip",Aruqslip
+#     print "Arurslip",Arurslip
 
-    print "dlp",dlp
-    print "dlq",dlq
-    print "dlr",dlr
+#     print "dlp",dlp
+#     print "dlq",dlq
+#     print "dlr",dlr
 
-    print "dduix:",dduix
-    print "dduiy:",dduiy
-    print "dduiz:",dduiz
+#     print "dduix:",dduix
+#     print "dduiy:",dduiy
+#     print "dduiz:",dduiz
 
-    print "ddujx:",ddujx
-    print "ddujy:",ddujy
-    print "ddujz:",ddujz
+#     print "ddujx:",ddujx
+#     print "ddujy:",ddujy
+#     print "ddujz:",ddujz
 
     print duix+dduix,duiy+dduiy,duiz+dduiz
     print dujx+ddujx,dujy+ddujy,dujz+ddujz
-    print lp+dlp,lq+dlq,lr+dlr
+    print dlp,dlq,dlr
 



More information about the CIG-COMMITS mailing list