[cig-commits] r18343 - in short/3D/PyLith/branches/v1.5-stable/examples: . 2d 2d/subduction 2d/subduction/output

brad at geodynamics.org brad at geodynamics.org
Wed May 11 16:41:29 PDT 2011


Author: brad
Date: 2011-05-11 16:41:28 -0700 (Wed, 11 May 2011)
New Revision: 18343

Added:
   short/3D/PyLith/branches/v1.5-stable/examples/2d/
   short/3D/PyLith/branches/v1.5-stable/examples/2d/Makefile.am
   short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/
   short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/Makefile.am
   short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/README
   short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/createbc.jou
   short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/fault_slip.spatialdb
   short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/geometry.jou
   short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mat_concrust.spatialdb
   short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mat_conmantle.spatialdb
   short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mat_oceancrust.spatialdb
   short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mat_oceanmantle.spatialdb
   short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mesh_tri3.exo
   short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mesh_tri3.jou
   short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/output/
   short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/output/Makefile.am
   short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/postseismic.cfg
   short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/pylithapp.cfg
Log:
Added 2d/subduction example.

Added: short/3D/PyLith/branches/v1.5-stable/examples/2d/Makefile.am
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/examples/2d/Makefile.am	                        (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/examples/2d/Makefile.am	2011-05-11 23:41:28 UTC (rev 18343)
@@ -0,0 +1,23 @@
+# -*- Makefile -*-
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+
+SUBDIRS = \
+	subduction 
+
+
+# End of file 

Added: short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/Makefile.am
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/Makefile.am	                        (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/Makefile.am	2011-05-11 23:41:28 UTC (rev 18343)
@@ -0,0 +1,38 @@
+# -*- Makefile -*-
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+
+dist_noinst_DATA = \
+	README \
+	pylithapp.cfg \
+	postseismic.cfg \
+	geometry.jou \
+	mesh_tri3.jou \
+	createbc.jou \
+	mesh_tri3.exo \
+	fault_slip.spatialdb \
+	mat_concrust.spatialdb \
+	mat_conmantle.spatialdb \
+	mat_oceancrust.spatialdb \
+	mat_oceanmantle.spatialdb 
+
+
+SUBDIRS = \
+	output
+
+
+# End of file 

Added: short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/README
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/README	                        (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/README	2011-05-11 23:41:28 UTC (rev 18343)
@@ -0,0 +1,101 @@
+The example in this directory simulates quasi-static post-seismic
+relaxation in the mantle following an earthquake. It is based on the
+2011 M9.0 Tohoku earthquake off the east coast of Japan.
+
+The main features of this example are:
+
+  * Generating a finite-element mesh using CUBIT
+    + Nonplanar geometry
+    + Variable mesh resolution
+  * Spatially variable coseismic slip
+  * Maxwell viscoelastic relaxation
+
+
+Step 1. Mesh generation (optional)
+
+  NOTE: The result of this step will overwrite the included file
+        tri3_mesh.exo. You may want to copy/rename this file so that
+        you have a backup copy in case you have difficulty running
+        CUBIT.
+
+  Start CUBIT and play the journal file "mesh_tri3.jou". We highly
+  recommend that you study the contents of the journal files to
+  understand the mesh generation process.
+
+
+Step 2. Run the simulation.
+
+  The PyLith parameters are contained in two .cfg files. The general
+  parameters related to the mesh and a quasi-static simulation are in
+  pylithapp.cfg, and those parameters specific to the post-seismic
+  deformation are in postseismic.cfg. This facilitates running
+  additional quasi-static simulations using this same mesh.
+
+  The parameters for the bulk constitutive models are defined in
+    mat_concrust.spatialdb
+    mat_oceancrust.spatialdb
+    mat_conmantle.spatialdb
+    mat_oceanmantle.spatialdb
+
+  The parameters for the earthquake slip are defined in
+    fault_slip.spatialdb
+
+  Run the simulation via the following command:
+    pylith postseismic.cfg.
+
+  The simulation will output the displacements on the ground surface
+  at every time step, the displacements over the entire domain every
+  5 years, the fault slip and tractions every time step, and the
+  stresses and strains for each material every 10 years.
+
+  
+Step 3. Visualize the result using ParaView.
+
+  Start ParaView and load the 
+
+
+Suggestions variations
+
+  The list below includes some suggested modifications to the problem
+  that will allow you to become more familiar with PyLith while
+  examining some interesting physics.
+
+
+  * Change the viscosity to increase/decrease the Maxwell relaxation
+    time.
+
+
+  * Add a depth dependent viscosity to the slab to permit relaxation
+    in the slab at depths below 50 km.
+
+
+  * Modify the spatial database files for the material properties to
+    use depth-dependent elastic properties based on PREM (Dziewonski
+    and Anderson, 1981, 10.1016/0031-9201(81)90046-7). See
+    http://geophysics.ou.edu/solid_earth/prem.html for a simple table
+    of values.
+
+    Add points, update num-locs accordingly, and change data-dim to be 1.
+
+
+  * Change the resolution of the mesh by editing the mesh_tri3.jou
+    journal file. Change the resolution and bias factor.
+
+
+  * Modify the CUBIT journal files to use quad4 cells rather than tri3
+    cells. This requires using the pave mesh scheme.
+
+
+  * Add steady creep to the top and bottom of the slab in the mantle. 
+
+    This requires adjusting several adjustments to the mesh:
+      (a) extend the down-dip extent of the fault on the top of the slab
+      (b) split the curve for the bottom of the slab at the desired
+          up-dip and down-dip locations
+      (c) updating the vertices/curve labels in setting the mesh size
+      (d) adding a node set for the bottom of the slab
+
+    and several adjustments to the PyLith parameters:
+      (e) create a spatial database for the creep (see examples/3d/hex8/step06)
+      (f) add the fault interface for the bottom of the slab
+      (g) add a kinematic rupture corresponding to the creep

Added: short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/createbc.jou
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/createbc.jou	                        (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/createbc.jou	2011-05-11 23:41:28 UTC (rev 18343)
@@ -0,0 +1,78 @@
+# -*- Python -*- (syntax highlighting)
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+# CUBIT journal file for creating blocks and nodesets associated with
+# materials and boundary conditions.
+#
+# ----------------------------------------------------------------------
+# Create blocks for materials
+# ----------------------------------------------------------------------
+block 1 surface concrust
+block 1 name "concrust"
+
+block 2 surface conmantle
+block 2 name "conmantle"
+
+block 3 surface oceancrust
+block 3 name "oceancrust"
+
+block 4 surface oceanmantle
+block 4 name "oceanmantle"
+
+# ----------------------------------------------------------------------
+# Create nodeset for fault
+# ----------------------------------------------------------------------
+group "fault" add node in slabtop at A
+group "fault" add node in slabtop at D
+nodeset 20 group fault
+nodeset 20 name "fault"
+
+# ----------------------------------------------------------------------
+# Create nodeset for topography/bathymetry
+# ----------------------------------------------------------------------
+group "groundsurf" add node in curve topobathy
+group "groundsurf" add node in curve topobathy at A
+group "groundsurf" add node in curve topobathy at B
+nodeset 10 group groundsurf
+nodeset 10 name "groundsurf"
+
+# ----------------------------------------------------------------------
+# Create nodeset for west boundary
+# ----------------------------------------------------------------------
+group "bndry_west" add node in curve edgewest
+group "bndry_west" add node in curve edgewest at A
+nodeset 11 group bndry_west
+nodeset 11 name "bndry_west"
+
+# ----------------------------------------------------------------------
+# Create nodeset for east boundary
+# ----------------------------------------------------------------------
+group "bndry_east" add node in curve edgeeast
+group "bndry_east" add node in curve edgeeast at A
+nodeset 12 group bndry_east
+nodeset 12 name "bndry_east"
+
+# ----------------------------------------------------------------------
+# Create nodeset for bottom boundary
+# ----------------------------------------------------------------------
+group "bndry_bot" add node in curve edgebot
+group "bndry_bot" add node in curve edgebot at A
+nodeset 13 group bndry_bot
+nodeset 13 name "bndry_bot"
+
+
+# End of file
+

Added: short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/fault_slip.spatialdb
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/fault_slip.spatialdb	                        (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/fault_slip.spatialdb	2011-05-11 23:41:28 UTC (rev 18343)
@@ -0,0 +1,42 @@
+// -*- C++ -*- (syntax highlighting)
+//
+// This spatial database specifies the distribution of slip on the
+// fault surface. This is a cross-section extracted from Gavin Hayes's
+// rupture model
+// (http://earthquake.usgs.gov/earthquakes/eqinthenews/2011/usc0001xgp/finite_fault.php).
+//
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 2
+  value-names =  left-lateral-slip  fault-opening
+  value-units =  cm  cm
+  num-locs = 17
+  data-dim = 1 // Data is specified along a line.
+  space-dim = 2
+  cs-data = cartesian {
+    to-meters = 1.0e+3 // Specify coordinates in km for convenience.
+    space-dim = 2
+  } // cs-data
+} // SimpleDB
+// Columns are
+// (1) x coordinate (km)
+// (2) y coordinate (km)
+// (3) reverse-slip (cm)
+// (4) fault-opening (cm)
+0.0   99.0            0.0
+0.0    0.0            0.0
+0.0   -7.5475   -1143.00098
+0.0  -11.0926   -3202.27295
+0.0  -14.6378   -3050.15894
+0.0  -18.1829   -1995.05396
+0.0  -21.7280   -1167.55798
+0.0  -25.2732   -1326.13599
+0.0  -28.8183   -1260.37805
+0.0  -32.3634    -813.61987
+0.0  -35.9086    -255.54710
+0.0  -39.4537    -370.49261
+0.0  -42.9988    -394.57870
+0.0  -46.5439    -310.11920
+0.0  -50.0891    -349.24249
+0.0  -55.0          0.0
+0.0  -999.0         0.0

Added: short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/geometry.jou
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/geometry.jou	                        (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/geometry.jou	2011-05-11 23:41:28 UTC (rev 18343)
@@ -0,0 +1,167 @@
+# -*- Python -*- (syntax highlighting)
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+# CUBIT journal file with geometry for 2-D subduction zone example
+# based on the 2011 M9.0 Tohoku earthquake.
+#
+# We use the CUBIT support for APREPRO (the expressions in braces),
+# which includes units and mathematical functions. See the APREPRO
+# section in the appendix of the CUBIT documentation for more
+# information.
+#
+# The steps in constructing the geometry are:
+# (1) Create points
+# (2) Connect the points into spline curves
+# (3) Split the splines at intersections to form bounding curves
+# (4) Form surfaces from the bounding curves
+#
+# Points have been projected from longitude/latitude into a local
+# transverse Mercator projection. PyLith uses the Proj.4 library
+# for geographic projections. The proj parameters are:
+#
+#   +proj=tmerc +datum=WGS84 +lon_0=142.0 +lat_0=38.0 +k=0.9996
+#
+# so that the local origin is at a longitude of 142.0 degrees (WGS84)
+# and a latitude of 38.0 degrees (WGS84).
+#
+# ----------------------------------------------------------------------
+# Set units to SI.
+# ----------------------------------------------------------------------
+# {Units('si')}
+#
+# ----------------------------------------------------------------------
+# Reset geometry.
+# ----------------------------------------------------------------------
+reset
+
+# ----------------------------------------------------------------------
+# Create points and curves defining materials
+# ----------------------------------------------------------------------
+
+# Topography/bathymetry (points from Google Earth)
+create vertex x { -600.0*km} y {-2000.0*m}
+create vertex x { -439.1*km} y { -300.0*m}
+create vertex x { -351.2*km} y { -800.0*m}
+create vertex x { -263.4*km} y {    0.0*m}
+create vertex x { -175.6*km} y {  400.0*m}
+create vertex x {  -87.7*km} y {    0.0*m}
+create vertex x {    0.0*km} y { -400.0*m}
+create vertex x {   87.7*km} y {-3000.0*m}
+create vertex x {  165.6*km} y {-6000.0*m}
+create vertex x {  263.4*km} y {-5400.0*m}
+create vertex x {  351.2*km} y {-5400.0*m}
+create vertex x {  439.1*km} y {-5400.0*m}
+create vertex x {  600.0*km} y {-5700.0*m}
+
+create curve spline vertex 1 to 13
+curve 1 name "topobathy"
+
+# Top of slab
+# Hayes and Wald, 2009
+# http://earthquake.usgs.gov/research/data/slab
+create vertex x { -600.0*km} y {-340.00*km}
+create vertex x { -422.4*km} y {-240.00*km}
+create vertex x { -331.0*km} y {-180.00*km}
+create vertex x { -261.6*km} y {-140.00*km}
+create vertex x { -223.9*km} y {-120.00*km}
+create vertex x { -182.6*km} y {-100.00*km}
+create vertex x { -134.3*km} y {-80.00*km}
+create vertex x {  -74.6*km} y {-60.00*km}
+create vertex x {   -7.9*km} y {-40.00*km}
+create vertex x {   71.1*km} y {-20.00*km}
+create vertex x {  160.5*km} y {-7.50*km}
+
+create curve spline vertex 14 to 24 9
+curve 2 name "slabtop"
+
+# Bottom of slab (translate top of slab to the east)
+#
+# Better approach would be to move points normal to slab to preserve
+# uniform thickness.
+vertex 14 to 21 copy move X {120.0*km}
+create vertex x {  175.6*km} y {-40.0*km}
+create vertex x {  600.0*km} y {-40.0*km}
+
+create curve spline vertex 25 to 34
+curve 3 name "slabbot"
+
+# Top of mantle (uniform depth of 40 km)
+create vertex x { -600.0*km} y {-40.00*km}
+
+create curve spline vertex 35 22
+curve 4 name "conmoho"
+
+# Lateral edges and bottom boundary
+create vertex x { 600.0*km} y {-340.00*km}
+
+create curve spline vertex 1 35 14
+curve 5 name "edgewest"
+
+create curve spline vertex 38 25 36
+curve 6 name "edgebot"
+
+create curve spline vertex 13 34 36
+curve 7 name "edgeeast"
+
+# ----------------------------------------------------------------------
+# Split curves to form bounding curves for each material
+# ----------------------------------------------------------------------
+split curve topobathy crossing curve slabtop
+split curve slabtop crossing curve conmoho
+split curve edgewest crossing curve conmoho
+split curve edgebot crossing curve slabbot
+split curve edgeeast crossing curve slabbot
+
+# ----------------------------------------------------------------------
+# Create surfaces using bounding curves
+# ----------------------------------------------------------------------
+# Continental crust
+create surface curve topobathy edgewest conmoho slabtop at A
+surface 1 name "concrust"
+
+# Continental mantle
+create surface curve conmoho edgewest at A slabtop
+surface 2 name "conmantle"
+
+# Oceanic crust (slab)
+create surface curve topobathy at A slabtop at A slabtop edgebot slabbot edgeeast
+surface 3 name "oceancrust"
+
+# Oceanic mantle
+create surface curve slabbot edgebot at A edgeeast at A
+surface 4 name "oceanmantle"
+
+# ----------------------------------------------------------------------
+# Imprint/merge
+# ----------------------------------------------------------------------
+delete vertex all
+imprint all
+merge all
+stitch volume all
+
+# Split top of slab for fault surface
+split curve slabtop distance {80.0*km} from end
+
+# Split topography/bathymetry to mimic same region as fault surface
+# (used in setting discretization size)
+split curve topobathy distance {190.0*km} from end
+
+# Split bottom of slab to mimic same region as fault surface
+# (used in setting discretization size)
+split curve slabbot distance {420.0*km} from end
+split curve slabbot distance {250.0*km} from end
+
+# End of file

Added: short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mat_concrust.spatialdb
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mat_concrust.spatialdb	                        (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mat_concrust.spatialdb	2011-05-11 23:41:28 UTC (rev 18343)
@@ -0,0 +1,29 @@
+// -*- C++ -*- (syntax highlighting)
+//
+// This spatial database specifies the parameters for the continental
+// crust material, which is linearly elastic.
+//
+#SPATIAL.ascii 1
+SimpleDB {
+  // number of physical properties
+  num-values = 3
+    
+  // Names and units of physical properties
+  value-names =  density vs vp
+  value-units =  kg/m**3  m/s  m/s
+    
+  // 1 location -> data is uniform -> data dimension is 0
+  num-locs = 1
+  data-dim = 0
+
+  // Problem is in 2-D
+  space-dim = 2
+
+  // Coordinate system (2-D with coordinates in meters)
+  cs-data = cartesian {
+    to-meters = 1.0
+    space-dim = 2
+  }
+}
+// Columns are x, y, density, vs, vp
+0.0  0.0   2700.0  3200.0  5800.0

Added: short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mat_conmantle.spatialdb
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mat_conmantle.spatialdb	                        (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mat_conmantle.spatialdb	2011-05-11 23:41:28 UTC (rev 18343)
@@ -0,0 +1,29 @@
+// -*- C++ -*- (syntax highlighting)
+//
+// This spatial database specifies the parameters for the continental
+// crust material, which is a linear Maxwell viscoelastic solid.
+//
+// The viscosity corresponds to a Maxwell time of 100 years.
+// Maxwell time = viscosity / shear_modulus
+//
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 4
+  value-names =  density vs vp viscosity
+  value-units =  kg/m**3  m/s  m/s Pa*s // units
+  num-locs = 1 // number of locations
+  data-dim = 0
+  space-dim = 2
+  cs-data = cartesian {
+    to-meters = 1.0
+    space-dim = 2
+  }
+}
+// Columns are
+// (1) x coordinate (m)
+// (2) y coordinate (m)
+// (3) density (kg/m^3)
+// (4) vs (m/s)
+// (5) vp (m/s)
+// (6) viscosity (Pa-s)
+0.0  0.0  4000.0  5600.0  10000.0 3.95850079744e+20

Added: short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mat_oceancrust.spatialdb
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mat_oceancrust.spatialdb	                        (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mat_oceancrust.spatialdb	2011-05-11 23:41:28 UTC (rev 18343)
@@ -0,0 +1,29 @@
+// -*- C++ -*- (syntax highlighting)
+//
+// This spatial database specifies the parameters for the oceanic
+// crust material, which is linearly elastic.
+//
+#SPATIAL.ascii 1
+SimpleDB {
+  // number of physical properties
+  num-values = 3
+    
+  // Names and units of physical properties
+  value-names =  density vs vp
+  value-units =  kg/m**3  m/s  m/s
+    
+  // 1 location -> data is uniform -> data dimension is 0
+  num-locs = 1
+  data-dim = 0
+
+  // Problem is in 2-D
+  space-dim = 2
+
+  // Coordinate system (2-D with coordinates in meters)
+  cs-data = cartesian {
+    to-meters = 1.0
+    space-dim = 2
+  }
+}
+// Columns are x, y, density, vs, vp
+0.0  0.0   3300.0  4500.0  8100.0

Added: short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mat_oceanmantle.spatialdb
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mat_oceanmantle.spatialdb	                        (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mat_oceanmantle.spatialdb	2011-05-11 23:41:28 UTC (rev 18343)
@@ -0,0 +1,29 @@
+// -*- C++ -*- (syntax highlighting)
+//
+// This spatial database specifies the parameters for the continental
+// crust material, which is a linear Maxwell viscoelastic solid.
+//
+// The viscosity corresponds to a Maxwell time of 100 years.
+// Maxwell time = viscosity / shear_modulus
+//
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 4
+  value-names =  density vs vp viscosity
+  value-units =  kg/m**3  m/s  m/s Pa*s // units
+  num-locs = 1 // number of locations
+  data-dim = 0
+  space-dim = 2
+  cs-data = cartesian {
+    to-meters = 1.0
+    space-dim = 2
+  }
+}
+// Columns are
+// (1) x coordinate (m)
+// (2) y coordinate (m)
+// (3) density (kg/m^3)
+// (4) vs (m/s)
+// (5) vp (m/s)
+// (6) viscosity (Pa-s)
+0.0  0.0  4000.0  5600.0  10000.0 3.95850079744e+20

Added: short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mesh_tri3.exo
===================================================================
(Binary files differ)


Property changes on: short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mesh_tri3.exo
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mesh_tri3.jou
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mesh_tri3.jou	                        (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/mesh_tri3.jou	2011-05-11 23:41:28 UTC (rev 18343)
@@ -0,0 +1,80 @@
+# -*- Python -*- (syntax highlighting)
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+# CUBIT journal file for generating a 2-D finite-element mesh with
+# triangular cells.
+#
+# ----------------------------------------------------------------------
+# Generate geometry
+# ----------------------------------------------------------------------
+playback 'geometry.jou'
+
+# ----------------------------------------------------------------------
+# Set discretization size and scheme
+# ----------------------------------------------------------------------
+surface all scheme trimesh
+curve all scheme default
+surface all sizing function none
+
+# Discretization size on fault (finest resolution)
+#{dx=8.0*km}
+# Bias factor corresponding to geometric rate at which discretization size will
+# increase away from fault.
+#{bias_factor=1.2}
+
+# Set size on faults (and bottom of slab corresponding to fault section)
+curve slabtop at A slabtop at D size {dx}
+curve topobathy size {dx}
+curve slabbot at C size {1.0*dx}
+
+# Set bias on curves extending from faults
+curve topobathy at B scheme bias fine size {dx} factor {bias_factor} start vertex 75
+curve topobathy at A scheme bias fine size {dx} factor {bias_factor} start vertex 68
+curve conmoho scheme bias fine size {dx} factor {bias_factor} start vertex 67
+curve slabtop scheme bias fine size {dx} factor {bias_factor} start vertex 74
+curve slabbot at B scheme bias fine size {1.0*dx} factor {bias_factor} start vertex 76
+curve slabbot scheme bias fine size {1.0*dx} factor {bias_factor} start vertex 77
+
+# Set bias on boundaries (use constant size)
+curve edgewest at A size {50*km}
+curve edgebot size {50*km}
+curve edgeeast at A size {50*km}
+curve edgebot at A size {50*km}
+
+# ----------------------------------------------------------------------
+# Generate the mesh
+# ----------------------------------------------------------------------
+mesh surface all
+
+# ----------------------------------------------------------------------
+# Smooth mesh to improve quality
+# ----------------------------------------------------------------------
+surface all smooth scheme condition number beta 1.7 cpu 10
+smooth surface all
+
+# ----------------------------------------------------------------------
+# Setup boundary conditions.
+# ----------------------------------------------------------------------
+playback 'createbc.jou'
+
+# ----------------------------------------------------------------------
+# Export exodus file
+# ----------------------------------------------------------------------
+export mesh "mesh_tri3.exo" dimension 2 overwrite
+
+# End of file
+
+

Added: short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/output/Makefile.am
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/output/Makefile.am	                        (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/output/Makefile.am	2011-05-11 23:41:28 UTC (rev 18343)
@@ -0,0 +1,22 @@
+# -*- Makefile -*-
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+
+dist_noinst_DATA =
+
+
+# End of file 

Added: short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/postseismic.cfg
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/postseismic.cfg	                        (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/postseismic.cfg	2011-05-11 23:41:28 UTC (rev 18343)
@@ -0,0 +1,155 @@
+# -*- Python -*-
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# PROBLEM DESCRIPTION
+# ----------------------------------------------------------------------
+#
+# 
+
+# ----------------------------------------------------------------------
+# RUNNING THE SIMULATON
+# ----------------------------------------------------------------------
+#
+# This is not a self-contained simulation configuration file. This
+# file specifies only the boundary conditions and earthquake
+# parameters for the simulation. The general quasi-static and mesh
+# parameters are specificed in the pylithapp.cfg file which PyLith
+# reads by default.
+#
+# To run the simulation:
+# pylith postseismic.cfg
+#
+# Output will be directed to directory output.
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+# Set bc to an array of 3 boundary conditions:
+#   'bndry_east'
+#   'bndry_west'
+#   'bndry_bot'
+bc = [boundary_east,boundary_west,boundary_bottom]
+
+# For all boundaries, we fix the displacement normal to the boundary
+# (roller boundary condition) by retaining the default ZeroDispDB,
+# which specifies a zero value.
+#
+# The label corresponds to the name of the nodeset in CUBIT.
+
+# East boundary
+[pylithapp.timedependent.bc.boundary_east]
+bc_dof = [0]
+label = bndry_east
+db_initial.label = Dirichlet BC on east boundary
+
+# West boundary
+[pylithapp.timedependent.bc.boundary_west]
+bc_dof = [0]
+label = bndry_west
+db_initial.label = Dirichlet BC on west boundary
+
+# Bottom boundary
+[pylithapp.timedependent.bc.boundary_bottom]
+bc_dof = [1]
+label = bndry_bot
+db_initial.label = Dirichlet BC on bottom boundary
+
+# ----------------------------------------------------------------------
+# faults
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+interfaces = [fault]
+
+# Set the type of fault interface condition.
+[pylithapp.timedependent.interfaces]
+fault = pylith.faults.FaultCohesiveKin
+
+# Set the parameters for the fault interface condition.
+[pylithapp.timedependent.interfaces.fault]
+# The label corresponds to the name of the nodeset in CUBIT.
+label = fault
+
+# We must define the quadrature information for fault cells.
+# The fault cells are 2D (surface).
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = line
+
+# The slip time and final slip are defined in spatial databases.
+[pylithapp.timedependent.interfaces.fault.eq_srcs.rupture.slip_function]
+slip.iohandler.filename = fault_slip.spatialdb
+slip.query_type = linear
+slip.label = Final slip
+
+slip_time = spatialdata.spatialdb.UniformDB
+slip_time.label = Slip time
+slip_time.values = [slip-time]
+slip_time.data = [0.0*year]
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.implicit]
+# Set the output to an array of 2 output managers.
+# We will output the solution over the domain and the ground surface.
+output = [domain,subdomain]
+
+# Set subdomain component to OutputSolnSubset (subset of domain).
+output.subdomain = pylith.meshio.OutputSolnSubset
+
+# Domain
+[pylithapp.problem.formulation.output.domain]
+output_freq = time_step
+time_step = 4.99999*year
+writer.filename = output/postseismic.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year
+
+# Ground surface
+[pylithapp.problem.formulation.output.subdomain]
+label = groundsurf ; Name of CUBIT nodeset for ground surface.
+writer.filename = output/postseismic-groundsurf.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year
+
+# Fault
+[pylithapp.problem.interfaces.fault.output]
+writer.filename = output/postseismic-fault.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year
+
+# Materials
+[pylithapp.timedependent.materials.continent_crust.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+output_freq = time_step
+time_step = 9.99999*year
+writer.filename = output/postseismic-concrust.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year
+
+[pylithapp.timedependent.materials.continent_mantle.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+output_freq = time_step
+time_step = 9.99999*year
+writer.filename = output/postseismic-conmantle.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year
+
+[pylithapp.timedependent.materials.ocean_crust.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+output_freq = time_step
+time_step = 9.99999*year
+writer.filename = output/postseismic-oceancrust.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year
+
+[pylithapp.timedependent.materials.ocean_mantle.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+output_freq = time_step
+time_step = 9.99999*year
+writer.filename = output/postseismic-oceanmantle.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year
+
+# End of file
\ No newline at end of file

Added: short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/pylithapp.cfg
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/pylithapp.cfg	                        (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/examples/2d/subduction/pylithapp.cfg	2011-05-11 23:41:28 UTC (rev 18343)
@@ -0,0 +1,160 @@
+# -*- Python -*-
+[pylithapp]
+
+# This is not a self-contained simulation configuration file. This
+# file only specifies the general parameters common to the simulations
+# in this directory.
+
+# ----------------------------------------------------------------------
+# journal
+# ----------------------------------------------------------------------
+# Turn on some journals to show progress.
+[pylithapp.journal.info]
+timedependent = 1
+implicit = 1
+petsc = 1
+solverlinear = 1
+meshiocubit = 1
+implicitelasticity = 1
+faultcohesivekin = 1
+fiatsimplex = 1
+pylithapp = 1
+materials = 1
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator]
+# Change the default mesh reader to the CUBIT reader.
+reader = pylith.meshio.MeshIOCubit
+
+[pylithapp.mesh_generator.reader]
+filename = mesh_tri3.exo
+coordsys.space_dim = 2
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+dimension = 2
+
+[pylithapp.timedependent.formulation.time_step]
+# Define the total time for the simulation and the time step size.
+total_time = 200.0*year
+dt = 1.0*year
+
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+
+# Set materials to an array of 4 materials:
+#   'continent_crust'
+#   'continent_mantle'
+#   'ocean_crust'
+#   'ocean_mantle'
+materials = [continent_crust,continent_mantle,ocean_crust,ocean_mantle]
+
+[pylithapp.timedependent.materials]
+# Set bulk constitutive model for each material.
+continent_crust = pylith.materials.ElasticPlaneStrain
+ocean_crust = pylith.materials.ElasticPlaneStrain
+continent_mantle = pylith.materials.MaxwellPlaneStrain
+ocean_mantle = pylith.materials.MaxwellPlaneStrain
+
+
+# Continental crust -----------------------------
+[pylithapp.timedependent.materials.continent_crust]
+label = Continental crust
+
+# The id corresponds to the block number from CUBIT.
+id = 1
+
+db_properties.iohandler.filename = mat_concrust.spatialdb
+
+# We are doing 2D quadrature for a triangle.
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = triangle
+
+
+# Continental mantle --------------------
+[pylithapp.timedependent.materials.continent_mantle]
+label = Continental mantle
+
+# The id corresponds to the block number from CUBIT.
+id = 2
+
+db_properties.iohandler.filename = mat_conmantle.spatialdb
+
+# We are doing 2D quadrature for a triangle.
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = triangle
+
+
+# Oceanic crust --------------------
+[pylithapp.timedependent.materials.ocean_crust]
+label = Oceanic crust
+
+# The id corresponds to the block number from CUBIT.
+id = 3
+
+db_properties.iohandler.filename = mat_oceancrust.spatialdb
+
+# We are doing 2D quadrature for a triangle.
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = triangle
+
+
+# Oceanic mantle --------------------
+[pylithapp.timedependent.materials.ocean_mantle]
+label = Oceanic mantle
+
+# The id corresponds to the block number from CUBIT.
+id = 4
+
+db_properties.iohandler.filename = mat_oceanmantle.spatialdb
+
+# We are doing 2D quadrature for a triangle.
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = triangle
+
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+# Set the solver options.
+
+[pylithapp.petsc]
+
+# Preconditioner settings.
+pc_type = asm
+sub_pc_factor_shift_type = nonzero
+
+# Convergence parameters.
+ksp_rtol = 1.0e-8
+ksp_atol = 1.0e-12
+ksp_max_it = 300
+ksp_gmres_restart = 50
+
+# Linear solver monitoring options.
+ksp_monitor = true
+ksp_view = true
+ksp_converged_reason = true
+
+# Nonlinear solver monitoring options.
+snes_rtol = 1.0e-8
+snes_atol = 1.0e-12
+snes_max_it = 100
+snes_monitor = true
+snes_view = true
+snes_converged_reason = true
+
+# PETSc summary -- useful for performance information.
+#log_summary = true
+
+# Uncomment to launch gdb when starting PyLith.
+# start_in_debugger = true
+
+
+# End of file



More information about the CIG-COMMITS mailing list