[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