[cig-commits] commit: Added discussion of friction line search.

Mercurial hg at geodynamics.org
Tue Mar 27 12:32:06 PDT 2012


changeset:   83:42794a871dad
tag:         tip
user:        Brad Aagaard <baagaard at usgs.gov>
date:        Tue Mar 27 12:31:57 2012 -0700
files:       faultRup.tex
description:
Added discussion of friction line search.


diff -r 197e088cf409 -r 42794a871dad faultRup.tex
--- a/faultRup.tex	Tue Mar 27 11:24:23 2012 -0700
+++ b/faultRup.tex	Tue Mar 27 12:31:57 2012 -0700
@@ -630,23 +630,40 @@ following system of equations to estimat
 $\partial \mathbf{d}$ associated with a perturbation in the Lagrange
 multipliers $\partial \mathbf{l}_p$:
 \begin{gather}
+  \label{eqn:spontaneous:rupture:update:lagrange}
   \mathbf{K}_{n^+n^+} \cdot \partial \mathbf{u}_{n^+} = 
   - \mathbf{L}_p^T \cdot \partial \mathbf{l}_p, \\
   \mathbf{K}_{n^-n^-} \cdot \partial \mathbf{u}_{n^-} =
   \mathbf{L}_p^T \cdot \partial \mathbf{l}_p, \\
+  \label{eqn:spontaneous:rupture:update:slip}
   \partial \mathbf{d}_p =  \partial \mathbf{u}_{n^+} - \partial \mathbf{u}_{n^-}.
 \end{gather}
-This estimate is exact for constant friction if all degrees of freedom
-not adjacent to the fault are constrained (which is generally only the
-case for simple toy problems), quite good if the deformation
-associated with the fault slip is confined close to the fault (which
-occurs in most simulations due to a finite-extent of slip in the
-middle of the domain), and poor if the deformation associated with
-fault slip extends to the boundaries (which is relatively rare). The
-number of iterations required to satisfy the fault constitutive model
-decreases as the estimate of the fault slip becomes more accurate. We
-will discuss the procedures for solving these equations for both
-quasi-static and dynamic simulations in section~\ref{sec:??}.
+
+The efficiency of this iterative procedure depends on both the fault
+constitutive model and how confined the deformation is to the region
+immediately surrounding the fault. If the fault friction varies
+significantly with slip, then the estimate of how much slip is
+required to match the fault constitutive model will be
+poor. Similarly, in rare cases in which the fault slip extends across
+the entire domain, deformation extends much farther from the fault and
+the estimate derived using only the fault degrees of freedom will be
+poor. In order to make this iterative procedure more robust so that it
+works well across a wide variety of fault constitutive models, we add
+a small enhancement to the iterative procedure.
+
+At each iteration we use a simple line search to find the
+increment in slip that best satisfies the fault constitutive
+model. Specifically, we search for $\alpha$ using a bilinear search in
+logarithmic space to minimize
+\begin{equation}
+  C = \| \mathbf{l}_p + \alpha \partial\mathbf{l}_p - f(\mathbf{d}_p +
+  \alpha \partial\mathbf{d}_p) \|_2,
+\end{equation}
+where $f(\mathbf{d})$ corresponds to the fault constitutive model and
+$\|x\|_2$ denotes the L$^2$-norm of $x$. Performing this search in
+logarithmic space rather than linear space greatly accelerates the
+convergence in rate-state fault constitutive models in which the
+coefficient of friction depends on the logarithm of the slip rate.
 
 PyLith includes several commonly used fault constitutive models, all
 of which specify the shear traction on the fault $T_f$ as a function
@@ -657,11 +674,14 @@ normal traction $T_n$,
 \end{equation}
 $T_f$ in this equation corresponds to the magnitude of the shear
 traction vector; the shear traction vector is resolved into the
-direction of the slip rate. We use the sign convention that 
-compressive normal tractions are negative. The fault constitutive
-models include static friction, linear slip-weakening, linear
-time-weakening, and Dieterich-Ruina rate-state friction with an aging
-law (see the PyLith manual \citep{PyLith:manual:1.6.2} for details).
+direction of the slip rate. We use the sign convention that
+compressive normal tractions are negative. When the fault is under
+compression, we prevent interpenetration, and when the fault is under
+tension, the fault opens ($d_n > 0$) and the fault traction vector is
+zero. The fault constitutive models include static friction, linear
+slip-weakening, linear time-weakening, and Dieterich-Ruina rate-state
+friction with an aging law (see the PyLith manual
+\citep{PyLith:manual:1.6.2} for details).
 
 % ------------------------------------------------------------------
 \section{Finite-Element Mesh Processing}
@@ -1077,14 +1097,17 @@ in spontaneous rupture models. Because $
 in spontaneous rupture models. Because $\mathbf{K}$ is diagonal in
 this case, the expression for the change in slip for a perturbation in
 the Lagrange multipliers
-(equation~(\ref{eqn:spontaneous:rupture:slip:update})) are exact and
-simplify to
+(equations~(\ref{eqn:spontaneous:rupture:update:lagrange})--(\ref{eqn:spontaneous:rupture:update:slip}))
+simplifies to
 \begin{equation}
   \partial \mathbf{d}_p = - \left( \mathbf{K}_{n^+n^+}^{-1} + \mathbf{K}_{n^-n^-}^{-1} \right)
   \cdot \mathbf{L}_p^T \cdot \partial \mathbf{l}_p.
 \end{equation}
-
-
+Consequently, the increment in fault slip and Lagrange multipliers for
+each vertex can be done independently. In dynamic simulations the time
+step is small enough that the fault constitutive model is much less
+sensitive to the slip than in most quasi-static simulations, so we can
+avoid performing a line search in computing the update.
 
 % ------------------------------------------------------------------
 \section{Performance Benchmark}



More information about the CIG-COMMITS mailing list