[cig-commits] r22341 - in short/3D/PyLith/branches/v1.7-trunk: doc/userguide/tutorials/shearwave doc/userguide/tutorials/shearwave/figs examples/bar_shearwave/quad4

brad at geodynamics.org brad at geodynamics.org
Mon Jun 17 13:36:18 PDT 2013


Author: brad
Date: 2013-06-17 13:36:18 -0700 (Mon, 17 Jun 2013)
New Revision: 22341

Added:
   short/3D/PyLith/branches/v1.7-trunk/examples/bar_shearwave/quad4/analytical_soln.py
Modified:
   short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/shearwave/figs/quad4kinematic30.jpg
   short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/shearwave/figs/quad4ratestateageing30.jpg
   short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/shearwave/figs/quad4slipweakening30.jpg
   short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/shearwave/figs/quad4staticfriction30.jpg
   short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/shearwave/quad4.lyx
   short/3D/PyLith/branches/v1.7-trunk/examples/bar_shearwave/quad4/README
   short/3D/PyLith/branches/v1.7-trunk/examples/bar_shearwave/quad4/spontaneousrup_ratestateageing.cfg
Log:
Small improvements to bar shearwave quad4 example. Updated this tutorial in the manual for the temporal variations in fault tractions.

Modified: short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/shearwave/figs/quad4kinematic30.jpg
===================================================================
(Binary files differ)

Modified: short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/shearwave/figs/quad4ratestateageing30.jpg
===================================================================
(Binary files differ)

Modified: short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/shearwave/figs/quad4slipweakening30.jpg
===================================================================
(Binary files differ)

Modified: short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/shearwave/figs/quad4staticfriction30.jpg
===================================================================
(Binary files differ)

Modified: short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/shearwave/quad4.lyx
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/shearwave/quad4.lyx	2013-06-17 17:03:08 UTC (rev 22340)
+++ short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/shearwave/quad4.lyx	2013-06-17 20:36:18 UTC (rev 22341)
@@ -201,7 +201,7 @@
 \end_layout
 
 \begin_layout Subsection
-Kinematic Fault
+Kinematic Fault (Prescribed Slip)
 \end_layout
 
 \begin_layout Standard
@@ -306,7 +306,7 @@
 \end_layout
 
 \begin_layout Subsection
-Dynamic Fault
+Dynamic Fault (Spontaneous Rupture)
 \end_layout
 
 \begin_layout Standard
@@ -326,15 +326,34 @@
  continue to be absorbed at the ends of the bar, so we drive the fault by
  imposing initial tractions directly on the fault surface rather than through
  deformation within the bar.
- We employ a UniformDB object to specify 6.1 MPa of right-lateral shear and
- 10.0 MPa of normal compression for the initial fault tractions.
- The parameters common to the dynamic fault simulations are in 
+ We impose initial tractions (75 MPa of right-lateral shear and 120 MPa
+ compressive traction) plus a temporal variation (smoothly increasing from
+ 0 to 25 MPa of right-lateral shear) similar to what would be used in a
+ 2-D or 3-D version.
+ While the magnitude of these stresses is reasonable for tectonic problems,
+ they give rise to very large slip rates in this 1-D bar.
+ The temporal variation, as specified via the 
 \family typewriter
-spontaneousrup.cfg
+traction_change.timedb
 \family default
-.
- We also request that the fault output include slip, slip rate, and traction
- fields:
+ file, has the functional form:
+\begin_inset Formula 
+\begin{equation}
+f(t)=\begin{cases}
+\exp\left(\frac{\left(t-t_{n}\right)^{2}}{t\left(t-2t_{n}\right)}\right), & 0<t\le t_{n}\\
+1, & t>t_{n}
+\end{cases}
+\end{equation}
+
+\end_inset
+
+where 
+\begin_inset Formula $t_{n}$
+\end_inset
+
+ = 1.0 s.
+ We request that the fault output include the initial traction value and
+ the slip, slip rate, and traction fields:
 \end_layout
 
 \begin_layout LyX-Code
@@ -342,9 +361,23 @@
 \end_layout
 
 \begin_layout LyX-Code
+vertex_info_fields=[traction_initial_value]
+\end_layout
+
+\begin_layout LyX-Code
 vertex_data_fields = [slip,slip_rate,traction]
 \end_layout
 
+\begin_layout Standard
+The steady-state solution for this problem is constant velocity and slip
+ rate with uniform strain within the bar.
+ A Python script, 
+\family typewriter
+analytical_soln.py
+\family default
+, computes some parts of the steady-state solution.
+\end_layout
+
 \begin_layout Subsubsection
 Dynamic Fault with Static Friction
 \end_layout
@@ -401,10 +434,10 @@
 \end_inset
 
 , which was generated using ParaView.
- The steady-state solution is a constant slip rate of 0.08 m/s, a shear traction
- of 6.0 MPa on the fault surface, and a uniform shear strain of 2e-5 in the
- bar with uniform, constant velocities in the y-direction of +0.04 m/s and
- -0.04 m/s on the -x and +x sides of the fault, respectively.
+ The steady-state solution is a constant slip rate of 22.4 m/s, a shear traction
+ of 72.0 MPa on the fault surface, a uniform shear strain of 5.6e-3 in the
+ bar with uniform, and constant velocities in the y-direction of +11.2 m/s
+ and -11.2 m/s on the -x and +x sides of the fault, respectively.
 \end_layout
 
 \begin_layout Standard
@@ -433,7 +466,7 @@
 \begin_layout Plain Layout
 Velocity field in the bar at 3.0 s for the static friction fault constitutive
  model.
- Deformation has been exaggerated by a factor of 800.
+ Deformation has been exaggerated by a factor of 20.
 \begin_inset CommandInset label
 LatexCommand label
 name "fig:shearwave:quad4:staticfriction"
@@ -484,8 +517,7 @@
  friction of 0.5, a slip-weakening parameter of 0.2 m, and no cohesion (0
  MPa).
  The fault constitutive model is associated with the fault, so we can append
- the fault constitutive model parameters to the vertex information fields
- and the fault constitutive model state variables to the vertex data fields:
+ the fault constitutive model parameters to the vertex information fields:
 \end_layout
 
 \begin_layout LyX-Code
@@ -500,10 +532,6 @@
 dynamic_coefficient,slip_weakening_parameter,cohesion]
 \end_layout
 
-\begin_layout LyX-Code
-vertex_data_fields = [slip,traction,cumulative_slip,previous_slip]
-\end_layout
-
 \begin_layout Standard
 The parameters specific to this example are in 
 \family typewriter
@@ -535,10 +563,10 @@
 \end_inset
 
 , which was generated using ParaView.
- The steady-state solution is a constant slip rate of 0.88 m/s and shear
- traction of 5.0 MPa on the fault surface, a uniform shear strain of 2.2e-4
- in the bar with uniform, constant velocities in the y-direction of +0.44
- m/s and -0.44 m/s on the -x and +x sides of the fault, respectively.
+ The steady-state solution is a constant slip rate of 32.0 m/s and shear
+ traction of 60.0 MPa on the fault surface, a uniform shear strain of 8.0e-3
+ in the bar with uniform, constant velocities in the y-direction of +16.0
+ m/s and -46.0 m/s on the -x and +x sides of the fault, respectively.
 \end_layout
 
 \begin_layout Standard
@@ -567,7 +595,7 @@
 \begin_layout Plain Layout
 Velocity field in the bar at 3.0 s for the slip-weakening friction fault
  constitutive model.
- Deformation has been exaggerated by a factor of 800.
+ Deformation has been exaggerated by a factor of 20.
 \begin_inset CommandInset label
 LatexCommand label
 name "fig:shearwave:quad4:slipweakening"
@@ -602,7 +630,8 @@
 
 ).
  The evolution of the state variable uses the ageing law.
- We set the fault constitutive model via
+ We set the fault constitutive model and add the state variable to the output
+ via
 \end_layout
 
 \begin_layout LyX-Code
@@ -611,14 +640,27 @@
 
 \begin_layout LyX-Code
 friction = pylith.friction.RateStateAgeing
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
+\begin_layout LyX-Code
+[pylithapp.timedependent.interfaces.fault.output]
+\begin_inset Newline newline
+\end_inset
+
+vertex_data_fields = [slip, slip_rate, traction, state_variable] 
+\end_layout
+
 \begin_layout Standard
-and use a UniformDB to set the static friction parameters.
+and use a UniformDB to set the rate-state friction parameters.
  We use a reference coefficient of friction of 0.6, reference slip rate of
- 1.0e-6 m/s, characteristic slip distance of 0.037 m, coefficients a and b
- of 0.0125 and 0.0172, and no cohesion (0 MPa).
- The parameters specific to this example are in 
+ 1.0e-6 m/s, characteristic slip distance of 0.02 m, coefficients a and b
+ of 0.008 and 0.012, and no cohesion (0 MPa).
+ We set the initial value of the state variable to The parameters specific
+ to this example are in 
 \family typewriter
 dynamic_ratestateageing.cfg
 \family default
@@ -648,10 +690,10 @@
 \end_inset
 
 , which was generated using ParaView.
- The steady-state solution is a constant slip rate of 0.572 m/s and shear
- traction of 5.385 MPa on the fault surface, a uniform shear strain of 1.43e-4
- in the bar with uniform, constant velocities in the y-direction of +0.286
- m/s and -0.286 m/s on the -x and +x sides of the fault, respectively.
+ The steady-state solution is a constant slip rate of 30.0 m/s and shear
+ traction of 63.7 MPa on the fault surface, a uniform shear strain of 7.25e-3
+ in the bar with uniform, constant velocities in the y-direction of +15.0
+ m/s and -15.0 m/s on the -x and +x sides of the fault, respectively.
 \end_layout
 
 \begin_layout Standard
@@ -680,7 +722,7 @@
 \begin_layout Plain Layout
 Velocity field in the bar at 3.0 s for the rate- and state-friction fault
  constitutive model.
- Deformation has been exaggerated by a factor of 800.
+ Deformation has been exaggerated by a factor of 20.
 \begin_inset CommandInset label
 LatexCommand label
 name "fig:shearwave:quad4:ratestateageing"

Modified: short/3D/PyLith/branches/v1.7-trunk/examples/bar_shearwave/quad4/README
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/examples/bar_shearwave/quad4/README	2013-06-17 17:03:08 UTC (rev 22340)
+++ short/3D/PyLith/branches/v1.7-trunk/examples/bar_shearwave/quad4/README	2013-06-17 20:36:18 UTC (rev 22341)
@@ -35,13 +35,16 @@
 
     - spontaneousrup.cfg: Parameters common to dynamic friction problems
     - spontaneousrup_staticfriction.cfg: Parameters for simulation 
+    - traction_change.timedb: Temporal variation of fault traction
 
   + Spontaneous rupture with linear slip-weakening fault constitutive model
 
     - spontaneousrup.cfg: Parameters common to dynamic friction problems
     - spontaneousrup_slipweakening.cfg: Parameters for simulation 
+    - traction_change.timedb: Temporal variation of fault traction
 
   + Spontaneous rupture with rate- and state-friction fault constitutive model
 
     - spontaneousrup.cfg: Parameters common to dynamic friction problems
     - spontaneousrup_ratestateageing.cfg: Parameters for simulation 
+    - traction_change.timedb: Temporal variation of fault traction

Added: short/3D/PyLith/branches/v1.7-trunk/examples/bar_shearwave/quad4/analytical_soln.py
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/examples/bar_shearwave/quad4/analytical_soln.py	                        (rev 0)
+++ short/3D/PyLith/branches/v1.7-trunk/examples/bar_shearwave/quad4/analytical_soln.py	2013-06-17 20:36:18 UTC (rev 22341)
@@ -0,0 +1,42 @@
+# Compute the analytical steady-state solution.
+#
+# The shear traction on the fault is balanced by the shear traction
+# from friction and the traction due to deformation of the
+# bar. The absorbing dampers apply a traction on the end of the bar
+# equal to the shear wave speed times the density.
+
+# sim = {'static', 'slipweak', 'ratestate'}
+sim = "ratestate"
+
+if sim == "static":
+    mu_f = 0.6
+elif sim == "slipweak":
+    mu_f = 0.5
+elif sim == "ratestate":
+    L = 0.02 # Dc
+    mu_f = 0.5313
+else:
+    raise ValueError("Unknown sim '%s'." % sim)
+
+# Traction applied to the fault
+Ts = 75.0e+6 + 25.0e+6
+
+# Shear traction due to friction
+Tf = 120.0e+6 * mu_f
+
+# Shear wave speed and density from matprops.spatialdb
+Vs = 1000.0
+density = 2500.0
+
+# Compute the slip rate on the fault
+sliprate = 2.0*(Ts-Tf) / (Vs*density)
+
+# Compute the shear strain in the bar
+shearmodulus = density*Vs**2
+shearstrain = (Ts-Tf) / (2.0*shearmodulus)
+
+print "Fault traction (friction): ", Tf/1.0e+6, "MPa"
+print "Slip rate: ", sliprate, "m/s"
+print "Shear strain: ", shearstrain
+if sim == "ratestate":
+    print "Rate-state friction state var: ", L/sliprate, "s"

Modified: short/3D/PyLith/branches/v1.7-trunk/examples/bar_shearwave/quad4/spontaneousrup_ratestateageing.cfg
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/examples/bar_shearwave/quad4/spontaneousrup_ratestateageing.cfg	2013-06-17 17:03:08 UTC (rev 22340)
+++ short/3D/PyLith/branches/v1.7-trunk/examples/bar_shearwave/quad4/spontaneousrup_ratestateageing.cfg	2013-06-17 20:36:18 UTC (rev 22341)
@@ -37,9 +37,9 @@
 # Set the friction model parameters.
 #  reference coefficient of friction: 0.6
 #  reference slip rate: 1.0e-06 m/s
-#  slip weakening parameter: 0.037 m
-#  a: 0.0125
-#  b: 0.0172
+#  slip weakening parameter: 0.02 m
+#  a: 0.008
+#  b: 0.012
 #  cohesion: 0 Pa
 friction.db_properties = spatialdata.spatialdb.UniformDB
 friction.db_properties.label = Rate State Ageing
@@ -61,7 +61,7 @@
 
 [pylithapp.timedependent.interfaces.fault.output]
 vertex_data_fields = [slip, slip_rate, traction, state_variable]
-writer.filename = output/ratestateageing-faut.vtk
+writer.filename = output/ratestateageing-fault.vtk
 
 [pylithapp.timedependent.materials.elastic.output]
 writer.filename = output/ratestateageing-statevars.vtk



More information about the CIG-COMMITS mailing list