[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