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

brad at geodynamics.org brad at geodynamics.org
Thu Feb 23 13:59:54 PST 2012


Author: brad
Date: 2012-02-23 13:59:53 -0800 (Thu, 23 Feb 2012)
New Revision: 19667

Modified:
   short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/faults/FaultCohesiveDyn.cc
   short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/friction/RateStateAgeing.cc
   short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/friction/StaticFriction.cc
   short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/friction/TimeWeakening.cc
   short/3D/PyLith/branches/v1.6-stable/unittests/libtests/friction/data/StaticFrictionData.cc
Log:
Removed debugging output. Change friction models to give cohesion when normal traction is positive (let constrainSolnSpace handle fault opening).

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	2012-02-23 21:21:29 UTC (rev 19666)
+++ short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/faults/FaultCohesiveDyn.cc	2012-02-23 21:59:53 UTC (rev 19667)
@@ -795,7 +795,6 @@
   // model and the deformation. We also search in log space because
   // some fault constitutive models depend on the log of slip rate.
 
-#if 1
   const double residualTol = _zeroTolerance; // L2 misfit in tractions
   const int maxIter = 16;
   double logAlphaL = log10(_zeroTolerance); // minimum step
@@ -875,11 +874,10 @@
     residualM = residualL;
   } // if/else
   const double alpha = pow(10.0, logAlphaM); // alphaM is our best guess
+#if 0 // DEBUGGING
   std::cout << "ALPHA: " << alpha
 	    << ", residual: " << residualM
 	    << std::endl;
-#else
-  const double alpha = 1.0;
 #endif
 
   double_array slipTVertex(spaceDim);
@@ -2478,7 +2476,7 @@
 					 tractionTpdtVertex,
 					 iterating);
 
-#if 0
+#if 0 // DEBUGGING
     std::cout << "alpha: " << alpha
 	      << ", v_fault: " << v_fault;
     std::cout << ", misfit:";

Modified: short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/friction/RateStateAgeing.cc
===================================================================
--- short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/friction/RateStateAgeing.cc	2012-02-23 21:21:29 UTC (rev 19666)
+++ short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/friction/RateStateAgeing.cc	2012-02-23 21:59:53 UTC (rev 19667)
@@ -309,31 +309,6 @@
   if (normalTraction <= 0.0) {
     // if fault is in compression
 
-#if 0
-    // regularized rate and state equation
-    const double f0 = properties[p_coef];
-
-    // Since regulatized friction -> 0 as slipRate -> 0, limit slip
-    // rate to some minimum value
-    const double slipRateEff = std::max(_minSlipRate, slipRate);
-
-    const double slipRate0 = properties[p_slipRate0];
-    const double a = properties[p_a];
-
-    const double theta = stateVars[s_state];
-
-    const double L = properties[p_L];
-    const double b = properties[p_b];
-    const double bLnTerm = b * log(slipRate0 * theta / L);
-
-    const double expTerm = exp((f0 + bLnTerm)/a);
-    const double sinhArg = 0.5 * slipRateEff / slipRate0 * expTerm;
-
-    mu_f = a * asinh(sinhArg);
-    friction = -mu_f * normalTraction + properties[p_cohesion];
-
-#else
-
     const double slipRateLinear = _minSlipRate;
 
     const double f0 = properties[p_coef];
@@ -349,20 +324,12 @@
       mu_f = f0 + a*log(slipRateLinear / slipRate0) + b*log(slipRate0*theta/L) -
 	a*(1.0 - slipRate/slipRateLinear);
     } // else
-
     friction = -mu_f * normalTraction + properties[p_cohesion];
+    
+  } else {
+    friction = properties[p_cohesion];
+  } // if/else
 
-#if 0
-    std::cout << "slip: " << slip
-	      << ", slipRate: " << slipRate
-	      << ", stateVar: " << theta
-	      << ", mu_f: " << mu_f
-	      << std::endl;
-#endif
-
-#endif
-  } // if
-
   PetscLogFlops(12);
 
   return friction;

Modified: short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/friction/StaticFriction.cc
===================================================================
--- short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/friction/StaticFriction.cc	2012-02-23 21:21:29 UTC (rev 19666)
+++ short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/friction/StaticFriction.cc	2012-02-23 21:59:53 UTC (rev 19667)
@@ -158,7 +158,7 @@
 
   const double friction = (normalTraction <= 0.0) ?
     -properties[p_coef] * normalTraction + properties[p_cohesion]: 
-    0.0;
+    properties[p_cohesion];
 
   PetscLogFlops(2);
 

Modified: short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/friction/TimeWeakening.cc
===================================================================
--- short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/friction/TimeWeakening.cc	2012-02-23 21:21:29 UTC (rev 19666)
+++ short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/friction/TimeWeakening.cc	2012-02-23 21:59:53 UTC (rev 19667)
@@ -273,7 +273,9 @@
 	mu_f = properties[p_coefD];
       } // if/else
     friction = - mu_f * normalTraction + properties[p_cohesion];
-  } // if
+  } else {
+    friction = properties[p_cohesion];
+  } // if/else
 
   PetscLogFlops(6);
 

Modified: short/3D/PyLith/branches/v1.6-stable/unittests/libtests/friction/data/StaticFrictionData.cc
===================================================================
--- short/3D/PyLith/branches/v1.6-stable/unittests/libtests/friction/data/StaticFrictionData.cc	2012-02-23 21:21:29 UTC (rev 19666)
+++ short/3D/PyLith/branches/v1.6-stable/unittests/libtests/friction/data/StaticFrictionData.cc	2012-02-23 21:59:53 UTC (rev 19667)
@@ -85,7 +85,7 @@
 
 const double pylith::friction::StaticFrictionData::_friction[] = {
   1000001.32,
-  0.0,
+  1.0e+6,
 };
 
 const double pylith::friction::StaticFrictionData::_slip[] = {



More information about the CIG-COMMITS mailing list