[cig-commits] r20649 - short/3D/PyLith/branches/v1.7-stable/libsrc/pylith/friction
brad at geodynamics.org
brad at geodynamics.org
Thu Aug 30 16:02:09 PDT 2012
Author: brad
Date: 2012-08-30 16:02:08 -0700 (Thu, 30 Aug 2012)
New Revision: 20649
Modified:
short/3D/PyLith/branches/v1.7-stable/libsrc/pylith/friction/RateStateAgeing.cc
Log:
Prevent zero initial state in RateStateAgeing.
Modified: short/3D/PyLith/branches/v1.7-stable/libsrc/pylith/friction/RateStateAgeing.cc
===================================================================
--- short/3D/PyLith/branches/v1.7-stable/libsrc/pylith/friction/RateStateAgeing.cc 2012-08-30 17:53:53 UTC (rev 20648)
+++ short/3D/PyLith/branches/v1.7-stable/libsrc/pylith/friction/RateStateAgeing.cc 2012-08-30 23:02:08 UTC (rev 20649)
@@ -318,8 +318,10 @@
const PylithScalar b = properties[p_b];
const PylithScalar L = properties[p_L];
const PylithScalar slipRate0 = properties[p_slipRate0];
- const PylithScalar theta = stateVars[s_state];
+ // Prevent zero value for theta
+ const PylithScalar theta = std::max(stateVars[s_state], 1.0e-10);
+
if (slipRate >= slipRateLinear) {
mu_f = f0 + a*log(slipRate / slipRate0) + b*log(slipRate0*theta/L);
} else {
@@ -376,7 +378,7 @@
// Since regulatized friction -> 0 as slipRate -> 0, limit slip
// rate to some minimum value
- const PylithScalar slipRateEff = std::max(_linearSlipRate, slipRate);
+ const PylithScalar slipRateEff = std::max(1.0e-2*_linearSlipRate, slipRate);
const PylithScalar dt = _dt;
const PylithScalar thetaTVertex = stateVars[s_state];
More information about the CIG-COMMITS
mailing list