[cig-commits] r11646 - short/3D/PyLith/trunk/examples/twocells/twoquad4

brad at geodynamics.org brad at geodynamics.org
Sun Mar 30 17:31:37 PDT 2008


Author: brad
Date: 2008-03-30 17:31:37 -0700 (Sun, 30 Mar 2008)
New Revision: 11646

Added:
   short/3D/PyLith/trunk/examples/twocells/twoquad4/dislocation_slip_zero.spatialdb
Modified:
   short/3D/PyLith/trunk/examples/twocells/twoquad4/README
   short/3D/PyLith/trunk/examples/twocells/twoquad4/axialtract.cfg
Log:
Added fault with zero slip to axial tractions example to illustrate computing change in tractions on the fault surface.

Modified: short/3D/PyLith/trunk/examples/twocells/twoquad4/README
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twoquad4/README	2008-03-31 00:29:58 UTC (rev 11645)
+++ short/3D/PyLith/trunk/examples/twocells/twoquad4/README	2008-03-31 00:31:37 UTC (rev 11646)
@@ -21,15 +21,6 @@
     - axialdisp.cfg:  Parameter settings.
     - axialdisp.spatialdb: Database of Dirichlet BC values.
 
-  * axialtract
-
-    A constant normal traction is applied to the right edge of the mesh.
-    The left edge is pinned in the x-direction, and the bottom edge is
-    pinned in the y-direction.
-
-    - axialtract.cfg:  Parameter settings.
-    - axialtract.spatialdb: Database of Neumann BC values.
-
   * sheardisp: 
 
     The left and right edges of the mesh are pinned in the
@@ -49,6 +40,20 @@
     - dislocation_sliprate.spatialdb: Database of peak slip rate values.
     - dislocation_sliptime.spatialdb: Database of slip initiation time values.
 
+  * axialtract
+
+    A constant normal traction is applied to the right edge of the mesh.
+    The left edge is pinned in the x-direction, and the bottom edge is
+    pinned in the y-direction. We include a fault with zero slip to 
+    illustrate how the computation of the change in tractions on the
+    fault surface.
+
+    - axialtract.cfg:  Parameter settings.
+    - axialtract.spatialdb: Database of Neumann BC values.
+    - dislocation_slip_zero.spatialdb:  Database of fault slip values.
+    - dislocation_sliprate.spatialdb: Database of peak slip rate values.
+    - dislocation_sliptime.spatialdb: Database of slip initiation time values.
+
 All of the files are documented.  The 'pylithapp.cfg' file is read
 automatically when running PyLith.  To add to or override these
 settings, you may place an additional .cfg file on the command line.

Modified: short/3D/PyLith/trunk/examples/twocells/twoquad4/axialtract.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twoquad4/axialtract.cfg	2008-03-31 00:29:58 UTC (rev 11645)
+++ short/3D/PyLith/trunk/examples/twocells/twoquad4/axialtract.cfg	2008-03-31 00:31:37 UTC (rev 11646)
@@ -70,6 +70,9 @@
 # Change the BC on the +x side of the domain to a Neumann (traction) BC.
 bc.x_pos = pylith.bc.Neumann
 
+# Set interfaces to an array with 1 fault: 'fault'.
+interfaces = [fault]
+
 # ----------------------------------------------------------------------
 # boundary conditions
 # ----------------------------------------------------------------------
@@ -117,6 +120,51 @@
 label = y_neg
 
 # ----------------------------------------------------------------------
+# faults
+# ----------------------------------------------------------------------
+# Provide information on the fault (interface).
+[pylithapp.timedependent.interfaces]
+
+# Define fault properties.
+[pylithapp.timedependent.interfaces.fault]
+
+# The nodes associated with this fault have the name 'fault' in the mesh file.
+label = fault
+
+# NOTE: It is possible to assign an ID number to a fault (e.g.,
+# 'id = 10').  Care must be taken when doing this, however, because the
+# assigned ID will become the material ID for the cohesive element.
+# This ID must not conflict with any of the material ID numbers for
+# volume elements.  The default ID for a fault is 100.  If you have a
+# fault in your mesh you must:
+# 1.  If you create your own fault ID, make sure it does not conflict
+#     with any of you material ID's.
+# 2.  If you use the default fault ID, make sure that none of your
+#     material ID's are equal to 100.
+
+# We need the material database for the fault to properly condition the
+# system of equations.
+
+mat_db.iohandler.filename = matprops.spatialdb
+
+# The quadrature for a 2D fault is 1D with a linear shape.
+quadrature = pylith.feassemble.quadrature.Quadrature1Din2D
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 1
+
+# Give the spatial databases specifying the fault slip.
+[pylithapp.timedependent.interfaces.fault.eq_src.slip_function]
+
+# Database specifying zero fault slip.
+slip.iohandler.filename = dislocation_slip_zero.spatialdb
+
+# Database specifying fault slip rate (1.0e+6 m/s).
+slip_rate.iohandler.filename = dislocation_sliprate.spatialdb
+
+# Database specifying time at which fault slips (-1.0 s).
+slip_time.iohandler.filename = dislocation_sliptime.spatialdb
+
+# ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
 # Give basename for VTK output of solution over domain.
@@ -132,3 +180,7 @@
 [pylithapp.timedependent.bc.x_pos.output]
 cell_info_fields = [tractions]
 writer.filename = axialtract-tractions.vtk
+
+# Give basename for VTK fault output.
+[pylithapp.timedependent.interfaces.fault.output.writer]
+filename = axialtract-fault.vtk

Added: short/3D/PyLith/trunk/examples/twocells/twoquad4/dislocation_slip_zero.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/twocells/twoquad4/dislocation_slip_zero.spatialdb	                        (rev 0)
+++ short/3D/PyLith/trunk/examples/twocells/twoquad4/dislocation_slip_zero.spatialdb	2008-03-31 00:31:37 UTC (rev 11646)
@@ -0,0 +1,41 @@
+#SPATIAL.ascii 1
+
+// This database is used to specify the fault slip for the
+// dislocation (kinematic fault) example.
+SimpleDB {
+
+  // There are two values specified in the database, corresponding to the
+  // slip values for the left-lateral and fault-opening components.
+  num-values = 2
+  value-names =  left-lateral-slip fault-opening
+
+  // The fault slip values have units of meters.
+  value-units =  m  m
+
+  // The values are specified at one spatial location.
+  num-locs = 1
+
+  // The dimension of the spatial distribution is 0, since the same data
+  // is specified for all points in the set.
+  data-dim = 0
+
+  // The spatial dimension of the database is 2.
+  space-dim = 2
+
+  // We are specifying the data in a Cartesian coordinate system.
+  cs-data = cartesian {
+
+    // Our units are already in meters, so we can just multiply by one.
+    to-meters = 1.0
+
+    // We are using a 2D Cartesian coordinate system.
+    space-dim = 2
+  }
+}
+
+// This is where the data is specified.
+// As described in dislocation.cfg, this database will be used to specify
+// uniform data for a fault.
+// The entries are:
+// X-Coord, Y-Coord, left-lateral slip, fault-opening slip
+0.0  0.0   0.0  0.0



More information about the cig-commits mailing list