[cig-commits] r18757 - in short/3D/PyLith/branches/v1.6-stable: . doc/releasenotes libsrc/pylith/faults

brad at geodynamics.org brad at geodynamics.org
Thu Jul 14 12:43:15 PDT 2011


Author: brad
Date: 2011-07-14 12:43:14 -0700 (Thu, 14 Jul 2011)
New Revision: 18757

Modified:
   short/3D/PyLith/branches/v1.6-stable/README
   short/3D/PyLith/branches/v1.6-stable/TODO
   short/3D/PyLith/branches/v1.6-stable/doc/releasenotes/announce_v1.6.1.txt
   short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/faults/FaultCohesiveDyn.cc
Log:
Fixed bug in friction implementation. Only update slip values following sensitivity solve for those locations where we adjust the Lagrange multipliers.

Modified: short/3D/PyLith/branches/v1.6-stable/README
===================================================================
--- short/3D/PyLith/branches/v1.6-stable/README	2011-07-14 19:42:15 UTC (rev 18756)
+++ short/3D/PyLith/branches/v1.6-stable/README	2011-07-14 19:43:14 UTC (rev 18757)
@@ -104,6 +104,14 @@
     models. The initial stress tensor was added to the current stress
     tensor twice.
 
+  - Fixed two bugs in the fault friction implementation. One bug
+    pertained to accounting for roundoff errors and convergence
+    tolerances in computing the slip rate. Slip rates less than
+    1.0e-12 (nondimensionalized) are set to zero. The friction
+    implementation for quasi-static problems contained a bug that
+    resulted in slip extending over all of the fault rather than the
+    appropriate isolated patch.
+
   - Cleaned up Green's function example (examples/greensfns/hex8) so
     that it runs without errors. Eliminated extraneous processing.
 

Modified: short/3D/PyLith/branches/v1.6-stable/TODO
===================================================================
--- short/3D/PyLith/branches/v1.6-stable/TODO	2011-07-14 19:42:15 UTC (rev 18756)
+++ short/3D/PyLith/branches/v1.6-stable/TODO	2011-07-14 19:43:14 UTC (rev 18757)
@@ -1,32 +1,3 @@
-BUGS
-
-  initial stresses and gravity (examples/3d/hex8/step16 and 17)
-
-  dynamic rupture?
-
-
-v1.6.1 changes
-
-Examples
-  3d/hex8
-    step18 [DONE]
-    step19 [DONE]
-  2d/subduction
-    updated geometry.jou file to use Id() [DONE]
-  meshing/surf_nurbs
-    names of journal files
-    use of nonstandard shell utilities
-    sat versus sab ACIS files
-  greenfns
-    errors when trying to run
-
-Manual
-  tractions - cell_info_fields was out of date [not time dependent] [DONE]
-
-bugfixes
-  fault rupture info for multiple earthquake sources [DONE]
-
-
 ======================================================================
 CURRENT ISSUES/PRIORITIES (1.7.0)
 ======================================================================

Modified: short/3D/PyLith/branches/v1.6-stable/doc/releasenotes/announce_v1.6.1.txt
===================================================================
--- short/3D/PyLith/branches/v1.6-stable/doc/releasenotes/announce_v1.6.1.txt	2011-07-14 19:42:15 UTC (rev 18756)
+++ short/3D/PyLith/branches/v1.6-stable/doc/releasenotes/announce_v1.6.1.txt	2011-07-14 19:43:14 UTC (rev 18757)
@@ -59,6 +59,14 @@
     models. The initial stress tensor was added to the current stress
     tensor twice.
 
+  - Fixed two bugs in the fault friction implementation. One bug
+    pertained to accounting for roundoff errors and convergence
+    tolerances in computing the slip rate. Slip rates less than
+    1.0e-12 (nondimensionalized) are set to zero. The friction
+    implementation for quasi-static problems contained a bug that
+    resulted in slip extending over all of the fault rather than the
+    appropriate isolated patch.
+
   - Cleaned up Green's function example (examples/greensfns/hex8) so
     that it runs without errors. Eliminated extraneous processing.
 

Modified: short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/faults/FaultCohesiveDyn.cc
===================================================================
--- short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/faults/FaultCohesiveDyn.cc	2011-07-14 19:42:15 UTC (rev 18756)
+++ short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/faults/FaultCohesiveDyn.cc	2011-07-14 19:43:14 UTC (rev 18757)
@@ -537,6 +537,14 @@
     // Get change in Lagrange multiplier.
     dLagrangeTpdtSection->restrictPoint(v_fault, &dLagrangeTpdtVertex[0],
 					dLagrangeTpdtVertex.size());
+
+    // Only update slip if Lagrange multiplier is changing
+    double dLagrangeMag = 0.0;
+    for (int iDim=0; iDim < spaceDim; ++iDim)
+      dLagrangeMag += dLagrangeTpdtVertex[iDim]*dLagrangeTpdtVertex[iDim];
+    if (0.0 == dLagrangeMag)
+      continue; // No change, so continue
+
     // Compute change in slip.
     dSlipVertex = 0.0;
     for (int iDim = 0; iDim < spaceDim; ++iDim)



More information about the CIG-COMMITS mailing list