The examples in this directory form a step-by-step sequence of 20 problems,
each building on the one before (for the most part). All of the examples
use the same mesh, which was created by Cubit.  The mesh is 6 km x 6 km x 4
km with linear hexahedral cells that have edges 1.0 km long.

The box spans the volume:

  -3 km <= x <= +3 km
  -3 km <= y <= +3 km
  -6 km <= z <= 0  km.

The mesh is generated using CUBIT. Journal files are included in the mesh
directory and are annotated to guide you through the GUI to replicate the
commands in the journal files should you prefer to use the GUI.

NOTE: Importing Exodus files into PyLith requires the netcdf
library. This is included in the PyLith binary distribution. If you
are compiling from the source code, you will want to use the
--enable-cubit option to turn on importing meshes from CUBIT (you must
have the netcdf library and header files installed when configuring
PyLith).

You can examine the Exodus file exported from CUBIT using the ncdump
command.


The examples are all described in the PyLith manual. Output from each
example is put in the output directory. Each simulation may be run by
typing:

  pylith stepxx.cfg

where xx is the number of the desired example.

Note that the exception to this is step21.cfg (Green's function example).
It is run as follows:

pylith step21.cfg --problem=pylith.problems.GreensFns


----------------------------------------------------------------------
DESCRIPTION OF FILES
----------------------------------------------------------------------

README - This file.

pylithapp.cfg - PyLith configuration file containing parameters common to
all simulations.

greensfns.cfg - Green's function generation file that is only read for
problem step21.

stepxx.cfg - PyLith configuration file containing parameters for a
particular example. The example problems are briefly described below:

step01: Dirichlet BC (static)
step02: Neumann BC (static)
step03: Earthquake rupture (static)
step04: Dirichlet BC (quasi-static)
step05: Dirichlet + Neumann (quasi-static)
step06: Multiple earthquake rupture + creep (quasi-static)
step07: Earthquake rupture + creep + Dirichlet BC (quasi-static)
step08: Same as step07 with power-law rheology (quasi-static)
step09: Same as step08 with Drucker-Prager elastoplastic rheology
        (quasi-static)
step10: Static friction (stick) + Dirichlet BC (static)
step11: Static friction (slip) + Dirichlet BC (static)
step12: Static friction + Dirichlet BC (quasi-static)
step13: Slip-weakening friction + Dirichlet BC (quasi-static)
step14: Rate- and state-friction + Dirichlet BC (quasi-static)
step15: Gravitational body forces with generalized Maxwell rheology
        (quasi-static)
step16: Gravitational body forces + initial stresses with generalized
        Maxwell rheology (quasi-static)
step17: Gravitational body forces + finite strain with generalized Maxwell
        rheology (quasi-static)
step18: Axial traction surface load on top surface (static)
step19: Time dependent axial traction surface load on top surface (quasi-static)
step20: Dike opening via initial tractions and fault constitutive model
step21: Generation of Green's functions for a strike-slip fault (static)

----------------------------------------
mesh directory
----------------------------------------

box_hex8_1000m.exo

  Exodus file containing mesh exported from Cubit.

geometry.jou

  Cubit journal file (script) to generate solid model geometry

mesh_hex8_1000m.jou

  Cubit journal file (script) to run geometry script, generate the
  mesh, create blocks and nodesets, and export the mesh to an Exodus
  file

----------------------------------------
spatialdb directory
----------------------------------------

finalslip.spatialdb

  Spatial database defining fault slip for example step03.

finalslip_rupture.spatialdb

  Spatial database defining fault rupture for examples step06, step07,
  step08, and step09.

impulse_amplitude.spatialdb

  Spatial database defining impulses to be applied for GF generation
  (step21).

initial_stress.spatialdb

  Spatial database defining initial stresses for example step16.

mat_druckerprager.spatialdb

  Spatial database defining Drucker-Prager elastoplastic material
  properties for example step09.

mat_elastic.spatialdb

  Spatial database defining elastic material properties for all
  examples.

mat_genmaxwell.spatialdb
	
  Spatial database defining generalized Maxwell viscoelastic material
  properties for examples step15, step16, and step17.

mat_maxwell.spatialdb

  Spatial database defining Maxwell viscoelastic material properties
  for examples step04, step05, step06, and step07.

mat_powerlaw.spatialdb

  Spatial database defining power-law viscoelastic material properties
  for example step08.

sliprate_creep.spatialdb

  Spatial database defining slip on the creeping portion of the fault
  for examples step06, step07, step08, and step09.

sliptime.spatialdb

  Spatial database defining the distribution of slip initial time over
  the fault for examples step03, step06, step07, step08, and step09.

tractions_axial_shear.spatialdb

  Spatial database defining axial and shear tractions for example
  step02.

tractions_axial_pressure.spatialdb

  Spatial database defining axial tractions for examples step18 and step19.

loadcycle.timedb

  Temporal database defining time variation of traction load for step19.

powerlaw directory

  This directory contains files needed to generate power-law
  properties for PyLith, given the power-law parameters, a temperature
  distribution, and a set of points for which properties are
  desired. The powerlaw_gendb.py utility code is used from this
  directory to create spatialdb/mat_powerlaw.spatialdb.

tractions_opening.spatialdb

  Spatial database defining initial tractions for example step20.

