[cig-commits] r18638 - in short/3D/PyLith/branches/pylith-scecdynrup: . applications applications/utilities doc/developer doc/install doc/refguide doc/releasenotes doc/userguide doc/userguide/benchmarks doc/userguide/benchmarks/savageprescott doc/userguide/boundaryconditions doc/userguide/cover doc/userguide/governingeqns doc/userguide/install doc/userguide/intro doc/userguide/intro/figs doc/userguide/materials doc/userguide/runpylith doc/userguide/runpylith/figs doc/userguide/tutorials doc/userguide/tutorials/3dhex8 doc/userguide/tutorials/3dhex8/friction doc/userguide/tutorials/3dhex8/gravity doc/userguide/tutorials/3dhex8/quasistatic doc/userguide/tutorials/3dhex8/static doc/userguide/tutorials/3dtet4 doc/userguide/tutorials/twohex8/figs doc/userguide/tutorials/twoquad4/figs doc/userguide/tutorials/twotet4/figs doc/userguide/tutorials/twotet4-geoproj/figs examples examples/3d examples/3d/hex8 examples/3d/hex8/mesh examples/3d/hex8/output examples/3d/tet4 examples/bar_shearwave examples/bar_shearwave/hex8 examples/bar_shearwave/hex8/output examples/bar_shearwave/quad4 examples/bar_shearwave/quad4/output examples/bar_shearwave/tet4 examples/bar_shearwave/tet4/output examples/bar_shearwave/tri3 examples/bar_shearwave/tri3/output examples/greensfns examples/greensfns/hex8 examples/greensfns/hex8/gfimpulses examples/greensfns/hex8/gfresponses examples/greensfns/hex8/gfspatialdb examples/meshing examples/meshing/surface_nurbs examples/meshing/surface_nurbs/contours examples/meshing/surface_nurbs/contours/journal examples/meshing/surface_nurbs/dem examples/meshing/surface_nurbs/dem/ulines examples/meshing/surface_nurbs/dem/vlines examples/meshing/surface_nurbs/triangles examples/twocells examples/twocells/twohex27-cubit examples/twocells/twohex8 examples/twocells/twoquad4 examples/twocells/twotet4 examples/twocells/twotet4-geoproj examples/twocells/twotri3 libsrc libsrc/pylith/bc libsrc/pylith/faults libsrc/pylith/feassemble libsrc/pylith/friction libsrc/pylith/materials libsrc/pylith/meshio libsrc/pylith/problems libsrc/pylith/topology libsrc/pylith/utils modulesrc modulesrc/bc modulesrc/faults modulesrc/feassemble modulesrc/friction modulesrc/include modulesrc/materials modulesrc/meshio modulesrc/mpi modulesrc/problems modulesrc/topology modulesrc/utils playpen/closure playpen/euler playpen/memcheck playpen/postproc playpen/postproc/fault playpen/powerlaw playpen/savpres_ss playpen/tsurf playpen/verification pylith pylith/apps pylith/bc pylith/faults pylith/feassemble pylith/friction pylith/materials pylith/meshio pylith/mpi pylith/perf pylith/problems pylith/tests pylith/topology pylith/utils share templates templates/friction templates/friction/tests templates/materials templates/materials/tests tests tests/2d tests/2d/maxwell tests/2d/slipdir tests/3d tests/3d/matprops tests/3d/plasticity tests/3d/plasticity/threehex27 tests/3d/plasticity/threehex27/config tests/3d/plasticity/threehex27/mesh tests/3d/plasticity/threehex27/results tests/3d/plasticity/threehex27/spatialdb tests/3d/plasticity/threehex8 tests/3d/plasticity/threehex8/config tests/3d/plasticity/threehex8/mesh tests/3d/plasticity/threehex8/results tests/3d/plasticity/threehex8/spatialdb tests/3d/slipdir tests/distribute tests/topology tests_auto tests_auto/1d tests_auto/1d/line2 tests_auto/1d/line3 tests_auto/2d tests_auto/2d/quad4 tests_auto/2d/quad9 tests_auto/2d/tri3 tests_auto/2d/tri6 tests_auto/3d tests_auto/3d/hex8 tests_auto/3d/tet4 tests_auto/3dnew/hex27 tests_auto/3dnew/hex8 tests_auto/3dnew/tet10 tests_auto/3dnew/tet4 tests_auto/petsc unittests unittests/libtests unittests/libtests/bc unittests/libtests/bc/data unittests/libtests/faults unittests/libtests/faults/data unittests/libtests/feassemble unittests/libtests/feassemble/data unittests/libtests/friction unittests/libtests/friction/data unittests/libtests/materials unittests/libtests/materials/data unittests/libtests/meshio unittests/libtests/meshio/data unittests/libtests/topology unittests/libtests/topology/data unittests/libtests/utils unittests/pytests unittests/pytests/bc unittests/pytests/bc/data unittests/pytests/faults unittests/pytests/faults/data unittests/pytests/feassemble unittests/pytests/feassemble/data unittests/pytests/friction unittests/pytests/friction/data unittests/pytests/materials unittests/pytests/materials/data unittests/pytests/meshio unittests/pytests/meshio/data unittests/pytests/mpi unittests/pytests/problems unittests/pytests/problems/data unittests/pytests/topology unittests/pytests/topology/data unittests/pytests/utils

brad at geodynamics.org brad at geodynamics.org
Wed Jun 15 15:30:17 PDT 2011


Author: brad
Date: 2011-06-15 15:30:12 -0700 (Wed, 15 Jun 2011)
New Revision: 18638

Added:
   short/3D/PyLith/branches/pylith-scecdynrup/applications/utilities/pylith_genxdmf
   short/3D/PyLith/branches/pylith-scecdynrup/doc/refguide/Doxyfile
   short/3D/PyLith/branches/pylith-scecdynrup/doc/releasenotes/announce_v1.5.2.txt
   short/3D/PyLith/branches/pylith-scecdynrup/doc/releasenotes/announce_v1.6.0.txt
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/alternativeformul/
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/makepdf.sh
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/materials/altformulations.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/figs/hdf5layout.eps
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/figs/hdf5layout.svg
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/figs/refinement2x.eps
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/figs/refinement2x.svg
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/subduction/
   short/3D/PyLith/branches/pylith-scecdynrup/examples/2d/
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/figures/
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/mesh/
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/output/
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/spatialdb/
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/step01.cfg
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/step02.cfg
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/step03.cfg
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/step04.cfg
   short/3D/PyLith/branches/pylith-scecdynrup/examples/bar_shearwave/tri3/tmp/
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/GenMaxwellPlaneStrain.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/Xdmf.i
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/GenMaxwellPlaneStrain.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/Xdmf.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/frictionslide/
   short/3D/PyLith/branches/pylith-scecdynrup/tests/refinefaulttip/
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestGenMaxwellPlaneStrain.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestGenMaxwellPlaneStrain.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainElastic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainElasticData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainElasticData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDep.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDepData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellPlaneStrainTimeDepData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestExodusII.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestExodusII.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestXdmf.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestXdmf.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/gentwocell.jou
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tet4_cell.xmf
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tet4_vertex.xmf
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tri3_cell.xmf
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tri3_vertex.xmf
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twohex8.jou
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twohex8_12.2.exo
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twohex8_13.0.exo
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twoquad4.jou
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twoquad4_12.2.exo
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twoquad4_13.0.exo
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twotet4.jou
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twotet4_12.2.exo
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twotet4_13.0.exo
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twotri3.jou
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twotri3_12.2.exo
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twotri3_13.0.exo
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldBase.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldBase.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/materials/TestGenMaxwellPlaneStrain.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/TestXdmf.py
Removed:
   short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Cluster_Rocks-4.3-AMD64.txt
   short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Cluster_Rocks-4.3-AMD64_bash.sh
   short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Linux_Fedora8-AMD64_Aagaard.txt
   short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Linux_Fedora8-AMD64_Aagaard_bash.sh
   short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Linux_ubuntu-AMD64_Aagaard.sh
   short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Linux_ubuntu-AMD64_Aagaard.txt
   short/3D/PyLith/branches/pylith-scecdynrup/doc/install/MacBookPro_Aagaard.txt
   short/3D/PyLith/branches/pylith-scecdynrup/doc/install/MacBookPro_Aagaard_bash.sh
   short/3D/PyLith/branches/pylith-scecdynrup/doc/refguide/doxyconfig
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/twohex8/figs/axialdisp.eps
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/twohex8/figs/dislocation.eps
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/twohex8/figs/sheardisp.eps
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/twoquad4/figs/axialdisp.eps
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/twoquad4/figs/axialtract.eps
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/twoquad4/figs/dislocation.eps
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/twoquad4/figs/sheardispl.eps
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/twotet4-geoproj/figs/dislocation.eps
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/twotet4/figs/axialdisp.eps
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/twotet4/figs/dislocation.eps
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/dislocation.cfg
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/dislocation.jpg
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/finalslip.spatialdb
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/fixeddisp_shear.spatialdb
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/mat_elastic.spatialdb
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/mat_viscoelastic.spatialdb
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/mesh_tet4_1000m.lagrit
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/shear.jpg
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/shearxy.cfg
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/sliptime.spatialdb
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/tet4-mesh.jpg
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/tet4_1000m_ascii.gmv
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/tet4_1000m_ascii.pset
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/tet4_1000m_binary.gmv
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/tet4_1000m_binary.pset
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/bc/
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/feassemble/
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/friction/
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/materials/
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/meshio/
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/problems/
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/utils/
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twohex8.cub
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twohex8.exo
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twoquad4.cub
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twoquad4.exo
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twotet4.cub
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twotet4.exo
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twotri3.cub
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/twotri3.exo
Modified:
   short/3D/PyLith/branches/pylith-scecdynrup/
   short/3D/PyLith/branches/pylith-scecdynrup/COPYING
   short/3D/PyLith/branches/pylith-scecdynrup/DEPENDENCIES
   short/3D/PyLith/branches/pylith-scecdynrup/INSTALL
   short/3D/PyLith/branches/pylith-scecdynrup/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/README
   short/3D/PyLith/branches/pylith-scecdynrup/TODO
   short/3D/PyLith/branches/pylith-scecdynrup/applications/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/applications/pylith.in
   short/3D/PyLith/branches/pylith-scecdynrup/applications/pylith_prepmesh.in
   short/3D/PyLith/branches/pylith-scecdynrup/applications/utilities/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/applications/utilities/powerlaw_gendb.py
   short/3D/PyLith/branches/pylith-scecdynrup/applications/utilities/pylithinfo
   short/3D/PyLith/branches/pylith-scecdynrup/configure.ac
   short/3D/PyLith/branches/pylith-scecdynrup/doc/developer/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/doc/install/README
   short/3D/PyLith/branches/pylith-scecdynrup/doc/refguide/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/doc/releasenotes/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/doc/releasenotes/checklist.txt
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/benchmarks/benchmarks.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/benchmarks/savageprescott/savageprescott.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/boundaryconditions/boundaryconditions.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/components.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/cover/cover.pdf
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/cover/cover.svg.gz
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/cover/cover_small.jpg
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/governingeqns/governingeqns.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/install/install.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/intro/figs/workflow.eps
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/intro/figs/workflow.svg
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/intro/intro.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/license.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/materials/materials.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/preface.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/runpylith.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/3dhex8.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/friction/friction.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/gravity/gravity.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/quasistatic/quasistatic.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/static/static.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dtet4/3dtet4.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/tutorials.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/userguide.lyx
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/hex8/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/hex8/README
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/hex8/mesh/geometry.jou
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/hex8/output/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/hex8/step06.cfg
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/hex8/step07.cfg
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/hex8/step08.cfg
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/hex8/step09.cfg
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/README
   short/3D/PyLith/branches/pylith-scecdynrup/examples/3d/tet4/pylithapp.cfg
   short/3D/PyLith/branches/pylith-scecdynrup/examples/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/bar_shearwave/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/bar_shearwave/hex8/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/bar_shearwave/hex8/output/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/bar_shearwave/quad4/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/bar_shearwave/quad4/output/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/bar_shearwave/tet4/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/bar_shearwave/tet4/output/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/bar_shearwave/tri3/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/bar_shearwave/tri3/output/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/greensfns/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/greensfns/hex8/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/greensfns/hex8/designdata.py
   short/3D/PyLith/branches/pylith-scecdynrup/examples/greensfns/hex8/gfimpulses/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/greensfns/hex8/gfresponses/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/greensfns/hex8/gfspatialdb/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/meshing/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/meshing/surface_nurbs/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/meshing/surface_nurbs/contours/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/meshing/surface_nurbs/contours/journal/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/meshing/surface_nurbs/dem/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/meshing/surface_nurbs/dem/dem2lines.cfg
   short/3D/PyLith/branches/pylith-scecdynrup/examples/meshing/surface_nurbs/dem/dem2lines.py
   short/3D/PyLith/branches/pylith-scecdynrup/examples/meshing/surface_nurbs/dem/ulines/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/meshing/surface_nurbs/dem/vlines/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/meshing/surface_nurbs/triangles/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/meshing/surface_nurbs/triangles/mksurface.jou
   short/3D/PyLith/branches/pylith-scecdynrup/examples/run_examples.sh
   short/3D/PyLith/branches/pylith-scecdynrup/examples/twocells/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/twocells/twohex27-cubit/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/twocells/twohex8/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/twocells/twoquad4/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/twocells/twotet4-geoproj/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/twocells/twotet4/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/examples/twocells/twotri3/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/bc/
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/faults/
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/feassemble/
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/friction/
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/materials/
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/meshio/
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/problems/
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/topology/
   short/3D/PyLith/branches/pylith-scecdynrup/libsrc/pylith/utils/
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/AbsorbingDampers.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/BCIntegratorSubMesh.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/BoundaryCondition.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/BoundaryConditionPoints.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/DirichletBC.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/DirichletBoundary.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/Neumann.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/PointForce.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/TimeDependent.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/TimeDependentPoints.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/bc/bc.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/BruneSlipFn.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/ConstRateSlipFn.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/EqKinSrc.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/Fault.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesive.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveDyn.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveKin.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveLagrange.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/FaultCohesiveTract.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/LiuCosSlipFn.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/SlipTimeFn.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/StepSlipFn.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/TimeHistorySlipFn.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/faults/faults.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/CellGeometry.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/Constraint.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicit.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicitLgDeform.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicitTet4.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityExplicitTri3.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityImplicit.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityImplicitCUDA.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/ElasticityImplicitLgDeform.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryHex3D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryLine1D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryLine2D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryLine3D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryPoint1D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryPoint2D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryPoint3D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryQuad2D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryQuad3D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryTet3D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryTri2D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/GeometryTri3D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/Integrator.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/IntegratorElasticity.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/IntegratorElasticityLgDeform.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/Quadrature.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/QuadratureRefCell.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/feassemble/feassemble.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/FrictionModel.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/RateStateAgeing.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/SlipWeakening.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/StaticFriction.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/TimeWeakening.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/friction/friction.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/include/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/include/chararray.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/include/doublearray.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/include/eqkinsrcarray.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/include/integratorarray.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/include/submeshfield.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/DruckerPrager3D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticIsotropic3D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticMaterial.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticPlaneStrain.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticPlaneStress.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticStrain1D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/ElasticStress1D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/GenMaxwellIsotropic3D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/GenMaxwellQpQsIsotropic3D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/Material.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/MaxwellIsotropic3D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/MaxwellPlaneStrain.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/PowerLaw3D.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/materials/materials.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/CellFilter.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/CellFilterAvg.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriter.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriterHDF5.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriterHDF5Ext.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/DataWriterVTK.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/MeshIOAscii.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/MeshIOCubit.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/MeshIOLagrit.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/MeshIOObj.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/MeshIOSieve.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/OutputManager.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/OutputSolnSubset.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/VertexFilter.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/VertexFilterVecNorm.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/meshio/meshio.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/mpi/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/mpi/mpi.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/mpi/mpi_comm.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/mpi/mpi_error.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/Explicit.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/Formulation.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/Implicit.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/Solver.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/SolverLinear.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/SolverLumped.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/SolverNonlinear.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/problems/problems.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/Distributor.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/Field.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/FieldBase.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/Fields.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/FieldsNew.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/Jacobian.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/Mesh.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/MeshOps.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/RefineUniform.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/ReverseCuthillMcKee.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/SolutionFields.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/SubMesh.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/topology/topology.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/EventLogger.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/TestArray.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/petsc.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/petsc_general.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/petsc_mat.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/petsc_memory.i
   short/3D/PyLith/branches/pylith-scecdynrup/modulesrc/utils/utils.i
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/closure/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/closure/TestClosure.cc
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/closure/TestClosure.hh
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/closure/test_cubit.cc
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/closure/test_lagrit.cc
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/euler/euler.py
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/euler/grabfaces.py
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/euler/grabpoints.py
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/euler/poleconvert.py
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/euler/transform.py
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/memcheck/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/memcheck/configure.ac
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/memcheck/memory_usage.py
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/memcheck/runtet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/memcheck/tidy.sh
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/postproc/fault/faultinfo.py
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/postproc/stressinfo.py
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/postproc/vtkcff.py
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/postproc/vtkdiff.py
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/powerlaw/powerlaw_gendb.py
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/savpres_ss/savpres_ss.py
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/tsurf/tsurftooff
   short/3D/PyLith/branches/pylith-scecdynrup/playpen/verification/verify.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/__init__.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/apps/PetscApplication.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/apps/PrepMeshApp.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/apps/PyLithApp.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/apps/__init__.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/bc/AbsorbingDampers.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/bc/BoundaryCondition.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/bc/DirichletBC.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/bc/DirichletBoundary.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/bc/Neumann.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/bc/PointForce.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/bc/TimeDependent.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/bc/TimeDependentPoints.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/bc/ZeroDispDB.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/bc/__init__.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/BruneSlipFn.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/ConstRateSlipFn.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/EqKinSrc.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/Fault.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/FaultCohesive.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/FaultCohesiveDyn.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/FaultCohesiveKin.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/FaultCohesiveTract.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/LiuCosSlipFn.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/SingleRupture.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/SlipTimeFn.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/StepSlipFn.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/TimeHistorySlipFn.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/faults/__init__.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/CellGeometry.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/Constraint.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/ElasticityExplicit.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/ElasticityExplicitLgDeform.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/ElasticityExplicitTet4.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/ElasticityExplicitTri3.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/ElasticityImplicit.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/ElasticityImplicitCUDA.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/ElasticityImplicitLgDeform.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATLagrange.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATSimplex.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/Integrator.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/IntegratorElasticity.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/IntegratorElasticityLgDeform.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/Quadrature.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/ReferenceCell.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/__init__.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/friction/FrictionModel.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/friction/RateStateAgeing.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/friction/SlipWeakening.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/friction/StaticFriction.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/friction/TimeWeakening.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/friction/__init__.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/DruckerPrager3D.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/ElasticIsotropic3D.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/ElasticMaterial.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/ElasticPlaneStrain.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/ElasticPlaneStress.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/ElasticStrain1D.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/ElasticStress1D.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/GenMaxwellIsotropic3D.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/GenMaxwellQpQsIsotropic3D.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/Homogeneous.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/Material.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/MaxwellIsotropic3D.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/MaxwellPlaneStrain.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/PowerLaw3D.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/materials/__init__.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/CellFilter.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/CellFilterAvgMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/CellFilterAvgSubMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriter.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5Ext.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5ExtMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5ExtSubMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5ExtSubSubMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5Mesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5SubMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterHDF5SubSubMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTK.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKSubMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/DataWriterVTKSubSubMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/MeshIOAscii.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/MeshIOCubit.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/MeshIOLagrit.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/MeshIOObj.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/MeshIOSieve.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/OutputDirichlet.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/OutputFaultDyn.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/OutputFaultKin.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/OutputManager.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/OutputManagerMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/OutputManagerSubMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/OutputMatElastic.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/OutputNeumann.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/OutputSoln.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/OutputSolnSubset.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/SingleOutput.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/VertexFilter.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/VertexFilterVecNormMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/VertexFilterVecNormSubMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/meshio/__init__.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/mpi/Communicator.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/mpi/__init__.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/perf/Fault.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/perf/Field.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/perf/GlobalOrder.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/perf/Jacobian.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/perf/Logger.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/perf/Material.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/perf/Memory.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/perf/MemoryLogger.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/perf/Mesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/perf/VertexGroup.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/perf/__init__.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Explicit.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/ExplicitLgDeform.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/ExplicitLumped.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/ExplicitLumpedTet4.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/ExplicitLumpedTri3.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Formulation.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Implicit.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/ImplicitCUDA.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/ImplicitLgDeform.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Problem.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/Solver.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/SolverLinear.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/SolverLumped.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/SolverNonlinear.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/TimeDependent.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/TimeStep.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/TimeStepAdapt.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/TimeStepUniform.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/TimeStepUser.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/problems/__init__.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/tests/Fault.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/tests/PhysicalProperties.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/tests/Solution.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/tests/StateVariables.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/tests/__init__.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/topology/Distributor.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/topology/Field.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/topology/Fields.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/topology/Jacobian.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/topology/JacobianViewer.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/topology/Mesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/topology/MeshGenSimple.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/topology/MeshGenerator.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/topology/MeshImporter.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/topology/MeshImporterDist.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/topology/MeshRefiner.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/topology/RefineUniform.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/topology/ReverseCuthillMcKee.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/topology/SolutionFields.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/topology/SubMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/topology/__init__.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/CheckpointTimer.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/CppData.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/EmptyBin.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/EventLogger.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/NullComponent.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/PetscComponent.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/PetscManager.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/VTKDataReader.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/__init__.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/importing.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/profiling.py
   short/3D/PyLith/branches/pylith-scecdynrup/pylith/utils/testarray.py
   short/3D/PyLith/branches/pylith-scecdynrup/setup.py
   short/3D/PyLith/branches/pylith-scecdynrup/share/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/subpackage.am
   short/3D/PyLith/branches/pylith-scecdynrup/templates/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/templates/friction/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/templates/friction/ViscousFriction.cc
   short/3D/PyLith/branches/pylith-scecdynrup/templates/friction/ViscousFriction.hh
   short/3D/PyLith/branches/pylith-scecdynrup/templates/friction/ViscousFriction.i
   short/3D/PyLith/branches/pylith-scecdynrup/templates/friction/ViscousFriction.py
   short/3D/PyLith/branches/pylith-scecdynrup/templates/friction/__init__.py
   short/3D/PyLith/branches/pylith-scecdynrup/templates/friction/configure.ac
   short/3D/PyLith/branches/pylith-scecdynrup/templates/friction/frictioncontrib.i
   short/3D/PyLith/branches/pylith-scecdynrup/templates/friction/tests/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/templates/friction/tests/TestViscousFriction.py
   short/3D/PyLith/branches/pylith-scecdynrup/templates/friction/tests/testcontrib.py
   short/3D/PyLith/branches/pylith-scecdynrup/templates/materials/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/templates/materials/PlaneStrainState.cc
   short/3D/PyLith/branches/pylith-scecdynrup/templates/materials/PlaneStrainState.hh
   short/3D/PyLith/branches/pylith-scecdynrup/templates/materials/PlaneStrainState.i
   short/3D/PyLith/branches/pylith-scecdynrup/templates/materials/PlaneStrainState.py
   short/3D/PyLith/branches/pylith-scecdynrup/templates/materials/__init__.py
   short/3D/PyLith/branches/pylith-scecdynrup/templates/materials/configure.ac
   short/3D/PyLith/branches/pylith-scecdynrup/templates/materials/materialscontrib.i
   short/3D/PyLith/branches/pylith-scecdynrup/templates/materials/tests/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/templates/materials/tests/TestPlaneStrainState.py
   short/3D/PyLith/branches/pylith-scecdynrup/templates/materials/tests/testcontrib.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/maxwell/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/2d/slipdir/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/matprops/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/plasticity/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/plasticity/threehex27/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/plasticity/threehex27/config/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/plasticity/threehex27/mesh/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/plasticity/threehex27/results/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/plasticity/threehex27/spatialdb/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/plasticity/threehex8/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/plasticity/threehex8/config/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/plasticity/threehex8/mesh/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/plasticity/threehex8/results/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/plasticity/threehex8/spatialdb/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/3d/slipdir/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/distribute/MesherApp.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests/distribute/testdistribute.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests/topology/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests/topology/test_meshmem.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests/topology/test_topology.cc
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/1d/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/1d/line2/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/1d/line2/TestDislocation.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/1d/line2/TestExtensionDisp.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/1d/line2/TestExtensionForce.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/1d/line2/TestLine2.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/1d/line2/testpylith.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/1d/line3/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/1d/line3/TestAxial.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/1d/line3/TestDislocation.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/1d/line3/TestLine3.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/1d/line3/testpylith.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/TestAxialDisp.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/TestDislocation.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/TestDislocation2.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/TestFrictionCompression.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/TestFrictionOpening.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/TestFrictionShearSliding.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/TestFrictionShearStick.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/TestLgDeformRigidBody.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/TestLgDeformTraction.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/TestQuad4.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/TestShearDisp.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/TestSlipWeakeningCompression.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/TestSlipWeakeningOpening.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/TestSlipWeakeningShearSliding.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/TestSlipWeakeningShearStick.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/axialdisp_gendb.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/axialdisp_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/dislocation2_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/dislocation_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_compression_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_opening_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_shear_sliding_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/friction_shear_stick_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/lgdeformtraction_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/rigidbody_gendb.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/rigidbody_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/sheardisp_gendb.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/sheardisp_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_compression_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_opening_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_shear_sliding_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/slipweakening_shear_stick_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad4/testpylith.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad9/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad9/TestAxialDisp.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad9/TestDislocation.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad9/axialdisp_gendb.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad9/axialdisp_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad9/dislocation_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/quad9/testpylith.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/tri3/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/tri3/TestAxialDisp.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/tri3/TestDislocation.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/tri3/TestDislocation2.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/tri3/TestShearDisp.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/tri3/TestTri3.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/tri3/axialdisp_gendb.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/tri3/axialdisp_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/tri3/sheardisp_gendb.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/tri3/sheardisp_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/tri3/testpylith.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/tri6/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/tri6/TestAxialDisp.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/tri6/TestDislocation.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/tri6/axialdisp_gendb.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/tri6/axialdisp_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/2d/tri6/testpylith.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3d/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3d/hex8/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3d/hex8/TestAxialElasticIsotropic.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3d/hex8/TestShearElasticIsotropic.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3d/hex8/TestShearPlaneStrain.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3d/hex8/testpylith.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3d/tet4/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3d/tet4/TestAxialElasticIsotropic.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3d/tet4/TestDislocation.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3d/tet4/TestShearElasticIsotropic.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3d/tet4/testpylith.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/hex27/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/hex27/axialdisp_gendb.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/hex27/axialdisp_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/hex8/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/hex8/TestHex8.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/hex8/TestLgDeformRigidBody.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/hex8/TestLgDeformTraction.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/hex8/axialdisp_gendb.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/hex8/axialdisp_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/hex8/lgdeformtraction_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/hex8/rigidbody_gendb.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/hex8/rigidbody_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/hex8/testpylith.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/tet10/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/tet10/axialdisp_gendb.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/tet10/axialdisp_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/tet10/testpylith.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/tet4/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/tet4/axialdisp_gendb.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/tet4/axialdisp_soln.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/3dnew/tet4/testpylith.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/petsc/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/petsc/TestPetscApp.py
   short/3D/PyLith/branches/pylith-scecdynrup/tests_auto/petsc/testpetsc.py
   short/3D/PyLith/branches/pylith-scecdynrup/tidy.sh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestAbsorbingDampers.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestAbsorbingDampers.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestAbsorbingDampersHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestAbsorbingDampersHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestAbsorbingDampersLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestAbsorbingDampersLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestAbsorbingDampersQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestAbsorbingDampersQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestAbsorbingDampersTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestAbsorbingDampersTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestAbsorbingDampersTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestAbsorbingDampersTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestBoundaryCondition.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestBoundaryCondition.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestBoundaryConditionPoints.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestBoundaryConditionPoints.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestBoundaryMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestBoundaryMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestBoundaryMeshHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestBoundaryMeshHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestBoundaryMeshQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestBoundaryMeshQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestBoundaryMeshTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestBoundaryMeshTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestBoundaryMeshTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestBoundaryMeshTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBC.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBC.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCLine2b.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCLine2b.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCMulti.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCMulti.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCMultiTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCMultiTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCMultiTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCMultiTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBCTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBoundary.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBoundary.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBoundaryHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBoundaryHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBoundaryQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBoundaryQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBoundaryTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBoundaryTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBoundaryTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestDirichletBoundaryTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestNeumann.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestNeumann.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestNeumannHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestNeumannHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestNeumannLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestNeumannLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestNeumannQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestNeumannQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestNeumannTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestNeumannTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestNeumannTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestNeumannTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestPointForce.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestPointForce.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestPointForceHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestPointForceHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestPointForceLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestPointForceLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestPointForceQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestPointForceQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestPointForceTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestPointForceTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestPointForceTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestPointForceTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestTimeDependent.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestTimeDependent.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestTimeDependentPoints.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/TestTimeDependentPoints.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/AbsorbingDampersDataTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/BoundaryMeshData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/BoundaryMeshData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/BoundaryMeshDataHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/BoundaryMeshDataHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/BoundaryMeshDataQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/BoundaryMeshDataQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/BoundaryMeshDataTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/BoundaryMeshDataTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/BoundaryMeshDataTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/BoundaryMeshDataTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2b.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataLine2b.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMulti.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMulti.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataMultiTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/DirichletDataTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/NeumannDataTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/PointForceDataTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/data/absorbingdampers.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/bc/test_bc.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestBruneSlipFn.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestBruneSlipFn.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestConstRateSlipFn.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestConstRateSlipFn.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestEqKinSrc.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestEqKinSrc.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFault.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFault.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesive.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesive.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDyn.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDyn.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDynHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDynHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDynQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDynQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDynTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDynTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDynTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDynTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDynTri3d.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveDynTri3d.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKin.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKin.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinQuad4e.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinQuad4e.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinSrcs.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinSrcs.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinSrcsHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinSrcsHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinSrcsLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinSrcsLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinSrcsQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinSrcsQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinSrcsTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinSrcsTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinSrcsTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinSrcsTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTet4e.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTet4e.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTet4f.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTet4f.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTri3d.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestFaultCohesiveKinTri3d.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestLiuCosSlipFn.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestLiuCosSlipFn.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestStepSlipFn.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestStepSlipFn.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestTimeHistorySlipFn.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestTimeHistorySlipFn.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8Lagrange.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8Lagrange.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8b.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8b.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8c.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8c.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8d.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8d.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8e.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8e.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8f.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8f.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8g.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8g.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8h.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8h.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8i.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataHex8i.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2Lagrange.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataLine2Lagrange.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4Lagrange.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4Lagrange.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4b.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4b.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4c.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4c.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4d.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4d.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4e.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4e.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4f.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4f.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4g.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4g.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4h.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataQuad4h.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4Lagrange.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4Lagrange.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4b.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4b.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4c.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4c.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4d.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4d.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4f.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4f.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4g.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4g.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4h.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4h.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4i.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4i.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4j.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTet4j.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3Lagrange.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3Lagrange.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3b.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3b.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3c.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3c.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3d.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3d.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3e.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3e.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3f.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDataTri3f.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3d.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveDynDataTri3d.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4e.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataQuad4e.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4e.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4e.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4f.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTet4f.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3d.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinDataTri3d.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/CohesiveKinSrcsDataTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/data/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/test_faults.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestCellGeometry.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestCellGeometry.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit1DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit1DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit1DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit1DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit2DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit2DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit2DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit2DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit3DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit3DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav1DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav1DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav1DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav1DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav2DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav2DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav2DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav2DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav3DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav3DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitGrav3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav1DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav1DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav1DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav1DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav2DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav2DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav2DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav2DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav3DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav3DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitGrav3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryHex3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryHex3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryLine1D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryLine1D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryLine2D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryLine2D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryLine3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryLine3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryPoint1D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryPoint1D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryPoint2D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryPoint2D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryPoint3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryPoint3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryQuad2D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryQuad2D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryQuad3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryQuad3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryTet3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryTet3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryTri2D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryTri2D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryTri3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestGeometryTri3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestIntegrator.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestIntegrator.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestIntegratorElasticity.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestIntegratorElasticity.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestIntegratorElasticityLgDeform.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestIntegratorElasticityLgDeform.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature0D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature0D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature1D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature1D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature1Din2D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature1Din2D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature1Din3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature1Din3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature2D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature2D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature2Din3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature2Din3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadratureEngine.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadratureEngine.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadratureRefCell.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadratureRefCell.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/CellGeomData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/CellGeomData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticIsotropic3D.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticPlaneStrain.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityApp.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicit.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitApp.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData1DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData2DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitGravData3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeform.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicit.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeform.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData1DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData2DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformData3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData1DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData2DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityImplicitLgDeformGravData3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityLgDeformApp.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/ElasticityLgDeformExplicitApp.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataHex3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataHex3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine1D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine1D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine2D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine2D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataLine3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint1D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint1D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint2D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint2D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataPoint3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad2D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad2D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataQuad3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTet3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTet3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri2D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri2D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/GeomDataTri3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/IntegratorApp.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/IntegratorData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/IntegratorData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/IntegratorInertia1DQuadratic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/IntegratorInertia3DLinear.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/IntegratorInertia3DQuadratic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/MaterialElasticStrain1D.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Mesh1DLinear.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Mesh1DQuadratic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Mesh1Din2DLinear.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Mesh1Din2DQuadratic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Mesh1Din3DLinear.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Mesh1Din3DQuadratic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Mesh2DLinear.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Mesh2DQuadratic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Mesh2Din3DLinearXY.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Mesh2Din3DLinearXYZ.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Mesh2Din3DLinearXZ.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Mesh2Din3DLinearYZ.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Mesh2Din3DQuadratic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Mesh3DLinear.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Mesh3DQuadratic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Quadrature1DLinear.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Quadrature1DQuadratic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Quadrature1Din2DLinear.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Quadrature1Din2DQuadratic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Quadrature1Din3DLinear.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Quadrature1Din3DQuadratic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Quadrature2DLinear.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Quadrature2DQuadratic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Quadrature2Din3DLinear.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Quadrature2Din3DQuadratic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Quadrature3DLinear.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Quadrature3DQuadratic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureApp.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din2DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData1Din3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXY.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXY.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXYZ.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXYZ.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXZ.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearXZ.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearYZ.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DLinearYZ.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData2Din3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DLinear.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DLinear.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DQuadratic.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/QuadratureData3DQuadratic.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Solution1DLinear.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Solution1DQuadratic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Solution2DLinear.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Solution2DQuadratic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Solution3DLinear.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/Solution3DQuadratic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/feutils.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/generate.sh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/data/header.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/test_feassemble.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestFrictionModel.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestFrictionModel.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestRateStateAgeing.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestRateStateAgeing.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestSlipWeakening.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestSlipWeakening.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestStaticFriction.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/TestStaticFriction.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/FrictionModelData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/FrictionModelData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/RateStateAgeingData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/RateStateAgeingData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/SlipWeakeningData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/SlipWeakeningData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/StaticFrictionData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/StaticFrictionData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/TimeWeakeningData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/data/TimeWeakeningData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/friction/test_friction.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestDruckerPrager3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestDruckerPrager3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestEffectiveStress.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestEffectiveStress.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticIsotropic3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticIsotropic3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticMaterial.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticMaterial.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticPlaneStrain.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticPlaneStrain.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticPlaneStress.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticPlaneStress.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticStrain1D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticStrain1D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticStress1D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestElasticStress1D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestGenMaxwellIsotropic3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestGenMaxwellIsotropic3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestGenMaxwellQpQsIsotropic3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestGenMaxwellQpQsIsotropic3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMaterial.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMaterial.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMaxwellIsotropic3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMaxwellIsotropic3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMaxwellPlaneStrain.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMaxwellPlaneStrain.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMetadata.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestMetadata.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestPowerLaw3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/TestPowerLaw3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DElastic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DElasticData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DElasticData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DTimeDep.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DTimeDepData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/DruckerPrager3DTimeDepData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticIsotropic3D.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticIsotropic3DData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticIsotropic3DData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticMaterialApp.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticMaterialData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticMaterialData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStrain.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStrainData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStrainData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStress.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStressData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticPlaneStressData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStrain1D.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStrain1DData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStrain1DData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStress1D.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStress1DData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/ElasticStress1DData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DElastic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DElasticData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DElasticData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDep.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDepData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellIsotropic3DTimeDepData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElastic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElasticData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DElasticData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDep.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDepData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/GenMaxwellQpQsIsotropic3DTimeDepData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaterialData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaterialData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DElastic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DElasticData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDep.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDepData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellIsotropic3DTimeDepData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainElastic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainElasticData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDep.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDepData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/MaxwellPlaneStrainTimeDepData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DElastic.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DElasticData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DElasticData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DTimeDep.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DTimeDepData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/PowerLaw3DTimeDepData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/generate.sh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/data/header.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/materials/test_materials.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestCellFilterAvg.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestCellFilterAvg.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterBCMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterBCMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterFaultMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterFaultMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5BCMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5BCMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5BCMeshCases.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5BCMeshCases.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtBCMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtBCMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtBCMeshCases.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtBCMeshCases.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtFaultMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtFaultMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtFaultMeshCases.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtFaultMeshCases.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtMatMeshCases.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtMatMeshCases.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtMeshCases.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtMeshCases.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtSubMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtSubMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtSubMeshCases.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5ExtSubMeshCases.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5FaultMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5FaultMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5FaultMeshCases.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5FaultMeshCases.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5MatMeshCases.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5MatMeshCases.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5Mesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5Mesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5MeshCases.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5MeshCases.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5SubMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5SubMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5SubMeshCases.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterHDF5SubMeshCases.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterSubMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterSubMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTK.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTK.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKBCMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKBCMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKBCMeshCases.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKBCMeshCases.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKFaultMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKFaultMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKFaultMeshCases.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKFaultMeshCases.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKMatMeshCases.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKMatMeshCases.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKMeshCases.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKMeshCases.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKSubMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKSubMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKSubMeshCases.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestDataWriterVTKSubMeshCases.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestHDF5.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestHDF5.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestMeshIO.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestMeshIO.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestMeshIOAscii.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestMeshIOAscii.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestMeshIOCubit.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestMeshIOCubit.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestMeshIOLagrit.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestMeshIOLagrit.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestOutputManager.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestOutputManager.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestOutputSolnSubset.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestOutputSolnSubset.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestVertexFilterVecNorm.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestVertexFilterVecNorm.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataBCMeshTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataFaultMeshTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMatMeshTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataMeshTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterHDF5DataSubMeshTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataBCMeshTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataFaultMeshTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMatMeshTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataMeshTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshHex8.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshHex8.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshLine2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshLine2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshQuad4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshQuad4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTet4.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTet4.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTri3.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/DataWriterVTKDataSubMeshTri3.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din2D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din2D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData1Din3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2Din3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData2Din3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3D.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3D.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3DIndexOne.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshData3DIndexOne.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitHex.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitHex.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitQuad.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitQuad.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTet.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTet.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTri.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataCubitTri.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataLagritTet.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/MeshDataLagritTet.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/cube2.lagrit
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/hex8.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/hex8_bc.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/hex8_bc_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/hex8_bc_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/hex8_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/hex8_fault.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/hex8_fault_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/hex8_fault_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/hex8_mat.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/hex8_mat_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/hex8_mat_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/hex8_surf.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/hex8_surf_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/hex8_surf_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/hex8_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/line2.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/line2_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/line2_mat.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/line2_mat_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/line2_mat_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/line2_surf.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/line2_surf_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/line2_surf_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/line2_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/quad4.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/quad4_bc.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/quad4_bc_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/quad4_bc_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/quad4_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/quad4_fault.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/quad4_fault_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/quad4_fault_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/quad4_mat.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/quad4_mat_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/quad4_mat_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/quad4_surf.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/quad4_surf_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/quad4_surf_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/quad4_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tet4.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tet4_bc.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tet4_bc_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tet4_bc_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tet4_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tet4_fault.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tet4_fault_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tet4_fault_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tet4_mat.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tet4_mat_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tet4_mat_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tet4_surf.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tet4_surf_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tet4_surf_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tet4_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tri3.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tri3_bc.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tri3_bc_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tri3_bc_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tri3_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tri3_fault.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tri3_fault_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tri3_fault_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tri3_mat.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tri3_mat_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tri3_mat_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tri3_surf.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tri3_surf_cell.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tri3_surf_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/data/tri3_vertex.h5
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/test_meshio.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldSubMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldSubMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldsMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldsMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldsNewMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldsNewMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldsSubMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldsSubMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestJacobian.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestJacobian.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestMeshOps.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestMeshOps.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestRefineUniform.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestRefineUniform.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestSolutionFields.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestSolutionFields.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestSubMesh.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestSubMesh.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesive.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesive.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2Fault1.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveHex8Level2Fault1.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2Fault1.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveQuad4Level2Fault1.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2Fault1.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTet4Level2Fault1.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2Fault1.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/data/MeshDataCohesiveTri3Level2Fault1.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/test_topology.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/utils/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/utils/TestEventLogger.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/utils/TestEventLogger.hh
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/utils/test_utils.cc
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/bc/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/bc/TestAbsorbingDampers.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/bc/TestDirichletBC.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/bc/TestDirichletBoundary.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/bc/TestNeumann.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/bc/data/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/bc/testbc.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/TestBruneSlipFn.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/TestConstRateSlipFn.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/TestEqKinSrc.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/TestFaultCohesiveDyn.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/TestFaultCohesiveKin.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/TestLiuCosSlipFn.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/TestSingleRupture.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/TestStepSlipFn.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/TestTimeHistorySlipFn.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/data/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/faults/testfaults.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestCellGeometry.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityExplicit.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityExplicitLgDeform.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityImplicit.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestElasticityImplicitLgDeform.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestFIATLagrange.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestFIATSimplex.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestMeshQuadrature.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestSubMeshQuadrature.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/data/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/testfeassemble.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/friction/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/friction/TestFrictionModel.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/friction/TestRateStateAgeing.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/friction/TestSlipWeakening.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/friction/TestStaticFriction.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/friction/data/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/friction/testfriction.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/materials/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/materials/TestDruckerPrager3D.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/materials/TestElasticIsotropic3D.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/materials/TestElasticMaterial.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/materials/TestElasticPlaneStrain.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/materials/TestElasticPlaneStress.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/materials/TestElasticStrain1D.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/materials/TestElasticStress1D.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/materials/TestGenMaxwellIsotropic3D.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/materials/TestGenMaxwellQpQsIsotropic3D.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/materials/TestHomogeneous.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/materials/TestMaterial.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/materials/TestMaxwellIsotropic3D.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/materials/TestMaxwellPlaneStrain.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/materials/TestPowerLaw3D.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/materials/data/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/materials/testmaterials.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/TestCellFilterAvg.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/TestDataWriterHDF5.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/TestDataWriterVTK.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/TestMeshIOAscii.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/TestMeshIOCubit.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/TestMeshIOLagrit.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/TestOutputManagerMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/TestOutputManagerSubMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/TestOutputSolnSubset.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/TestSingleOutput.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/TestVertexFilterVecNorm.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/data/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/testcubit.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/testhdf5.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/meshio/testmeshio.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/mpi/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/mpi/TestCommunicator.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/mpi/testmpi.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/problems/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/problems/TestTimeStep.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/problems/TestTimeStepAdapt.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/problems/TestTimeStepUniform.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/problems/TestTimeStepUser.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/problems/data/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/problems/testproblems.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/topology/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/topology/TestFieldBase.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/topology/TestJacobian.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/topology/TestMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/topology/TestMeshField.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/topology/TestMeshFields.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/topology/TestMeshGenSimple.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/topology/TestMeshGenerator.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/topology/TestMeshImporter.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/topology/TestRefineUniform.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/topology/TestSolutionFields.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/topology/TestSubMesh.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/topology/data/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/topology/testgensimple.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/topology/testtopology.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/utils/Makefile.am
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/utils/TestEventLogger.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/utils/TestPetscManager.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/utils/testmanager.py
   short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/utils/testutils.py
Log:
Merge from trunk.


Property changes on: short/3D/PyLith/branches/pylith-scecdynrup
___________________________________________________________________
Name: buildbot:config
   - # -*- cfg -*-
# vim:set ft=cfg:


[packaging]

directories =
    share/spatialdata
    share/proj

libraries =
    cppunit
    netcdf
    proj
    pylith
    spatialdata
    mpi
    blas
    lapack
    petsc-dev
    chaco

python =
    Cheetah*
    FIAT*
    merlin*
    nemesis*
    numpy*
    pylith
    PyLith.egg-info
    pythia*
    spatialdata*

programs = 
    nemesis
    mpinemesis
    proj
    nad2nad
    nad2bin
    geod
    cs2cs
    ncgen
    ncdump

scripts =
    pylith
    pylithinfo
    pyconvert.py
    gensimpledb.py

files =
    share/gen1Din2D_one_add.spatialdb
    share/gen1Din2D_one_bg.spatialdb
    share/gen1Din2D_one_multiply.spatialdb
    share/gen1Din2D_two_bg.spatialdb
    share/gen1Din2D_two_divide.spatialdb
    share/gen1Din2D_two_subtract.spatialdb
    share/gensimpledb.cfg
    share/spatialdb.dat
    share/testgen1din2d.odb
    share/testgen1din2d_one.odb
    share/testgen1din2d_two.odb


   + # -*- cfg -*-

[packaging]

bin_dirs =
    bin

lib_dirs =
    lib

misc_dirs =
    etc
    share

files =
    ./setup.sh


strip_list =
    lib/libpylith
    lib/libspatialdata

exclude =
    bin/cpp$
    bin/c\+\+$
    bin/gcc$
    bin/gccbug
    bin/g\+\+$
    bin/gcov
    bin/gfortran$
    bin/.*-.*-c\+\+.*
    bin/.*-.*-g\+\+.*
    bin/.*-.*-gcc.*
    bin/.*-.*-gfortran.*
    bin/mpicc
    bin/mpicxx
    bin/mpic\+\+
    bin/mpif77
    bin/mpif90
    bin/TOPSGenerator\.py
    bin/TOPSInstaller\.py
    bin/adiforfix\.py
    bin/adprocess\.py
    bin/2to3
    bin/bfort
    bin/bib2html
    bin/bsp_virtual
    bin/configVars\.py
    bin/doc2lt
    bin/doctext
    bin/f2py
    bin/maint/.*
    bin/matio\.py
    bin/matlab/.*
    bin/parseargs\.py
    bin/petsc_libtool
    bin/petscmpiexec
    bin/petscrun
    bin/popup
    bin/portabilitycheck\.py
    bin/processSummary\.py
    bin/pstogif
    bin/pstoxbm
    bin/task_manager
    bin/taucc\.py
    bin/tohtml
    bin/update\.py
    bin/urlget
    bin/urlget\.py
    bin/win32fe/.*
    share/man/man1/cpp\.1
    share/man/man1/g\+\+\.1
    share/man/man1/gcc\.1
    share/man/man1/gfortran\.1
    share/man/man3/.*
    share/info/.*
    share/doc/.*
    lib/.*\.a
    lib/gcc/.*-.*/.*

scripts =
    pylith
    pylithinfo
    pylith_genxdmf
    pyconvert.py
    gensimpledb.py
    powerlaw_gendb.py






Modified: short/3D/PyLith/branches/pylith-scecdynrup/COPYING
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/COPYING	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/COPYING	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,4 +1,4 @@
-Copyright (c) 2010 University of California, Davis
+Copyright (c) 2010-2011 University of California, Davis
 
 Permission is hereby granted, free of charge, to any person obtaining
 a copy of this software and associated documentation files (the

Modified: short/3D/PyLith/branches/pylith-scecdynrup/DEPENDENCIES
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/DEPENDENCIES	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/DEPENDENCIES	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,3 +1,5 @@
+See INSTALL for suggested methods for installing PyLith.
+
 REQUIRED DEPENDENCIES
 
 MPI
@@ -13,6 +15,7 @@
 OPTIONAL DEPENDENCIES
 
 cppunit
+HDF5
 CUBIT
   netcdf
 PETSc (development version) w/TetGen and ParMetis

Modified: short/3D/PyLith/branches/pylith-scecdynrup/INSTALL
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/INSTALL	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/INSTALL	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,266 +1,9 @@
 Installation instructions are available in the PyLith manual
 available on the CIG website
-(http://www.geodynamics.org/cig/software/packages/short/pylith/).
+(http://www.geodynamics.org/cig/software/pylith).
 
-Detailed instructions for installing PyLith on several platforms are
-available in the doc/install directory.
-
-System Requirements
-===================
-
-PyLith should work on any UN*X system.  It requires the following
-language tools:
-
-* A C compiler.
-
-* A C++ compiler.
-
-* Python 2.3 or later; see <http://www.python.org/>.
-
-If you are using a modern UN*X system, there is a good chance that all
-of the above tools are already installed.
-
-In addition, PyLith v1.4 requires the following software packages:
-
-1. MPI
-2. PETSc
-3. Pythia (CIG)
-4. Nemesis (CIG)
-5. Proj
-6. Cppunit (optional; needed to run tests)
-7. Netcdf (optional; needed to import meshes from CUBIT)
-8. Numpy
-9. FIAT
-10. Spatialdata (CIG)
-
-Generic GNU Installation Instructions
-*************************************
-
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004 Free
-Software Foundation, Inc.
-
-This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
-
-Basic Installation
-==================
-
-These are generic installation instructions.
-
-   The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
-
-   It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring.  (Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.)
-
-   If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release.  If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
-   The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'.  You only need
-`configure.ac' if you want to change it or regenerate `configure' using
-a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.  If you're
-     using `csh' on an old version of System V, you might need to type
-     `sh ./configure' instead to prevent `csh' from trying to execute
-     `configure' itself.
-
-     Running `configure' takes awhile.  While running, it prints some
-     messages telling which features it is checking for.
-
-  2. Type `make' to compile the package.
-
-  3. Optionally, type `make check' to run any self-tests that come with
-     the package.
-
-  4. Type `make install' to install the programs and any data files and
-     documentation.
-
-  5. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  To also remove the
-     files that `configure' created (so you can compile the package for
-     a different kind of computer), type `make distclean'.  There is
-     also a `make maintainer-clean' target, but that is intended mainly
-     for the package's developers.  If you use it, you may have to get
-     all sorts of other programs in order to regenerate files that came
-     with the distribution.
-
-Compilers and Options
-=====================
-
-Some systems require unusual options for compilation or linking that the
-`configure' script does not know about.  Run `./configure --help' for
-details on some of the pertinent environment variables.
-
-   You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment.  Here
-is an example:
-
-     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
-
-   *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
-You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory.  To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'.  `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
-   If you have to use a `make' that does not support the `VPATH'
-variable, you have to compile the package for one architecture at a
-time in the source code directory.  After you have installed the
-package for one architecture, use `make distclean' before reconfiguring
-for another architecture.
-
-Installation Names
-==================
-
-By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc.  You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PREFIX'.
-
-   You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files.  If you
-give `configure' the option `--exec-prefix=PREFIX', the package will
-use PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
-   In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files.  Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
-
-   If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
-Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
-   For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
-There may be some features `configure' cannot figure out automatically,
-but needs to determine by the type of machine the package will run on.
-Usually, assuming the package is built to be run on the _same_
-architectures, `configure' can figure that out, but if it prints a
-message saying it cannot guess the machine type, give it the
-`--build=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
-     CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
-     OS KERNEL-OS
-
-   See the file `config.sub' for the possible values of each field.  If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
-   If you are _building_ compiler tools for cross-compiling, you should
-use the `--target=TYPE' option to select the type of system they will
-produce code for.
-
-   If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
-
-Sharing Defaults
-================
-
-If you want to set default values for `configure' scripts to share, you
-can create a site shell script called `config.site' that gives default
-values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Defining Variables
-==================
-
-Variables not defined in a site shell script can be set in the
-environment passed to `configure'.  However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost.  In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'.  For example:
-
-     ./configure CC=/usr/local2/bin/gcc
-
-will cause the specified gcc to be used as the C compiler (unless it is
-overridden in the site shell script).
-
-`configure' Invocation
-======================
-
-`configure' recognizes the following options to control how it operates.
-
-`--help'
-`-h'
-     Print a summary of the options to `configure', and exit.
-
-`--version'
-`-V'
-     Print the version of Autoconf used to generate the `configure'
-     script, and exit.
-
-`--cache-file=FILE'
-     Enable the cache: use and save the results of the tests in FILE,
-     traditionally `config.cache'.  FILE defaults to `/dev/null' to
-     disable caching.
-
-`--config-cache'
-`-C'
-     Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
-     Do not print messages saying which checks are being made.  To
-     suppress all normal output, redirect it to `/dev/null' (any error
-     messages will still be shown).
-
-`--srcdir=DIR'
-     Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
-
-`configure' also accepts some other, not widely useful, options.  Run
-`configure --help' for more details.
-
+We *STRONGLY* recommend that you first become familiar with PyLith
+using the binary packages before attempting to install PyLith from
+source. If you want to install from source, we recommend using the
+PyLith Installer, which is available on the PyLith webpage listed
+above.

Modified: short/3D/PyLith/branches/pylith-scecdynrup/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/Makefile.am	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/Makefile.am	2011-06-15 22:30:12 UTC (rev 18638)
@@ -9,7 +9,7 @@
 # This code was developed as part of the Computational Infrastructure
 # for Geodynamics (http://geodynamics.org).
 #
-# Copyright (c) 2010 University of California, Davis
+# Copyright (c) 2010-2011 University of California, Davis
 #
 # See COPYING for license information.
 #
@@ -28,7 +28,10 @@
 
 if ENABLE_TESTING
   SUBDIRS += \
-	unittests \
+	unittests 
+endif
+if ENABLE_FULL_TESTING
+  SUBDIRS += \
 	tests_auto
 endif
 

Modified: short/3D/PyLith/branches/pylith-scecdynrup/README
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/README	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/README	2011-06-15 22:30:12 UTC (rev 18638)
@@ -3,7 +3,7 @@
 not permitted.
 
 
-We are pleased to announce release of PyLith version 1.5.1
+We are pleased to announce release of PyLith version 1.6.0
 
 Please submit bug reports via the World Wide Web at:
     http://geodynamics.org/roundup    
@@ -25,7 +25,7 @@
 
 You can download the source code and binaries from
 
-    http://geodynamics.org/cig/software/packages/short/pylith
+    http://geodynamics.org/cig/software/pylith
 
 Installation instructions are in the bundled README and INSTALL  
 files, as well as in the User Manual on the web page.
@@ -67,6 +67,76 @@
 
 
 ======================================================================
+MIGRATING FROM VERSION 1.5 TO 1.6
+======================================================================
+
+No changes in parameters are required.
+
+----------------------------------------------------------------------
+Version 1.6.0
+----------------------------------------------------------------------
+
+* New features
+
+  * Parallel binary output via HDF5
+
+    Provides much faster output by writing HDF5 files in parallel,
+    which can be accessed directly from Matlab or indirectly from
+    ParaView or Visit via automatically created Xdmf files. Temporal
+    data is stored in 3-D arrays, permitting slicing in time and/or
+    space. See examples/3d/hex8 Steps 6-9 and examples/2d/subduction
+    in the tutorials for examples.
+
+ * 2-D generalized Maxwell viscoelastic bulk rheology
+
+    Added a 2-D generalized Maxwell viscoelastic bulk rheology
+    corresponding to the plane strain version of the 3-D generalized
+    Maxwell viscoelastic model.
+
+ * Time-weakening fault constitutive model
+
+    Added a linear time-weakening fault constitutive model. Some
+    spontaneous rupture modelers prefer this model over linear
+    slip-weakening because it is easier to maintain resolution of the
+    cohesive zone.
+
+ * Global uniform parallel mesh refinement
+
+    Permits running larger problems through uniform global refinement
+    of the mesh by a factor of 2 (reduces the node spacing by a factor
+    of 2) after the mesh is distributed among processors. This allows
+    running problems that are 4x larger in 2-D and 8x larger in
+    3-D. See examples/3d/tet4 Steps 2 and 4 for examples.
+  
+ * Custom algebraic multigrid preconditioner
+
+    Adds a custom preconditioner for Lagrange multiplier degrees of
+    freedom associated with fault slip via prescribed slip or
+    spontaneous ruptures with algebraic multigrid preconditioning for
+    quasi-static solutions. In most cases, this results in fewer
+    iterations in the linear solve and the number of iterations
+    increases much less with problem size. See examples/3d/tet4 Steps
+    2 and 4 for examples.
+
+  * PyLith installer utility
+
+    This utility provides a much more robust method for building
+    PyLith and all of its dependencies from source, including
+    dependency checking, installation to a central location, and
+    creation of a shell script to set environment variables. 
+
+* Bug fixes
+
+    - Fixed the fault friction implementation to correctly update Lagrange
+      multiplier values when the slip is overestimated in an
+      iteration. This primary fixes problems encountered with the use
+      of the Dieterich-Ruina rate and state fault constitutive model.
+
+    - Corrected viscoelastic rheologies to properly account for a
+      nonzero initial strain tensor.
+
+
+======================================================================
 MIGRATING FROM VERSION 1.4 TO 1.5
 ======================================================================
 
@@ -102,6 +172,37 @@
 the up-dip direction.
 
 ----------------------------------------------------------------------
+Version 1.5.2
+----------------------------------------------------------------------
+
+  * PyLith 1.5.2 requires FIAT version 0.9.9 or later and an updated
+    PETSc development version. It also requires users to update to the
+    latest spatialdata version for compatibility of the SWIG generated
+    files. These are included in the binary distribution, but users
+    building PyLith from source will need to update FIAT, PETSc, and
+    spatialdata.
+
+  * Bug fixes
+
+    - Fixed setting of elastic constants in DruckerPrager3D and
+      computation of the yield function. Some off-diagonal elasticity
+      constants were off by a factor of 2.0 and the yield function was
+      missing a factor of 0.5 and sqrt().
+
+    - Fixed computation of stable time step when using initial
+      stresses with PowerLaw3D. If effective stress is zero, then
+      stable time step is infinite.
+
+    - Re-enabled check for compatibility of quadrature scheme and
+      cells for bulk rheologies.
+
+    - Added check to configure for compatible version of FIAT.
+
+    - Fixed bug where buffer for output of initial stresses for
+      dynamic (spontaneous) rupture.
+
+
+----------------------------------------------------------------------
 Version 1.5.1
 ----------------------------------------------------------------------
 

Modified: short/3D/PyLith/branches/pylith-scecdynrup/TODO
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/TODO	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/TODO	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,60 +1,115 @@
 ======================================================================
-CURRENT ISSUES/PRIORITIES (1.6.0)
+CURRENT ISSUES/PRIORITIES (1.7.0)
 ======================================================================
 
-* Check for FIAT during configure.
+* GenMaxwellQpQs [BRAD]
 
-* GenMaxwellQpQs
+  2-D and 3-D versions
+  Need to redo Maxwell time calculation. Use ratio.
+  Create benchmark for test (compare against fk)
 
-  How to define viscosity and combinations?????
+* Make nucleation for spontaneous rupture modular [BRAD]
 
-* Fault preconditioner
+  spatial and temporal variation in shear/normal stress for nucleation
 
-  FaultCohesiveLagrange::calcPreconditioner() [need unit test]
+* Reimplement parameters to use PackedFields. [BRAD]
 
-  propagate use of field split from SolverLinear to SolverNonlinear [MATT]
-    make sure we reform the preconditioner when we reform the Jacobian
+    Fields
+    FieldsNew -> PackedFields
+    SolutionFields [do this in multifields]
+      Use PackedFields for acc, vel, disp(t+dt), disp(t), etc?
+      Use Field for dispIncr(t->t+dt), residual(t)
 
-* Unform global refinement
+* Field split.
 
-  hex8, level 2 [Need to update overlap]
+    Add flag to material [default is false] for creating null vector
+    When setting up solver, create null vector, and pass it to KSP
 
-* Output to HDF5 files.
+  Need to check performance of custom fault preconditioner.
 
-    Add time dataset to vertex_fields and cell_fields.
 
-    Add creation of .xmf metadata file for ParaView/Visit. 
-    Will this work for [#timesteps, #points, fiberDim]?
+* Cleanup
 
+    Add elasticPrestep() to Formulation
+    Remove solnIncr, keep setField()
 
-* Reimplement Fields to use a single section.
+* 2-D materials
 
-    Fields
-    FieldsNew -> CombinedFields
-    SolutionFields
-      Use CombinedFields for acc, vel, disp(t+dt), disp(t), etc?
-      Use Field for dispIncr(t->t+dt), residual(t)
+  + DruckerPragerPlaneStrain (Drucker-Prager plane strain ) [Charles]
+  + PowerLawPlaneStrain (power law plane strain ) [Charles]
 
-* Cleanup
-  + memory model
-  + full-scale testing
-  + Code cleanup
+* Scalable distribution [MATT]
 
+  + It appears that topology adjustment is not currently limiting the runs
+  + Need a more memory scalable Distribution
+    + Consider simple distribution, followed by cleanup
+  + I think the Overlap structure is probably taking up all the memory
+    + send/recvMeshOverlap is only used in completeConesV() to call SimpleCopy::copy()
+      + Can we use a lighter-weight structure to sit in copy()?
+
+  + Need ribbon around fault in order to develop algorithm
+
+* Line search [MATT]
+
+  Line search should be improved to include the inequality constraints.
+
+----------------------------------------
+MISCELLANEOUS
+----------------------------------------
+
+* Memory model [MATT and BRAD]
+
+  (1) The memory logging for distribution logs Creation and Stratification
+  as Creation. Because we set the logging stages in PyLith and these
+  are lumped together within the same Sieve routine, we cannot
+  separate them.
+
+  (2) When we deallocate the distributed mesh, we do not deallocate all of
+  the memory. This suggests some object is leaking memory.
+
+  (3) The memory used by the distributed mesh is much greater than
+  that predicted by the memory model. MATT- Could this be related to
+  each processor having lots of gaps in the range of cells and
+  vertices it has?
+
+  - Can Fusion be leaking memory?
+
+  - How do we separate parallel stratification?
+
+  IntSections - Matt improved distribution to use allow IntSections
+  over vertices or cells rather than vertices + cells. This cuts
+  differences down to 75%.
+
+  Need to check sum, because we may not be tracking deallocation.
+
 ----------------------------------------------------------------------
 SECONDARY PRIORITIES
 ----------------------------------------------------------------------
 
 * Paper
 
+  
+  geometry processing (adjusting topology)
+  discretization (cohesive cells)
+  model (Lagrange multipliers)
+    Slip functions
+    Fault constitutive models
+  solver
+  benchmarks
+    Savage and Prescott
+    Dynamic
+  real problem  
+
   General paper - focus on fault implementation
 
   Custom preconditioner
 
+* Fault preconditioner [BRAD]
+
+  FaultCohesiveLagrange::calcPreconditioner() [need unit test]
+
 * Cleanup
 
-    Add elasticPrestep() to Formulation
-    Remove solnIncr, keep setField()
-
     Consistent use of Schur complement
 
       + adjustSolnLumped()
@@ -69,7 +124,12 @@
   + Specialized elasticity integrator objects for Quad4, Hex8?
     - Add for lgdeform, implicit time integration?
 
+* Explicit time step
 
+  utility code
+    Compute stable explicit time step
+    Write stable time step explicit (CFL, adhoc)
+
 * Interpolated meshes + temperature field
   No fault, linear elasticity
   Benchmark memory use and speed
@@ -77,14 +137,6 @@
   Incompressibility, temperature/heat
 
 
-* Cleanup of materials [stable]
-
-  + Account for initial strain in viscoelastic models
-
-  + Cleanup documentation
-    + Move formulations not used to Appendix
-    + Cleanup notation
-
 * Testing
   + Need full-scale test with variation in physical properties
     within a material.
@@ -95,18 +147,15 @@
 
   FaultCohesiveKinDyn
 
-  Kinematic slip in confined space/time region, otherwise governed by
-  fault constitutive model.
+    Add EqKinSrcs to FaultCohesiveDyn
 
+    Use kinematic slip unless fault constitutive model suggests larger slip
+
 * utilities
   + pylith_eqsummary
     Calculate eq statistics for given slip model (VTK output).
     Ability to get shear modulus on both sides of the fault (use fault normal).
 
-* GenMaxwellPlaneStrain (plane strain Generalize Maxwell model) [Charles]
-
-* DruckerPragerPlaneStrain (Drucker-Prager plane strain ) [Charles]
-
 * Lumped solver [Brad]
   + Need to finish unit tests
 
@@ -142,16 +191,6 @@
       compute total strain (if nec)
       compute strain rate, get maximum
     
-* Explicit time step
-
-  utility code
-    Compute stable explicit time step
-    Write stable time step explicit (CFL, adhoc)
-
-* Manual
-
-  Are material models consistent with governing equations discussion?
-
 ----------------------------------------------------------------------
 CLEANUP
 ----------------------------------------------------------------------
@@ -359,29 +398,20 @@
 ======================================================================
 
 ----------------------------------------------------------------------
-Release 1.6
+Release 1.7
 ----------------------------------------------------------------------
 
-  1. HDF5 output
+  1. Damping for Q
+    Generalized Maxwell approach for attenuation
 
-     Write data into raw binary data file, compress each time chunk
+  2. 2-D materials
+    + DruckerPragerPlaneStrain (Drucker-Prager plane strain)
+    + PowerLawPlaneStrain (power law plane strain )
 
-       Datasets contain entire time histories (makes it possible to
-       slice along time or space)
+  3. Scalable mesh distribution
 
-     HDF5 metadata file points to raw binary data file
-
-  2. Output data at arbitrary point locations
-
-     Interpolate solution to desired location
-     Solution field (time history)
-
-  4. Uniform global refinement
-
-  6. FaultCohesiveTract (dikes)
-
 ----------------------------------------------------------------------
-Release 1.7
+Release 2.0
 ----------------------------------------------------------------------
 
   1. Restart / checkpointing
@@ -393,15 +423,6 @@
 
   3. Coupling of quasi-static and dynamic simulations
 
-  4. Damping for Q
-    Mass/stiffness proportional damping for attenuation
-
-  4. Improved support for spherical geometry in user-interface
-
-----------------------------------------------------------------------
-Release 2.0
-----------------------------------------------------------------------
-
   1. Higher order cells
 
      Nonisoparametric cells
@@ -410,9 +431,20 @@
        Update quadrature to use CellGeometry refPtsToGlobal() and
        jacobian() Remove CellGeometry jacobian(double_array)
 
-  2. XFEM fault implementation
+  2. Output data at arbitrary point locations
 
+     Interpolate solution to desired location
+     Solution field (time history)
+
 ----------------------------------------------------------------------
+Low-priority items (release unknown)
+----------------------------------------------------------------------
+
+  6. FaultCohesiveTract (dikes)
+
+  4. Improved support for spherical geometry in user-interface
+
+----------------------------------------------------------------------
 LONG TERM WISH LIST
 ----------------------------------------------------------------------
 

Modified: short/3D/PyLith/branches/pylith-scecdynrup/applications/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/applications/Makefile.am	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/applications/Makefile.am	2011-06-15 22:30:12 UTC (rev 18638)
@@ -9,7 +9,7 @@
 # This code was developed as part of the Computational Infrastructure
 # for Geodynamics (http://geodynamics.org).
 #
-# Copyright (c) 2010 University of California, Davis
+# Copyright (c) 2010-2011 University of California, Davis
 #
 # See COPYING for license information.
 #

Modified: short/3D/PyLith/branches/pylith-scecdynrup/applications/pylith.in
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/applications/pylith.in	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/applications/pylith.in	2011-06-15 22:30:12 UTC (rev 18638)
@@ -10,7 +10,7 @@
 # This code was developed as part of the Computational Infrastructure
 # for Geodynamics (http://geodynamics.org).
 #
-# Copyright (c) 2010 University of California, Davis
+# Copyright (c) 2010-2011 University of California, Davis
 #
 # See COPYING for license information.
 #

Modified: short/3D/PyLith/branches/pylith-scecdynrup/applications/pylith_prepmesh.in
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/applications/pylith_prepmesh.in	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/applications/pylith_prepmesh.in	2011-06-15 22:30:12 UTC (rev 18638)
@@ -10,7 +10,7 @@
 # This code was developed as part of the Computational Infrastructure
 # for Geodynamics (http://geodynamics.org).
 #
-# Copyright (c) 2010 University of California, Davis
+# Copyright (c) 2010-2011 University of California, Davis
 #
 # See COPYING for license information.
 #

Modified: short/3D/PyLith/branches/pylith-scecdynrup/applications/utilities/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/applications/utilities/Makefile.am	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/applications/utilities/Makefile.am	2011-06-15 22:30:12 UTC (rev 18638)
@@ -9,15 +9,17 @@
 # This code was developed as part of the Computational Infrastructure
 # for Geodynamics (http://geodynamics.org).
 #
-# Copyright (c) 2010 University of California, Davis
+# Copyright (c) 2010-2011 University of California, Davis
 #
 # See COPYING for license information.
 #
 # ----------------------------------------------------------------------
 #
 
-dist_bin_SCRIPTS = pylithinfo \
-		   powerlaw_gendb.py
+dist_bin_SCRIPTS = \
+	pylithinfo \
+	pylith_genxdmf \
+	powerlaw_gendb.py
 
 
 # End of file 

Modified: short/3D/PyLith/branches/pylith-scecdynrup/applications/utilities/powerlaw_gendb.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/applications/utilities/powerlaw_gendb.py	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/applications/utilities/powerlaw_gendb.py	2011-06-15 22:30:12 UTC (rev 18638)
@@ -9,7 +9,7 @@
 # This code was developed as part of the Computational Infrastructure
 # for Geodynamics (http://geodynamics.org).
 #
-# Copyright (c) 2010 University of California, Davis
+# Copyright (c) 2010-2011 University of California, Davis
 #
 # See COPYING for license information.
 #

Copied: short/3D/PyLith/branches/pylith-scecdynrup/applications/utilities/pylith_genxdmf (from rev 18637, short/3D/PyLith/trunk/applications/utilities/pylith_genxdmf)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/applications/utilities/pylith_genxdmf	                        (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/applications/utilities/pylith_genxdmf	2011-06-15 22:30:12 UTC (rev 18638)
@@ -0,0 +1,74 @@
+#!/usr/bin/env nemesis
+#
+# ======================================================================
+#
+# 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-2011 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ======================================================================
+#
+
+# This script creates a metadata file (.xmf) from an HDF5 file written
+# by PyLith permitting the data to be viewed in VTK visualization
+# software, such as ParaView and Visit.
+#
+# Usage: pylith_genxdmf --file=FILE
+
+__requires__ = "PyLith"
+
+
+# ======================================================================
+class GenXdmfApp(object):
+  """
+  Application for generating an Xdmf file for an HDF5 file.
+  """
+
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+
+  def __init__(self, name="pylith_genxdmf"):
+    """
+    Constructor.
+    """
+    self.filename = "output.h5"
+    return
+
+
+  def main(self, *args, **kwds):
+    """
+    Main entry point for application.
+    """
+    from pylith.meshio.Xdmf import Xdmf
+    writer = Xdmf()
+    filenameHDF5 = self.filename
+    filenameXdmf = filenameHDF5.replace(".h5", ".xmf")
+    writer.write(filenameXdmf, filenameHDF5)
+    return
+
+
+# ----------------------------------------------------------------------
+if __name__ == "__main__":
+
+  usage = "%prog --file=FILE"
+  from optparse import OptionParser
+  parser = OptionParser(usage=usage)
+  parser.add_option("-f", "--file", 
+                    dest="filename",
+                    type="string", metavar="FILE",
+                    help="Create Xdmf file for HDF5 file FILE. [output.h5]",
+                    default="output.h5")
+  (options, args) = parser.parse_args()
+
+  app = GenXdmfApp()
+  app.filename = options.filename
+  app.main()
+
+
+# End of file 

Modified: short/3D/PyLith/branches/pylith-scecdynrup/applications/utilities/pylithinfo
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/applications/utilities/pylithinfo	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/applications/utilities/pylithinfo	2011-06-15 22:30:12 UTC (rev 18638)
@@ -9,7 +9,7 @@
 # This code was developed as part of the Computational Infrastructure
 # for Geodynamics (http://geodynamics.org).
 #
-# Copyright (c) 2010 University of California, Davis
+# Copyright (c) 2010-2011 University of California, Davis
 #
 # See COPYING for license information.
 #

Modified: short/3D/PyLith/branches/pylith-scecdynrup/configure.ac
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/configure.ac	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/configure.ac	2011-06-15 22:30:12 UTC (rev 18638)
@@ -9,7 +9,7 @@
 # This code was developed as part of the Computational Infrastructure
 # for Geodynamics (http://geodynamics.org).
 #
-# Copyright (c) 2010 University of California, Davis
+# Copyright (c) 2010-2011 University of California, Davis
 #
 # See COPYING for license information.
 #
@@ -17,7 +17,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.59)
-AC_INIT([PyLith], [1.5.1], [cig-short at geodynamics.org])
+AC_INIT([PyLith], [1.6.0], [cig-short at geodynamics.org])
 AC_CONFIG_AUX_DIR([./aux-config])
 AC_CONFIG_HEADER([portinfo])
 AC_CONFIG_MACRO_DIR([m4])
@@ -27,18 +27,12 @@
 # PYTHON
 AC_ARG_VAR(PYTHON, [Python interpreter])
 AC_ARG_VAR(PYTHONPATH, [Python module search path])
-AC_ARG_WITH([embedding],
-    [AC_HELP_STRING([--with-embedding],
-        [embed Python with PyLith in a single executable @<:@default=yes@:>@])],
-    [want_embedding="$withval"],
-    [want_embedding=no])
-AM_CONDITIONAL([COND_EMBEDDING], [test "$want_embedding" = yes])
 
 # SWIG
 AC_ARG_ENABLE([swig],
     [AC_HELP_STRING([--enable-swig],
         [enable generating modules with SWIG) @<:@default=no@:>@])],
-	[enable_swig=yes],
+	[if test "$enableval" = yes ; then enable_swig=yes; else enable_swig=no; fi],
 	[enable_swig=no])
 AM_CONDITIONAL([ENABLE_SWIG], [test "$enable_swig" = yes])
 
@@ -46,17 +40,29 @@
 AC_ARG_ENABLE([testing],
     [AC_HELP_STRING([--enable-testing],
         [enable unit testing with cppunit (requires cppunit) @<:@default=no@:>@])],
-	[enable_testing=yes],
+	[if test "$enableval" = yes ; then enable_testing=yes; else enable_testing=no; fi],
 	[enable_testing=no])
 AM_CONDITIONAL([ENABLE_TESTING], [test "$enable_testing" = yes])
+# Enable full-scale testing except on cygwin (need to rebase)
+if test "$enable_testing" = yes ; then
+  enable_full_testing=yes
+  AC_CANONICAL_HOST
+  case $host_os in
+    cygwin*)
+      enable_full_testing=no ;;
+  esac
+fi
+AM_CONDITIONAL([ENABLE_FULL_TESTING], [test "$enable_full_testing" = yes])
 
 # CUBIT I/O w/netcdf
 AC_ARG_ENABLE([cubit],
     [AC_HELP_STRING([--enable-cubit],
         [enable reading/writing Cubit EXODUS files (requires netcdf) @<:@default=no@:>@])],
-	[enable_cubit=yes
-	CPPFLAGS="-DENABLE_CUBIT $CPPFLAGS"; export CPPFLAGS;
-	PYLITH_SWIG_CPPFLAGS="-DENABLE_CUBIT $PYLITH_SWIG_CPPFLAGS"; export PYLITH_SWIG_CPPFLAGS],
+	[if test "$enableval" = yes ; then 
+	  enable_cubit=yes
+	  CPPFLAGS="-DENABLE_CUBIT $CPPFLAGS"; export CPPFLAGS;
+	  PYLITH_SWIG_CPPFLAGS="-DENABLE_CUBIT $PYLITH_SWIG_CPPFLAGS"; export PYLITH_SWIG_CPPFLAGS
+	else enable_cubit=no; fi],
 	[enable_cubit=no])
 AM_CONDITIONAL([ENABLE_CUBIT], [test "$enable_cubit" = yes])
 AC_SUBST(PYLITH_SWIG_CPPFLAGS)
@@ -65,8 +71,10 @@
 AC_ARG_ENABLE([tetgen],
     [AC_HELP_STRING([--enable-tetgen],
         [enable generating simple meshes w/TetGen via PETSc @<:@default=no@:>@])],
-	[enable_tetgen=yes
-	CPPFLAGS="-DENABLE_TETGEN $CPPFLAGS"; export CPPFLAGS],
+	[if test "$enableval" = yes ; then 
+	  enable_tetgen=yes
+	  CPPFLAGS="-DENABLE_TETGEN $CPPFLAGS"; export CPPFLAGS
+        else enable_tetgen=no; fi],
 	[enable_tetgen=no])
 AM_CONDITIONAL([ENABLE_TETGEN], [test "$enable_tetgen" = yes])
 
@@ -74,19 +82,23 @@
 AC_ARG_ENABLE([hdf5],
     [AC_HELP_STRING([--enable-hdf5],
         [enable output to HDF5 files via PETSc @<:@default=no@:>@])],
-	[enable_hdf5=yes
-	CPPFLAGS="-DENABLE_HDF5 $CPPFLAGS"; export CPPFLAGS
-	PYLITH_SWIG_CPPFLAGS="-DENABLE_HDF5 $PYLITH_SWIG_CPPFLAGS"; export PYLITH_SWIG_CPPFLAGS],
-	[enable_hdf5=no])
+	[if test "$enableval" = yes; then
+          enable_hdf5=yes
+	  CPPFLAGS="-DENABLE_HDF5 $CPPFLAGS"; export CPPFLAGS
+	  PYLITH_SWIG_CPPFLAGS="-DENABLE_HDF5 $PYLITH_SWIG_CPPFLAGS"; export PYLITH_SWIG_CPPFLAGS
+          else enable_hdf5=no; fi],
+	[enable_hdf5=yes])
 AM_CONDITIONAL([ENABLE_HDF5], [test "$enable_hdf5" = yes])
 
 # CUDA
 AC_ARG_ENABLE([cuda],
     [AC_HELP_STRING([--enable-cuda],
         [enable use of CUDA @<:@default=no@:>@])],
-	[enable_cuda=yes
-	CPPFLAGS="-DENABLE_CUDA $CPPFLAGS"; export CPPFLAGS
-	PYLITH_SWIG_CPPFLAGS="-DENABLE_CUDA $PYLITH_SWIG_CPPFLAGS"; export PYLITH_SWIG_CPPFLAGS],
+	[if test "$enable_cuda" = yes; then
+          enable_cuda=yes
+          CPPFLAGS="-DENABLE_CUDA $CPPFLAGS"; export CPPFLAGS
+	  PYLITH_SWIG_CPPFLAGS="-DENABLE_CUDA $PYLITH_SWIG_CPPFLAGS"; export PYLITH_SWIG_CPPFLAGS
+          else enable_cuda=no; fi],
 	[enable_cuda=no])
 AM_CONDITIONAL([ENABLE_CUDA], [test "$enable_cuda" = yes])
 
@@ -94,8 +106,10 @@
 AC_ARG_ENABLE([memory_logging],
     [AC_HELP_STRING([--enable-memory-logging],
         [enable memory logging @<:@default=no@:>@])],
-	[enable_memory_logging=yes
-	CPPFLAGS="-DALE_MEM_LOGGING $CPPFLAGS"; export CPPFLAGS],
+	[if test "$enableval" = yes ; then 
+	  enable_memory_logging=yes
+	  CPPFLAGS="-DALE_MEM_LOGGING $CPPFLAGS"; export CPPFLAGS
+         else enable_memory_logging=no; fi],
 	[enable_memory_logging=no])
 AM_CONDITIONAL([ENABLE_MEMORY_LOGGING], [test "$enable_memory_logging" = yes])
 
@@ -103,7 +117,7 @@
 AC_ARG_ENABLE([documentation],
     [AC_HELP_STRING([--enable-documentation],
         [enable building HTML documentation (requires doxygen) @<:@default=no@:>@])],
-	[enable_documentation=yes],
+	[if test "$enableval" = yes ; then enable_documentation=yes; else enable_documentation=no; fi],
 	[enable_documentation=no])
 AM_CONDITIONAL([ENABLE_DOCUMENTATION], [test "$enable_documentation" = yes])
 
@@ -125,7 +139,7 @@
 
 # PYTHON
 CIT_PATH_NEMESIS
-AM_PATH_PYTHON([2.3])
+AM_PATH_PYTHON([2.4])
 CIT_PYTHON_SYSCONFIG
 
 # MPI
@@ -143,6 +157,9 @@
 # Check for Python modules and packages.
 CIT_PYTHON_EGG_SETUP
 
+# Large file support
+AC_SYS_LARGEFILE
+
 # NUMPY
 CIT_NUMPY_PYTHON_MODULE
 CIT_NUMPY_INCDIR
@@ -157,36 +174,14 @@
 
 # CPPUNIT
 if test "$enable_testing" = "yes" ; then
-  AC_LANG(C++)
-  AC_CHECK_HEADER([cppunit/TestRunner.h], [], [
-    AC_MSG_ERROR([CppUnit header not found; try CPPFLAGS="-I<CppUnit include dir>"])
-  ])
-  AC_MSG_CHECKING([for CppUnit::TestRunner in -lcppunit])
-  AC_REQUIRE_CPP
-  AC_COMPILE_IFELSE(
-    [AC_LANG_PROGRAM([[#include <cppunit/TestRunner.h>]],
-	             [[CppUnit::TestRunner runner;]])],
-    [AC_MSG_RESULT(yes)],
-    [AC_MSG_RESULT(no)
-     AC_MSG_ERROR([CppUnit library not found; try LDFLAGS="-L<CppUnit lib dir>"])
-  ])
+  CIT_CPPUNIT_HEADER
+  CIT_CPPUNIT_LIB
 fi
 
 # CUBIT (netcdf)
 if test "$enable_cubit" = "yes" ; then
-  AC_LANG(C++)
-  AC_CHECK_HEADER([netcdfcpp.h], [], [
-    AC_MSG_ERROR([netcdf C++ header not found; try CPPFLAGS="-I<netcdf include dir>"])
-  ])
-  AC_MSG_CHECKING([for NcFile in -lnetcdfc++])
-  AC_REQUIRE_CPP
-  AC_COMPILE_IFELSE(
-    [AC_LANG_PROGRAM([[#include <netcdfcpp.h>]],
-	             [[NcFile ncfile("filename");]])],
-    [AC_MSG_RESULT(yes)],
-    [AC_MSG_RESULT(no)
-     AC_MSG_ERROR([netcdfc++ library not found; try LDFLAGS="-L<netcdf lib dir>"])
-  ])
+  CIT_NETCDF_HEADER
+  CIT_NETCDF_LIB
 fi
 
 # TETGEN
@@ -211,68 +206,26 @@
 
 # HDF5
 if test "$enable_hdf5" = "yes" ; then
-  AC_REQUIRE_CPP
-  AC_LANG(C++)
-  hdf5_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="$PETSC_CC_INCLUDES $PETSC_CXX_INCLUDE $CPPFLAGS"  
-  AC_CHECK_HEADER([hdf5.h], [], [
-    AC_MSG_ERROR([HDF5 header not found.])
-  ])
-  AC_MSG_CHECKING([for H5Fopen in -lhdf5])
-  AC_COMPILE_IFELSE(
-    [AC_LANG_PROGRAM([[#include <hdf5.h>]],
-	             [[H5Fopen("test.h5", H5F_ACC_TRUNC, H5P_DEFAULT);]])],
-    [AC_MSG_RESULT(yes)],
-    [AC_MSG_RESULT(no)
-     AC_MSG_ERROR([hdf5 library not found.])
-  ])
-  CPPFLAGS=$hdf5_save_CPPFLAGS
+  CIT_HDF5_HEADER
+  CIT_HDF5_LIB
+  CIT_HDF5_LIB_PARALLEL
 fi
 
 # CUDA
 if test "$enable_cuda" = "yes" ; then
-  AC_REQUIRE_CPP
-  AC_LANG(C++)
-  cuda_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="$PETSC_CC_INCLUDES $PETSC_CXX_INCLUDE $CPPFLAGS"
-  AC_CHECK_HEADER([cuda_runtime.h], [], [
-    AC_MSG_ERROR([CUDA runtime header not found.])
-  ])
-  #AC_MSG_CHECKING([for ?? in -lcuda])
-  #AC_COMPILE_IFELSE(
-  #  [AC_LANG_PROGRAM([[#include <cuda_runtime.h>]],
-  #	             [[H5Fopen("test.h5", H5F_ACC_TRUNC, H5P_DEFAULT);]])],
-  #  [AC_MSG_RESULT(yes)],
-  #  [AC_MSG_RESULT(no)
-  #   AC_MSG_ERROR([cuda library not found.])
-  #])
-  CPPFLAGS=$cuda_save_CPPFLAGS
+  CIT_PYTHON_MODULE([pycuda])
+  CIT_CUDA_INCDIR
+  CIT_CUDA_LIB
+  CIT_CUDA_COMPILER
 fi
 
 # PROJ4
-AC_CHECK_LIB(proj, pj_init_plus, [
-  AC_CHECK_HEADER([proj_api.h], [], [
-    AC_MSG_ERROR([Proj4 header not found; try CPPFLAGS="-I<Proj4 include dir>"])
-  ])
-],[
-  AC_MSG_ERROR([Proj4 library not found; try LDFLAGS="-L<Proj4 lib dir>"])
-])
+CIT_PROJ4_HEADER
+CIT_PROJ4_LIB
 
 # SPATIALDATA
-AC_LANG(C++)
-AC_CHECK_HEADER([spatialdata/spatialdb/SpatialDB.hh], [], [
-  AC_MSG_ERROR([SpatialDB header not found; try CPPFLAGS="-I<Spatialdata include dir>"])
-])
-AC_MSG_CHECKING([for spatialdb::SimpleDB in -lspatialdata])
-AC_REQUIRE_CPP
-AC_COMPILE_IFELSE(
-  [AC_LANG_PROGRAM([[#include <spatialdata/spatialdb/SpatialDB.hh>]
-                    [#include <spatialdata/spatialdb/SimpleDB.hh>]],
-                   [[spatialdata::spatialdb::SimpleDB db;]])],
-  [AC_MSG_RESULT(yes)],
-  [AC_MSG_RESULT(no)
-   AC_MSG_ERROR([Spatialdata library not found; try LDFLAGS="-L<Spatialdata lib dir>"])
-])
+CIT_SPATIALDATA_HEADER
+CIT_SPATIALDATA_LIB
 
 # DOXYGEN
 if test "$enable_documentation" = "yes" ; then
@@ -294,16 +247,17 @@
 # ----------------------------------------------------------------------
 AC_CONFIG_FILES([Makefile
 		pylith/Makefile
-                libsrc/Makefile
-		libsrc/bc/Makefile
-                libsrc/feassemble/Makefile
-		libsrc/faults/Makefile
-		libsrc/friction/Makefile
-                libsrc/materials/Makefile
-                libsrc/meshio/Makefile
-                libsrc/problems/Makefile
-		libsrc/topology/Makefile
-		libsrc/utils/Makefile
+		libsrc/Makefile
+		libsrc/pylith/Makefile
+		libsrc/pylith/bc/Makefile
+                libsrc/pylith/feassemble/Makefile
+		libsrc/pylith/faults/Makefile
+		libsrc/pylith/friction/Makefile
+                libsrc/pylith/materials/Makefile
+                libsrc/pylith/meshio/Makefile
+                libsrc/pylith/problems/Makefile
+		libsrc/pylith/topology/Makefile
+		libsrc/pylith/utils/Makefile
                 modulesrc/Makefile
                 modulesrc/include/Makefile
                 modulesrc/bc/Makefile
@@ -366,6 +320,7 @@
 		tests/2d/Makefile
 		tests/2d/maxwell/Makefile
 		tests/2d/slipdir/Makefile
+		tests/2d/frictionslide/Makefile
 		tests/3d/Makefile
 		tests/3d/matprops/Makefile
 		tests/3d/slipdir/Makefile
@@ -381,6 +336,7 @@
 		tests/3d/plasticity/threehex8/results/Makefile
 		tests/3d/plasticity/threehex8/spatialdb/Makefile
 		tests/topology/Makefile
+		tests/refinefaulttip/Makefile
                 doc/Makefile
 		doc/developer/Makefile
 		doc/install/Makefile
@@ -390,11 +346,15 @@
 		doc/presentations/Makefile
 		examples/Makefile
 		examples/3d/Makefile
-		examples/bar_shearwave/Makefile
-		examples/twocells/Makefile
 		examples/3d/tet4/Makefile
+		examples/3d/tet4/output/Makefile
 		examples/3d/hex8/Makefile
 		examples/3d/hex8/output/Makefile
+		examples/2d/Makefile
+		examples/2d/subduction/Makefile
+		examples/2d/subduction/output/Makefile
+		examples/bar_shearwave/Makefile
+		examples/twocells/Makefile
 		examples/bar_shearwave/hex8/Makefile
 		examples/bar_shearwave/hex8/output/Makefile
 		examples/bar_shearwave/quad4/Makefile

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/developer/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/developer/Makefile.am	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/developer/Makefile.am	2011-06-15 22:30:12 UTC (rev 18638)
@@ -9,7 +9,7 @@
 # This code was developed as part of the Computational Infrastructure
 # for Geodynamics (http://geodynamics.org).
 #
-# Copyright (c) 2010 University of California, Davis
+# Copyright (c) 2010-2011 University of California, Davis
 #
 # See COPYING for license information.
 #

Deleted: short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Cluster_Rocks-4.3-AMD64.txt
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Cluster_Rocks-4.3-AMD64.txt	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Cluster_Rocks-4.3-AMD64.txt	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,372 +0,0 @@
-======================================================================
-INSTRUCTIONS FOR INSTALLING PYLITH ON A LINUX CLUSTER RUNNING ROCKS-4.3
-======================================================================
-
-I place applications that are rarely updated in $HOME/tools. For CIG
-source code, I separate the source code, build directories, and
-installed code. The source code sits in $HOME/src/cig, I build the
-packages under $HOME/scratch/build/cig, and install the packages to
-$HOME/tools/cig.
-
-I use the bash shell and place all software package environment
-variables in a .bash.tools file that is read by the .bashrc file.
-
-On an x86_64 system it is important to keep files associated with a
-32-bit architecture separate from those associated with a 64-bit
-architecture. Some architecture independent files are put in
-$PREFIX/lib with 64-bit architecture files in $PREFIX/lib64. In most
-cases when a library with versions for both architectures is
-available, the linker will use the one compatible with the requested
-architecture (the default is usually the 64-bit architecture).
-
-To make things easier, I create environment variables TOOLS_DIR,
-CIG_DIR, TOOLS_FORMAT, and PYTHON_VERSION. The TOOLS_FORMAT variable
-makes it easier to maintain multiple copies of packages built with
-different options (e.g., different compilers and different levels of
-optimization). Note that the python version should match the version
-of Python you will be using. If you don't know the version of python,
-run "python --version".
-
-  export TOOLS_DIR=${HOME}/tools
-  export TOOLS_FORMAT=gcc-3.4_64
-  export PYTHON_VERSION=2.4
-
-  export CIG_DIR=${HOME}/tools/cig/${TOOLS_FORMAT}
-  export CIG_INCDIR=${CIG_DIR}/include
-  export CIG_LIBDIR=${CIG_DIR}/lib
-  export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CIG_LIBDIR}
-  export PYTHONPATH=${PYTHONPATH}:${CIG_DIR}/lib64/python${PYTHON_VERSION}/site-packages:${CIG_DIR}/lib/python${PYTHON_VERSION}/site-packages
-  PATH=${CIG_DIR}/bin:$PATH
-
-1. Install additional CentOS packages (must be root).
-
-  Make sure the Rocks installation procedure installs the following
-  packages (these are not usually installed by default).
-
-  These can be installed by running
-
-    rpm -Uvh /home/install/rocks-dist/lan/x86_64/RedHat/RPMS/PACKAGE_FILE.rpm
-
-    gdb
-    libtool
-
-2. Install the PVFS2 Roll (Optional, must be root).
-
-  PyLith does not currently use parallel I/O, but it will likely do so
-  in the future. As a result, we include instructions for installing
-  PyLith with PVFS2 and MPICH2 with PVFS2.
-
-  PVFS2 provides a virtual parallel file system using the local disk
-  on each node. Stability is not great, but it does provide
-  significantly better performance than serial I/O. Another feature
-  is that it spreads the data over the local disks on the I/O
-  (compute) nodes.
-
-  a. Set Rocks to install the PVFS2 roll.
-
-  b. Set environment variables.
-
-    export PVFS2_DIR=/opt/pvfs2
-    export PVFS2_INCDIR=$PVFS2_DIR/include
-    export PVFS2_LIBDIR=$PVFS2_DIR/lib
-
-3. Adjust your environment to use Python 2.4 instead of Python 2.3.
-
-  Python 2.3 contains bugs that prevent its full functionality on a
-  x86_64 system. Rocks installs Python 2.4 in /opt/rocks.
-
-  PATH=/opt/rocks/bin:${PATH}
-  export PYTHON_DIR=/opt/rocks/lib/python$PYTHON_VERSION
-  export PYTHON_LIBDIR=/opt/rocks/lib/python$PYTHON_VERSION
-  export PYTHON_INCDIR=/opt/rocks/include/python$PYTHON_VERSION
-
-4. Install numpy (http://numpy.scipy.org/).
-
-  PyLith requires numpy >= 1.0 (the version that comes with Rocks 4.3
-  is 0.9).
-
-  a. Untar the source code.
-
-  b. Install the software.
-
-    python setup.py install --prefix=${TOOLS_DIR}/numpy-1.0.3-2/${TOOLS_FORMAT}
-
-  c. Set environment variables.
-
-    NUMPY_DIR=${TOOLS_DIR}/numpy-1.0.3/${TOOLS_FORMAT}
-    export PYTHONPATH=${PYTHONPATH}:${NUMPY_DIR}/lib/python${PYTHON_VERSION}/site-packages
-
-
-5. Install mercurial (http://www.selenic.com/mercurial/wiki/)
-
-  a. Untar the source code.
-
-  b. Install the package.
-
-    python setup.py install --prefix=$TOOLS_DIR/mercurial-0.9.4/${TOOLS_FORMAT}
-
-  c. Set environment variables.
-
-    MERCURIAL_DIR=${TOOLS_DIR}/mercurial-0.9.3/${TOOLS_FORMAT}
-    PATH=${PATH}:${MERCURIAL_DIR}/bin
-    export PYTHONPATH=${PYTHONPATH}:${MERCURIAL_DIR}/lib/python${PYTHON_VERSION}/site-packages
-
-6. Install the AMD Core Math Library (ACML).
-
-  http://developer.amd.com/tools/acml/Pages/default.aspx
-
-  Notes: (i) You need to register to download.
-         (ii) Make sure you download the version appropriate for your
-             compiler (version 3.5.0 for Rocks 4.3).
-
-  a. Expand the tarball and run the installation script.
-     I install to ${TOOLS_DIR}/acml-3.5.0.
-
-  b. Set environment variables.
-
-    ACML_DIR=${TOOLS_DIR}/acml-3.5.0/gnu64
-    export ACML_LIBDIR=${ACML_DIR}/lib
-    export ACML_INCDIR=${ACML_DIR}/include
-    export LD_LIBRARY_PATH=${ACML_LIBDIR}:${LD_LIBRARY_PATH}
-
-7. Install MPICH2 (http://www.mcs.anl.gov/research/projects/mpich2/)
- 
-  IMPORTANT NOTE: When installing MPICH2 to work with PVFS2, the two
-  versions must be compatible. If you get errors when building the
-  romio portion of MPICH2 associated with PVFS2, you likely don't have
-  compatible versions of PVFS2 and MPICH2. I found mpich2-1.0.4p1 to
-  be compatible with the Rocks 4.3 PVFS2 roll.
-
-  a. Untar the source and then run configure, build, and install.
-
-    export CC=gcc
-    export CXX=g++
-    export F77=g77
-    export FC=g77
-    export CFLAGS="-fPIC -I${PVFS2_INCDIR}"
-    export CXXFLAGS=-fpic
-    export F77FLAGS=-fpic
-    export LDFLAGS="-L${PVFS2_LIBDIR}"
-    export LIBS="-lpvfs2 -lssl -lpthread -lrt"
-
-    ./configure --with-arch=LINUX --disable-f90 --enable-sharedlibs=gcc --enable-cxx --prefix=${TOOLS_DIR}/mpich2-1.0.4p1/${TOOLS_FORMAT} --enable-g=none --enable-romio --with-file-system=pvfs2+ufs+nfs
-    make
-    make install
-
-  b. Set environment variables.
-
-    export RSHCOMMAND=ssh
-    export MPI_DIR=${TOOLS_DIR}/mpich2-1.0.4p1/${TOOLS_FORMAT}
-    PATH=$MPI_DIR/bin:$PATH
-    export MANPATH=$MPI_DIR/man:$MANPATH
-    export MPI_INCDIR=$MPI_DIR/include
-    export MPI_LIBDIR=$MPI_DIR/lib
-    export LD_LIBRARY_PATH=${MPI_LIBDIR}:${LD_LIBRARY_PATH}
-    export MPI_VERSION=2
-
-8. Install ParMetis (http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview)
-
-  a. Untar the source and edit the Makefile.
-  b. Set the CC, COPTIONS, INCDIR, LD, and LIBDIR variables.
-
-    CC = gcc
-    COPTIONS = -fPIC
-    INCDIR = -I${MPI_INCDIR}
-    LD = gcc
-    LIBDIR = -L${MPI_LIBDIR} -lmpich -lpthread -lrt
-
-  c. Create shared libraries by hand.
-
-    cd ${TOOLS_DIR}/parmetis-3.1/${TOOLS_FORMAT}/lib
-    mkdir tmp
-    cd tmp
-    ar -x ../libmetis.a
-    gcc -o ../libmetis.so -shared *.o
-    rm *.o
-    ar -x ../libparmetis.a
-    gcc -o ../libparmetis.so -shared *.o
-    rm *.o
-    cd ..
-    rmdir tmp
-
-  d. Copy parmetis.h to the install location.
-
-    cp parmetis.h ${TOOLS_DIR}/parmetis-3.1/${TOOLS_FORMAT}/include/
-
-  e. Set environment variables.
-
-    PARMETIS_DIR=$TOOLS_DIR/parmetis-3.1/${TOOLS_FORMAT}
-    export PARMETIS_INCDIR=$PARMETIS_DIR/include
-    export PARMETIS_LIBDIR=$PARMETIS_DIR/lib
-    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PARMETIS_LIBDIR}
-
-9. Install cppunit (http://cppunit.sourceforge.net/cppunit-wiki)
-
-  a. Untar the source and run configure, build, and install.
-
-    ./configure --prefix=${TOOLS_DIR}/cppunit-1.10.2/${TOOLS_FORMAT}
-    make
-    make install
-
-  b. Set environment variables.
-
-    CPPUNIT_DIR=${TOOLS_DIR}/cppunit-1.10.2/${TOOLS_FORMAT}
-    PATH=${PATH}:${CPPUNIT_DIR}/bin
-    export CPPUNIT_LIBDIR=${CPPUNIT_DIR}/lib
-    export CPPUNIT_INCDIR=${CPPUNIT_DIR}/include
-    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CPPUNIT_LIBDIR}
-
-10. Install FIAT (http://www.fenics.org/wiki/FIAT)
-
-  a. Install FIAT.
-
-    python setup.py install --prefix=$TOOLS_DIR/fiat-0.3.1/${TOOLS_FORMAT}
-
-  b. Set environment variables.
-
-    FIAT_DIR=${TOOLS_DIR}/fiat-0.3.3/${TOOLS_FORMAT}
-    export PYTHONPATH=${PYTHONPATH}:${FIAT_DIR}/lib/python${PYTHON_VERSION}/site-packages
-
-11. Install the development version of PETSc
-  (http://www-unix.mcs.anl.gov/petsc/petsc-as/)
-
-  a. Clone the source repository.
-
-    hg clone http://petsc.cs.iit.edu/petsc/petsc-dev
-    cd petsc-dev/config
-    hg clone http://petsc.cs.iit.edu/petsc/BuildSystem BuildSystem
- 
-  b. Set PETSC_ARCH and PETSC_DIR environment variables.
-
-    export PETSC_DIR=${TOOLS_DIR}/petsc-dev
-    export PETSC_ARCH=linux_${TOOLS_FORMAT}_opt
-
-  c. Configure PETSc, build, and test.
-
-    ARCH_FLAGS="--PETSC_ARCH=linux_${TOOLS_FORMAT}_opt --with-debugging=no"
-    LANG_FLAGS="--with-clanguage=c++"
-    BUILD_FLAGS="--with-mpi-compilers=0 --with-gnu-compilers=1 --with-shared=1 --with-dynamic=1 --with-64-bit-points=1 --with-large-file-io=1 --CC=gcc --CXX=g++ --FC=g77 --F77=g77"
-    MPI_FLAGS="--with-mpi-dir=${TOOLS_DIR}/mpich2-1.0.4p1/gcc-3.4_64 --with-mpi-shared=0"
-    LIBS="-L${PVFS2_LIBDIR} -lpvfs2 -lssl -lpthread -lrt"
-    OPTIONS="--with-lgrind=0 --download-tetgen"
-    PART_FLAGS="--with-chaco=1 --download-chaco=1 --with-parmetis=1 --with-parmetis-dir=${TOOLS_DIR}/parmetis-3.1/gcc-3.4_64"
-    SIEVE_FLAGS="--with-sieve=1 --with-boost=1 --download-boost=1"
-    config/configure.py ${ARCH_FLAGS} ${LANG_FLAGS} ${BUILD_FLAGS} --with-blas-lapack-lib="-L${ACML_LIBDIR} -lacml -lacml_mv" ${MPI_FLAGS} --LIBS="-L${PVFS2_LIBDIR} -lpvfs2 -lssl" ${OPTIONS} ${PART_FLAGS} ${SIEVE_FLAGS}
-    make
-    make test
-
-12. Install SWIG (http://www.swig.org/)
-
-  a. Untar and install.
-
-    tar -zxvf swig.1.3.39.tgz
-    configure --prefix=${TOOLS_DIR}/swig-1.3.39/${TOOLS_FORMAT}
-    make
-    make install
-
-  b. Update environment variables.
-
-    SWIG_DIR=${TOOLS_DIR}/swig-1.3.39/${TOOLS_FORMAT}
-    PATH=${PATH}:${SWIG_DIR}/bin
-
-13. Install pythia.
-
-  a. Download the source code from the SVN repository.
-
-    svn co http://geodynamics.org/svn/cig/cs/pythia/trunk pythia
-
-  b. Install the software.
-
-    python setup.py install --prefix=${CIG_DIR}
-
-  c. Set environment variables.
-
-    export PYTHIA_INCDIR=${CIG_INCDIR}/pythia-0.8
-
-14. Install nemesis.
-
-  a. Download the source code from the SVN repository.
-
-    svn co http://geodynamics.org/svn/cig/cs/nemesis/trunk nemesis
-
-  b. Create the configure script.
-
-    autoreconf -if
-
-  c. Run configure, build, and install.
-
-    ./configure  --prefix=${CIG_DIR} CPPFLAGS="-I${CIG_INCDIR} -I${MPI_INCDIR}"  LDFLAGS="-L${CIG_LIBDIR} -L${MPI_LIBDIR} -L${PVFS2_LIBDIR}"  LIBS="-lpvfs2 -lssl -lpthread -lrt"  CC=gcc CXX=g++ FC=g77 F77=g77
-    make
-    make install
-
-15. Install PROJ.4 (http://trac.osgeo.org/proj/)
-
-  a. Download the source code AND the datum shifts (proj-datumgrid-1.3.zip).
-
-  b. Untar the source code and unzip the datum shifts in the nad directory.
-
-  c. Run configure and build.
-
-    ./configure  --prefix=${TOOLS_DIR}/proj-4.5.0/${TOOLS_FORMAT}  CC=gcc CXX=g++ FC=g77 F77=f77
-    make
-    make install
-
-  d. Set environment variables.
-
-    PROJ4_DIR=${TOOLS_DIR}/proj-4.5.0/${TOOLS_FORMAT}
-    PATH=${PATH}:${PROJ4_DIR}/bin
-    export PROJ4_INCDIR=${PROJ4_DIR}/include
-    export PROJ4_LIBDIR=${PROJ4_DIR}/lib
-    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PROJ4_LIBDIR}
-    export MANPATH=${MANPATH}:${PROJ4_DIR}/man
-
-16. Install netcdf (http://www.unidata.ucar.edu/software/netcdf/).
-
-  a. Untar the source code.
-
-  b. Run configure and build.
-
-    ./configure --prefix=${TOOLS_DIR}/netcdf-3.6.2/${TOOLS_FORMAT} --disable-f90 --enable-shared CC=gcc CXX=g++ F77=g77 CFLAGS=-fPIC FFLAGS=-fPIC
-    make
-    make install
-
-  c. Set environment variables.
-
-    NETCDF_DIR=${TOOLS_DIR}/netcdf-3.6.2/${TOOLS_FORMAT}
-    export NETCDF_INCDIR=${NETCDF_DIR}/include
-    export NETCDF_LIBDIR=${NETCDF_DIR}/lib
-
-
-17. Install spatialdata.
-
-  a. Download the source code from the SVN repository.
-
-    svn co http://geodynamics.org/svn/cig/cs/spatialdata-0.1/trunk spatialdata
-
-  b. Create the configure script.
-
-    autoreconf -if
-
-  c. Run configure, build, install, and the unit tests.
-
-    ./configure  --enable-pythia --enable-testing  --prefix=${CIG_DIR} CPPFLAGS="-I${PROJ4_INCDIR} -I${CPPUNIT_INCDIR} -I${CIG_INCDIR}"  LDFLAGS="-L${PROJ4_LIBDIR} -L${CPPUNIT_LIBDIR} -L${CIG_LIBDIR} "  LIBS=""  CC=gcc CXX=g++ FC=g77 F77=f77
-    make
-    make install
-    make check
-
-18. Install PyLith.
-
-  a. Download the source code from the SVN repository.
-
-    svn co http://geodynamics.org/svn/cig/short/3D/PyLith/trunk pylith
-
-  b. Create the configure script.
-
-    autoreconf -if
-
-  c. Run configure, build, install, and the unit tests.
-
-    ./configure  --enable-testing --enable-tetgen --enable-cubit --prefix=${CIG_DIR}  CPPFLAGS="-I${PROJ4_INCDIR} -I${CPPUNIT_INCDIR} -I${CIG_INCDIR} -I${PYTHIA_INCDIR} -I${NETCDF_INCDIR}"  LDFLAGS="-L${PROJ4_LIBDIR} -L${CPPUNIT_LIBDIR} -L${CIG_LIBDIR} -L${NETCDF_LIBDIR}"  LIBS=""  CC=gcc CXX=g++ FC=g77 F77=f77
-    make
-    make install
-    make check

Deleted: short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Cluster_Rocks-4.3-AMD64_bash.sh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Cluster_Rocks-4.3-AMD64_bash.sh	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Cluster_Rocks-4.3-AMD64_bash.sh	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,92 +0,0 @@
-# Environment variables for Bash Shells associated with Brad Aagaard's
-# install of PyLith on a Linux cluster running Rocks 4.3.
-
-# General
-export TOOLS_DIR=${HOME}/tools
-export TOOLS_FORMAT=gcc-3.4_64
-export PYTHON_VERSION=2.4
-
-# Location for installation of CIG software
-export CIG_DIR=${HOME}/tools/cig/${TOOLS_FORMAT}
-export CIG_INCDIR=${CIG_DIR}/include
-export CIG_LIBDIR=${CIG_DIR}/lib
-export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CIG_LIBDIR}
-export PYTHONPATH=${PYTHONPATH}:${CIG_DIR}/lib64/python${PYTHON_VERSION}/site-packages:${CIG_DIR}/lib/python${PYTHON_VERSION}/site-packages
-PATH=${CIG_DIR}/bin:$PATH
-
-# PVFS2
-export PVFS2_DIR=/opt/pvfs2
-export PVFS2_INCDIR=$PVFS2_DIR/include
-export PVFS2_LIBDIR=$PVFS2_DIR/lib
-
-# Python 2.4
-PATH=/opt/rocks/bin:${PATH}
-export PYTHON_DIR=/opt/rocks/lib/python$PYTHON_VERSION
-export PYTHON_LIBDIR=/opt/rocks/lib/python$PYTHON_VERSION
-export PYTHON_INCDIR=/opt/rocks/include/python$PYTHON_VERSION
-
-# Numpy
-NUMPY_DIR=${TOOLS_DIR}/numpy-1.0.3/${TOOLS_FORMAT}
-export PYTHONPATH=${PYTHONPATH}:${NUMPY_DIR}/lib/python${PYTHON_VERSION}/site-packages
-
-# Mercurial
-MERCURIAL_DIR=${TOOLS_DIR}/mercurial-0.9.3/${TOOLS_FORMAT}
-PATH=${PATH}:${MERCURIAL_DIR}/bin
-export PYTHONPATH=${PYTHONPATH}:${MERCURIAL_DIR}/lib/python${PYTHON_VERSION}/site-packages
-
-# ACML
-ACML_DIR=${TOOLS_DIR}/acml-3.5.0/gnu64
-export ACML_LIBDIR=${ACML_DIR}/lib
-export ACML_INCDIR=${ACML_DIR}/include
-export LD_LIBRARY_PATH=${ACML_LIBDIR}:${LD_LIBRARY_PATH}
-
-# MPICH2
-export RSHCOMMAND=ssh
-export MPI_DIR=${TOOLS_DIR}/mpich2-1.0.4p1/${TOOLS_FORMAT}
-PATH=$MPI_DIR/bin:$PATH
-export MANPATH=$MPI_DIR/man:$MANPATH
-export MPI_INCDIR=$MPI_DIR/include
-export MPI_LIBDIR=$MPI_DIR/lib
-export LD_LIBRARY_PATH=${MPI_LIBDIR}:${LD_LIBRARY_PATH}
-export MPI_VERSION=2
-
-# Parmetis
-PARMETIS_DIR=$TOOLS_DIR/parmetis-3.1/${TOOLS_FORMAT}
-export PARMETIS_INCDIR=$PARMETIS_DIR/include
-export PARMETIS_LIBDIR=$PARMETIS_DIR/lib
-export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PARMETIS_LIBDIR}
-
-# Cppunit
-CPPUNIT_DIR=${TOOLS_DIR}/cppunit-1.10.2/${TOOLS_FORMAT}
-PATH=${PATH}:${CPPUNIT_DIR}/bin
-export CPPUNIT_LIBDIR=${CPPUNIT_DIR}/lib
-export CPPUNIT_INCDIR=${CPPUNIT_DIR}/include
-export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CPPUNIT_LIBDIR}
-
-# FIAT
-FIAT_DIR=${TOOLS_DIR}/fiat-0.3.3/${TOOLS_FORMAT}
-export PYTHONPATH=${PYTHONPATH}:${FIAT_DIR}/lib/python${PYTHON_VERSION}/site-packages
-
-# PETSc
-export PETSC_DIR=${TOOLS_DIR}/petsc-dev
-export PETSC_ARCH=linux_${TOOLS_FORMAT}_opt
-
-# SWIG
-SWIG_DIR=${TOOLS_DIR}/swig-1.3.39/${TOOLS_FORMAT}
-PATH=${PATH}:${SWIG_DIR}/bin
-
-# Pythia
-export PYTHIA_INCDIR=${CIG_INCDIR}/pythia-0.8
-
-# Proj.4
-PROJ4_DIR=${TOOLS_DIR}/proj-4.5.0/${TOOLS_FORMAT}
-PATH=${PATH}:${PROJ4_DIR}/bin
-export PROJ4_INCDIR=${PROJ4_DIR}/include
-export PROJ4_LIBDIR=${PROJ4_DIR}/lib
-export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PROJ4_LIBDIR}
-export MANPATH=${MANPATH}:${PROJ4_DIR}/man
-
-# NETCDF
-NETCDF_DIR=${TOOLS_DIR}/netcdf-3.6.2/${TOOLS_FORMAT}
-export NETCDF_INCDIR=${NETCDF_DIR}/include
-export NETCDF_LIBDIR=${NETCDF_DIR}/lib

Deleted: short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Linux_Fedora8-AMD64_Aagaard.txt
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Linux_Fedora8-AMD64_Aagaard.txt	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Linux_Fedora8-AMD64_Aagaard.txt	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,271 +0,0 @@
-======================================================================
-INSTRUCTIONS FOR INSTALLING PYLITH ON LINUX x86_64 RUNNING FEDORA 8
-======================================================================
-
-I place applications that are rarely updated in /tools/common. This
-directory is in a separate /tools partition from system and user
-files; this is why I don't use /usr/local. For CIG source code, I
-separate the source code, build directories, and installed code. The
-source code sits in $HOME/src/cig, I build the packages under
-$HOME/scratch/build/cig, and install the packages to $HOME/tools/cig.
-
-I use the bash shell and place all software package environment
-variables in a .bash.tools file that is read by the .bashrc file.
-
-On an x86_64 system it is important to keep files associated with a
-32-bit architecture separate from those associated with a 64-bit
-architecture. Some architecture independent files are put in
-$PREFIX/lib with 64-bit architecture files in $PREFIX/lib64. In most
-cases when a library with versions for both architectures is
-available, the linker will use the one compatible with the requested
-architecture (the default is usually the 64-bit architecture).
-
-To make things easier, I create environment variables TOOLS_DIR,
-CIG_DIR, TOOLS_FORMAT, and PYTHON_VERSION. The TOOLS_FORMAT variable
-makes it easier to maintain multiple copies of packages built with
-different options (e.g., different compilers and different levels of
-optimization). Note that the python version should match the version
-of Python you will be using. If you don't know the version of python,
-run "python --version".
-
-  export TOOLS_DIR=/tools/common
-  export TOOLS_FORMAT=gcc-4.1.2_64
-  export PYTHON_VERSION=2.5
-
-  export CIG_DIR=${HOME}/tools/cig/${TOOLS_FORMAT}
-  export CIG_INCDIR=${CIG_DIR}/include
-  export CIG_LIBDIR=${CIG_DIR}/lib
-  export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CIG_LIBDIR}
-  export PYTHONPATH=${PYTHONPATH}:${CIG_DIR}/lib64/python${PYTHON_VERSION}/site-packages:${CIG_DIR}/lib/python${PYTHON_VERSION}/site-packages
-  PATH=${CIG_DIR}/bin:$PATH
-
-  export NETCDF_INCDIR=/usr/include/netcdf-3
-  export NETCDF_LIBDIR=/usr/lib64/netcdf-3
-  export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NETCDF_LIBDIR}
-
-
-1. When installing Fedora, include the development tools (gcc,
-gfortran, etc). in the installation.
-
-2. Install additional packages using yum (you need to be root).
-
-  yum install NAMES_OF_PACKAGES
-
-  Recommended packages:
-
-    cppunit
-    cppunit-devel
-    proj
-    proj-devel
-    proj-nad
-    numpy
-    swig
-    netcdf
-    netcdf-devel
-    mercurial
-  
-3. Install the AMD Core Math Library (ACML).
-
-  http://developer.amd.com/tools/acml/Pages/default.aspx
-
-  Notes: (i) You need to register to download.
-         (ii) Make sure you download the version appropriate for your
-             compiler (e.g., acml-4-0-1-gfortran-64bit.tgz for gcc 4.1).
-
-  a. Expand the tarball and run the installation script.
-     I install to ${TOOLS_DIR}/acml-4.0.1
-
-  b. Set environment variables.
-
-    ACML_DIR=${TOOLS_DIR}/acml-4.0.1/gfortran64
-    export ACML_INCDIR=${ACML_DIR}/include
-    export ACML_LIBDIR=${ACML_DIR}/lib
-    export ACML_LIBS="-lacml_mv -lacml -lgfortran -lm"
-    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ACML_LIBDIR}
-
-4. Install MPICH2 (http://www.mcs.anl.gov/research/projects/mpich2/)
- 
-  a. Untar the source and then run configure, build, and install.
-
-    export CC=gcc
-    export CXX=g++
-    export F77=gfortran
-    export CFLAGS=-fPIC
-    export CXXFLAGS=-fpic
-    export F77FLAGS=-fpic
-
-    ./configure --with-arch=LINUX --disable-f90 --enable-sharedlibs=gcc --enable-cxx --prefix=${TOOLS_DIR}/mpich2-1.0.6p1/${TOOLS_FORMAT} --enable-g=none --enable-romio --with-device=ch3:nemesis --enable-fast
-     make
-    make install
-
-  b. Set environment variables.
-
-    export RSHCOMMAND=ssh
-    export MPI_DIR=$TOOLS_DIR/mpich2-1.0.6p1/${TOOLS_FORMAT}
-    PATH=$MPI_DIR/bin:$PATH
-    export MANPATH=$MPI_DIR/man:$MANPATH
-    export MPI_INCDIR=$MPI_DIR/include
-    export MPI_LIBDIR=$MPI_DIR/lib
-    export LD_LIBRARY_PATH=${MPI_LIBDIR}:${LD_LIBRARY_PATH}
-
-5. Install ParMetis (http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview)
-
-  a. Untar the source and edit the Makefile.
-  b. Set the CC, COPTIONS, INCDIR, LD, and LIBDIR variables.
-
-    CC = gcc
-    COPTIONS = -fPIC
-    INCDIR = -I${MPI_INCDIR}
-    LD = gcc
-    LIBDIR = -L${MPI_LIBDIR} -lmpich -lpthread -lrt
-
-  c. Create shared libraries by hand.
-
-    cd ${TOOLS_DIR}/parmetis-3.1/${TOOLS_FORMAT}/lib
-    mkdir tmp
-    cd tmp
-    ar -x ../libmetis.a
-    gcc -o ../libmetis.so -shared *.o
-    rm *.o
-    ar -x ../libparmetis.a
-    gcc -o ../libparmetis.so -shared *.o
-    rm *.o
-    cd ..
-    rmdir tmp
-
-  d. Copy parmetis.h to the install location.
-
-    cp parmetis.h ${TOOLS_DIR}/parmetis-3.1/${TOOLS_FORMAT}/include/
-
-  e. Set environment variables.
-
-    PARMETIS_DIR=$TOOLS_DIR/parmetis-3.1/${TOOLS_FORMAT}
-    export PARMETIS_INCDIR=$PARMETIS_DIR/include
-    export PARMETIS_LIBDIR=$PARMETIS_DIR/lib
-    export PARMETIS_LIBS="-lparmetis -lmetis"
-    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PARMETIS_LIBDIR}
-
-6. Install FIAT (http://www.fenics.org/wiki/FIAT)
-
-  a. Install FIAT.
-
-    python setup.py install --prefix=$TOOLS_DIR/fiat-0.3.1/${TOOLS_FORMAT}
-
-  b. Set environment variables.
-
-    FIAT_DIR=${TOOLS_DIR}/fiat-0.3.1/${TOOLS_FORMAT}
-    export PYTHONPATH=${PYTHONPATH}:${FIAT_DIR}/lib/python${PYTHON_VERSION}/site-packages
-
-7. Install the development version of PETSc
-  (http://www-unix.mcs.anl.gov/petsc/petsc-as/)
-
-  a. Clone the source repository.
-
-    hg clone http://petsc.cs.iit.edu/petsc/petsc-dev
-    cd petsc-dev/config
-    hg clone http://petsc.cs.iit.edu/petsc/BuildSystem BuildSystem
- 
-  b. Set PETSC_ARCH and PETSC_DIR environment variables.
-
-    export PETSC_DIR=${TOOLS_DIR}/petsc-dev
-    export PETSC_ARCH=linux_${TOOLS_FORMAT}_debug
-
-  c. Configure PETSc, build, and test.
-
-    ARCH_FLAGS="--PETSC_ARCH=linux_${TOOLS_FORMAT}_debug --with-debugging=1"
-    LANG_FLAGS="--with-clanguage=c++"
-    BUILD_FLAGS="--with-mpi-compilers=0 --with-gnu-compilers=1 --with-shared=1 --with-dynamic=1 --with-64-bit-points=1 --with-large-file-io=1 --CC=gcc --CXX=g++ --FC=gfortran --F77=gfortran"
-    MPI_FLAGS="--with-mpi-dir=/tools/common/mpich2-1.0.6p1/${TOOLS_FORMAT} --with-mpi-shared=0"
-    OPTIONS="--with-lgrind=0 --download-tetgen"
-    PART_FLAGS="--with-chaco=1 --download-chaco=1 --with-parmetis=1 --with-parmetis-dir=/tools/common/parmetis-3.1/${TOOLS_FORMAT}"
-    SIEVE_FLAGS="--with-sieve=1 --with-boost=1 --download-boost=1"
-    config/configure.py ${ARCH_FLAGS} ${LANG_FLAGS} ${BUILD_FLAGS} --with-blas-lapack-lib="-L${TOOLS_DIR}/acml-4.0.1/${ACML_SUBDIR}/lib -lacml -lacml_mv" ${MPI_FLAGS} ${OPTIONS} ${PART_FLAGS} ${SIEVE_FLAGS} ${EXTRA_FLAGS}
-    make
-    make test
-
-8. Install pythia.
-
-  a. Download the source code from the SVN repository.
-
-    svn co http://geodynamics.org/svn/cig/cs/pythia/trunk pythia
-
-  b. Install the software.
-
-    python setup.py install --prefix=${CIG_DIR}
-
-  c. Set environment variables.
-
-    export PYTHIA_INCDIR=${CIG_INCDIR}/pythia-0.8
-
-9. Install nemesis.
-
-  a. Download the source code from the SVN repository.
-
-    svn co http://geodynamics.org/svn/cig/cs/nemesis/trunk nemesis
-
-  b. Create the configure script.
-
-    autoreconf -if
-
-  c. Run configure, build, and install.
-
-    ./configure  --prefix=${CIG_DIR} CPPFLAGS="-I${CIG_INCDIR} -I${MPI_INCDIR}"  LDFLAGS="-L${CIG_LIBDIR} -L${MPI_LIBDIR}"  LIBS="-lpthread -lrt"  CC=gcc CXX=g++ FC=gfortran F77=gfortran
-
-    make
-    make install
-
-10. Install spatialdata.
-
-  a. Download the source code from the SVN repository.
-
-    svn co http://geodynamics.org/svn/cig/cs/spatialdata-0.1/trunk spatialdata
-
-  b. Create the configure script.
-
-    autoreconf -if
-
-  c. Run configure, build, install, and the unit tests.
-
-    ./configure  --enable-testing --enable-pythia  --prefix=${CIG_DIR}  CPPFLAGS="-I${CIG_INCDIR}"  LDFLAGS="-L${CIG_LIBDIR} "  LIBS=""  CC=gcc CXX=g++ FC=gfortran F77=gfortran
-    make
-    make install
-    make check
-
-11. Install PyLith.
-
-  a. Download the source code from the SVN repository.
-
-    svn co http://geodynamics.org/svn/cig/short/3D/PyLith/trunk pylith
-
-  b. Create the configure script.
-
-    autoreconf -if
-
-  c. Run configure, build, install, and the unit tests.
-
-    ./configure  --enable-testing --enable-cubit --enable-tetgen --prefix=${CIG_DIR}  CPPFLAGS="-I${CIG_INCDIR} -I${NETCDF_INCDIR}"  LDFLAGS="-L${CIG_LIBDIR} -L${NETCDF_LIBDIR}"  LIBS=""  CC=gcc CXX=g++ FC=gfortran F77=gfortran CFLAGS="-g -O" CXXFLAGS="-g -O"
-    make
-    make install
-    make check
-
-======================================================================
-OPTIONAL: Install Mayavi2 for visualization.
-======================================================================
-
-1. Install the following packages:
-
-    scipy
-    python-matplotlib
-    python-imaging
-    python-setuptools
-    python-setuptools-devel
-    vtk
-    vtk-devel
-    vtk-python
-
-2. Install Mayavi2 using eggs.
-
-    unset PYTHONPATH
-    export PYTHONPATH=${TOOLS_DIR}/mayavi2/${TOOLS_FORMAT}/lib/python${PYTHON_VERSION}/site-packages
-    mkdir -p $PYTHONPATH
-    easy_install -d $PYTHONPATH -f http://code.enthought.com/enstaller/eggs/source enthought.mayavi

Deleted: short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Linux_Fedora8-AMD64_Aagaard_bash.sh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Linux_Fedora8-AMD64_Aagaard_bash.sh	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Linux_Fedora8-AMD64_Aagaard_bash.sh	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,54 +0,0 @@
-# Environment variables for Bash Shells associated with Brad Aagaard's
-# install of PyLith on a AMD64 computer running Fedora 8.
-
-# General
-export TOOLS_DIR=/tools/common
-export TOOLS_FORMAT=gcc-4.1.2_64
-export PYTHON_VERSION=2.5
-
-# Location for installation of CIG software
-export CIG_DIR=${HOME}/tools/cig/${TOOLS_FORMAT}
-export CIG_INCDIR=${CIG_DIR}/include
-export CIG_LIBDIR=${CIG_DIR}/lib
-export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CIG_LIBDIR}
-export PYTHONPATH=${PYTHONPATH}:${CIG_DIR}/lib64/python${PYTHON_VERSION}/site-packages:${CIG_DIR}/lib/python${PYTHON_VERSION}/site-packages
-PATH=${CIG_DIR}/bin:$PATH
-
-# ACML
-ACML_DIR=${TOOLS_DIR}/acml-4.0.1/gfortran64
-export ACML_INCDIR=${ACML_DIR}/include
-export ACML_LIBDIR=${ACML_DIR}/lib
-export ACML_LIBS="-lacml_mv -lacml -lgfortran -lm"
-export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ACML_LIBDIR}
-
-# MPICH2
-export RSHCOMMAND=ssh
-export MPI_DIR=$TOOLS_DIR/mpich2-1.0.6p1/${TOOLS_FORMAT}
-PATH=$MPI_DIR/bin:$PATH
-export MANPATH=$MPI_DIR/man:$MANPATH
-export MPI_INCDIR=$MPI_DIR/include
-export MPI_LIBDIR=$MPI_DIR/lib
-export LD_LIBRARY_PATH=${MPI_LIBDIR}:${LD_LIBRARY_PATH}
-
-# PARMETIS
-PARMETIS_DIR=$TOOLS_DIR/parmetis-3.1/${TOOLS_FORMAT}
-export PARMETIS_INCDIR=$PARMETIS_DIR/include
-export PARMETIS_LIBDIR=$PARMETIS_DIR/lib
-export PARMETIS_LIBS="-lparmetis -lmetis"
-export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PARMETIS_LIBDIR}
-
-# FIAT
-FIAT_DIR=${TOOLS_DIR}/fiat-0.3.1/${TOOLS_FORMAT}
-export PYTHONPATH=${PYTHONPATH}:${FIAT_DIR}/lib/python${PYTHON_VERSION}/site-packages
-
-# PETSc
-export PETSC_DIR=${TOOLS_DIR}/petsc-dev
-export PETSC_ARCH=linux_${TOOLS_FORMAT}_debug
-
-# Pythia
-export PYTHIA_INCDIR=${CIG_INCDIR}/pythia-0.8
-
-# NETCDF (installed as package)
-export NETCDF_INCDIR=/usr/include/netcdf-3
-export NETCDF_LIBDIR=/usr/lib64/netcdf-3
-export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NETCDF_LIBDIR}

Deleted: short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Linux_ubuntu-AMD64_Aagaard.sh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Linux_ubuntu-AMD64_Aagaard.sh	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Linux_ubuntu-AMD64_Aagaard.sh	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,39 +0,0 @@
-#!/bin/bash                                                                                                              
-
-#
-if [ "$TOOLS_FORMAT" == "" ]; then
-  export TOOLS_FORMAT=gcc-4.4.1_64
-fi                                
-
-# Store pre-tools info so we can reread this file after changing settings
-if (($READTOOLS)); then                                                  
-  PATH=${path_notools}                                                   
-  export LD_LIBRARY_PATH=${ld_library_path_notools}                      
-  export MANPATH=${manpath_notools}                                      
-  export PYTHONPATH=${pythonpath_notools}                                
-else                                                                     
-  export path_notools=${PATH}                                            
-  export ld_library_path_notools=${LD_LIBRARY_PATH}                      
-  export manpath_notools=${MANPATH}                                      
-  export pythonpath=${PYTHONPATH}                                        
-  export READTOOLS=1                                                     
-fi                                                                       
-
-PYTHON_VERSION=2.6
-
-export TOOLS_DIR=$HOME/tools/${TOOLS_FORMAT}
-if [ "$LD_LIBRARY_PATH" == "" ]; then                
-  export LD_LIBRARY_PATH=${TOOLS_DIR}/lib            
-else                                                 
-  export LD_LIBRARY_PATH=${TOOLS_DIR}/lib:${LD_LIBRARY_PATH}
-fi                                                          
-if [ "${PYTHON_PATH}" == "" ]; then                         
-  export PYTHONPATH=${TOOLS_DIR}/lib/python${PYTHON_VERSION}/site-packages
-else                                                                      
-  export PYTHONPATH=${TOOLS_DIR}/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH}
-fi
-PATH=${TOOLS_DIR}/bin:${PATH}
-
-# PETSC
-export PETSC_DIR=$HOME/src/petsc-dev
-export PETSC_ARCH=${TOOLS_FORMAT}

Deleted: short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Linux_ubuntu-AMD64_Aagaard.txt
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Linux_ubuntu-AMD64_Aagaard.txt	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Linux_ubuntu-AMD64_Aagaard.txt	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,205 +0,0 @@
-======================================================================
-INSTRUCTIONS FOR INSTALLING PYLITH ON LINUX x86_64 RUNNING UBUNTU 9.10
-======================================================================
-
-These installation instructions use as many Ubuntu packages as
-possible. This reduces the number of packages that must be built from
-source. We do not use the Ubuntu openmpi-1.3.2-3 because it appears to
-contain bugs that cause PyLith to hang when running in
-parallel. Instead, we build openmpi-1.4.2 from source.
-
-We install development versions of the CIG software. Installing using
-source tarballs is easy, simply replace downloading from the source
-repository and running autoreconf with downloading and unpacking the
-tarball.
-
-To make things easier, I create environment variables TOOLS_DIR,
-TOOLS_FORMAT, and PYTHON_VERSION. The TOOLS_FORMAT variable
-makes it easier to maintain multiple copies of packages built with
-different options (e.g., different compilers and different levels of
-optimization). Note that the python version should match the version
-of Python you will be using. If you don't know the version of python,
-run "python --version".
-
-See the Linux_ubuntu-AMD64_Aagaard.sh file for the settings used to
-setup the environment variables using the bash shell. The
-$TOOLS_FORMAT environment variable is used to differentiate between
-packages built with different compilers and/or different optimization
-settings. In this case, TOOLS_FORMAT is gcc-4.4.1_64. We use a medium
-level of optimization and do not strip out error checking code. You
-should setup your environment BEFORE building the packages.
-
-Source files
-
-  Source files are placed under $HOME/src/PACKAGE.
-
-Build directories
-
-  Packages supporting building in separate directories are built in
-  $HOME/scratch/build/$TOOLS_FORMAT.
-
-Install directorires
-
-  Packages are installed in $HOME/tools/$TOOLS_FORMAT.
-
-
-1. When installing Ubuntu, include the development tools (gcc,
-gfortran, etc). in the installation.
-
-2. Install additional packages.
-
-  libcppunit
-  libcppunit-dev
-  proj
-  proj-data
-  libproj-dev
-  swig-1.3.36
-  python-numpy
-  netcdf-bin
-  libnetcdf-dev
-  libnetcdf4
-  mercurial
-  subversion
-  autoconf
-  automake
-  
-3. Install OpenMPI
- 
-  Download and unpack the tarball.
-    cd $src/openmpi-1.4.2
-    wget http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-1.4.2.tar.gz
-    tar -zxvf openmpi-1.4.2.tar.gz
-
-  Run configure in the build directory.
-    cd $HOME/scratch/build/$TOOLS_FORMAT/openmpi-1.4.2
-    ${TOOLS_DIR}/openmpi-1.4.2/src/openmpi-1.4.2/configure --config-cache --prefix=${TOOLS_DIR} CC=gcc CXX=g++ FC=gfortran F77=gfortran CFLAGS="-O2 -fPIC" CXXFLAGS="-O2 -fPIC" FFLAGS="-O2 -fPIC"
-
-  Run "make" and "make install".
-    make
-    make install
-
-  Test
-    mpicc -show
-
-    You should see the gcc compiler being used with the appropriate
-    flags to include the OpenMPI headers and libraries.
-
-
-4. FIAT (version 0.3.5 is the most recent version known to work)
-
-  Depends on Python.
-
-  Download and unpack the tarball.
-    cd $HOME/src/fiat-0.3.5
-    wget http://www.fenics.org/pub/software/fiat/FIAT-0.3.5.tar.gz
-
-  Install using python.
-    cd FIAT-0.3.5
-    python setup.py install --prefix=$TOOLS_DIR
-
-  Test
-    python
-    import FIAT
-
-
-5. pythia
-
-  Depends on Python.
-
-  Check out pythia from the publicly accessible CIG SVN repository.
-    cd $HOME/src
-    svn co http://geodynamics.org/svn/cig/cs/pythia/trunk pythia
-
-  Install using python.
-    cd pythia
-    python setup.py install --prefix=$TOOLS_DIR
-
-  Test
-    python
-    import pyre
-
-
-6. spatialdata
-
-  Depends on pythia.
-
-  Check out spatialdata from the publicly accessible CIG SVN repository.
-    cd $HOME/src
-    svn co http://geodynamics.org/svn/cig/cs/spatialdata-0.1/trunk spatialdata-dev
-    cd spatialdata-dev
-    autoreconf -if
-
-  Run configure in the build dir.
-    cd $HOME/scratch/build/$TOOLS_FORMAT/spatialdata-dev
-    ${HOME}/src/spatialdata/configure  --config-cache  --enable-swig --enable-testing --enable-pythia  --prefix=${TOOLS_DIR}  CPPFLAGS="-I${TOOLS_DIR}/include "  LDFLAGS="-L${TOOLS_DIR}/lib " CC=icc CXX=icpc CFLAGS="-O2 -fPIC" CXXFLAGS="-O2 -fPIC"
-
-  Run "make" and "make install".
-    make
-    make install
-
-  Test
-    make check
-
-
-7. PETSc
-
-  Checkout the development version of PETSc.
-    cd $HOME/src
-    hg clone http://petsc.cs.iit.edu/petsc/petsc-dev
-    cd petsc-dev/config
-    hg clone http://petsc.cs.iit.edu/petsc/BuildSystem BuildSystem
-
-  Run configure in the *source* directory.
-    cd $HOME/src/petsc-dev
-    config/configure.py --PETSC_ARCH=linux_${TOOLS_FORMAT} --with-debugging=0 --with-clanguage=c++ --with-mpi-compilers=1 --with-shared=1 --with-dynamic=1 --with-64-bit-points=1 --with-large-file-io=1 --with-blas-lapack-lib="-L/usr/lib/atlas -llapack_atlas -llapack -latlas -lblas" --with-lgrind=0 --with-chaco=1 --download-chaco=1 --with-parmetis=1 --download-parmetis=1 --with-sieve=1 --with-boost=1 --download-boost=1 --with-ml=1 --download-ml=1
-
-  Run "make" and "make test"
-    make
-    make test
-
-
-8. nemesis
-
-  Depends on Python, MPI, pythia.
-
-  Check out nemesis from the publicly accessible CIG SVN repository.
-    cd $HOME/src
-    svn co http://geodynamics.org/svn/cig/cs/nemesis/trunk nemesis-dev
-    cd nemesis-dev
-    autoreconf -if
-
-  Run configure in the build dir.
-    cd $HOME/scratch/build/$TOOLS_FORMAT/nemesis-dev
-    $HOME/src/nemesis-dev/configure --prefix=${TOOLS_DIR}
-
- Run "make" and "make install".
-    make
-    make install
-
-  Test
-    nemesis
-    import mpi
-
-    Running nemesis should startup Python. Nemesis is an MPI wrapper
-    around Python.
-  
- 
-9. PyLith
-
-    Check out PyLith from the publicly accessible CIG SVN repository.
-    cd $HOME/src
-    svn co http://geodynamics.org/svn/cig/short/3D/PyLith/trunk pylith-dev
-    cd pylith-dev
-    autoreconf -if
-
-  Run configure in the build dir.
-    cd $HOME/scratch/build/$TOOLS_FORMAT/pylith-dev
-    ${HOME}/src/pylith-dev/configure  --config-cache  --enable-swig --enable-testing --enable-cubit --prefix=${TOOLS_DIR}  CPPFLAGS="-I${TOOLS_DIR}/include "  LDFLAGS="-L${TOOLS_DIR}/lib "  CC=mpicc CXX=mpiCC  CFLAGS="-O2 -fPIC" CXXFLAGS="-O2 -fPIC"
-
- Run "make" and "make install".
-    make
-    make install
-
-  Test
-    make check
-

Deleted: short/3D/PyLith/branches/pylith-scecdynrup/doc/install/MacBookPro_Aagaard.txt
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/install/MacBookPro_Aagaard.txt	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/install/MacBookPro_Aagaard.txt	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,271 +0,0 @@
-======================================================================
-INSTRUCTIONS FOR INSTALLING PYLITH ON AN INTEL MAC RUNNING OSX 10.5
-======================================================================
-
-NOTE: These installation instructions use the MacPorts package manager
-to install some commonly used packages. MacPorts appears to be a
-better alternative to Fink because packages are updated more
-frequently and there is better coherence among packages. However,
-MacPorts builds all packages from source so installing packages can
-take a long time.
-
-MacPorts places everything in /opt/local. For CIG source code, I
-separate the source code, build directories, and installed code. The
-source code sits in $HOME/src/cig, I build the packages under
-$HOME/scratch/build/cig, and install the packages to $HOME/tools/cig.
-
-I use the bash shell and place all software package environment
-variables in a .bash.tools file that is read by the .bashrc file.
-
-To make things easier, I create environment variables TOOLS_DIR,
-CIG_DIR, TOOLS_FORMAT, and PYTHON_VERSION. The TOOLS_FORMAT variable
-makes it easier to maintain multiple copies of packages built with
-different options (e.g., different compilers and different levels of
-optimization). Note that the python version should match the version
-of Python you will be using. If you don't know the version of python,
-run "python --version".
-
-  export TOOLS_DIR=/tools
-  export TOOLS_FORMAT=gcc-4.0
-  export PYTHON_VERSION=2.5
-
-  export CIG_DIR=$HOME/tools/cig/${TOOLS_FORMAT}
-  export CIG_INCDIR=${CIG_DIR}/include
-  export CIG_LIBDIR=${CIG_DIR}/lib
-  PATH=$PATH:${CIG_DIR}/bin
-  export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CIG_LIBDIR}
-  export PYTHONPATH=${PYTHONPATH}:${CIG_LIBDIR}/python${PYTHON_VERSION}/site-packages
-
-1. X and Xcode
-
-  X and Xcode are on the Apple OSX install disc 1. X is under
-  "additional options."
-
-2. Install MacPorts (http://www.macports.org/)
-
-3. Install Porticus (GUI interface to MacPorts)
-   (http://porticus.alittledrop.com)
-
-4. Install MacPorts packages
-
-  Install the following using Porticus:
-
-    autoconf
-    automake
-    libtool
-    subversion
-    mercurial
-    cppunit
-    python25
-    py25-numpy
-    swig
-
-  Install netcdf via the command line so that you can change the default variants:
-
-    /opt/local/bin/port install netcdf -dap -netcdf4
-
-5. Install MPICH2 (http://www.mcs.anl.gov/research/projects/mpich2/)
-
-  a. Untar the source and then run configure, build, and install.
-
-  ./configure --with-arch=Darwin --disable-f90 --enable-css --prefix=${TOOLS_DIR}/mpich2-1.1.1/${TOOLS_FORMAT} --enable-g=none --enable-fast --disable-weak-symbols --enable-shared-libx=osx-gcc
-    make
-    make install
-
-  b. Verify the shared libraries (lib*.dyllib) are created.
-
-  c. If any of the dylib files are missing, create them by hand from the 
-     static libraries. 
-
-    Note: It is important to specify the full path for the .dylib files.
-
-    To create libmpich.dylib:
-
-    cd ${TOOLS_DIR}/mpich2-1.1.1/${TOOLS_FORMAT}/lib
-    mkdir tmp
-    cd tmp
-    ar -x ../libmpich.a
-    gcc -dynamiclib -single_module -undefined dynamic_lookup -o ${TOOLS_DIR}/mpich2-1.1.1/${TOOLS_FORMAT}/lib/libmpich.dylib *.o
-    rm *.o
-    cd ..
-    rmdir tmp
-
-  d. Set environment variables.
-
-    export MPI_DIR=$TOOLS_DIR/mpich2-1.1.1/${TOOLS_FORMAT}
-    PATH=$PATH:$MPI_DIR/bin
-    export MANPATH=$MPI_DIR/man:$MANPATH
-    export MPI_INCDIR=$MPI_DIR/include
-    export MPI_LIBDIR=$MPI_DIR/lib
-    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MPI_LIBDIR}
-
-6. Install ParMetis (http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview)
-
-  a. Untar the source and edit the Makefile.in.
-  b. Set the CC, COPTIONS, INCDIR, LD, and LIBDIR variables.
-
-    CC = gcc
-    COPTIONS = -DNDEBUG -fPIC
-    INCDIR = -I${MPI_INCDIR}
-    LIBDIR = -L${MPI_LIBDIR} -lmpich -lpmpich
-
-  c. Edit the ParMETISLib/stdheaders.h file
-
-    Comment out the line #include <malloc.h> since this is not a
-    standard header file and not present in OS X 10.5.
-
-  d. Create shared libraries by hand.
-
-    Note: It is important to specify the full path for the .dylib files.
-
-    cd ${TOOLS_DIR}/parmetis-3.1/${TOOLS_FORMAT}/lib
-    mkdir tmp
-    cd tmp
-    ar -x ../libmetis.a
-    gcc -o ${TOOLS_DIR}/parmetis-3.1/${TOOLS_FORMAT}/lib/libmetis.dylib -dynamiclib -single_module -undefined dynamic_lookup  *.o
-    rm *
-    ar -x ../libparmetis.a
-    gcc -o ${TOOLS_DIR}/parmetis-3.1/${TOOLS_FORMAT}/lib/libparmetis.dylib -dynamiclib -single_module -undefined dynamic_lookup  *.o
-    rm *
-    cd ..
-    rmdir tmp
-
-  e. Copy parmetis.h to the install location.
-
-    cp parmetis.h ${TOOLS_DIR}/parmetis-3.1/${TOOLS_FORMAT}/include/
-
-  f. Set environment variables.
-
-    PARMETIS_DIR=$TOOLS_DIR/parmetis-3.1/${TOOLS_FORMAT}
-    export PARMETIS_INCDIR=$PARMETIS_DIR/include
-    export PARMETIS_LIBDIR=$PARMETIS_DIR/lib
-    export PARMETIS_LIBS="-lparmetis -lmetis"
-    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PARMETIS_LIBDIR}
-
-7. Install FIAT (http://www.fenics.org/wiki/FIAT)
-
-  a. Install FIAT.
-
-    python setup.py install --prefix=$TOOLS_DIR/fiat-0.3.1/${TOOLS_FORMAT}
-
-  b. Set environment variables.
-
-    FIAT_DIR=${TOOLS_DIR}/fiat-0.3.4/${TOOLS_FORMAT}
-    export PYTHONPATH=${PYTHONPATH}:${FIAT_DIR}/lib/python${PYTHON_VERSION}/site-packages
-
-8. Install the development version of PETSc
-  (http://www-unix.mcs.anl.gov/petsc/petsc-as/)
-
-  a. Clone the source repository.
-
-    hg clone http://petsc.cs.iit.edu/petsc/petsc-dev
-    cd petsc-dev/config
-    hg clone http://petsc.cs.iit.edu/petsc/BuildSystem BuildSystem
- 
-
-  b. Set PETSC_ARCH and PETSC_DIR environment variables.
-
-    export PETSC_DIR=${TOOLS_DIR}/petsc-dev
-    export PETSC_ARCH=osx_${TOOLS_FORMAT}_debug
-
-  c. Configure PETSc, build, and test.
-
-    ARCH_FLAGS="--PETSC_ARCH=osx_${TOOLS_FORMAT}_debug --with-debugging=1"
-    LANG_FLAGS="--with-clanguage=c++"
-    BUILD_FLAGS="--with-mpi-compilers=0 --with-gnu-compilers=1 --with-shared=1 --with-dynamic=1 --with-64-bit-points=1 --with-large-file-io=1 --CC=gcc --CXX=g++"
-    MPI_FLAGS="--with-mpi-dir=/sw/tools/mpich2-1.1.1/gcc-4.0 --with-mpi-shared=0"
-    OPTIONS="--with-lgrind=0 --download-tetgen"
-    PART_FLAGS="--with-chaco=1 --download-chaco=1 --with-parmetis=1 --with-parmetis-dir=/sw/tools/parmetis-3.1/gcc-4.0"
-    SIEVE_FLAGS="--with-sieve=1 --with-boost=1 --download-boost=1"
-    config/configure.py ${ARCH_FLAGS} ${LANG_FLAGS} ${BUILD_FLAGS} ${MPI_FLAGS} ${OPTIONS} ${PART_FLAGS} ${SIEVE_FLAGS} ${EXTRA_FLAGS}
-    make
-    make test
-
-9. Install pythia.
-
-  a. Download the source code from the SVN repository.
-
-    svn co http://geodynamics.org/svn/cig/cs/pythia/trunk pythia
-
-  b. Install the software.
-
-    python setup.py install --prefix=${CIG_DIR}
-
-  c. Set environment variables.
-
-    export PYTHIA_INCDIR=${CIG_INCDIR}/pythia-0.8
-
-10. Install nemesis.
-
-  a. Download the source code from the SVN repository.
-
-    svn co http://geodynamics.org/svn/cig/cs/nemesis/trunk nemesis
-
-  b. Create the configure script.
-
-    autoreconf -if
-
-  c. Run configure, build, and install.
-
-    ./configure  --prefix=${CIG_DIR}  CPPFLAGS="-I${CIG_INCDIR} -I${MPI_INCDIR}"  LDFLAGS="-L${CIG_LIBDIR} -L${MPI_LIBDIR}"  LIBS="-lpmpich -lmpich"  CC=gcc CXX=g++
-    make
-    make install
-
-    If you get an error about the architecture, edit libtool and
-    delete "-arch ppc" or "-arch intel", which ever one is not for
-    your machine.
-
-11. Install PROJ.4 (http://trac.osgeo.org/proj/)
-
-  a. Download the source code AND the datum shifts (proj-datumgrid-1.4.zip).
-
-  b. Untar the source code and unzip the datum shifts in the nad directory.
-
-  c. Run configure and build.
-
-    ./configure --prefix=${TOOLS_DIR}/proj-4.6.1/${TOOLS_FORMAT}
-    make
-    make install
-
-  d. Set environment variables.
-
-    PROJ4_DIR=${TOOLS_DIR}/proj-4.6.1/${TOOLS_FORMAT}
-    export PROJ4_LIBDIR=${PROJ4_DIR}/lib
-    export PROJ4_INCDIR=${PROJ4_DIR}/include
-    PATH=${PATH}:${PROJ4_DIR}/bin
-    export MANPATH=${MANPATH}:${PROJ4_DIR}/man
-
-12. Install spatialdata.
-
-  a. Download the source code from the SVN repository.
-
-    svn co http://geodynamics.org/svn/cig/cs/spatialdata-0.1/trunk spatialdata
-
-  b. Create the configure script.
-
-    autoreconf -if
-
-  c. Run configure, build, install, and the unit tests.
-
-    ./configure  --enable-testing --enable-pythia  --prefix=${CIG_DIR}  CPPFLAGS="-I${PROJ4_INCDIR} -I${CPPUNIT_INCDIR} -I${CIG_INCDIR}"  LDFLAGS="-L${PROJ4_LIBDIR} -L${CPPUNIT_LIBDIR} -L${CIG_LIBDIR} "  LIBS=""  CC=gcc CXX=g++
-    make
-    make install
-    make check
-
-13. Install PyLith.
-
-  a. Download the source code from the SVN repository.
-
-    svn co http://geodynamics.org/svn/cig/short/3D/PyLith/trunk pylith
-
-  b. Create the configure script.
-
-    autoreconf -if
-
-  c. Run configure, build, install, and the unit tests.
-
-    ./configure  --enable-testing --enable-tetgen --enable-cubit --prefix=${CIG_DIR}  CPPFLAGS="-I${PROJ4_INCDIR} -I${CPPUNIT_INCDIR} -I${CIG_INCDIR} -I/sw/include"  LDFLAGS="-L${PROJ4_LIBDIR} -L${CPPUNIT_LIBDIR} -L${CIG_LIBDIR} -L/sw/lib"  LIBS=""  CC=gcc CXX=g++ CFLAGS="-g -O" CXXFLAGS="-g -O"
-    make
-    make install
-    make check
-

Deleted: short/3D/PyLith/branches/pylith-scecdynrup/doc/install/MacBookPro_Aagaard_bash.sh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/install/MacBookPro_Aagaard_bash.sh	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/install/MacBookPro_Aagaard_bash.sh	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,48 +0,0 @@
-# Environment variables for Bash Shells associated with Brad Aagaard's
-# install of PyLith on a MacBookPro running OS X 10.5
-
-# General
-export TOOLS_DIR=/tools
-export TOOLS_FORMAT=gcc-4.0
-export PYTHON_VERSION=2.5
-
-# Location for installation of CIG software
-export CIG_DIR=$HOME/tools/cig/${TOOLS_FORMAT}
-export CIG_INCDIR=${CIG_DIR}/include
-export CIG_LIBDIR=${CIG_DIR}/lib
-PATH=$PATH:${CIG_DIR}/bin
-export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CIG_LIBDIR}
-export PYTHONPATH=${PYTHONPATH}:${CIG_LIBDIR}/python${PYTHON_VERSION}/site-packages
-
-# MPICH2
-export MPI_DIR=$TOOLS_DIR/mpich2-1.1.1/${TOOLS_FORMAT}
-PATH=$PATH:$MPI_DIR/bin
-export MANPATH=$MPI_DIR/man:$MANPATH
-export MPI_INCDIR=$MPI_DIR/include
-export MPI_LIBDIR=$MPI_DIR/lib
-export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MPI_LIBDIR}
-
-# ParMetis
-PARMETIS_DIR=$TOOLS_DIR/parmetis-3.1/${TOOLS_FORMAT}
-export PARMETIS_INCDIR=$PARMETIS_DIR/include
-export PARMETIS_LIBDIR=$PARMETIS_DIR/lib
-export PARMETIS_LIBS="-lparmetis -lmetis"
-export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PARMETIS_LIBDIR}
-
-# FIAT
-FIAT_DIR=${TOOLS_DIR}/fiat-0.3.4/${TOOLS_FORMAT}
-export PYTHONPATH=${PYTHONPATH}:${FIAT_DIR}/lib/python${PYTHON_VERSION}/site-packages
-
-# PETSc
-export PETSC_DIR=${TOOLS_DIR}/petsc-dev
-export PETSC_ARCH=osx_${TOOLS_FORMAT}_debug
-
-# Pythia
-export PYTHIA_INCDIR=${CIG_INCDIR}/pythia-0.8
-
-# Proj.4
-PROJ4_DIR=${TOOLS_DIR}/proj-4.6.1/${TOOLS_FORMAT}
-export PROJ4_LIBDIR=${PROJ4_DIR}/lib
-export PROJ4_INCDIR=${PROJ4_DIR}/include
-PATH=${PATH}:${PROJ4_DIR}/bin
-export MANPATH=${MANPATH}:${PROJ4_DIR}/man

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Makefile.am	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/install/Makefile.am	2011-06-15 22:30:12 UTC (rev 18638)
@@ -9,7 +9,7 @@
 # This code was developed as part of the Computational Infrastructure
 # for Geodynamics (http://geodynamics.org).
 #
-# Copyright (c) 2010 University of California, Davis
+# Copyright (c) 2010-2011 University of California, Davis
 #
 # See COPYING for license information.
 #
@@ -27,15 +27,7 @@
 	Cluster_CIT-pangu/PyLith.README \
 	Cluster_CIT-pangu/sample.bashrc \
 	Cluster_CIT-pangu/sample.bash.tools \
-	Cluster_CIT-pangu/sample.pylithapp.cfg \
-	Cluster_Rocks-4.3-AMD64.txt \
-	Cluster_Rocks-4.3-AMD64_bash.sh \
-	Linux_ubuntu-AMD64_Aagaard.txt \
-	Linux_ubuntu-AMD64_Aagaard.sh \
-	Linux_Fedora8-AMD64_Aagaard.txt \
-	Linux_Fedora8-AMD64_Aagaard_bash.sh \
-	MacBookPro_Aagaard.txt \
-	MacBookPro_Aagaard_bash.sh
+	Cluster_CIT-pangu/sample.pylithapp.cfg
 
 
 # End of file 

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/install/README
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/install/README	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/install/README	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,66 +1,8 @@
-======================================================================
-OVERVIEW
-======================================================================
+If you are new to PyLith, we recommend using the PyLith binary
+distributions to get up and running quickly. Once you are familiar
+with PyLith and want a custom installation, then we recommend that you
+use the PyLith Installer to build PyLith and its dependencies. The
+PyLith Installer is available on the PyLith website
+http://www.geodynamics.org/cig/software/pylith/. Instructions for how
+to use the installer are bundled in its distribution.
 
-This directory contains detailed instructions for building PyLith from
-source on several different platforms. You can compile all of the
-software packages from source, but, in most cases, it is much easier
-to make use of package managers to install low-level
-dependencies. Additionally, some hardware vendors supply optimized
-math libraries (BLAS/LAPACK) that will provide better performance than
-generic implementations.
-
-The degree of difficulty of the installation is closely related to how
-many binary packages are available for your platform. Most Linux
-distributions provide package managers that make installing a
-consistent suite of packages very easy. On Darwin systems, the package
-managers do a poor job of maintaining compatibility across
-packages. For example, some Fink packages use Apple gcc while others
-use Fink gcc (these two versions of gcc are not necessarily
-compatible). On Darwin systems, we recommend using MacPorts as your
-package manager. It builds everything from source and generally does a
-better job of maintaining consistency than Fink.
-
-The particular versions of several packages used in the installation
-instructions vary depending on how when the package was installed and
-how often it is updated. Unless otherwise noted, you should be able to
-install the current stable releases and not run into compatibility
-problems.
-
-======================================================================
-INSTRUCTIONS FOR VARIOUS PLATFORMS
-======================================================================
-
-We recommend setting up your source, build, and install directories as
-in the Linux_ubuntu-AMD64_Aagaard.txt, Cluster_CIT-garuda, and
-Cluster_CIT-pangu examples. These are setup for relatively stable
-installations, whereas most of the other examples are setup for
-development work and testing with multiple versions of packages. As a
-result they are unnecessarily complex for most users. The other
-examples do provide details for other systems that you may find
-helpful.
-
-FILE                             PLATFORM
-
-Linux_ubuntu-AMD64_Aagaard.txt   x86_64 desktop (gcc compilers)
-Cluster_CIT-garuda.txt           Intel cluster (Intel compilers)
-Cluster_CIT-pangu.txt            Intel cluster (Intel compilers)
-MacBookPro_Aagaard.txt           Intel Mac (Apple gcc 4.2), MacPorts
-Linux_Fedora8-AMD64_Aagaard.txt  x86_64 machine running Fedora 8 (gcc 4.1.2)
-Cluster_Rocks-4.3-AMD64.txt      x86_64 cluster running Rocks 4.3 (gcc 3.4)
-
-======================================================================
-BUILDING IN A SEPARATE DIRECTORY FROM THE SOURCE TREE
-======================================================================
-
-Software packages that conform to the GNU build system and use a
-configure script can usually be built in a different directory from
-the source tree. A notable exception to this is MPICH2, which in most
-cases must be built in the source tree. Building in a directory
-separate from the source tree makes it easy to create builds for
-different compilers, optimization levels, etc. To build in a separate
-directory, simply run the configure script from the directory you wish
-to use as the top-level build directory. Run "make", etc. in the build
-directory. In cases where you need to generate the configure script
-via autoreconf, run "autoreconf -if" in the top-level source
-directory.

Copied: short/3D/PyLith/branches/pylith-scecdynrup/doc/refguide/Doxyfile (from rev 18637, short/3D/PyLith/trunk/doc/refguide/Doxyfile)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/refguide/Doxyfile	                        (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/refguide/Doxyfile	2011-06-15 22:30:12 UTC (rev 18638)
@@ -0,0 +1,1630 @@
+# Doxyfile 1.7.1
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING      = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME           = PyLith
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER         = 1.5.2
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = 
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS         = YES
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+
+OUTPUT_LANGUAGE        = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF       =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH        = ../../
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH    =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF      = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF           = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS           = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES  = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 3
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN   = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL   = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it
+# parses. With this tag you can assign which parser to use for a given extension.
+# Doxygen has a built-in mapping, but you can override or extend it using this
+# tag. The format is ext=language, where ext is a file extension, and language
+# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
+# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
+# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
+# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
+# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
+
+EXTENSION_MAPPING      =
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT    = YES
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT        = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT            = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen to replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT   = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING            = YES
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT   = NO
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penality.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will rougly double the
+# memory usage. The cache size is given by this formula:
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols
+
+SYMBOL_CACHE_SIZE      = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC         = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES  = YES
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS  = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES   = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS      = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES       = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
+# will list include files with double quotes in the documentation
+# rather than with sharp brackets.
+
+FORCE_LOCAL_INCLUDES   = NO
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS       = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS        = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
+# will sort the (brief and detailed) documentation of class members so that
+# constructors and destructors are listed first. If set to NO (the default)
+# the constructors will appear in the respective orders defined by
+# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
+# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
+# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES       = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME     = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       = YES
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = YES
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES       = YES
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES             = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page.
+# This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES        = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER    =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+# by doxygen. The layout file controls the global structure of the generated
+# output files in an output format independent way. The create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option.
+# You can optionally specify a file name after the option, if omitted
+# DoxygenLayout.xml will be used as the name of the layout file.
+
+LAYOUT_FILE            =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR      = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC       = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE           = doxygen.log
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT                  = ../../libsrc ../../modulesrc ../../pylith
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING         = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
+
+FILE_PATTERNS          =*.h *.hh *.py
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE              = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE                =
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
+# directories that are symbolic links (a Unix filesystem feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS       =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS        =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH           =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS       =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE      = YES
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH             =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+# If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER           =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis.
+# Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match.
+# The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
+# is applied to all files.
+
+FILTER_PATTERNS        =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER         = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION    = YES
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code.
+# Otherwise they will link to the documentation.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS              = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER            =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER            =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET        =
+
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
+# Doxygen will adjust the colors in the stylesheet and background images
+# according to this color. Hue is specified as an angle on a colorwheel,
+# see http://en.wikipedia.org/wiki/Hue for more information.
+# For instance the value 0 represents red, 60 is yellow, 120 is green,
+# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
+# The allowed range is 0 to 359.
+
+HTML_COLORSTYLE_HUE    = 220
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
+# the colors in the HTML output. For a value of 0 the output will use
+# grayscales only. A value of 255 will produce the most vivid colors.
+
+HTML_COLORSTYLE_SAT    = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
+# the luminance component of the colors in the HTML output. Values below
+# 100 gradually make the output lighter, whereas values above 100 make
+# the output darker. The value divided by 100 is the actual gamma applied,
+# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
+# and 100 does not change the gamma.
+
+HTML_COLORSTYLE_GAMMA  = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting
+# this to NO can help when comparing the output of multiple runs.
+
+HTML_TIMESTAMP         = YES
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS  = NO
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+# for more information.
+
+GENERATE_DOCSET        = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+
+# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
+# the documentation publisher. This should be a reverse domain-name style
+# string, e.g. com.mycompany.MyDocSet.documentation.
+
+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
+
+# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
+
+DOCSET_PUBLISHER_NAME  = Publisher
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE               =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION           =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
+# content.
+
+CHM_INDEX_ENCODING     =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
+# that can be used as input for Qt's qhelpgenerator to generate a
+# Qt Compressed Help (.qch) of the generated HTML documentation.
+
+GENERATE_QHP           = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
+# be used to specify the file name of the resulting .qch file.
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE               =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE          = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER     = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
+# add. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME   =
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
+# Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS  =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+# project's
+# filter section matches.
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
+# Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS  =
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
+# be used to specify the location of Qt's qhelpgenerator.
+# If non-empty doxygen will try to run qhelpgenerator on the generated
+# .qhp file.
+
+QHG_LOCATION           =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
+#  will be generated, which together with the HTML files, form an Eclipse help
+# plugin. To install this plugin and make it available under the help contents
+# menu in Eclipse, the contents of the directory containing the HTML and XML
+# files needs to be copied into the plugins directory of eclipse. The name of
+# the directory within the plugins directory should be the same as
+# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
+# the help appears.
+
+GENERATE_ECLIPSEHELP   = NO
+
+# A unique identifier for the eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have
+# this name.
+
+ECLIPSE_DOC_ID         = org.doxygen.Project
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX          = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information.
+# If the tag value is set to YES, a side panel will be generated
+# containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
+# Windows users are probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW      = NO
+
+# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
+# and Class Hierarchy pages using a tree view instead of an ordered list.
+
+USE_INLINE_TREES       = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
+# links to external symbols imported via tag files in a separate window.
+
+EXT_LINKS_IN_WINDOW    = NO
+
+# Use this tag to change the font size of Latex formulas included
+# as images in the HTML documentation. The default is 10. Note that
+# when you change the font size after a successful doxygen run you need
+# to manually remove any form_*.png images from the HTML output directory
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE       = 10
+
+# Use the FORMULA_TRANPARENT tag to determine whether or not the images
+# generated for formulas are transparent PNGs. Transparent PNGs are
+# not supported properly for IE 6.0, but are supported on all modern browsers.
+# Note that when changing this option you need to delete any form_*.png files
+# in the HTML output before the changes have effect.
+
+FORMULA_TRANSPARENT    = YES
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box
+# for the HTML output. The underlying search engine uses javascript
+# and DHTML and should work on any modern browser. Note that when using
+# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
+# (GENERATE_DOCSET) there is already a search function so this one should
+# typically be disabled. For large projects the javascript based search engine
+# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
+
+SEARCHENGINE           = YES
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+# implemented using a PHP enabled web server instead of at the web client
+# using Javascript. Doxygen will generate the search PHP script and index
+# file to put on the web server. The advantage of the server
+# based approach is that it scales better to large projects and allows
+# full text search. The disadvances is that it is more difficult to setup
+# and does not have live searching capabilities.
+
+SERVER_BASED_SEARCH    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX         = YES
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+# Note that when enabling USE_PDFLATEX this option is only used for
+# generating bitmaps for formulas in the HTML output, but not in the
+# Makefile that is written to the output directory.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES     = NO
+
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include
+# source code with syntax highlighting in the LaTeX output.
+# Note that which sources are shown also depends on other settings
+# such as SOURCE_BROWSER.
+
+LATEX_SOURCE_CODE      = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA             =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD                =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader.
+# This is useful
+# if you want to understand what is going on.
+# On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH           =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS  =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED             =
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED      =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse
+# the parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+#
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+#
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES               =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS        = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option is superseded by the HAVE_DOT option below. This is only a
+# fallback. It is recommended to install and use dot, since it yields more
+# powerful graphs.
+
+CLASS_DIAGRAMS         = YES
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH            =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = NO
+
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
+# allowed to run in parallel. When set to 0 (the default) doxygen will
+# base this on the number of processors available in the system. You can set it
+# explicitly to a value larger than 0 to get control over the balance
+# between CPU load and processing speed.
+
+DOT_NUM_THREADS        = 0
+
+# By default doxygen will write a font called FreeSans.ttf to the output
+# directory and reference it in all dot files that doxygen generates. This
+# font does not include all possible unicode characters however, so when you need
+# these (or just want a differently looking font) you can specify the font name
+# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
+# which can be done by putting it in a standard location or by setting the
+# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
+# containing the font.
+
+DOT_FONTNAME           = FreeSans.ttf
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
+# The default size is 10pt.
+
+DOT_FONTSIZE           = 10
+
+# By default doxygen will tell dot to use the output directory to look for the
+# FreeSans.ttf font (which doxygen will put there itself). If you specify a
+# different font using DOT_FONTNAME you can set the path where dot
+# can find it using this tag.
+
+DOT_FONTPATH           =
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS           = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK               = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS     = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
+# doxygen will generate a call dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable call graphs
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH             = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
+# doxygen will generate a caller dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable caller
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH           = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH        = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT       = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH               =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS           =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the
+# number of direct children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES    = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH    = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not
+# seem to support this out of the box. Warning: Depending on the platform used,
+# enabling this option may lead to badly anti-aliased labels on the edges of
+# a graph (i.e. they become hard to read).
+
+DOT_TRANSPARENT        = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS      = YES
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP            = YES

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/refguide/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/refguide/Makefile.am	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/refguide/Makefile.am	2011-06-15 22:30:12 UTC (rev 18638)
@@ -9,7 +9,7 @@
 # This code was developed as part of the Computational Infrastructure
 # for Geodynamics (http://geodynamics.org).
 #
-# Copyright (c) 2010 University of California, Davis
+# Copyright (c) 2010-2011 University of California, Davis
 #
 # See COPYING for license information.
 #
@@ -17,6 +17,6 @@
 #
 
 dist_noinst_DATA = \
-	doxyconfig
+	Doxyfile
 
 # End of file 

Deleted: short/3D/PyLith/branches/pylith-scecdynrup/doc/refguide/doxyconfig
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/refguide/doxyconfig	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/refguide/doxyconfig	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,1222 +0,0 @@
-# Doxyfile 1.5.1
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
-# by quotes) that should identify the project.
-
-PROJECT_NAME           = PyLith
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
-# This could be handy for archiving the generated documentation or 
-# if some version control system is used.
-
-PROJECT_NUMBER         = 1.4.2
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
-# base path where the generated documentation will be put. 
-# If a relative path is entered, it will be relative to the location 
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       = 
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
-# 4096 sub-directories (in 2 levels) under the output directory of each output 
-# format and will distribute the generated files over these directories. 
-# Enabling this option can be useful when feeding doxygen a huge amount of 
-# source files, where putting all generated files in the same directory would 
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS         = YES
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
-# documentation generated by doxygen is written. Doxygen will use this 
-# information to generate all constant output in the proper language. 
-# The default language is English, other supported languages are: 
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
-# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, 
-# Italian, Japanese, Japanese-en (Japanese with English messages), Korean, 
-# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, 
-# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
-# include brief member descriptions after the members that are listed in 
-# the file and class documentation (similar to JavaDoc). 
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will
-# prepend the brief description of a member or function before the
-# detailed description.  Note: if both HIDE_UNDOC_MEMBERS and
-# BRIEF_MEMBER_DESC are set to NO, the brief descriptions will be
-# completely suppressed.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator 
-# that is used to form the text in various listings. Each string 
-# in this list, if found as the leading text of the brief description, will be 
-# stripped from the text and the result after processing the whole list, is 
-# used as the annotated text. Otherwise, the brief description is used as-is. 
-# If left blank, the following values are used ("$name" is automatically 
-# replaced with the name of the entity): "The $name class" "The $name widget" 
-# "The $name file" "is" "provides" "specifies" "contains" 
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF       = 
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
-# Doxygen will generate a detailed section even if there is only a brief 
-# description.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
-# inherited members of a class in the documentation of that class as if those 
-# members were ordinary class members. Constructors, destructors and assignment 
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
-# path before files name in the file list and in the header files. If set 
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES        = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
-# can be used to strip a user-defined part of the path. Stripping is 
-# only done if one of the specified strings matches the left-hand part of 
-# the path. The tag can be used to show relative paths in the file list. 
-# If left blank the directory from which doxygen is run is used as the 
-# path to strip.
-
-STRIP_FROM_PATH        = ../../
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
-# the path mentioned in the documentation of a class, which tells 
-# the reader which header file to include in order to use a class. 
-# If left blank only the name of the header file containing the class 
-# definition is used. Otherwise one should specify the include paths that 
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH    = 
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
-# (but less readable) file names. This can be useful is your file systems 
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
-# will interpret the first line (until the first dot) of a JavaDoc-style 
-# comment as the brief description. If set to NO, the JavaDoc 
-# comments will behave just like the Qt-style comments (thus requiring an 
-# explicit @brief command for a brief description.
-
-JAVADOC_AUTOBRIEF      = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
-# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
-# comments) as a brief description. This used to be the default behaviour. 
-# The new default is to treat a multi-line C++ comment block as a detailed 
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
-# member inherits the documentation from any documented member that it 
-# re-implements.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
-# a new page for each member. If set to NO, the documentation of a member will 
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE               = 3
-
-# This tag can be used to specify a number of aliases that acts 
-# as commands in the documentation. An alias has the form "name=value". 
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
-# put the command \sideeffect (or @sideeffect) in the documentation, which 
-# will result in a user-defined paragraph with heading "Side Effects:". 
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                = 
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
-# sources only. Doxygen will then generate output that is more tailored for C. 
-# For instance, some of the names that are used will be different. The list 
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of
-# Java sources only. Doxygen will then generate output that is more
-# tailored for Java.  For instance, namespaces will be presented as
-# packages, qualified scopes will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA   = NO
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do
-# not want to include (a tag file for) the STL sources as input, then
-# you should set this tag to YES in order to let doxygen match
-# functions declarations and definitions whose arguments contain STL
-# classes (e.g. func(std::string); v.s.  func(std::string) {}). This
-# also make the inheritance and collaboration diagrams that involve
-# STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
-# tag is set to YES, then doxygen will reuse the documentation of the first 
-# member in the group (if any) for the other members of the group. By default 
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
-# the same type (for instance a group of public functions) to be put as a 
-# subgroup of that type (e.g. under the Public Functions section). Set it to 
-# NO to prevent subgrouping. Alternatively, this can be done per class using 
-# the \nosubgrouping command.
-
-SUBGROUPING            = YES
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
-# documentation are documented, even if no documentation was available. 
-# Private class members and static file members will be hidden unless 
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL            = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = YES
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file 
-# will be included in the documentation.
-
-EXTRACT_STATIC         = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
-# defined locally in source files will be included in the documentation. 
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. When set to YES local 
-# methods, which are defined in the implementation section but not in 
-# the interface are included in the documentation. 
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
-# undocumented members of documented classes, files or namespaces. 
-# If set to NO (the default) these members will be included in the 
-# various overviews, but no documentation section is generated. 
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
-# undocumented classes that are normally visible in the class hierarchy. 
-# If set to NO (the default) these classes will be included in the various 
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
-# friend (class|struct|union) declarations. 
-# If set to NO (the default) these declarations will be included in the 
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
-# documentation blocks found inside the body of a function. 
-# If set to NO (the default) these blocks will be appended to the 
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation 
-# that is typed after a \internal command is included. If the tag is set 
-# to NO (the default) then the documentation will be excluded. 
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
-# file names in lower-case letters. If set to YES upper-case letters are also 
-# allowed. This is useful if you have classes or files whose names only differ 
-# in case and if your file system supports case sensitive file names. Windows 
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES       = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
-# will show members with their full class and namespace scopes in the 
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
-# will put a list of the files that are included by a file in the documentation 
-# of that file.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
-# is inserted in the documentation for inline members.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
-# will sort the (detailed) documentation of file and class members 
-# alphabetically by member name. If set to NO the members will appear in 
-# declaration order.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
-# brief documentation of file, namespace and class members alphabetically 
-# by member name. If set to NO (the default) the members will appear in 
-# declaration order.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
-# sorted by fully-qualified names, including namespaces. If set to 
-# NO (the default), the class list will be sorted only by class name, 
-# not including the namespace part. 
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the 
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or 
-# disable (NO) the todo list. This list is created by putting \todo 
-# commands in the documentation.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or 
-# disable (NO) the test list. This list is created by putting \test 
-# commands in the documentation.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or 
-# disable (NO) the bug list. This list is created by putting \bug 
-# commands in the documentation.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
-# disable (NO) the deprecated list. This list is created by putting 
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST = YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional 
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       = YES
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
-# the initial value of a variable or define consists of for it to appear in 
-# the documentation. If the initializer consists of more lines than specified 
-# here it will be hidden. Use a value of 0 to hide initializers completely. 
-# The appearance of the initializer of individual variables and defines in the 
-# documentation can be controlled using \showinitializer or \hideinitializer 
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
-# at the bottom of the documentation of classes and structs. If set to YES the 
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES        = YES
-
-# If the sources in your project are distributed over multiple
-# directories then setting the SHOW_DIRECTORIES tag to YES will show
-# the directory hierarchy in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or
-# script that doxygen should invoke to get the current version for
-# each file (typically from the version control system). Doxygen will
-# invoke the program by executing (via popen()) the command <command>
-# <input-file>, where <command> is the value of the
-# FILE_VERSION_FILTER tag, and <input-file> is the name of an input
-# file provided by doxygen. Whatever the program writes to standard
-# output is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER    = 
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated 
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET                  = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are 
-# generated by doxygen. Possible values are YES and NO. If left blank 
-# NO is used.
-
-WARNINGS               = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
-# potential errors in the documentation, such as not documenting some 
-# parameters in a documented function, or documenting parameters that 
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be abled to get warnings for 
-# functions that are documented, but have no documentation for their parameters 
-# or return value. If set to NO (the default) doxygen will only warn about 
-# wrong or incomplete parameter documentation, but not about the absence of 
-# documentation.
-
-WARN_NO_PARAMDOC       = YES
-
-# The WARN_FORMAT tag determines the format of the warning messages that 
-# doxygen can produce. The string should contain the $file, $line, and $text 
-# tags, which will be replaced by the file and line number from which the 
-# warning originated and the warning text. Optionally the format may contain 
-# $version, which will be replaced by the version of the file (if it could 
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning 
-# and error messages should be written. If left blank the output is written 
-# to stderr.
-
-WARN_LOGFILE           = doxygen.log
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories
-# that contain documented source files. You may enter file names like
-# "myfile.cpp" or directories like "/usr/src/myproject". Separate the
-# files or directories with spaces.
-
-INPUT                  = ../../libsrc ../../modulesrc ../../pylith
-
-# If the value of the INPUT tag contains directories, you can use the 
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank the following patterns are tested: 
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx 
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
-
-FILE_PATTERNS          = *.h *.hh
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
-# should be searched for input files as well. Possible values are YES and NO. 
-# If left blank NO is used.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should 
-# excluded from the INPUT source files. This way you can easily exclude a 
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE                = 
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
-# directories that are symbolic links (a Unix filesystem feature) are excluded 
-# from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the 
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
-# certain files from those directories. Note that the wildcards are matched 
-# against the file with absolute path, so to exclude all test directories 
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       = 
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or 
-# directories that contain example code fragments that are included (see 
-# the \include command).
-
-EXAMPLE_PATH           = 
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank all files are included.
-
-EXAMPLE_PATTERNS       = 
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
-# searched for input files to be used with the \include or \dontinclude 
-# commands irrespective of the value of the RECURSIVE tag. 
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE      = YES
-
-# The IMAGE_PATH tag can be used to specify one or more files or 
-# directories that contain image that are included in the documentation (see 
-# the \image command).
-
-IMAGE_PATH             = 
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should 
-# invoke to filter for each input file. Doxygen will invoke the filter program 
-# by executing (via popen()) the command <filter> <input-file>, where <filter> 
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
-# input file. Doxygen will then use the output that the filter program writes 
-# to standard output.  If FILTER_PATTERNS is specified, this tag will be 
-# ignored.
-
-INPUT_FILTER           = 
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
-# basis.  Doxygen will compare the file name with each pattern and apply the 
-# filter if there is a match.  The filters are a list of the form: 
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER 
-# is applied to all files.
-
-FILTER_PATTERNS        = 
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
-# INPUT_FILTER) will be used to filter the input files when producing source 
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
-# be generated. Documented entities will be cross-referenced with these sources. 
-# Note: To get rid of all source code in the generated output, make sure also 
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER         = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body 
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
-# doxygen to hide any special comment blocks from generated source code 
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES (the default) 
-# then for each documented function all documented 
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES (the default) 
-# then for each documented function all documented entities 
-# called/used by that function will be listed.
-
-REFERENCES_RELATION    = YES
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code.  Otherwise they will link to the documentstion.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code 
-# will point to the HTML generated by the htags(1) tool instead of doxygen 
-# built-in source browser. The htags tool is part of GNU's global source 
-# tagging system (see http://www.gnu.org/software/global/global.html). You 
-# will need version 4.8.6 or higher.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
-# will generate a verbatim copy of the header file for each class for 
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
-# of all compounds will be generated. Enable this if the project 
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX     = NO
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all 
-# classes will be put under the same header in the alphabetical index. 
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX          = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
-# generate HTML output.
-
-GENERATE_HTML          = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard header.
-
-HTML_HEADER            = 
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard footer.
-
-HTML_FOOTER            = 
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
-# style sheet that is used by each HTML page. It can be used to 
-# fine-tune the look of the HTML output. If the tag is left blank doxygen 
-# will generate a default style sheet. Note that doxygen will try to copy 
-# the style sheet file to the HTML output directory, so don't put your own 
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET        = 
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
-# files or namespaces will be aligned in HTML using tables. If set to 
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
-# will be generated that can be used as input for tools like the 
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP      = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
-# be used to specify the file name of the resulting .chm file. You 
-# can add a path in front of the file if the result should not be 
-# written to the html output directory.
-
-CHM_FILE               = 
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
-# be used to specify the location (absolute path including file name) of 
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION           = 
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
-# controls if a separate .chi index file is generated (YES) or that 
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI           = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
-# controls whether a binary table of contents is generated (YES) or a 
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members 
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND             = NO
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
-# top of each HTML page. The value NO (the default) enables the index and 
-# the value YES disables it.
-
-DISABLE_INDEX          = NO
-
-# This tag can be used to set the number of enum values (range [1..20]) 
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
-# generated containing a tree-like index structure (just like the one that 
-# is generated for HTML Help). For this to work a browser that supports 
-# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, 
-# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are 
-# probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW      = YES
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
-# used to set the initial width (in pixels) of the frame in which the tree 
-# is shown.
-
-TREEVIEW_WIDTH         = 250
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
-# generate Latex output.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
-# invoked. If left blank `latex' will be used as the default command name.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
-# generate index for LaTeX. If left blank `makeindex' will be used as the 
-# default command name.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
-# LaTeX documents. This may be useful for small projects and may help to 
-# save some trees in general.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used 
-# by the printer. Possible values are: a4, a4wide, letter, legal and 
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE             = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES         = 
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
-# the generated latex document. The header should contain everything until 
-# the first chapter. If it is left blank doxygen will generate a 
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER           = 
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
-# contain links (just like the HTML output) instead of page references 
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS         = NO
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
-# plain latex in the generated Makefile. Set this option to YES to get a 
-# higher quality PDF documentation.
-
-USE_PDFLATEX           = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
-# command to the generated LaTeX files. This will instruct LaTeX to keep 
-# running if errors occur, instead of asking the user for help. 
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE        = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
-# include the index chapters (such as File Index, Compound Index, etc.) 
-# in the output.
-
-LATEX_HIDE_INDICES     = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
-# The RTF output is optimized for Word 97 and may not look very pretty with 
-# other RTF readers or editors.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
-# RTF documents. This may be useful for small projects and may help to 
-# save some trees in general.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
-# will contain hyperlink fields. The RTF file will 
-# contain links (just like the HTML output) instead of page references. 
-# This makes the output suitable for online browsing using WORD or other 
-# programs which support those fields. 
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's 
-# config file, i.e. a series of assignments. You only have to provide 
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE    = 
-
-# Set optional variables used in the generation of an rtf document. 
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
-# generate man pages
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to 
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION          = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
-# then it will generate one additional man file for each entity 
-# documented in the real man page(s). These additional files 
-# only source the real man page, but without them the man command 
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will 
-# generate an XML file that captures the structure of 
-# the code including all documentation.
-
-GENERATE_XML           = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT             = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema, 
-# which can be used by a validating XML parser to check the 
-# syntax of the XML files.
-
-XML_SCHEMA             = 
-
-# The XML_DTD tag can be used to specify an XML DTD, 
-# which can be used by a validating XML parser to check the 
-# syntax of the XML files.
-
-XML_DTD                = 
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
-# dump the program listings (including syntax highlighting 
-# and cross-referencing information) to the XML output. Note that 
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING     = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
-# generate an AutoGen Definitions (see autogen.sf.net) file 
-# that captures the structure of the code including all 
-# documentation. Note that this feature is still experimental 
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
-# generate a Perl module file that captures the structure of 
-# the code including all documentation. Note that this 
-# feature is still experimental and incomplete at the 
-# moment.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
-# nicely formatted so it can be parsed by a human reader.  This is useful 
-# if you want to understand what is going on.  On the other hand, if this 
-# tag is set to NO the size of the Perl module output will be much smaller 
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file 
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
-# This is useful so different doxyrules.make files included by the same 
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX = 
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
-# evaluate all C-preprocessor directives found in the sources and include 
-# files.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
-# names in the source code. If set to NO (the default) only conditional 
-# compilation will be performed. Macro expansion can be done in a controlled 
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION        = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
-# then the macro expansion is limited to the macros specified with the 
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that 
-# contain include files that are not input files but should be processed by 
-# the preprocessor.
-
-INCLUDE_PATH           = 
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
-# patterns (like *.h and *.hpp) to filter out the header-files in the 
-# directories. If left blank, the patterns specified with FILE_PATTERNS will 
-# be used.
-
-INCLUDE_FILE_PATTERNS  = 
-
-# The PREDEFINED tag can be used to specify one or more macro names that 
-# are defined before the preprocessor is started (similar to the -D option of 
-# gcc). The argument of the tag is a list of macros of the form: name 
-# or name=definition (no spaces). If the definition and the = are 
-# omitted =1 is assumed. To prevent a macro definition from being 
-# undefined via #undef or recursively expanded use the := operator 
-# instead of the = operator.
-
-PREDEFINED             = 
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
-# this tag can be used to specify a list of macro names that should be expanded. 
-# The macro definition that is found in the sources will be used. 
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED      = 
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
-# doxygen's preprocessor will remove all function-like macros that are alone 
-# on a line, have an all uppercase name, and do not end with a semicolon. Such 
-# function macros are typically used for boiler-plate code, and will confuse 
-# the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles. 
-# Optionally an initial location of the external documentation 
-# can be added for each tagfile. The format of a tag file without 
-# this location is as follows: 
-#   TAGFILES = file1 file2 ... 
-# Adding location for the tag files is done as follows: 
-#   TAGFILES = file1=loc1 "file2 = loc2" ... 
-# where "loc1" and "loc2" can be relative or absolute paths or 
-# URLs. If a location is present for each tag, the installdox tool 
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen 
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES               = 
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE       = 
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
-# in the class index. If set to NO only the inherited external classes 
-# will be listed.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
-# in the modules index. If set to NO, only the current project's groups will 
-# be listed.
-
-EXTERNAL_GROUPS        = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script 
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base 
-# or super classes. Setting the tag to NO turns the diagrams off. Note that 
-# this option is superseded by the HAVE_DOT option below. This is only a 
-# fallback. It is recommended to install and use dot, since it yields more 
-# powerful graphs.
-
-CLASS_DIAGRAMS         = YES
-
-# If set to YES, the inheritance and collaboration graphs will hide 
-# inheritance and usage relations if the target is undocumented 
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
-# available from the path. This tool is part of Graphviz, a graph visualization 
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT               = NO
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect inheritance relations. Setting this tag to YES will force the 
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect implementation dependencies (inheritance, containment, and 
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH    = YES
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
-# collaboration diagrams in a style similar to the OMG's Unified Modeling 
-# Language.
-
-UML_LOOK               = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the 
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
-# tags are set to YES then doxygen will generate a graph for each documented 
-# file showing the direct and indirect include dependencies of the file with 
-# other documented files.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
-# documented header file showing the documented files that directly or 
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
-# generate a call dependency graph for every global function or class method. 
-# Note that enabling this option will significantly increase the time of a run. 
-# So in most cases it will be better to enable call graphs for selected 
-# functions only using the \callgraph command.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
-# generate a caller dependency graph for every global function or class method. 
-# Note that enabling this option will significantly increase the time of a run. 
-# So in most cases it will be better to enable caller graphs for selected 
-# functions only using the \callergraph command.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES 
-# then doxygen will show the dependencies a directory has on other directories 
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT       = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be 
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH               = 
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that 
-# contain dot files that are included in the documentation (see the 
-# \dotfile command).
-
-DOTFILE_DIRS           = 
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
-# graphs generated by dot. A depth value of 3 means that only nodes reachable 
-# from the root by following a path via at most 3 edges will be shown. Nodes 
-# that lay further from the root node will be omitted. Note that setting this 
-# option to 1 or 2 may greatly reduce the computation time needed for large 
-# code bases. Also note that a graph may be further truncated if the graph's 
-# image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH 
-# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), 
-# the graph is not depth-constrained.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
-# background. This is disabled by default, which results in a white background. 
-# Warning: Depending on the platform used, enabling this option may lead to 
-# badly anti-aliased labels on the edges of a graph (i.e. they become hard to 
-# read).
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
-# files in one run (i.e. multiple -o and -T options on the command line). This 
-# makes dot run faster, but since only newer versions of dot (>1.8.10) 
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS      = NO
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
-# generate a legend page explaining the meaning of the various boxes and 
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
-# remove the intermediate dot files that are used to generate 
-# the various graphs.
-
-DOT_CLEANUP            = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be 
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE           = NO

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/releasenotes/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/releasenotes/Makefile.am	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/releasenotes/Makefile.am	2011-06-15 22:30:12 UTC (rev 18638)
@@ -9,7 +9,7 @@
 # This code was developed as part of the Computational Infrastructure
 # for Geodynamics (http://geodynamics.org).
 #
-# Copyright (c) 2010 University of California, Davis
+# Copyright (c) 2010-2011 University of California, Davis
 #
 # See COPYING for license information.
 #
@@ -25,7 +25,10 @@
 	announce_v1.3.1.txt \
 	announce_v1.4.0.txt \
 	announce_v1.4.2.txt \
-	announce_v1.5.0.txt
+	announce_v1.5.0.txt \
+	announce_v1.5.1.txt \
+	announce_v1.5.2.txt \
+	announce_v1.6.0.txt
 
 
 # End of file 

Copied: short/3D/PyLith/branches/pylith-scecdynrup/doc/releasenotes/announce_v1.5.2.txt (from rev 18637, short/3D/PyLith/trunk/doc/releasenotes/announce_v1.5.2.txt)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/releasenotes/announce_v1.5.2.txt	                        (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/releasenotes/announce_v1.5.2.txt	2011-06-15 22:30:12 UTC (rev 18638)
@@ -0,0 +1,53 @@
+Greetings,
+
+I am pleased to announce the release of PyLith 1.5.2, a finite-element
+code designed to solve dynamic elastic problems and quasi-static
+viscoelastic problems in tectonic deformation.
+
+This release fixes several bugs in v1.5.1. We strongly recommend
+all users of previous PyLith releases to switch to this latest
+release. See the README file for changes required to switch to the
+v1.5.x release series from previous versions.
+
+You can download the source code and binaries from
+
+    http://www.geodynamics.org/cig/software/pylith
+
+Detailed installation instructions are in the User Manual with example
+installation procedures for a few platforms in the bundled doc/install
+directory.
+
+
+RELEASE NOTES
+
+  * PyLith 1.5.2 requires FIAT version 0.9.9 or later and an updated
+    PETSc development version. It also requires users to update to the
+    latest spatialdata version for compatibility of the SWIG generated
+    files. These are included in the binary distribution, but users
+    building PyLith from source will need to update FIAT, PETSc, and
+    spatialdata.
+
+  * Users of the Darwin 10.6 binary version must have /usr/bin/python
+    as the Python interpreter in their path. You can verify this using
+    'which python'.
+
+  * Bug fixes
+
+    - Fixed setting of elastic constants in DruckerPrager3D and
+      computation of the yield function. Some off-diagonal elasticity
+      constants were off by a factor of 2.0 and the yield function was
+      missing a factor of 0.5 and sqrt().
+
+    - Fixed computation of stable time step when using initial
+      stresses with PowerLaw3D. If effective stress is zero, then
+      stable time step is infinite.
+
+    - Re-enabled check for compatibility of quadrature scheme and
+      cells for bulk rheologies.
+
+    - Added check to configure for compatible version of FIAT.
+
+    - Fixed bug where buffer for output of initial stresses for
+      dynamic (spontaneous) rupture.
+
+

Copied: short/3D/PyLith/branches/pylith-scecdynrup/doc/releasenotes/announce_v1.6.0.txt (from rev 18637, short/3D/PyLith/trunk/doc/releasenotes/announce_v1.6.0.txt)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/releasenotes/announce_v1.6.0.txt	                        (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/releasenotes/announce_v1.6.0.txt	2011-06-15 22:30:12 UTC (rev 18638)
@@ -0,0 +1,90 @@
+Greetings,
+
+I am pleased to announce the release of PyLith 1.6.0, a finite-element
+code designed to solve dynamic elastic problems and quasi-static
+viscoelastic problems in tectonic deformation.
+
+This release adds several new features to PyLith, including (1)
+parallel binary output via HDF5 files, (2) a 2-D generalized Maxwell
+viscoelastic bulk constitutive model, (3) a time-weakening fault
+constitutive model, (4) global uniform parallel mesh refinement, (5) a
+custom algebraic multigrid preconditioner to improve the efficiency of
+the solver for quasi-static problems, and (6) a new installation
+utility for building from source.
+
+We strongly recommend all users of previous PyLith releases switch
+to this latest release. In addition to adding features this release
+also fixes a number of bugs related to fault friction and initial
+strains for viscoelastic models. We have added a few more consistency
+checks and optimized some data structures. Parameter files used with v1.5
+are fully compatible with this release (no changes are necessary).
+
+You can download the source code and binaries from
+
+    http://geodynamics.org/cig/software/packages/short/pylith
+
+Detailed installation instructions for the binary packages are in the
+User Manual with detailed building instructions for a few platforms
+in the INSTALL file bundled with the PyLith Installer utility.
+
+
+RELEASE NOTES
+
+* New features
+
+  * Parallel binary output via HDF5
+
+    Provides much faster output by writing HDF5 files in parallel,
+    which can be accessed directly from Matlab or indirectly from
+    ParaView or Visit via automatically created Xdmf files. Temporal
+    data is stored in 3-D arrays, permitting slicing in time and/or
+    space. See examples/3d/hex8 Steps 6-9 and examples/2d/subduction
+    in the tutorials for examples.
+
+ * 2-D generalized Maxwell viscoelastic bulk rheology
+
+    Added a 2-D generalized Maxwell viscoelastic bulk rheology
+    corresponding to the plane strain version of the 3-D generalized
+    Maxwell viscoelastic model.
+
+ * Time-weakening fault constitutive model
+
+    Added a linear time-weakening fault constitutive model. Some
+    spontaneous rupture modelers prefer this model over linear
+    slip-weakening because it is easier to maintain resolution of the
+    cohesive zone.
+
+ * Global uniform parallel mesh refinement
+
+    Permits running larger problems through uniform global refinement
+    of the mesh by a factor of 2 (reduces the node spacing by a factor
+    of 2) after the mesh is distributed among processors. This allows
+    running problems that are 4x larger in 2-D and 8x larger in
+    3-D. See examples/3d/tet4 Steps 2 and 4 for examples.
+  
+ * Custom algebraic multigrid preconditioner
+
+    Adds a custom preconditioner for Lagrange multiplier degrees of
+    freedom associated with fault slip via prescribed slip or
+    spontaneous ruptures with algebraic multigrid preconditioning for
+    quasi-static solutions. In most cases, this results in fewer
+    iterations in the linear solve and the number of iterations
+    increases much less with problem size. See examples/3d/tet4 Steps
+    2 and 4 for examples.
+
+  * PyLith installer utility
+
+    This utility provides a much more robust method for building
+    PyLith and all of its dependencies from source, including
+    dependency checking, installation to a central location, and
+    creation of a shell script to set environment variables. 
+
+* Bug fixes
+
+    - Fixed the fault friction implementation to correctly update Lagrange
+      multiplier values when the slip is overestimated in an
+      iteration. This primary fixes problems encountered with the use
+      of the Dieterich-Ruina rate and state fault constitutive model.
+
+    - Corrected viscoelastic rheologies to properly account for a
+      nonzero initial strain tensor.

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/releasenotes/checklist.txt
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/releasenotes/checklist.txt	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/releasenotes/checklist.txt	2011-06-15 22:30:12 UTC (rev 18638)
@@ -26,6 +26,8 @@
 
   * Increment version number in configure.ac.
 
+  * Increment version number in setup.py.
+
   * Add changes to README.
 
   * Add release notes in doc/releasenotes.

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/Makefile.am
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/Makefile.am	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/Makefile.am	2011-06-15 22:30:12 UTC (rev 18638)
@@ -16,11 +16,6 @@
 # ----------------------------------------------------------------------
 #
 
-dist_noinst_DATA =
+dist_noinst_DATA = makepdf.sh
 
-default: userguide.pdf
-
-userguide.pdf:
-	lyx -e pdf userguide.lyx
-
 # End of file 

Copied: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/alternativeformul (from rev 18637, short/3D/PyLith/trunk/doc/userguide/alternativeformul)

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/benchmarks/benchmarks.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/benchmarks/benchmarks.lyx	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/benchmarks/benchmarks.lyx	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,5 +1,5 @@
-#LyX 1.6.4 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
 \begin_document
 \begin_header
 \textclass book
@@ -7,18 +7,26 @@
 
 \end_preamble
 \use_default_options false
+\maintain_unincluded_children false
 \language english
+\language_package default
 \inputencoding latin1
+\fontencoding global
 \font_roman default
 \font_sans default
 \font_typewriter default
 \font_default_family default
+\use_non_tex_fonts false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
 
 \graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
 \paperfontsize default
 \spacing single
 \use_hyperref false
@@ -26,9 +34,18 @@
 \use_geometry true
 \use_amsmath 1
 \use_esint 0
+\use_mhchem 1
+\use_mathdots 1
 \cite_engine basic
 \use_bibtopic false
+\use_indices false
 \paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
 \leftmargin 1in
 \topmargin 1in
 \rightmargin 1in
@@ -36,15 +53,16 @@
 \secnumdepth 3
 \tocdepth 3
 \paragraph_separation indent
-\defskip medskip
+\paragraph_indentation default
 \quotes_language english
 \papercolumns 1
 \papersides 2
 \paperpagestyle default
 \tracking_changes false
 \output_changes false
-\author "" 
-\author "" 
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
 \end_header
 
 \begin_body
@@ -154,20 +172,23 @@
 \end_inset
 
  includes a graphical user interface for examining the benchmark results.
- Benchmark results for PyLith are available for tpv205-2d (horizontal slice
- through a vertical strike-slip fault), tpv205 (vertical strike-slip fault
- with high and low stress asperities), tpv210-2d (vertical slice through
- a 60 degree dipping normal fault), and tpv210 (60 degree dipping normal
- fault).
+ Benchmark results for PyLith are available for TPV205-2D (horizontal slice
+ through a vertical strike-slip fault), TPV205 (vertical strike-slip fault
+ with high and low stress asperities), TPV210-2D (vertical slice through
+ a 60 degree dipping normal fault), TPV210 (60 degree dipping normal fault),
+ TPV14-2D and TPV15-2D (horizontal slice through a verticel strike-slip
+ fault with a branch) and TPV14 and TPV15 (vertical strike-slip fault with
+ a branch).
 \end_layout
 
 \begin_layout Standard
 The benchmark results indicate that triangular and tetrahedral cells generate
  less numerical noise than quadrilateral or hexahedral cells.
- We plan to add appropriate bulk constitutive models for damping high frequency
- oscillations in order to reduce the numerical noise.
+ TPV14-2D, TPV15-2D, TPV14, and TPV15 use the numerical damping via an artificia
+l viscosity available in PyLith v1.6.0 to these high-frequency oscillations.
  All of the other results without high frequency oscillations posted on
- the SCEC benchmarks web page employ damping to reduce numerical artifacts.
+ the SCEC benchmarks web page employ damping via similar methods to reduce
+ numerical artifacts.
 \end_layout
 
 \end_body

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/benchmarks/savageprescott/savageprescott.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/benchmarks/savageprescott/savageprescott.lyx	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/benchmarks/savageprescott/savageprescott.lyx	2011-06-15 22:30:12 UTC (rev 18638)
@@ -273,7 +273,7 @@
 ), the resolution at the outer boundaries is 20 km.
  An inner region is then put through one level of refinement, so that near
  the center of the mesh the resolution is 10 km.
- All meshes were generated with Cubit.
+ All meshes were generated with CUBIT.
 \end_layout
 
 \begin_layout Description

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/boundaryconditions/boundaryconditions.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/boundaryconditions/boundaryconditions.lyx	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/boundaryconditions/boundaryconditions.lyx	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,21 +1,29 @@
-#LyX 1.6.4 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
 \begin_document
 \begin_header
 \textclass book
 \use_default_options false
+\maintain_unincluded_children false
 \language english
+\language_package default
 \inputencoding auto
+\fontencoding global
 \font_roman default
 \font_sans default
 \font_typewriter default
 \font_default_family default
+\use_non_tex_fonts false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
 
 \graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
 \paperfontsize default
 \spacing single
 \use_hyperref false
@@ -23,9 +31,18 @@
 \use_geometry true
 \use_amsmath 1
 \use_esint 0
+\use_mhchem 1
+\use_mathdots 1
 \cite_engine basic
 \use_bibtopic false
+\use_indices false
 \paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
 \leftmargin 1in
 \topmargin 1in
 \rightmargin 1in
@@ -33,15 +50,16 @@
 \secnumdepth 3
 \tocdepth 3
 \paragraph_separation indent
-\defskip medskip
+\paragraph_indentation default
 \quotes_language english
 \papercolumns 1
 \papersides 1
 \paperpagestyle default
 \tracking_changes false
 \output_changes false
-\author "" 
-\author "" 
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
 \end_header
 
 \begin_body
@@ -188,8 +206,10 @@
 \begin_layout Standard
 Several boundary conditions use a common formulation for the spatial and
  temporal variation of the boundary condition parameters,
-\begin_inset Formula \[
-f(\vec{x})=f_{0}(\vec{x})+\dot{f}_{0}(\vec{x})(t-t_{0}(\vec{x}))+f_{1}(\vec{x})a(t-t_{1}(\vec{x})),\]
+\begin_inset Formula 
+\begin{equation}
+f(\vec{x})=f_{0}(\vec{x})+\dot{f}_{0}(\vec{x})(t-t_{0}(\vec{x}))+f_{1}(\vec{x})a(t-t_{1}(\vec{x})),
+\end{equation}
 
 \end_inset
 
@@ -415,7 +435,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="6" columns="3">
-<features>
+<features tabularvalignment="middle">
 <column alignment="center" valignment="top" width="0">
 <column alignment="center" valignment="top" width="0">
 <column alignment="center" valignment="top" width="3in">
@@ -673,7 +693,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="4" columns="2">
-<features>
+<features tabularvalignment="middle">
 <column alignment="center" valignment="top" width="0">
 <column alignment="center" valignment="top" width="4in">
 <row>
@@ -972,7 +992,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="2" columns="3">
-<features>
+<features tabularvalignment="middle">
 <column alignment="center" valignment="top" width="0">
 <column alignment="center" valignment="top" width="0">
 <column alignment="center" valignment="top" width="0">
@@ -1153,7 +1173,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="4" columns="2">
-<features>
+<features tabularvalignment="middle">
 <column alignment="center" valignment="top" width="0">
 <column alignment="center" valignment="top" width="4in">
 <row>
@@ -1423,7 +1443,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="4" columns="2">
-<features>
+<features tabularvalignment="middle">
 <column alignment="center" valignment="top" width="0">
 <column alignment="center" valignment="top" width="4in">
 <row>
@@ -1602,8 +1622,10 @@
 
 .
  We can write the displacement field as
-\begin_inset Formula \begin{equation}
-\vec{u}(\vec{x},t)=\vec{u^{t}}(t-\frac{\vec{x}}{c}),\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\vec{u}(\vec{x},t)=\vec{u^{t}}(t-\frac{\vec{x}}{c}),
+\end{equation}
 
 \end_inset
 
@@ -1644,10 +1666,12 @@
 
  is the vertical direction tangent to the boundary, the tractions on the
  boundary are
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 T_{s_{h}}=\sigma_{s_{h}n}\\
 T_{s_{v}}=\sigma_{s_{v}n}\\
-T_{n}=\sigma_{nn}.\end{gather}
+T_{n}=\sigma_{nn}.
+\end{gather}
 
 \end_inset
 
@@ -1658,10 +1682,12 @@
 \end_inset
 
  and we can write the tractions as 
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 T_{s_{h}}=2\mu\epsilon_{s_{h}n}\\
 T_{s_{v}}=2\epsilon_{s_{v}n}\\
-T_{n}=(\lambda+2\mu)\epsilon_{nn}+\lambda(\epsilon_{s_{h}s_{h}}+\epsilon_{s_{v}s_{v}}).\end{gather}
+T_{n}=(\lambda+2\mu)\epsilon_{nn}+\lambda(\epsilon_{s_{h}s_{h}}+\epsilon_{s_{v}s_{v}}).
+\end{gather}
 
 \end_inset
 
@@ -1670,23 +1696,29 @@
 \end_inset
 
  and we have
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \epsilon_{s_{h}n}=\frac{1}{2}(u_{s_{h},n}+u_{n,s_{h}})\\
 \epsilon_{s_{v}n}=\frac{1}{2}(u_{s_{v},n}+u_{n,s_{v}})\\
-\epsilon_{nn}=u_{n,n}.\end{gather}
+\epsilon_{nn}=u_{n,n}.
+\end{gather}
 
 \end_inset
 
 For our propagating plane wave, we recognize that
-\begin_inset Formula \begin{equation}
-\frac{\partial\vec{u^{t}}(t-\frac{\vec{x}}{c})}{\partial x_{i}}=-\frac{1}{c}\frac{\partial\vec{u^{t}}(t-\frac{\vec{x}}{c})}{\partial t},\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\frac{\partial\vec{u^{t}}(t-\frac{\vec{x}}{c})}{\partial x_{i}}=-\frac{1}{c}\frac{\partial\vec{u^{t}}(t-\frac{\vec{x}}{c})}{\partial t},
+\end{equation}
 
 \end_inset
 
 so that our expressions for the tractions become
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 T_{s_{h}}=-\frac{\mu}{c}\left(\frac{\partial u_{s_{h}}^{t}(t-\frac{\vec{x}}{c})}{\partial t}+\frac{\partial u_{n}^{t}(t-\frac{\vec{x}}{c})}{\partial t}\right),\\
-T_{s_{v}}=-\frac{\mu}{c}\left(\frac{\partial u_{s_{v}}^{t}(t-\frac{\vec{x}}{c})}{\partial t}+\frac{\partial u_{n}^{t}(t-\frac{\vec{x}}{c})}{\partial t}\right).\end{gather}
+T_{s_{v}}=-\frac{\mu}{c}\left(\frac{\partial u_{s_{v}}^{t}(t-\frac{\vec{x}}{c})}{\partial t}+\frac{\partial u_{n}^{t}(t-\frac{\vec{x}}{c})}{\partial t}\right).
+\end{gather}
 
 \end_inset
 
@@ -1732,16 +1764,20 @@
 
 .
  This leads to the following expressions for the tractions:
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 T_{s_{h}}=-\rho v_{s}\frac{\partial u_{s_{h}}^{t}(t-\frac{\vec{x}}{c})}{\partial t}\\
 T_{s_{v}}=-\rho v_{s}\frac{\partial u_{v}^{t}(t-\frac{\vec{x}}{c})}{\partial t}\\
-T_{n}=-\rho v_{p}\frac{\partial u_{n}^{t}(t-\frac{\vec{x}}{c})}{\partial t}\end{gather}
+T_{n}=-\rho v_{p}\frac{\partial u_{n}^{t}(t-\frac{\vec{x}}{c})}{\partial t}
+\end{gather}
 
 \end_inset
 
 We write the weak form of the boundary condition as
-\begin_inset Formula \[
-\int_{S_{T}}T_{i}\phi_{i}\, dS=\int_{S_{T}}-\rho c_{i}\frac{\partial u_{i}}{\partial t}\phi_{i}\, dS,\]
+\begin_inset Formula 
+\[
+\int_{S_{T}}T_{i}\phi_{i}\, dS=\int_{S_{T}}-\rho c_{i}\frac{\partial u_{i}}{\partial t}\phi_{i}\, dS,
+\]
 
 \end_inset
 
@@ -1764,9 +1800,11 @@
  is our weighting function.
  We express the trial solution and weighting function as linear combinations
  of basis functions,
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 u_{i}=\sum_{m}a_{i}^{m}N^{m},\\
-\phi_{i}=\sum_{n}c_{i}^{n}N^{n}.\end{gather}
+\phi_{i}=\sum_{n}c_{i}^{n}N^{n}.
+\end{gather}
 
 \end_inset
 
@@ -1774,8 +1812,10 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \[
-\int_{S_{T}}T_{i}\phi_{i}\, dS=\int_{S_{T}}-\rho c_{i}\sum_{m}\dot{a}_{i}^{m}N^{m}\sum_{n}c_{i}^{n}N^{n}\, dS.\]
+\begin_inset Formula 
+\begin{equation}
+\int_{S_{T}}T_{i}\phi_{i}\, dS=\int_{S_{T}}-\rho c_{i}\sum_{m}\dot{a}_{i}^{m}N^{m}\sum_{n}c_{i}^{n}N^{n}\, dS.
+\end{equation}
 
 \end_inset
 
@@ -1789,8 +1829,10 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \[
-r_{i}^{n}=\sum_{\text{tract cells}}\sum_{\text{quad pts}}-\rho(x_{q})c_{i}(x_{q})\sum_{m}\dot{a}_{i}^{m}N^{m}(x_{q})N^{n}(x_{q})w_{q}|J_{cell}(x_{q})|,\]
+\begin_inset Formula 
+\begin{equation}
+r_{i}^{n}=\sum_{\text{tract cells}}\sum_{\text{quad pts}}-\rho(x_{q})c_{i}(x_{q})\sum_{m}\dot{a}_{i}^{m}N^{m}(x_{q})N^{n}(x_{q})w_{q}|J_{cell}(x_{q})|,
+\end{equation}
 
 \end_inset
 
@@ -1818,8 +1860,10 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \[
-\dot{u}_{i}(t)=\frac{1}{2\Delta t}(u_{i}(t+\Delta t)-u_{i}(t-\Delta t)).\]
+\begin_inset Formula 
+\begin{equation}
+\dot{u}_{i}(t)=\frac{1}{2\Delta t}(u_{i}(t+\Delta t)-u_{i}(t-\Delta t)).
+\end{equation}
 
 \end_inset
 
@@ -1847,8 +1891,10 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \[
-\dot{u}_{i}(t)=\frac{1}{2\Delta t}(du_{i}(t)+u_{i}(t)-u_{i}(t-\Delta t))\]
+\begin_inset Formula 
+\begin{equation}
+\dot{u}_{i}(t)=\frac{1}{2\Delta t}(du_{i}(t)+u_{i}(t)-u_{i}(t-\Delta t))
+\end{equation}
 
 \end_inset
 
@@ -1859,8 +1905,10 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \[
-A_{ij}^{nm}=\sum_{\text{tract cells}}\sum_{\text{quad pts}}\delta_{ij}\frac{1}{2\Delta t}\rho(x_{q})v_{i}(x_{q})N^{m}(x_{q})N^{n}(x_{q})w_{q}|J_{cells}(x_{q})|,\]
+\begin_inset Formula 
+\begin{equation}
+A_{ij}^{nm}=\sum_{\text{tract cells}}\sum_{\text{quad pts}}\delta_{ij}\frac{1}{2\Delta t}\rho(x_{q})v_{i}(x_{q})N^{m}(x_{q})N^{n}(x_{q})w_{q}|J_{cells}(x_{q})|,
+\end{equation}
 
 \end_inset
 
@@ -2296,20 +2344,27 @@
  to impose the relative motions, so they are related to the change in stress
  on the fault surface associated with fault slip.
  If we write the algebraic system of equations we are solving in the form
-\begin_inset Formula \begin{equation}
-\underline{A}\overrightarrow{u}=\overrightarrow{b}\,,\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\underline{A}\overrightarrow{u}=\overrightarrow{b}\,,
+\end{equation}
 
 \end_inset
 
 then including the Lagrange multiplier constraints results in
-\begin_inset Formula \begin{equation}
+\begin_inset Formula 
+\begin{equation}
 \left[\begin{array}{cc}
 \underline{A} & \underline{C}^{T}\\
-\underline{C} & 0\end{array}\right]\left[\begin{array}{c}
+\underline{C} & 0
+\end{array}\right]\left[\begin{array}{c}
 \overrightarrow{u}\\
-\overrightarrow{l}\end{array}\right]=\left[\begin{array}{c}
+\overrightarrow{l}
+\end{array}\right]=\left[\begin{array}{c}
 \overrightarrow{b}\\
-\overrightarrow{d}\end{array}\right]\,,\label{eq:fault:cohesive:lagrange}\end{equation}
+\overrightarrow{d}
+\end{array}\right]\,,\label{eq:fault:cohesive:lagrange}
+\end{equation}
 
 \end_inset
 
@@ -2348,9 +2403,11 @@
  Because we enforce the constraints in a strong sense, the terms do not
  involve integrals over the fault surface.
  The additional terms in the residual are
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 r_{i}^{n}=-C_{ji}^{pn}l_{j}^{p},\\
-r_{i}^{p}=d_{i}^{p}-C_{ij}^{pn}u_{j}^{n},\end{gather}
+r_{i}^{p}=d_{i}^{p}-C_{ij}^{pn}u_{j}^{n},
+\end{gather}
 
 \end_inset
 
@@ -2359,15 +2416,17 @@
 \end_inset
 
  denotes a conventional degree of freedom and 
-\begin_inset Formula $k$
+\begin_inset Formula $p$
 \end_inset
 
  denotes a degree of freedom associated with a Lagrange multiplier.
  The additional terms in the system Jacobian matrix are simply the direction
  cosines,
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 J_{ij}^{np}=C_{ji}^{pn},\\
-J_{ij}^{pn}=C_{ij}^{pn}.\end{gather}
+J_{ij}^{pn}=C_{ij}^{pn}.
+\end{gather}
 
 \end_inset
 
@@ -2390,8 +2449,10 @@
 \end_inset
 
 , we have
-\begin_inset Formula \begin{equation}
-r_{i}^{n}(t+\Delta t)=A_{ij}^{nm}(u_{j}^{m}(t)+du_{j}^{m}(t))+C_{ki}^{pn}(l_{k}^{p}(t)+dl_{k}^{p}(t)),\end{equation}
+\begin_inset Formula 
+\begin{equation}
+r_{i}^{n}(t+\Delta t)=A_{ij}^{nm}(u_{j}^{m}(t)+du_{j}^{m}(t))+C_{ki}^{pn}(l_{k}^{p}(t)+dl_{k}^{p}(t)),
+\end{equation}
 
 \end_inset
 
@@ -2433,9 +2494,11 @@
 
 , and by setting the residual with all terms included to zero; thus, we
  have
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 A_{ij}^{nm}(u_{j}^{m}(t)+du_{j}^{m}(t))+C_{ki}^{pn}(l_{k}^{p}(t)+dl_{k}^{p}(t))=0\text{ subject to}\\
-C_{ij}^{pn}(u_{j}^{n}(t)+du_{j}^{n}(t))=d_{i}^{p}.\end{gather}
+C_{ij}^{pn}(u_{j}^{n}(t)+du_{j}^{n}(t))=d_{i}^{p}.
+\end{gather}
 
 \end_inset
 
@@ -2448,18 +2511,22 @@
 \end_inset
 
 ,
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 r_{i}^{n}+A_{ij}^{nm}du_{j}^{m}+C_{ki}^{pn}dl_{k}^{p}=0\text{ subject to}\\
-C_{ij}^{pn}(u_{j}^{n}(t)+du_{j}^{n}(t))=d_{i}^{p}.\end{gather}
+C_{ij}^{pn}(u_{j}^{n}(t)+du_{j}^{n}(t))=d_{i}^{p}.
+\end{gather}
 
 \end_inset
 
 Explicitly writing the equations for the vertices on the negative and positive
  sides of the fault yields
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 r_{i}^{n-}+A_{ij}^{nm-}du_{j}^{m-}+R_{ki}^{pn}dl_{k}^{p}=0,\\
 r_{i}^{n+}+A_{ij}^{nm+}du_{j}^{m+}+R_{ki}^{pn}dl_{k}^{p}=0,\\
-R_{ij}^{pn}(u_{j}^{n+}+du_{j}^{n+}-u_{j}^{n-}-du_{j}^{n-})=d_{i}^{p}.\end{gather}
+R_{ij}^{pn}(u_{j}^{n+}+du_{j}^{n+}-u_{j}^{n-}-du_{j}^{n-})=d_{i}^{p}.
+\end{gather}
 
 \end_inset
 
@@ -2472,9 +2539,11 @@
 \end_inset
 
  and combining them using the third equation leads to
-\begin_inset Formula \begin{multline}
+\begin_inset Formula 
+\begin{multline}
 R_{ij}^{pn}\left((A_{ij}^{nm+})^{-1}+(A_{ij}^{nm+})^{-1}\right)R_{ki}^{pn}dl_{k}^{p}=d_{i}^{p}-R_{ij}^{pn}(u_{j}^{n+}-u_{j}^{n-})\\
-+R_{ij}^{pn}\left((A_{ij}^{nm+})^{-1}r_{i}^{n+}-(A_{ij}^{nm-})^{-1}r_{i}^{n-}\right).\end{multline}
++R_{ij}^{pn}\left((A_{ij}^{nm+})^{-1}r_{i}^{n+}-(A_{ij}^{nm-})^{-1}r_{i}^{n-}\right).
+\end{multline}
 
 \end_inset
 
@@ -2485,14 +2554,18 @@
 
  is the same for all components at a vertex.
  As a result the matrix on the left hand side simplifies to
-\begin_inset Formula \[
-S_{ik}^{pn}=\delta_{ik}\left(\frac{1}{A^{nm+}}+\frac{1}{A^{nm-}}\right),\]
+\begin_inset Formula 
+\begin{equation}
+S_{ik}^{pn}=\delta_{ik}\left(\frac{1}{A^{nm+}}+\frac{1}{A^{nm-}}\right),
+\end{equation}
 
 \end_inset
 
 and
-\begin_inset Formula \[
-dl_{k}^{p}=(S_{ik}^{pn})^{-1}\left(d_{i}^{p}-R_{ij}^{pn}(u_{j}^{n+}-u_{j}^{n-})+R_{ij}^{pn}\left((A_{ij}^{nm+})^{-1}r_{i}^{n+}-(A_{ij}^{nm-})^{-1}r_{i}^{n-}\right)\right).\]
+\begin_inset Formula 
+\begin{equation}
+dl_{k}^{p}=(S_{ik}^{pn})^{-1}\left(d_{i}^{p}-R_{ij}^{pn}(u_{j}^{n+}-u_{j}^{n-})+R_{ij}^{pn}\left((A_{ij}^{nm+})^{-1}r_{i}^{n+}-(A_{ij}^{nm-})^{-1}r_{i}^{n-}\right)\right).
+\end{equation}
 
 \end_inset
 
@@ -2514,9 +2587,11 @@
 \end_inset
 
  using
-\begin_inset Formula \begin{gather*}
+\begin_inset Formula 
+\begin{gather}
 \Delta du_{j}^{n-}=(A_{ij}^{nm-})^{-1}C_{ki}^{pn}dl_{k}^{p}\text{ and}\\
-\Delta du_{j}^{n+}=-(A_{ij}^{nm+})^{-1}C_{ki}^{pn}dl_{k}^{p}.\end{gather*}
+\Delta du_{j}^{n+}=-(A_{ij}^{nm+})^{-1}C_{ki}^{pn}dl_{k}^{p}.
+\end{gather}
 
 \end_inset
 
@@ -2616,7 +2691,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="8" columns="3">
-<features>
+<features tabularvalignment="middle">
 <column alignment="center" valignment="top" width="0">
 <column alignment="center" valignment="top" width="0">
 <column alignment="center" valignment="top" width="3.5in">
@@ -2979,10 +3054,13 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 D(t)=\left\{ \begin{array}{cc}
 0 & 0\leq t<t_{r}\\
-D_{final} & t\ge t_{r}\end{array}\right.\,,\end{gather}
+D_{final} & t\ge t_{r}
+\end{array}\right.\,,
+\end{gather}
 
 \end_inset
 
@@ -3098,7 +3176,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="5" columns="3">
-<features>
+<features tabularvalignment="middle">
 <column alignment="left" valignment="top" width="0">
 <column alignment="left" valignment="top" width="0">
 <column alignment="left" valignment="top" width="2.5in">
@@ -3296,10 +3374,13 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 D(t)=\left\{ \begin{array}{cc}
 0 & 0\leq t<t_{r}\\
-V(t-t_{r}) & t\ge t_{r}\end{array}\right.\,,\end{gather}
+V(t-t_{r}) & t\ge t_{r}
+\end{array}\right.\,,
+\end{gather}
 
 \end_inset
 
@@ -3416,7 +3497,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="5" columns="3">
-<features>
+<features tabularvalignment="middle">
 <column alignment="left" valignment="top" width="0">
 <column alignment="left" valignment="top" width="0">
 <column alignment="left" valignment="top" width="2.5in">
@@ -3620,11 +3701,14 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 D(t)=\left\{ \begin{array}{cc}
 0 & 0\leq t<t_{r}\\
-D_{final}\left(1-exp\left(-\frac{t-t_{r}}{t_{0}}\right)\left(1+\frac{t-t_{r}}{t_{0}}\right)\right) & t\ge t_{r}\end{array}\right.\,,\\
-t_{0}=0.6195t_{\mathit{rise}}\,,\end{gather}
+D_{final}\left(1-exp\left(-\frac{t-t_{r}}{t_{0}}\right)\left(1+\frac{t-t_{r}}{t_{0}}\right)\right) & t\ge t_{r}
+\end{array}\right.\,,\\
+t_{0}=0.6195t_{\mathit{rise}}\,,
+\end{gather}
 
 \end_inset
 
@@ -3754,7 +3838,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="6" columns="3">
-<features>
+<features tabularvalignment="middle">
 <column alignment="left" valignment="top" width="0">
 <column alignment="left" valignment="top" width="0">
 <column alignment="left" valignment="top" width="2.5in">
@@ -4003,15 +4087,18 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 D(t)=\left\{ \begin{array}{cc}
 D_{\mathit{final}}C_{n}\left(0.7t-0.7\frac{t_{1}}{\pi}\sin\frac{\pi t}{t_{1}}-1.2\frac{t_{1}}{\pi}\left(\cos\frac{\pi t}{2t_{1}}-1\right)\right) & 0\leq t<t_{1}\\
 D_{\mathit{final}}C_{n}\left(1.0t-0.7\frac{t1}{\pi}\sin\frac{\pi t}{t_{1}}+0.3\frac{t2}{\pi}\sin\frac{\pi(t-t1)}{t_{2}}+\frac{1.2}{\pi}t_{1}-0.3t_{1}\right) & t_{1}\leq t<2t_{1}\\
-D_{\mathit{final}}C_{n}\left(0.7-0.7\cos\frac{\pi t}{t_{1}}+0.6\sin\frac{\pi t}{2t_{1}}\right) & 2t_{1}\leq t\leq t_{0}\end{array}\right.\,,\\
+D_{\mathit{final}}C_{n}\left(0.7-0.7\cos\frac{\pi t}{t_{1}}+0.6\sin\frac{\pi t}{2t_{1}}\right) & 2t_{1}\leq t\leq t_{0}
+\end{array}\right.\,,\\
 C_{n}=\frac{\pi}{1.4\pi t_{1}+1.2t_{1}+0.3\pi t_{2}},\\
 t_{0}=1.525t_{\mathit{rise}},\\
 t_{1}=0.13t_{0},\\
-t_{2}=t_{0}-t_{1},\end{gather}
+t_{2}=t_{0}-t_{1},
+\end{gather}
 
 \end_inset
 
@@ -4185,7 +4272,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="6" columns="3">
-<features>
+<features tabularvalignment="middle">
 <column alignment="left" valignment="top" width="0">
 <column alignment="left" valignment="top" width="0">
 <column alignment="left" valignment="top" width="2.5in">
@@ -4441,14 +4528,19 @@
 \begin_layout Standard
 The algebraic systems of equations for dynamic earthquake rupture are the
  same as those for kinematic rupture
-\begin_inset Formula \begin{equation}
+\begin_inset Formula 
+\begin{equation}
 \left[\begin{array}{cc}
 \underline{A} & \underline{C}^{T}\\
-\underline{C} & 0\end{array}\right]\left[\begin{array}{c}
+\underline{C} & 0
+\end{array}\right]\left[\begin{array}{c}
 \overrightarrow{u}\\
-\overrightarrow{l}\end{array}\right]=\left[\begin{array}{c}
+\overrightarrow{l}
+\end{array}\right]=\left[\begin{array}{c}
 \overrightarrow{b}\\
-\overrightarrow{d}\end{array}\right].\end{equation}
+\overrightarrow{d}
+\end{array}\right].
+\end{equation}
 
 \end_inset
 
@@ -4459,14 +4551,18 @@
  value computed for the current slip (either zero or the slip at the previous
  time step) and the value computed from the fault constitutive model.
  Starting from our system of algebraic equations,
-\begin_inset Formula \begin{equation}
-A_{ij}^{nm}u_{j}^{m}+C_{ji}^{pn}l_{j}^{p}=b_{i}^{n},\end{equation}
+\begin_inset Formula 
+\begin{equation}
+A_{ij}^{nm}u_{j}^{m}+C_{ji}^{pn}l_{j}^{p}=b_{i}^{n},
+\end{equation}
 
 \end_inset
 
 we compute the sensitivity for the given loading and boundary conditions,
-\begin_inset Formula \begin{equation}
-A_{ij}^{nm}\partial u_{j}^{m}=-C_{ji}^{pn}\partial l_{j}^{p}.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+A_{ij}^{nm}\partial u_{j}^{m}=-C_{ji}^{pn}\partial l_{j}^{p}.
+\end{equation}
 
 \end_inset
 
@@ -4484,11 +4580,14 @@
 
 \begin_layout Standard
 In general A is a sparse matrix with off-diagonal terms of the form
-\begin_inset Formula \begin{equation}
+\begin_inset Formula 
+\begin{equation}
 A=\left(\begin{array}{ccc}
 A_{0} & A_{1} & A_{2}\\
 A_{3} & A_{n-} & 0\\
-A_{4} & 0 & A_{n+}\end{array}\right),\end{equation}
+A_{4} & 0 & A_{n+}
+\end{array}\right),
+\end{equation}
 
 \end_inset
 
@@ -4496,9 +4595,11 @@
  We formulate two small linear systems involving just the degrees of freedom
  associated with vertices on either the positive or negative sides of the
  fault,
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 A_{ij}^{nm-}\partial u_{j}^{m-}=-R_{ij}^{pn}\partial l_{j}^{p},\\
-A_{ij}^{nm+}\partial u_{j}^{m+}=R_{ij}^{pn}\partial l_{j}^{p},\end{gather}
+A_{ij}^{nm+}\partial u_{j}^{m+}=R_{ij}^{pn}\partial l_{j}^{p},
+\end{gather}
 
 \end_inset
 
@@ -4525,8 +4626,10 @@
 ) sides of the fault.
  After solving these two linear systems of equations, we compute the increment
  in slip using
-\begin_inset Formula \begin{equation}
-\partial d_{i}^{p}=R_{ij}^{pn}(\partial u_{j}^{n+}-\partial u_{j}^{n-}).\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\partial d_{i}^{p}=R_{ij}^{pn}(\partial u_{j}^{n+}-\partial u_{j}^{n-}).
+\end{equation}
 
 \end_inset
 
@@ -4584,8 +4687,10 @@
 
 \begin_layout Standard
 With a lumped Jacobian matrix, we can solve for the increment in slip directly,
-\begin_inset Formula \begin{equation}
-\partial d_{i}^{p}=-C_{ij}^{pn}(A_{jk}^{nm})^{-1}C_{lk}^{pm}\partial l_{l}^{p}.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\partial d_{i}^{p}=-C_{ij}^{pn}(A_{jk}^{nm})^{-1}C_{lk}^{pm}\partial l_{l}^{p}.
+\end{equation}
 
 \end_inset
 
@@ -4596,8 +4701,10 @@
 
  for a given vertex are identical and the expression on the right-hand side
  reduces to
-\begin_inset Formula \begin{equation}
-\partial d_{i}^{p}=-\left(\frac{1}{A^{n+}}+\frac{1}{A^{n-}}\right)\partial l_{i}^{p}.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\partial d_{i}^{p}=-\left(\frac{1}{A^{n+}}+\frac{1}{A^{n-}}\right)\partial l_{i}^{p}.
+\end{equation}
 
 \end_inset
 
@@ -4700,7 +4807,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="7" columns="3">
-<features>
+<features tabularvalignment="middle">
 <column alignment="left" valignment="top" width="0">
 <column alignment="left" valignment="top" width="0">
 <column alignment="left" valignment="top" width="2.5in">
@@ -4949,9 +5056,9 @@
 \end_layout
 
 \begin_layout Standard
-PyLith provides three fault constitutive models.
+PyLith provides four fault constitutive models.
  Future releases may contain additional models and a template is provided
- for you to construct your own fault constitutive models (see Section 
+ for you to construct your own (see Section 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "sec:Extending:FaultConstitutiveModels"
@@ -4989,10 +5096,13 @@
 \begin_layout Standard
 The static friction model produces shear tractions proportional to the fault
  normal traction plus a cohesive stress,
-\begin_inset Formula \begin{equation}
+\begin_inset Formula 
+\begin{equation}
 T_{f}=\begin{cases}
 T_{c}-\mu_{f}T_{n} & T_{n}\leq0\\
-0 & T_{n}>0\end{cases}.\end{equation}
+0 & T_{n}>0
+\end{cases}.
+\end{equation}
 
 \end_inset
 
@@ -5040,7 +5150,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="3" columns="2">
-<features>
+<features tabularvalignment="middle">
 <column alignment="left" valignment="top" width="0">
 <column alignment="left" valignment="top" width="2.5in">
 <row>
@@ -5140,11 +5250,14 @@
  to the cohesive stress plus a contribution proportional to the fault normal
  traction that decreases from a static value to a dynamic value as slip
  progresses,
-\begin_inset Formula \begin{equation}
+\begin_inset Formula 
+\begin{equation}
 T_{f}=\begin{cases}
 T_{c}-(\mu_{s}-(\mu_{s}-\mu_{d})\frac{d}{d_{0}})T_{n} & d\leq d_{0}\text{ and }T_{n}\leq0\\
 T_{c}-\mu_{d}T_{n} & d>d_{0}\text{ and }T_{n}\leq0\\
-0 & T_{n}>0\end{cases}\end{equation}
+0 & T_{n}>0
+\end{cases}
+\end{equation}
 
 \end_inset
 
@@ -5159,7 +5272,7 @@
 
 .
  As long as the fault is locked, the initial state variables are zero, so
- specifying the initial state variables for slip-weakening friction is rate.
+ specifying the initial state variables for slip-weakening friction is rare.
 \end_layout
 
 \begin_layout Standard
@@ -5195,7 +5308,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="7" columns="3">
-<features>
+<features tabularvalignment="middle">
 <column alignment="left" valignment="top" width="0">
 <column alignment="left" valignment="top" width="0">
 <column alignment="left" valignment="top" width="2.5in">
@@ -5457,6 +5570,300 @@
 \end_layout
 
 \begin_layout Paragraph
+Time-Weakening Friction
+\end_layout
+
+\begin_layout Standard
+The linear time-weakening friction model is analogous to the linear slip-weakeni
+ng friction model with time replacing slip.
+ It produces shear tractions equal to the cohesive stress plus a contribution
+ proportional to the fault normal traction that decreases from a static
+ value to a dynamic value as time progresses,
+\begin_inset Formula 
+\begin{equation}
+T_{f}=\begin{cases}
+T_{c}-(\mu_{s}-(\mu_{s}-\mu_{d})\frac{t}{t_{0}})T_{n} & t\leq t_{0}\text{ and }T_{n}\leq0\\
+T_{c}-\mu_{d}T_{n} & t>t_{0}\text{ and }T_{n}\leq0\\
+0 & T_{n}>0
+\end{cases}
+\end{equation}
+
+\end_inset
+
+The spatial database files for the time-weakening friction model properties
+ and state variables specify the spatial variation of the fault constitutive
+ model parameters given in Table 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "tab:time:weakening:properties:statevars"
+
+\end_inset
+
+.
+ As long as the fault is locked, the initial state variable is zero, so
+ specifying the initial state variable for time-weakening friction is rare.
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Float table
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\noindent
+\align center
+\begin_inset Caption
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "tab:time:weakening:properties:statevars"
+
+\end_inset
+
+Values in spatial databases for time-weakening friction.
+\end_layout
+
+\end_inset
+
+
+\begin_inset VSpace defskip
+\end_inset
+
+
+\begin_inset Tabular
+<lyxtabular version="3" rows="6" columns="3">
+<features tabularvalignment="middle">
+<column alignment="left" valignment="top" width="0">
+<column alignment="left" valignment="top" width="0">
+<column alignment="left" valignment="top" width="2.5in">
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Database
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Value
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Description
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+db_properties
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+static-coefficient
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Static coefficient of friction, 
+\begin_inset Formula $\mu_{s}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+dynamic-coefficient
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Dynamic coefficient of friction, 
+\begin_inset Formula $\mu_{d}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+time-weakening-parameter
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Time-weakening parameter, 
+\begin_inset Formula $t_{0}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+cohesion
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Cohesive stress, 
+\begin_inset Formula $T_{c}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+db_initial_state
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+elapsed-time
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Elasped time of slip, 
+\begin_inset Formula $t$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Paragraph
 Rate- and State-Friction with Ageing Law
 \end_layout
 
@@ -5464,12 +5871,15 @@
 The Dietrich-Ruina rate and state friction model produces shear tractions
  equal to the cohesive stress plus a contribution proportional to the fault
  normal traction that depends on a state variable,
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 T_{f}=\begin{cases}
 T_{c}-\mu_{f}T_{n} & T_{n}\leq0\\
-0 & T_{n}>0\end{cases}\\
+0 & T_{n}>0
+\end{cases}\\
 \mu_{f}=a\sinh^{-1}\left(\frac{1}{2}\frac{V}{V_{0}}\exp\left(\frac{1}{a}\left(\mu_{0}+b\ln\left(\frac{V_{0}\theta}{L}\right)\right)\right)\right)\\
-\frac{d\theta}{dt}=1-\frac{V\theta}{L}\end{gather}
+\frac{d\theta}{dt}=1-\frac{V\theta}{L}
+\end{gather}
 
 \end_inset
 
@@ -5517,8 +5927,10 @@
 
 , we integrate the evolution equation for the state variable keeping slip
  rate constant to get
-\begin_inset Formula \begin{equation}
-\theta(t+\Delta t)=\theta(t)\exp\left(\frac{-V(t)\Delta t}{L}\right)+\frac{L}{V(t)}\left(1-\exp\left(-\frac{V(t)\Delta t}{L}\right)\right).\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\theta(t+\Delta t)=\theta(t)\exp\left(\frac{-V(t)\Delta t}{L}\right)+\frac{L}{V(t)}\left(1-\exp\left(-\frac{V(t)\Delta t}{L}\right)\right).
+\end{equation}
 
 \end_inset
 
@@ -5526,10 +5938,13 @@
  1.
  Using the first three terms of the Taylor series expansion of the second
  exponential yields
-\begin_inset Formula \begin{equation}
+\begin_inset Formula 
+\begin{equation}
 \theta(t+\Delta t)=\begin{cases}
 \theta(t)\exp\left(-\frac{V(t)\Delta t}{L}\right)+\Delta t-\frac{1}{2}\frac{V(t)\Delta t^{2}}{L} & \frac{V(t)\Delta t}{L}<0.00001\\
-\theta(t)\exp\left(-\frac{V(t)\Delta t}{L}\right)+\frac{L}{V(t)}\left(1-\exp\left(-\frac{V(t)\Delta t}{L}\right)\right) & \frac{V(t)\Delta t}{L}\ge0.00001\end{cases}.\end{equation}
+\theta(t)\exp\left(-\frac{V(t)\Delta t}{L}\right)+\frac{L}{V(t)}\left(1-\exp\left(-\frac{V(t)\Delta t}{L}\right)\right) & \frac{V(t)\Delta t}{L}\ge0.00001
+\end{cases}.
+\end{equation}
 
 \end_inset
 
@@ -5582,7 +5997,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="8" columns="3">
-<features>
+<features tabularvalignment="middle">
 <column alignment="left" valignment="top" width="0">
 <column alignment="left" valignment="top" width="0">
 <column alignment="left" valignment="top" width="2.5in">
@@ -5910,8 +6325,10 @@
 \end_inset
 
 , the body forces contribute to the residual,
-\begin_inset Formula \begin{equation}
-r_{i}^{n}=\int_{V}f_{i}N^{n}\: dV.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+r_{i}^{n}=\int_{V}f_{i}N^{n}\: dV.
+\end{equation}
 
 \end_inset
 
@@ -5932,8 +6349,10 @@
 \end_inset
 
 :
-\begin_inset Formula \begin{equation}
-f_{i}=\rho ga_{i}.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+f_{i}=\rho ga_{i}.
+\end{equation}
 
 \end_inset
 

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/components.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/components.lyx	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/components.lyx	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,5 +1,5 @@
-#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
 \begin_document
 \begin_header
 \textclass book
@@ -7,18 +7,26 @@
 
 \end_preamble
 \use_default_options false
+\maintain_unincluded_children false
 \language english
+\language_package default
 \inputencoding latin1
+\fontencoding global
 \font_roman default
 \font_sans default
 \font_typewriter default
 \font_default_family default
+\use_non_tex_fonts false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
 
 \graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
 \paperfontsize default
 \spacing single
 \use_hyperref false
@@ -26,9 +34,18 @@
 \use_geometry true
 \use_amsmath 1
 \use_esint 0
+\use_mhchem 1
+\use_mathdots 1
 \cite_engine basic
 \use_bibtopic false
+\use_indices false
 \paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
 \leftmargin 1in
 \topmargin 1in
 \rightmargin 1in
@@ -36,15 +53,16 @@
 \secnumdepth 3
 \tocdepth 3
 \paragraph_separation indent
-\defskip medskip
+\paragraph_indentation default
 \quotes_language english
 \papercolumns 1
 \papersides 2
 \paperpagestyle default
 \tracking_changes false
 \output_changes false
-\author "" 
-\author "" 
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
 \end_header
 
 \begin_body
@@ -304,6 +322,21 @@
 Memory model logger for reporting memory use by Sieve.
 \end_layout
 
+\begin_layout Description
+
+\family typewriter
+VTKDataReader pylith.utils.
+\family default
+VTKDataReader
+\begin_inset Newline newline
+\end_inset
+
+Data reader for VTK files, requires TVTK Enthought package available from
+ 
+\family typewriter
+https://github.com/enthought/mayavi.
+\end_layout
+
 \begin_layout Subsection
 Topology components
 \end_layout
@@ -356,6 +389,43 @@
 Mesh importer/reader.
 \end_layout
 
+\begin_layout Description
+
+\family typewriter
+MeshRefiner pylith.topology.Mesh
+\family default
+Refiner
+\begin_inset Newline newline
+\end_inset
+
+Default (null) mesh refinement object that does not refine the mesh.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+RefineUniform pylith.topology.
+\family default
+RefineUniform
+\begin_inset Newline newline
+\end_inset
+
+Uniform global mesh refinement.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+ReverseCuthillMcKee pylith.topology.
+\family default
+ReverseCuthillMcKee
+\begin_inset Newline newline
+\end_inset
+
+Object used to manage reordering cells and vertices using the reverse Cuthill-Mc
+Kee algorithm.
+\end_layout
+
 \begin_layout Subsection
 Material components
 \end_layout
@@ -427,42 +497,55 @@
 \begin_layout Description
 
 \family typewriter
-ElasticIsotropic3D pylith.materials.ElasticIsotropic3D
+MaxwellPlaneStrain pylith.materials.MaxwellPlaneStrain
 \family default
 
 \begin_inset Newline newline
 \end_inset
 
-Linearly elastic 3-D bulk constitutive model.
+Linear Maxwell viscoelastic bulk constitutive model for plane strain problems.
 \end_layout
 
 \begin_layout Description
 
 \family typewriter
-MaxwellIsotropic3D pylith.materials.MaxwellIsotropic3D
+GenMaxwellPlaneStrain pylith.materials.GenMaxwellPlaneStrain
 \family default
 
 \begin_inset Newline newline
 \end_inset
 
-Linear Maxwell viscoelastic bulk constitutive model.
+Generalized Maxwell viscoelastic bulk constitutive model for plane strain
+ problems.
 \end_layout
 
 \begin_layout Description
 
 \family typewriter
-MaxwellPlaneStrain pylith.materials.MaxwellPlaneStrain
+ElasticIsotropic3D pylith.materials.ElasticIsotropic3D
 \family default
 
 \begin_inset Newline newline
 \end_inset
 
-Linear Maxwell viscoelastic bulk constitutive model for plane strain problems.
+Linearly elastic 3-D bulk constitutive model.
 \end_layout
 
 \begin_layout Description
 
 \family typewriter
+MaxwellIsotropic3D pylith.materials.MaxwellIsotropic3D
+\family default
+
+\begin_inset Newline newline
+\end_inset
+
+Linear Maxwell viscoelastic bulk constitutive model.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
 GenMaxwellIsotropic3D pylith.materials.GenMaxwellIsotropic3D
 \family default
 
@@ -687,9 +770,20 @@
 Slip-time function composed of three sine/cosine functions.
  Similar to Brune's far-field time function but with more abrupt termination
  of slip.
- 
 \end_layout
 
+\begin_layout Description
+
+\family typewriter
+TimeHistorySlipFn pylith.faults.TimeHistorySlipFn
+\family default
+
+\begin_inset Newline newline
+\end_inset
+
+Slip-time function with a user-defined slip time function.
+\end_layout
+
 \begin_layout Subsection
 Friction components
 \end_layout
@@ -730,6 +824,18 @@
 Dieterich-Ruina rate and state friction with ageing law state variable evolution.
 \end_layout
 
+\begin_layout Description
+
+\family typewriter
+TimeWeakening pylith.friction.TimeWeakening
+\family default
+
+\begin_inset Newline newline
+\end_inset
+
+Linear time-weakening friction fault constitutive model.
+\end_layout
+
 \begin_layout Subsection
 Discretization components
 \end_layout
@@ -961,6 +1067,81 @@
 \begin_layout Description
 
 \family typewriter
+DataWriterHDF5Mesh pylith.meshio.DataWriterHDF5Mesh
+\family default
+
+\begin_inset Newline newline
+\end_inset
+
+Writer for output to HDF5 files with mesh information.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+DataWriterHDF5SubMesh pylith.meshio.DataWriterHDF5SubMesh
+\family default
+
+\begin_inset Newline newline
+\end_inset
+
+Writer for output to HDF5 files with mesh information over a submesh.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+DataWriterHDF5ExtSubSubMesh pylith.meshio.DataWriterHDF5ExtSubSubMesh
+\family default
+
+\begin_inset Newline newline
+\end_inset
+
+Writer for output to HDF5 files with submesh information over a submesh
+ with datasets written to external raw binary files.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+DataWriterHDF5ExtMesh pylith.meshio.DataWriterHDF5ExtMesh
+\family default
+
+\begin_inset Newline newline
+\end_inset
+
+Writer for output to HDF5 files with mesh information with datasets written
+ to external raw binary files.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+DataWriterHDF5ExtSubMesh pylith.meshio.DataWriterHDF5ExtSubMesh
+\family default
+
+\begin_inset Newline newline
+\end_inset
+
+Writer for output to HDF5 files with mesh information over a submesh with
+ datasets written to external raw binary files.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
+DataWriterHDF5SubSubMesh pylith.meshio.DataWriterHDF5SubSubMesh
+\family default
+
+\begin_inset Newline newline
+\end_inset
+
+Writer for output to HDF5 files with submesh information over a submesh.
+\end_layout
+
+\begin_layout Description
+
+\family typewriter
 CellFilterAvgMesh pylith.meshio.CellFilterAvgMesh
 \family default
 

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/cover/cover.pdf
===================================================================
(Binary files differ)

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/cover/cover.svg.gz
===================================================================
(Binary files differ)

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/cover/cover_small.jpg
===================================================================
(Binary files differ)

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/governingeqns/governingeqns.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/governingeqns/governingeqns.lyx	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/governingeqns/governingeqns.lyx	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,21 +1,29 @@
-#LyX 1.6.4 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
 \begin_document
 \begin_header
 \textclass book
 \use_default_options false
+\maintain_unincluded_children false
 \language english
+\language_package default
 \inputencoding auto
+\fontencoding global
 \font_roman default
 \font_sans default
 \font_typewriter default
 \font_default_family default
+\use_non_tex_fonts false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
 
 \graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
 \paperfontsize default
 \spacing single
 \use_hyperref false
@@ -23,9 +31,18 @@
 \use_geometry true
 \use_amsmath 1
 \use_esint 0
+\use_mhchem 1
+\use_mathdots 1
 \cite_engine basic
 \use_bibtopic false
+\use_indices false
 \paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
 \leftmargin 1in
 \topmargin 1in
 \rightmargin 1in
@@ -33,15 +50,16 @@
 \secnumdepth 3
 \tocdepth 3
 \paragraph_separation indent
-\defskip medskip
+\paragraph_indentation default
 \quotes_language english
 \papercolumns 1
 \papersides 1
 \paperpagestyle default
 \tracking_changes false
 \output_changes false
-\author "" 
-\author "" 
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
 \end_header
 
 \begin_body
@@ -110,7 +128,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="11" columns="3">
-<features>
+<features tabularvalignment="middle">
 <column alignment="center" valignment="top" width="0">
 <column alignment="center" valignment="top" width="0">
 <column alignment="center" valignment="top" width="0">
@@ -521,14 +539,18 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{equation}
-\frac{\partial}{\partial t}\int_{V}\rho\frac{\partial u_{i}}{\partial t}\, dV=\int_{V}f_{i}\, dV+\int_{S}T_{i}\, dS.\label{eqn:momentum:index}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\frac{\partial}{\partial t}\int_{V}\rho\frac{\partial u_{i}}{\partial t}\, dV=\int_{V}f_{i}\, dV+\int_{S}T_{i}\, dS.\label{eqn:momentum:index}
+\end{equation}
 
 \end_inset
 
 The traction vector field is related to the stress tensor through
-\begin_inset Formula \begin{equation}
-T_{i}=\sigma_{ij}n_{j},\end{equation}
+\begin_inset Formula 
+\begin{equation}
+T_{i}=\sigma_{ij}n_{j},
+\end{equation}
 
 \end_inset
 
@@ -549,26 +571,34 @@
 \end_inset
 
  yields
-\begin_inset Formula \begin{equation}
-\frac{\partial}{\partial t}\int_{V}\rho\frac{\partial u_{i}}{\partial t}\, dV=\int_{V}f_{i}\, dV+\int_{S}\sigma_{ij}n_{j}\, dS.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\frac{\partial}{\partial t}\int_{V}\rho\frac{\partial u_{i}}{\partial t}\, dV=\int_{V}f_{i}\, dV+\int_{S}\sigma_{ij}n_{j}\, dS.
+\end{equation}
 
 \end_inset
 
 Applying the divergence theorem,
-\begin_inset Formula \begin{equation}
-\int_{V}a_{i,j}\: dV=\int_{S}a_{j}n_{j}\: dS,\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\int_{V}a_{i,j}\: dV=\int_{S}a_{j}n_{j}\: dS,
+\end{equation}
 
 \end_inset
 
 to the surface integral results in
-\begin_inset Formula \begin{equation}
-\frac{\partial}{\partial t}\int_{V}\rho\frac{\partial u_{i}}{\partial t}\, dV=\int_{V}f_{i}\, dV+\int_{V}\sigma_{ij,j}\, dV,\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\frac{\partial}{\partial t}\int_{V}\rho\frac{\partial u_{i}}{\partial t}\, dV=\int_{V}f_{i}\, dV+\int_{V}\sigma_{ij,j}\, dV,
+\end{equation}
 
 \end_inset
 
 which we can rewrite as
-\begin_inset Formula \begin{equation}
-\int_{V}\left(\rho\frac{\partial^{2}u_{i}}{\partial t^{2}}-f_{i}-\sigma_{ij,j}\right)\, dV=0.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\int_{V}\left(\rho\frac{\partial^{2}u_{i}}{\partial t^{2}}-f_{i}-\sigma_{ij,j}\right)\, dV=0.
+\end{equation}
 
 \end_inset
 
@@ -578,11 +608,13 @@
 
  is arbitrary, the integrand must be zero at every location in the volume,
  so that we end up with
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \rho\frac{\partial^{2}u_{i}}{\partial t^{2}}-f_{i}-\sigma_{ij,j}=0\text{ in }V,\\
 \sigma_{ij}n_{j}=T_{i}\text{ on }S_{T}\text{,}\\
 u_{i}=u_{i}^{o}\text{ on }S_{u}\text{, and}\\
-R_{ki}(u_{i}^{+}-u_{i}^{-})=d_{k}\text{ on }S_{f}.\end{gather}
+R_{ki}(u_{i}^{+}-u_{i}^{-})=d_{k}\text{ on }S_{f}.
+\end{gather}
 
 \end_inset
 
@@ -663,14 +695,18 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{equation}
-\frac{\partial}{\partial t}\int_{V}\rho\frac{\partial\vec{u}}{\partial t}\, dV=\int_{V}\overrightarrow{f}\, dV+\int_{S}\overrightarrow{T}\, dS.\label{eqn:momentum:vec}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\frac{\partial}{\partial t}\int_{V}\rho\frac{\partial\vec{u}}{\partial t}\, dV=\int_{V}\overrightarrow{f}\, dV+\int_{S}\overrightarrow{T}\, dS.\label{eqn:momentum:vec}
+\end{equation}
 
 \end_inset
 
 The traction vector field is related to the stress tensor through
-\begin_inset Formula \begin{equation}
-\overrightarrow{T}=\underline{\sigma}\cdot\overrightarrow{n},\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\overrightarrow{T}=\underline{\sigma}\cdot\overrightarrow{n},
+\end{equation}
 
 \end_inset
 
@@ -691,26 +727,34 @@
 \end_inset
 
  yields
-\begin_inset Formula \begin{equation}
-\frac{\partial}{\partial t}\int_{V}\rho\frac{\partial\overrightarrow{u}}{\partial t}\, dV=\int_{V}\overrightarrow{f}\, dV+\int_{S}\underline{\sigma}\cdot\overrightarrow{n}\, dS.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\frac{\partial}{\partial t}\int_{V}\rho\frac{\partial\overrightarrow{u}}{\partial t}\, dV=\int_{V}\overrightarrow{f}\, dV+\int_{S}\underline{\sigma}\cdot\overrightarrow{n}\, dS.
+\end{equation}
 
 \end_inset
 
 Applying the divergence theorem,
-\begin_inset Formula \begin{equation}
-\int_{V}\nabla\cdot\overrightarrow{a}\: dV=\int_{S}\overrightarrow{a}\cdot\overrightarrow{n}\: dS,\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\int_{V}\nabla\cdot\overrightarrow{a}\: dV=\int_{S}\overrightarrow{a}\cdot\overrightarrow{n}\: dS,
+\end{equation}
 
 \end_inset
 
 to the surface integral results in
-\begin_inset Formula \begin{equation}
-\frac{\partial}{\partial t}\int_{V}\rho\frac{\partial\overrightarrow{u}}{\partial t}\, dV=\int_{V}\overrightarrow{f}\, dV+\int_{V}\nabla\cdot\underline{\sigma}\, dV,\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\frac{\partial}{\partial t}\int_{V}\rho\frac{\partial\overrightarrow{u}}{\partial t}\, dV=\int_{V}\overrightarrow{f}\, dV+\int_{V}\nabla\cdot\underline{\sigma}\, dV,
+\end{equation}
 
 \end_inset
 
 which we can rewrite as
-\begin_inset Formula \begin{equation}
-\int_{V}\left(\rho\frac{\partial^{2}\overrightarrow{u}}{\partial t^{2}}-\overrightarrow{f}-\nabla\cdot\overrightarrow{\sigma}\right)\, dV=\vec{0}.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\int_{V}\left(\rho\frac{\partial^{2}\overrightarrow{u}}{\partial t^{2}}-\overrightarrow{f}-\nabla\cdot\overrightarrow{\sigma}\right)\, dV=\vec{0}.
+\end{equation}
 
 \end_inset
 
@@ -720,11 +764,13 @@
 
  is arbitrary, the integrand must be the zero vector at every location in
  the volume, so that we end up with
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \rho\frac{\partial^{2}\overrightarrow{u}}{\partial t^{2}}-\overrightarrow{f}-\nabla\cdot\overrightarrow{\sigma}=\vec{0}\text{ in }V,\\
 \underline{\sigma}\cdot\overrightarrow{n}=\overrightarrow{T}\text{ on }S_{T}\text{,}\\
 \overrightarrow{u}=\overrightarrow{u^{o}}\text{ on }S_{u},\text{ and}\\
-\underbar{R}\cdot(\vec{u^{+}}-\vec{u^{-}})=\vec{d}\text{ on }S_{f}.\end{gather}
+\underbar{R}\cdot(\vec{u^{+}}-\vec{u^{-}})=\vec{d}\text{ on }S_{f}.
+\end{gather}
 
 \end_inset
 
@@ -822,20 +868,24 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \sigma_{ij,j}+f_{i}=\rho\ddot{u_{i}}\text{ in }V,\\
 \sigma_{ij}n_{j}=T_{i}\text{ on }S_{T},\\
 u_{i}=u_{i}^{o}\text{ on }S_{u},\\
 R_{ki}(u_{i}^{+}-u_{i}^{-})=d_{k}\text{ on }S_{f},\text{ and}\\
-\sigma_{ij}=\sigma_{ji}\text{ (symmetric).}\end{gather}
+\sigma_{ij}=\sigma_{ji}\text{ (symmetric).}
+\end{gather}
 
 \end_inset
 
 We construct the weak form by computing the dot product of the wave equation
  and weighting function and setting the integral over the domain to zero:
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \int_{V}\left(\sigma_{ij,j}+f_{i}-\rho\ddot{u}_{i}\right)\phi_{i}\, dV=0\text{, or }\\
-\int_{V}\sigma_{ij,j}\phi_{i}\: dV+\int_{V}f_{i}\phi_{i}\: dV-\int_{V}\rho\ddot{u}_{i}\phi_{i}\: dV=0.\end{gather}
+\int_{V}\sigma_{ij,j}\phi_{i}\: dV+\int_{V}f_{i}\phi_{i}\: dV-\int_{V}\rho\ddot{u}_{i}\phi_{i}\: dV=0.
+\end{gather}
 
 \end_inset
 
@@ -845,21 +895,27 @@
 \end_inset
 
 ,
-\begin_inset Formula \begin{equation}
-\int_{V}(\sigma_{ij}\phi_{i})_{,j}\, dV=\int_{S}(\sigma_{ij}\phi_{i})n_{i}\, dS.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\int_{V}(\sigma_{ij}\phi_{i})_{,j}\, dV=\int_{S}(\sigma_{ij}\phi_{i})n_{i}\, dS.
+\end{equation}
 
 \end_inset
 
 Expanding the left-hand side yields
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \int_{V}\sigma_{ij,j}\phi_{i}\: dV+\int_{V}\sigma_{ij}\phi_{i,j}\: dV=\int_{S}\sigma_{ij}\phi_{i}n_{i}\: dS,\text{ or}\\
-\int_{V}\sigma_{ij,j}\phi_{i}\: dV=-\int_{V}\sigma_{ij}\phi_{i,j}\, dV+\int_{S}\sigma_{ij}\phi_{i}n_{i}\, dS.\end{gather}
+\int_{V}\sigma_{ij,j}\phi_{i}\: dV=-\int_{V}\sigma_{ij}\phi_{i,j}\, dV+\int_{S}\sigma_{ij}\phi_{i}n_{i}\, dS.
+\end{gather}
 
 \end_inset
 
 Substituting into the weak form gives
-\begin_inset Formula \begin{equation}
--\int_{V}\sigma_{ij}\phi_{i,j}\, dV+\int_{S}\sigma_{ij}\phi_{i}n_{i}\, dS+\int_{V}f_{i}\phi_{i}\, dV-\int_{V}\rho\ddot{u}_{i}\phi_{i}\, dV=0.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+-\int_{V}\sigma_{ij}\phi_{i,j}\, dV+\int_{S}\sigma_{ij}\phi_{i}n_{i}\, dS+\int_{V}f_{i}\phi_{i}\, dV-\int_{V}\rho\ddot{u}_{i}\phi_{i}\, dV=0.
+\end{equation}
 
 \end_inset
 
@@ -888,29 +944,37 @@
 \end_inset
 
 ),
-\begin_inset Formula \begin{equation}
--\int_{V}\sigma_{ij}\phi_{i,j}\, dV+\int_{S_{T}}\sigma_{ij}\phi_{i}n_{i}\, dS+\int_{S_{u}}\sigma_{ij}\phi_{i}n_{i}\, dS+\int_{V}f_{i}\phi_{i}\, dV-\int_{V}\rho\ddot{u}_{i}\phi_{i}\, dV=0,\end{equation}
+\begin_inset Formula 
+\begin{equation}
+-\int_{V}\sigma_{ij}\phi_{i,j}\, dV+\int_{S_{T}}\sigma_{ij}\phi_{i}n_{i}\, dS+\int_{S_{u}}\sigma_{ij}\phi_{i}n_{i}\, dS+\int_{V}f_{i}\phi_{i}\, dV-\int_{V}\rho\ddot{u}_{i}\phi_{i}\, dV=0,
+\end{equation}
 
 \end_inset
 
 and recognize that
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \sigma_{ij}n_{i}=T_{i}\text{ on }S_{T}\text{ and}\\
-\phi_{i}=0\text{ on }S_{u},\end{gather}
+\phi_{i}=0\text{ on }S_{u},
+\end{gather}
 
 \end_inset
 
 so that the equation reduces to
-\begin_inset Formula \begin{equation}
--\int_{V}\sigma_{ij}\phi_{i,j}\: dV+\int_{S_{T}}T_{i}\phi_{i}\, dS+\int_{V}f_{i}\phi_{i}\, dV-\int_{V}\rho\ddot{u}_{i}\phi_{i}\, dV=0.\label{eq:elasticity:integral}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+-\int_{V}\sigma_{ij}\phi_{i,j}\: dV+\int_{S_{T}}T_{i}\phi_{i}\, dS+\int_{V}f_{i}\phi_{i}\, dV-\int_{V}\rho\ddot{u}_{i}\phi_{i}\, dV=0.\label{eq:elasticity:integral}
+\end{equation}
 
 \end_inset
 
 We express the trial solution and weighting function as linear combinations
  of basis functions,
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 u_{i}=\sum_{m}a_{i}^{m}N^{m},\\
-\phi_{i}=\sum_{n}c_{i}^{n}N^{n}.\end{gather}
+\phi_{i}=\sum_{n}c_{i}^{n}N^{n}.
+\end{gather}
 
 \end_inset
 
@@ -930,9 +994,11 @@
 .
  Substituting in the expressions for the trial solution and weighting function
  yields
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 -\int_{V}\sigma_{ij}\sum_{n}c_{i}^{n}N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}\sum_{n}c_{i}^{n}N^{n}\, dS+\int_{V}f_{i}\sum_{n}c_{i}^{n}N^{n}\, dV-\int_{V}\rho\sum_{m}\ddot{a}_{i}^{m}N^{m}\sum_{n}c_{i}^{n}N^{n}\ dV=0,\text{ or}\\
-\sum_{n}c_{i}^{n}(-\int_{V}\sigma_{ij}N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}N^{n}\, dS+\int_{V}f_{i}N^{n}\, dV-\int_{V}\rho\sum_{m}\ddot{a}_{i}^{m}N^{m}N^{n}\ dV)=0.\end{gather}
+\sum_{n}c_{i}^{n}(-\int_{V}\sigma_{ij}N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}N^{n}\, dS+\int_{V}f_{i}N^{n}\, dV-\int_{V}\rho\sum_{m}\ddot{a}_{i}^{m}N^{m}N^{n}\ dV)=0.
+\end{gather}
 
 \end_inset
 
@@ -946,8 +1012,10 @@
 \end_inset
 
 
-\begin_inset Formula \begin{equation}
--\int_{V}\sigma_{ij}N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}N^{n}\, dS+\int_{V}f_{i}N^{n}\, dV-\int_{V}\rho\sum_{m}\ddot{a}_{i}^{m}N^{m}N^{n}\ dV=\vec{0}.\label{eq:elasticity:integral:discretized}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+-\int_{V}\sigma_{ij}N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}N^{n}\, dS+\int_{V}f_{i}N^{n}\, dV-\int_{V}\rho\sum_{m}\ddot{a}_{i}^{m}N^{m}N^{n}\ dV=\vec{0}.\label{eq:elasticity:integral:discretized}
+\end{equation}
 
 \end_inset
 
@@ -968,9 +1036,11 @@
 \bar no
 \noun off
 \color none
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 u_{i}=u_{i}^{o}\text{ on }S_{u},\text{ and}\\
-R_{ki}(u_{i}^{+}-u_{i}^{-})=d_{k}\text{ on }S_{f},\end{gather}
+R_{ki}(u_{i}^{+}-u_{i}^{-})=d_{k}\text{ on }S_{f},
+\end{gather}
 
 \end_inset
 
@@ -986,12 +1056,14 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \nabla\cdot\underline{\sigma}+\overrightarrow{f}=\rho\frac{\partial^{2}\overrightarrow{u}}{\partial t^{2}}\text{ in }V,\\
 \underline{\sigma}\cdot\overrightarrow{n}=\overrightarrow{T}\text{ on }S_{T},\\
 \overrightarrow{u}=\overrightarrow{u^{o}}\text{ on }S_{u},\\
 \underbar{R}\cdot(\overrightarrow{u^{+}}-\overrightarrow{u^{-}})=\vec{d}\text{ on }S_{f}\\
-\underline{\sigma}=\underline{\sigma}^{T}\text{ (symmetric).}\end{gather}
+\underline{\sigma}=\underline{\sigma}^{T}\text{ (symmetric).}
+\end{gather}
 
 \end_inset
 
@@ -1010,9 +1082,11 @@
 \end_inset
 
  Hence our weak form is
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \int_{V}\left(\nabla\cdot\underline{\sigma}+\overrightarrow{f}-\rho\frac{\partial^{2}\overrightarrow{u}}{\partial t^{2}}\right)\cdot\overrightarrow{\phi}\, dV=0\text{, or }\\
-\int_{V}(\nabla\cdot\underline{\sigma})\cdot\overrightarrow{\phi}\: dV+\int_{V}\overrightarrow{f}\cdot\overrightarrow{\phi}\: dV-\int_{V}\rho\frac{\partial^{2}\overrightarrow{u}}{\partial t^{2}}\cdot\overrightarrow{\phi}\: dV=0.\end{gather}
+\int_{V}(\nabla\cdot\underline{\sigma})\cdot\overrightarrow{\phi}\: dV+\int_{V}\overrightarrow{f}\cdot\overrightarrow{\phi}\: dV-\int_{V}\rho\frac{\partial^{2}\overrightarrow{u}}{\partial t^{2}}\cdot\overrightarrow{\phi}\: dV=0.
+\end{gather}
 
 \end_inset
 
@@ -1022,26 +1096,34 @@
 \end_inset
 
 ,
-\begin_inset Formula \begin{equation}
-\int_{V}\nabla\cdot(\underline{\sigma}\cdot\overrightarrow{\phi})\, dV=\int_{S}(\underline{\sigma}\cdot\overrightarrow{\phi})\cdot\overrightarrow{n}\, dS.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\int_{V}\nabla\cdot(\underline{\sigma}\cdot\overrightarrow{\phi})\, dV=\int_{S}(\underline{\sigma}\cdot\overrightarrow{\phi})\cdot\overrightarrow{n}\, dS.
+\end{equation}
 
 \end_inset
 
 Expanding the left-hand side yields
-\begin_inset Formula \begin{equation}
-\int_{V}(\nabla\cdot\underline{\sigma})\cdot\overrightarrow{\phi}\: dV+\int_{V}\underline{\sigma}:\nabla\overrightarrow{\phi}\: dV=\int_{S}(\underline{\sigma}\cdot\overrightarrow{\phi})\cdot\overrightarrow{n}\: dS,\text{ or}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\int_{V}(\nabla\cdot\underline{\sigma})\cdot\overrightarrow{\phi}\: dV+\int_{V}\underline{\sigma}:\nabla\overrightarrow{\phi}\: dV=\int_{S}(\underline{\sigma}\cdot\overrightarrow{\phi})\cdot\overrightarrow{n}\: dS,\text{ or}
+\end{equation}
 
 \end_inset
 
 
-\begin_inset Formula \begin{equation}
-\int_{V}(\nabla\cdot\underline{\sigma})\cdot\overrightarrow{\phi}\: dV=-\int_{V}\underline{\sigma}:\nabla\overrightarrow{\phi}\, dV+\int_{S}\underline{\sigma}\cdot\overrightarrow{n}\cdot\overrightarrow{\phi}\, dS.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\int_{V}(\nabla\cdot\underline{\sigma})\cdot\overrightarrow{\phi}\: dV=-\int_{V}\underline{\sigma}:\nabla\overrightarrow{\phi}\, dV+\int_{S}\underline{\sigma}\cdot\overrightarrow{n}\cdot\overrightarrow{\phi}\, dS.
+\end{equation}
 
 \end_inset
 
 Substituting into the weak form gives
-\begin_inset Formula \begin{equation}
--\int_{V}\underline{\sigma}:\nabla\overrightarrow{\phi}\, dV+\int_{S}\underline{\sigma}\cdot\overrightarrow{n}\cdot\overrightarrow{\phi}\, dS+\int_{V}\overrightarrow{f}\cdot\overrightarrow{\phi}\, dV-\int_{V}\rho\frac{\partial^{2}\overrightarrow{u}}{\partial t^{2}}\cdot\overrightarrow{\phi}\, dV=0.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+-\int_{V}\underline{\sigma}:\nabla\overrightarrow{\phi}\, dV+\int_{S}\underline{\sigma}\cdot\overrightarrow{n}\cdot\overrightarrow{\phi}\, dS+\int_{V}\overrightarrow{f}\cdot\overrightarrow{\phi}\, dV-\int_{V}\rho\frac{\partial^{2}\overrightarrow{u}}{\partial t^{2}}\cdot\overrightarrow{\phi}\, dV=0.
+\end{equation}
 
 \end_inset
 
@@ -1058,29 +1140,37 @@
 \end_inset
 
 ,
-\begin_inset Formula \begin{multline}
--\int_{V}\underline{\sigma}:\nabla\overrightarrow{\phi}\, dV+\int_{S_{T}}\underline{\sigma}\cdot\overrightarrow{n}\cdot\overrightarrow{\phi}\, dS+\int_{S_{u}}\underline{\sigma}\cdot\overrightarrow{n}\cdot\overrightarrow{\phi}\, dS+\int_{V}\overrightarrow{f}\cdot\overrightarrow{\phi}\, dV-\int_{V}\rho\frac{\partial^{2}\overrightarrow{u}}{\partial t^{2}}\cdot\overrightarrow{\phi}\, dV=0,\end{multline}
+\begin_inset Formula 
+\begin{multline}
+-\int_{V}\underline{\sigma}:\nabla\overrightarrow{\phi}\, dV+\int_{S_{T}}\underline{\sigma}\cdot\overrightarrow{n}\cdot\overrightarrow{\phi}\, dS+\int_{S_{u}}\underline{\sigma}\cdot\overrightarrow{n}\cdot\overrightarrow{\phi}\, dS+\int_{V}\overrightarrow{f}\cdot\overrightarrow{\phi}\, dV-\int_{V}\rho\frac{\partial^{2}\overrightarrow{u}}{\partial t^{2}}\cdot\overrightarrow{\phi}\, dV=0,
+\end{multline}
 
 \end_inset
 
 and recognize that
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \underline{\sigma}\cdot\overrightarrow{n}=\overrightarrow{T}\text{ on }S_{T}\text{ and}\\
-\overrightarrow{\phi}=0\text{ on }S_{u},\end{gather}
+\overrightarrow{\phi}=0\text{ on }S_{u},
+\end{gather}
 
 \end_inset
 
 so that the equation reduces to
-\begin_inset Formula \begin{equation}
--\int_{V}\underline{\sigma}:\nabla\overrightarrow{\phi}\: dV+\int_{S_{T}}\overrightarrow{T}\cdot\overrightarrow{\phi}\, dS+\int_{V}\overrightarrow{f}\cdot\overrightarrow{\phi}\, dV-\int_{V}\rho\frac{\partial^{2}\overrightarrow{u}}{\partial t^{2}}\cdot\overrightarrow{\phi}\, dV=0.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+-\int_{V}\underline{\sigma}:\nabla\overrightarrow{\phi}\: dV+\int_{S_{T}}\overrightarrow{T}\cdot\overrightarrow{\phi}\, dS+\int_{V}\overrightarrow{f}\cdot\overrightarrow{\phi}\, dV-\int_{V}\rho\frac{\partial^{2}\overrightarrow{u}}{\partial t^{2}}\cdot\overrightarrow{\phi}\, dV=0.
+\end{equation}
 
 \end_inset
 
 We express the trial solution and weighting function as linear combinations
  of basis functions,
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \vec{u}=\sum_{m}\overrightarrow{a^{m}}N^{m},\\
-\vec{\phi}=\sum_{n}\overrightarrow{c^{n}}N^{n}.\end{gather}
+\vec{\phi}=\sum_{n}\overrightarrow{c^{n}}N^{n}.
+\end{gather}
 
 \end_inset
 
@@ -1100,9 +1190,11 @@
 .
  Substituting in the expressions for the trial solution and weighting function
  yields
-\begin_inset Formula \begin{multline}
+\begin_inset Formula 
+\begin{multline}
 -\int_{V}\underline{\sigma}:\sum_{n}\overrightarrow{c^{n}}\nabla N_{,}^{n}\, dV+\int_{S_{T}}\vec{T}\cdot\sum_{n}\overrightarrow{c^{n}}N^{n}\, dS+\int_{V}\vec{f}\cdot\sum_{n}\overrightarrow{c^{n}}N^{n}\, dV\\
--\int_{V}\rho\sum_{m}\frac{\partial^{2}\overrightarrow{a^{m}}}{\partial t^{2}}N^{m}\cdot\sum_{n}\overrightarrow{c^{n}}N^{n}\ dV=0.\end{multline}
+-\int_{V}\rho\sum_{m}\frac{\partial^{2}\overrightarrow{a^{m}}}{\partial t^{2}}N^{m}\cdot\sum_{n}\overrightarrow{c^{n}}N^{n}\ dV=0.
+\end{multline}
 
 \end_inset
 
@@ -1112,8 +1204,10 @@
 \end_inset
 
 , so that
-\begin_inset Formula \begin{equation}
--\int_{V}\underline{\sigma}:\nabla N^{n}\, dV+\int_{S_{T}}\vec{T}N^{n}\, dS+\int_{V}\vec{f}N^{n}\, dV-\int_{V}\rho\sum_{m}\frac{\partial^{2}\overrightarrow{a^{m}}}{\partial t^{2}}N^{m}N^{n}\, dV=\vec{0}.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+-\int_{V}\underline{\sigma}:\nabla N^{n}\, dV+\int_{S_{T}}\vec{T}N^{n}\, dS+\int_{V}\vec{f}N^{n}\, dV-\int_{V}\rho\sum_{m}\frac{\partial^{2}\overrightarrow{a^{m}}}{\partial t^{2}}N^{m}N^{n}\, dV=\vec{0}.
+\end{equation}
 
 \end_inset
 
@@ -1134,9 +1228,11 @@
 \bar no
 \noun off
 \color none
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \vec{u}=u^{o}\overrightarrow{}\text{ on }S_{u},\text{ and}\\
-\underline{R}(\overrightarrow{u^{+}}-\overrightarrow{u^{-}})=\vec{d}\text{ on }S_{f},\end{gather}
+\underline{R}(\overrightarrow{u^{+}}-\overrightarrow{u^{-}})=\vec{d}\text{ on }S_{f},
+\end{gather}
 
 \end_inset
 
@@ -1158,20 +1254,24 @@
 \end_inset
 
  reduces to
-\begin_inset Formula \begin{equation}
--\int_{V}\sigma_{ij}N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}N^{n}\, dS+\int_{V}f_{i}N^{n}\, dV=\vec{0}.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+-\int_{V}\sigma_{ij}N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}N^{n}\, dS+\int_{V}f_{i}N^{n}\, dV=\vec{0}.
+\end{equation}
 
 \end_inset
 
 As a result, time-dependence only enters through the constitutive relationships
  and the loading conditions.
- We considers deformation at time 
+ We consider the deformation at time 
 \begin_inset Formula $t+\Delta t$
 \end_inset
 
 ,
-\begin_inset Formula \begin{equation}
--\int_{V}\sigma_{ij}(t+\Delta t)N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}(t+\Delta t)N^{n}\, dS+\int_{V}f_{i}(t+\Delta t)N^{n}\, dV=\vec{0}.\label{eq:elasticity:integral:quasistatic}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+-\int_{V}\sigma_{ij}(t+\Delta t)N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}(t+\Delta t)N^{n}\, dS+\int_{V}f_{i}(t+\Delta t)N^{n}\, dV=\vec{0}.\label{eq:elasticity:integral:quasistatic}
+\end{equation}
 
 \end_inset
 
@@ -1190,16 +1290,20 @@
 
 ).
  The residual is simply
-\begin_inset Formula \begin{equation}
-r_{i}^{n}=-\int_{V}\sigma_{ij}(t+\Delta t)N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}(t+\Delta t)N^{n}\, dS+\int_{V}f_{i}(t+\Delta t)N^{n}\, dV.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+r_{i}^{n}=-\int_{V}\sigma_{ij}(t+\Delta t)N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}(t+\Delta t)N^{n}\, dS+\int_{V}f_{i}(t+\Delta t)N^{n}\, dV.
+\end{equation}
 
 \end_inset
 
 We employ numerical quadrature in the finite-element discretization and
  replace the integrals with sums over the cells and quadrature points,
-\begin_inset Formula \begin{multline}
+\begin_inset Formula 
+\begin{multline}
 r_{i}^{n}=-\sum_{\text{vol cells}}\sum_{\text{quad pts}}\sigma_{ij}(x_{q},t+\Delta t)N_{,j}^{n}(x_{q})\: w_{q}|J_{cell}(x_{q})|+\sum_{\text{vol cells}}\sum_{\text{quad pt}s}f_{i}(x_{q},t+\Delta t)N^{n}(x_{q})\, w_{q}|J_{cell}(x_{q})|\\
-+\sum_{\text{tract cells}}\sum_{\text{quad pts}}T_{i}(x_{q},t+\Delta t)N^{n}(x_{q})\, w_{q}|J_{cell}(x_{q})|,\end{multline}
++\sum_{\text{tract cells}}\sum_{\text{quad pts}}T_{i}(x_{q},t+\Delta t)N^{n}(x_{q})\, w_{q}|J_{cell}(x_{q})|,
+\end{multline}
 
 \end_inset
 
@@ -1239,8 +1343,10 @@
 
 \begin_layout Standard
 In order to find the Jacobian of the system, we let
-\begin_inset Formula \begin{equation}
-\sigma_{ij}(t+\Delta t)=\sigma_{ij}(t)+d\sigma_{ij}(t).\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\sigma_{ij}(t+\Delta t)=\sigma_{ij}(t)+d\sigma_{ij}(t).
+\end{equation}
 
 \end_inset
 
@@ -1248,8 +1354,10 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{equation}
-\int_{V}d\sigma_{ij}(t)N_{j}^{n}\ dV=-\int_{V}\sigma_{ij}(t)N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}(t+\Delta t)N^{n}\, dS+\int_{V}f_{i}(t+\Delta t)N^{n}\, dV\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\int_{V}d\sigma_{ij}(t)N_{j}^{n}\ dV=-\int_{V}\sigma_{ij}(t)N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}(t+\Delta t)N^{n}\, dS+\int_{V}f_{i}(t+\Delta t)N^{n}\, dV
+\end{equation}
 
 \end_inset
 
@@ -1260,10 +1368,12 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 d\sigma_{ij}(t)=C_{ijkl}(t)d\varepsilon_{kl}(t)\\
 d\sigma_{ij}(t)=\frac{1}{2}C_{ijkl}(t)(du_{k.l}(t)+du_{l,k}(t))\\
-d\sigma_{ij}(t)=\frac{1}{2}C_{ijkl}(t)(\sum_{m}da_{k,l}^{m}(t)N^{m}+\sum_{m}da_{l,k}^{m}(t)N^{m})\end{gather}
+d\sigma_{ij}(t)=\frac{1}{2}C_{ijkl}(t)(\sum_{m}da_{k,l}^{m}(t)N^{m}+\sum_{m}da_{l,k}^{m}(t)N^{m})
+\end{gather}
 
 \end_inset
 
@@ -1272,8 +1382,10 @@
 \end_inset
 
  is a scalar, so it is symmetric,
-\begin_inset Formula \begin{equation}
-d\sigma_{ij}\phi_{i,j}=d\sigma_{ji}\phi_{j,i},\end{equation}
+\begin_inset Formula 
+\begin{equation}
+d\sigma_{ij}\phi_{i,j}=d\sigma_{ji}\phi_{j,i},
+\end{equation}
 
 \end_inset
 
@@ -1282,20 +1394,26 @@
 \end_inset
 
  is symmetric, so
-\begin_inset Formula \begin{equation}
-d\sigma_{ij}\phi_{i,j}=d\sigma_{ij}\phi_{j,i},\end{equation}
+\begin_inset Formula 
+\begin{equation}
+d\sigma_{ij}\phi_{i,j}=d\sigma_{ij}\phi_{j,i},
+\end{equation}
 
 \end_inset
 
 which means
-\begin_inset Formula \begin{equation}
-\phi_{i,j}=\phi_{j,i},\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\phi_{i,j}=\phi_{j,i},
+\end{equation}
 
 \end_inset
 
 which we can write as
-\begin_inset Formula \begin{equation}
-\phi_{i,j}=\frac{1}{2}(\phi_{i,j}+\phi_{j,i}).\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\phi_{i,j}=\frac{1}{2}(\phi_{i,j}+\phi_{j,i}).
+\end{equation}
 
 \end_inset
 
@@ -1303,8 +1421,10 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{equation}
-\sum_{n}c_{i}^{n}N_{,j}^{n}=\frac{1}{2}(\sum_{n}c_{i}^{n}N_{,j}^{n}+\sum_{n}c_{j}^{n}N_{,i}^{n}).\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\sum_{n}c_{i}^{n}N_{,j}^{n}=\frac{1}{2}(\sum_{n}c_{i}^{n}N_{,j}^{n}+\sum_{n}c_{j}^{n}N_{,i}^{n}).
+\end{equation}
 
 \end_inset
 
@@ -1314,15 +1434,19 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{equation}
-A_{ij}^{nm}=\int_{V}\frac{1}{4}C_{ijkl}(N_{,l}^{m}+N_{,k}^{m})(N_{,j}^{n}+N_{,i}^{n})\ dV.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+A_{ij}^{nm}=\int_{V}\frac{1}{4}C_{ijkl}(N_{,l}^{m}+N_{,k}^{m})(N_{,j}^{n}+N_{,i}^{n})\ dV.
+\end{equation}
 
 \end_inset
 
 We employ numerical quadrature in the finite-element discretization and
  replace the integral with a sum over the cells and quadrature points,
-\begin_inset Formula \begin{equation}
-A_{ij}^{nm}=\sum_{\text{vol cells}}\sum_{\text{quad pts}}\frac{1}{4}C_{ijkl}(N_{,l}^{m}(x_{q})+N_{,k}^{m}(x_{q}))(N_{,j}^{n}(x_{q})+N_{,i}^{n}(x_{q}))w_{q}|J_{cell}(x_{q}).\end{equation}
+\begin_inset Formula 
+\begin{equation}
+A_{ij}^{nm}=\sum_{\text{vol cells}}\sum_{\text{quad pts}}\frac{1}{4}C_{ijkl}(N_{,l}^{m}(x_{q})+N_{,k}^{m}(x_{q}))(N_{,j}^{n}(x_{q})+N_{,i}^{n}(x_{q}))w_{q}|J_{cell}(x_{q}).
+\end{equation}
 
 \end_inset
 
@@ -1343,8 +1467,10 @@
 \end_inset
 
 ,
-\begin_inset Formula \begin{equation}
--\int_{V}\sigma_{ij}(t)N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}(t)N^{n}\, dS+\int_{V}f_{i}(t)N^{n}\, dV-\int_{V}\rho\sum_{m}\ddot{a}_{i}^{m}(t)N^{m}N^{n}\ dV=\vec{0}.\label{eq:elasticity:integral:dynamic:t}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+-\int_{V}\sigma_{ij}(t)N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}(t)N^{n}\, dS+\int_{V}f_{i}(t)N^{n}\, dV-\int_{V}\rho\sum_{m}\ddot{a}_{i}^{m}(t)N^{m}N^{n}\ dV=\vec{0}.\label{eq:elasticity:integral:dynamic:t}
+\end{equation}
 
 \end_inset
 
@@ -1363,16 +1489,20 @@
 
 ).
  The residual is simply
-\begin_inset Formula \begin{equation}
-r_{i}^{n}=-\int_{V}\sigma_{ij}(t)N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}(t)N^{n}\, dS+\int_{V}f_{i}(t)N^{n}\, dV-\int_{V}\rho\sum_{m}\ddot{a}_{i}^{m}(t)N^{m}N^{n}\ dV.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+r_{i}^{n}=-\int_{V}\sigma_{ij}(t)N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}(t)N^{n}\, dS+\int_{V}f_{i}(t)N^{n}\, dV-\int_{V}\rho\sum_{m}\ddot{a}_{i}^{m}(t)N^{m}N^{n}\ dV.
+\end{equation}
 
 \end_inset
 
 We employ numerical quadrature in the finite-element discretization and
  replace the integrals with sums over the cells and quadrature points,
-\begin_inset Formula \begin{multline}
+\begin_inset Formula 
+\begin{multline}
 r_{i}^{n}=-\sum_{\text{vol cells}}\sum_{\text{quad pts}}\sigma_{ij}(x_{q},t)N^{n}(x_{q})\: w_{q}|J_{cell}(x_{q})|+\sum_{\text{vol cells}}\sum_{\text{quad pt}s}f_{i}(x_{q},t)N^{n}(x_{q})\, w_{q}|J_{cell}(x_{q})|\\
-+\sum_{\text{tract cells}}\sum_{\text{quad pts}}T_{i}(x_{q},t)N^{n}(x_{q})\, w_{q}|J_{cell}(x_{q})|-\sum_{\text{vol cells}}\sum_{\text{quad pts}}\rho\sum_{m}\ddot{a}_{i}^{m}(t)N^{m}N^{n}\ w_{q|J_{cell}(x_{q})},\end{multline}
++\sum_{\text{tract cells}}\sum_{\text{quad pts}}T_{i}(x_{q},t)N^{n}(x_{q})\, w_{q}|J_{cell}(x_{q})|-\sum_{\text{vol cells}}\sum_{\text{quad pts}}\rho\sum_{m}\ddot{a}_{i}^{m}(t)N^{m}N^{n}\ w_{q|J_{cell}(x_{q})},
+\end{multline}
 
 \end_inset
 
@@ -1405,9 +1535,11 @@
 .
  Using the central difference method to approximate the acceleration (and
  velocity),
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \ddot{u}_{i}(t)=\frac{1}{\Delta t^{2}}\left(u_{i}(t+\Delta t)-2u_{i}(t)+u_{i}(t-\Delta t)\right)\\
-\dot{u}_{i}(t)=\frac{1}{2\Delta t}\left(u_{i}(t+\Delta t)-u_{i}(t-\Delta t)\right)\end{gather}
+\dot{u}_{i}(t)=\frac{1}{2\Delta t}\left(u_{i}(t+\Delta t)-u_{i}(t-\Delta t)\right)
+\end{gather}
 
 \end_inset
 
@@ -1420,10 +1552,12 @@
 \end_inset
 
  (for consistency with the displacement increment quasi-static formulation),
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 u_{i}(t+\Delta t)=u_{i}(t)+du_{i}(t),\\
 \ddot{u}_{i}(t)=\frac{1}{\Delta t^{2}}\left(du_{i}(t)-u_{i}(t)+u_{i}(t-\Delta t)\right),\\
-\dot{u}_{i}(t)=\frac{1}{2\Delta t}\left(du_{i}(t)+u_{i}(t)-u_{i}(t-\Delta t)\right).\end{gather}
+\dot{u}_{i}(t)=\frac{1}{2\Delta t}\left(du_{i}(t)+u_{i}(t)-u_{i}(t-\Delta t)\right).
+\end{gather}
 
 \end_inset
 
@@ -1435,15 +1569,19 @@
 \end_inset
 
  yields
-\begin_inset Formula \begin{multline}
+\begin_inset Formula 
+\begin{multline}
 \frac{1}{\Delta t^{2}}\int_{V}\rho\sum_{m}da_{i}^{m}(t)N^{m}N^{n}\ dV=-\int_{V}\sigma_{ij}N_{,j}^{n}\: dV+\int_{S_{T}}T_{i}N^{n}\, dS+\int_{V}f_{i}N^{n}\, dV\\
--\frac{1}{\Delta t^{2}}\int_{V}\rho\sum_{m}(a_{i}^{m}(t)-a_{i}^{m}(t-\Delta t))N^{m}N^{n}\ dV.\end{multline}
+-\frac{1}{\Delta t^{2}}\int_{V}\rho\sum_{m}(a_{i}^{m}(t)-a_{i}^{m}(t-\Delta t))N^{m}N^{n}\ dV.
+\end{multline}
 
 \end_inset
 
 Thus, the Jacobian for the system is
-\begin_inset Formula \begin{equation}
-A_{ij}^{nm}=\delta_{ij}\frac{1}{\Delta t^{2}}\int_{V}\rho N^{m}N^{n}\ dV,\end{equation}
+\begin_inset Formula 
+\begin{equation}
+A_{ij}^{nm}=\delta_{ij}\frac{1}{\Delta t^{2}}\int_{V}\rho N^{m}N^{n}\ dV,
+\end{equation}
 
 \end_inset
 
@@ -1452,8 +1590,10 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{equation}
-A_{ij}^{nm}=\delta_{ij}\frac{1}{\Delta t^{2}}\sum_{\text{vol cells}}\sum_{\text{quad pts}}\rho(x_{q})N^{m}(x_{q})N^{n}(x_{q}),\end{equation}
+\begin_inset Formula 
+\begin{equation}
+A_{ij}^{nm}=\delta_{ij}\frac{1}{\Delta t^{2}}\sum_{\text{vol cells}}\sum_{\text{quad pts}}\rho(x_{q})N^{m}(x_{q})N^{n}(x_{q}),
+\end{equation}
 
 \end_inset
 
@@ -1536,10 +1676,12 @@
 .
  The Green-Lagrange strain provides a measure of the strain relative to
  the original, undeformed configuration.
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \varepsilon_{ij}=\frac{1}{2}(u_{i,j}+u_{j,i}+u_{k,i}u_{k,j}),\text{ or}\\
 \varepsilon_{ij}=X_{ji}X_{ij}-\delta_{ij},\text{ where}\\
-X_{ij}=x_{i,j}(t)=\frac{\partial}{\partial x_{j}}(x_{i}(0)+u_{i}(t)),\end{gather}
+X_{ij}=x_{i,j}(t)=\frac{\partial}{\partial x_{j}}(x_{i}(0)+u_{i}(t)),
+\end{gather}
 
 \end_inset
 
@@ -1557,8 +1699,10 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{equation}
-S_{ij}=C_{ijkl}\varepsilon_{kl},\end{equation}
+\begin_inset Formula 
+\begin{equation}
+S_{ij}=C_{ijkl}\varepsilon_{kl},
+\end{equation}
 
 \end_inset
 
@@ -1600,8 +1744,10 @@
 
  strain.
  Using the definition of the Green-Lagrangian strain, we have
-\begin_inset Formula \begin{equation}
-\int_{V}S_{ij}\delta\varepsilon_{ij}\: dV=\int_{V}\frac{1}{2}S_{ij}(\delta u_{i,j}+\delta u_{j,i}+u_{k,i}\delta u_{k,j}+u_{k,j}\delta u_{k,i})\: dV.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\int_{V}S_{ij}\delta\varepsilon_{ij}\: dV=\int_{V}\frac{1}{2}S_{ij}(\delta u_{i,j}+\delta u_{j,i}+u_{k,i}\delta u_{k,j}+u_{k,j}\delta u_{k,i})\: dV.
+\end{equation}
 
 \end_inset
 
@@ -1615,8 +1761,10 @@
 \end_inset
 
  strain) to zero yields the elastic term in the residual,
-\begin_inset Formula \begin{equation}
-r_{i}^{n}=\int_{V}S_{ij}(N_{,i}^{n}+(\sum_{m}a_{k}^{m}N_{,j}^{m})N_{,i}^{n})\: dV.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+r_{i}^{n}=\int_{V}S_{ij}(N_{,i}^{n}+(\sum_{m}a_{k}^{m}N_{,j}^{m})N_{,i}^{n})\: dV.
+\end{equation}
 
 \end_inset
 
@@ -1640,14 +1788,18 @@
 \end_inset
 
  and consider the first terms of the Taylor series expansion,
-\begin_inset Formula \begin{equation}
-\int_{v}S_{ij}(t+\Delta t)\delta\varepsilon_{ij}(t+\Delta t)\: dV=\int_{V}(S_{ij}(t)\delta\varepsilon_{ij}(t)+dS_{ij}(t)\delta\varepsilon_{ij}(t)+S_{ij}(t)d\delta\varepsilon_{ij}(t))\: dV.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\int_{v}S_{ij}(t+\Delta t)\delta\varepsilon_{ij}(t+\Delta t)\: dV=\int_{V}(S_{ij}(t)\delta\varepsilon_{ij}(t)+dS_{ij}(t)\delta\varepsilon_{ij}(t)+S_{ij}(t)d\delta\varepsilon_{ij}(t))\: dV.
+\end{equation}
 
 \end_inset
 
 We approximate the increment in the stress tensor using the elastic constants,
-\begin_inset Formula \begin{equation}
-dS_{ij}=C_{ijkl}d\varepsilon_{kl},\end{equation}
+\begin_inset Formula 
+\begin{equation}
+dS_{ij}=C_{ijkl}d\varepsilon_{kl},
+\end{equation}
 
 \end_inset
 
@@ -1660,8 +1812,10 @@
 \end_inset
 
  strain via
-\begin_inset Formula \begin{equation}
-d\delta\varepsilon_{ij}=\frac{1}{2}(du_{k,i}\delta u_{k,j}+du_{k,j}\delta u_{k,i}).\end{equation}
+\begin_inset Formula 
+\begin{equation}
+d\delta\varepsilon_{ij}=\frac{1}{2}(du_{k,i}\delta u_{k,j}+du_{k,j}\delta u_{k,i}).
+\end{equation}
 
 \end_inset
 
@@ -1677,8 +1831,10 @@
 \end_inset
 
  strains, we have
-\begin_inset Formula \begin{equation}
-A_{ij}^{nm}=\int_{V}\frac{1}{4}C_{ijkl}(N_{,k}^{m}+(\sum_{r}a_{p}^{r}N_{,l}^{r})N_{,k}^{m})(N_{,i}^{n}+(\sum_{r}a_{p}^{r}N_{,j}^{r})N_{,i}^{n})+\frac{1}{2}S_{kl}N_{,l}^{m}N_{,l}^{n}\delta_{ij}\: dV.\end{equation}
+\begin_inset Formula 
+\begin{equation}
+A_{ij}^{nm}=\int_{V}\frac{1}{4}C_{ijkl}(N_{,k}^{m}+(\sum_{r}a_{p}^{r}N_{,l}^{r})N_{,k}^{m})(N_{,i}^{n}+(\sum_{r}a_{p}^{r}N_{,j}^{r})N_{,i}^{n})+\frac{1}{2}S_{kl}N_{,l}^{m}N_{,l}^{n}\delta_{ij}\: dV.
+\end{equation}
 
 \end_inset
 

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/install/install.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/install/install.lyx	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/install/install.lyx	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,5 +1,5 @@
-#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
 \begin_document
 \begin_header
 \textclass book
@@ -7,18 +7,26 @@
 
 \end_preamble
 \use_default_options false
+\maintain_unincluded_children false
 \language english
+\language_package default
 \inputencoding latin1
+\fontencoding global
 \font_roman default
 \font_sans default
 \font_typewriter default
 \font_default_family default
+\use_non_tex_fonts false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
 
 \graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
 \paperfontsize default
 \spacing single
 \use_hyperref true
@@ -35,9 +43,18 @@
 \use_geometry true
 \use_amsmath 1
 \use_esint 0
+\use_mhchem 1
+\use_mathdots 1
 \cite_engine basic
 \use_bibtopic false
+\use_indices false
 \paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
 \leftmargin 1in
 \topmargin 1in
 \rightmargin 1in
@@ -45,15 +62,16 @@
 \secnumdepth 3
 \tocdepth 3
 \paragraph_separation indent
-\defskip medskip
+\paragraph_indentation default
 \quotes_language english
 \papercolumns 1
 \papersides 2
 \paperpagestyle default
 \tracking_changes false
 \output_changes false
-\author "" 
-\author "" 
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
 \end_header
 
 \begin_body
@@ -76,6 +94,8 @@
  Installation of PyLith on other operating systems -- or installation on
  a cluster -- requires building the software from the source code, which
  can be difficult for inexperienced users.
+ We have created a small utility called PyLith Installer that makes installing
+ PyLith and all of its dependencies from source much easier.
  Help is available from both a CIG mailing list and CIG Roundup Bug Tracking
  System 
 \begin_inset Flex URL
@@ -170,8 +190,8 @@
 \end_layout
 
 \begin_layout Standard
-Binary executables are available for Linux, Mac OS X (Intel 10.5 and Intel
- 10.6), and Windows from the PyLith web page 
+Binary executables are available for Linux, Mac OS X (Intel 10.4/10.5 and
+ Intel 10.6), and Windows from the PyLith web page 
 \begin_inset Flex URL
 status collapsed
 
@@ -233,7 +253,7 @@
 
 \begin_deeper
 \begin_layout LyX-Code
-$ tar -xzf pylith-1.5.0-linux-i686.tgz
+$ tar -xzf pylith-1.6.0-linux-i686.tgz
 \end_layout
 
 \end_deeper
@@ -303,12 +323,12 @@
 
 \begin_layout Enumerate
 Unpack the tarball.
- For 10.5.x operating system,
+ For 10.4.x or 10.5.x operating system,
 \end_layout
 
 \begin_deeper
 \begin_layout LyX-Code
-$ tar -xzf pylith-1.5.0-darwin-i386.tgz
+$ tar -xzf pylith-1.6.0-darwin-10.4.tgz
 \end_layout
 
 \end_deeper
@@ -378,2747 +398,55 @@
  are not used across all of the packages on which PyLith depends.
  This is usually not an issue with Linux distributions, such as Fedora,
  Ubuntu, and Debian that have good quality control; it can be an issue with
- Darwin package managers, such as Fink, where there is limited enforcement
- of consistency across packages.
+ Darwin package managers, such as Fink and MacPorts, where there is limited
+ enforcement of consistency across packages.
  Nevertheless, PyLith can be built on most systems provided the instructions
  are followed carefully.
  PyLith is developed and tested on Linux and Mac OS X.
 \end_layout
 
 \begin_layout Standard
-Detailed installation instructions for building PyLith using the SVN source
- repository are available for several  platforms.
- The instructions can be accessed via the web interface into the PyLith
- source repository 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-geodynamics.org/wsvn/cig/short/3D/PyLith/trunk/doc/install/
-\end_layout
-
-\end_inset
-
-.
- Even though using the software repositories is recommended only for experienced
- users, less experienced users will find the platform-specific instructions
- useful.
- For example, the platform-specific instructions include a list of binary
- packages/distributions that can be used, eliminating the need to compile
- those packages from source.
- Thus, less experienced users should follow the platform-specific instructions,
- but replace checking out the source code from the repository (applies to
- PETSc and CIG code only) with downloading the prepackaged source code.
-\end_layout
-
-\begin_layout Subsection
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:System-Requirements"
-
-\end_inset
-
-System Requirements
-\end_layout
-
-\begin_layout Standard
-Installation of PyLith requires the following development tools:
-\end_layout
-
-\begin_layout Itemize
-A C++ compiler
-\end_layout
-
-\begin_layout Itemize
-A C compiler
-\end_layout
-
-\begin_layout Itemize
-A FORTRAN compiler (optional)
-\end_layout
-
-\begin_layout Itemize
-Python 2.3 or greater (Python 2.4 or greater is required on 64-bit machines)
-\end_layout
-
-\begin_layout Subsubsection
-C and C++ Compilers
-\end_layout
-
-\begin_layout Standard
-A C++ compiler is required for building PETSc's Sieve component, spatialdata,
- and PyLith itself.
- A C compiler is required for several of PyLith's dependencies.
-\end_layout
-
-\begin_layout Standard
-On Unix systems, there is a high likelihood that usable C and C++ compilers
- are already installed.
- Check with your system administrator if you are unsure of the name of your
- C and C++ compiler commands.
- On Linux, the standard C and C++ compilers are 
-\family typewriter
-gcc
-\family default
- and 
-\family typewriter
-g++
-\family default
-, respectively.
- If either the 
-\family typewriter
-gcc
-\family default
- or 
-\family typewriter
-g++
-\family default
- commands are not available, install the corresponding GCC packages using
- the package manager for your distribution.
- The Mac OS X version of GCC is included in a software development suite
- called Xcode.
- Xcode is available as a free download at the Apple Developer Connection
+A small utility, PyLith Installer, removes most of the obstacles in building
+ PyLith and its dependencies from source.
+ For each package this utility downloads the source code, configures it,
+ builds it, and installs it.
+ This insures that the versions of the dependencies are consistent with
+ PyLith and that the proper configure arguments are used.
+ The minimum requirements for using the PyLith installer are a C compiler,
  
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-developer.apple.com
-\end_layout
-
-\end_inset
-
-.
- (Note that Xcode does not include a FORTRAN compiler.)
-\end_layout
-
-\begin_layout Subsubsection
-FORTRAN Compiler (optional)
-\end_layout
-
-\begin_layout Standard
-To build PETSc, you need either a FORTRAN-77 or FORTRAN-9x compiler.
- There are several free FORTRAN compilers available.
- GCC 4 contains a FORTRAN-95 compiler called 
 \family typewriter
-gfortran
-\family default
-.
- Earlier versions of GCC include 
-\family typewriter
-g77
-\family default
-.
- Another free alternative is 
-\family typewriter
-g95
-\family default
-.
- Both the 
-\family typewriter
-gfortran
-\family default
- and 
-\family typewriter
-g95
-\family default
- projects offer pre-built binaries for a variety of systems, including Mac
- OS X.
- A number of optional PETSc packages that provide additional preconditioners
- and solvers require a FORTRAN compiler.
-\end_layout
-
-\begin_layout Subsubsection
-Python
-\end_layout
-
-\begin_layout Standard
-PyLith's high-level user interface code is written in Python, utilizing
- the Pyre framework.
- Pyre is included in the Python package known as Pythia.
- PyLith requires Pythia v0.8.1.6 or later, but you need not install Pythia
- because PyLith's 
-\family typewriter
-configure
-\family default
- script automatically downloads Pythia directly from CIG.
-\end_layout
-
-\begin_layout Standard
-Pythia (and therefore PyLith) requires Python 2.3 or later.
-\end_layout
-
-\begin_layout Quote
-
-\series bold
-\color red
-Warning:
-\series default
-\color none
- On 64-bit machines, Python 2.4 or later is required.
- Python 2.3 contains a bug which prevents installation on 64-bit hardware.
-\end_layout
-
-\begin_layout Standard
-Your system may already have a suitable Python interpreter installed.
- To check, type the `
-\family typewriter
-python
-\family default
-' command:
-\end_layout
-
-\begin_layout LyX-Code
-$ python -V
-\end_layout
-
-\begin_layout LyX-Code
-Python 2.3.4
-\end_layout
-
-\begin_layout Standard
-Mac OS X 10.3 and later ships with a suitable version of Python preinstalled.
- If you're using an older version of Mac OS X, or for more information in
- general, see Python on the Mac 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-www.python.org/download/mac
-\end_layout
-
-\end_inset
-
- at the Python web site.
-\end_layout
-
-\begin_layout Standard
-On Linux, simply install the binary system package available for your distributi
-on.
- Be sure to select the Python development package (typically called 
-\family typewriter
-python-dev
-\family default
-) in addition to the core Python package -- even if you don't plan on doing
- any Python software development.
- The development package contains the Python 
-\family typewriter
-include
-\family default
- files, which are necessary for building PyLith.
-\end_layout
-
-\begin_layout Standard
-If you are working on a cluster and 
-\family typewriter
-python
-\family default
- is too old, try poking around a little.
- Sometimes multiple versions of Python are installed on the same system:
-\end_layout
-
-\begin_layout LyX-Code
-$ python -V
-\end_layout
-
-\begin_layout LyX-Code
-Python 2.2.3
-\end_layout
-
-\begin_layout LyX-Code
-$ which python
-\end_layout
-
-\begin_layout LyX-Code
-/usr/bin/python
-\end_layout
-
-\begin_layout LyX-Code
-$ ls /usr/bin/python*
-\end_layout
-
-\begin_layout LyX-Code
-/usr/bin/python /usr/bin/python2 /usr/bin/python2.2
-\end_layout
-
-\begin_layout LyX-Code
-/usr/bin/python24 /usr/bin/python2.4
-\end_layout
-
-\begin_layout LyX-Code
-$
-\end_layout
-
-\begin_layout Standard
-In the above scenario, it is useful to create an alias to the newer Python:
-\end_layout
-
-\begin_layout LyX-Code
-$ cd ~/bin
-\end_layout
-
-\begin_layout LyX-Code
-$ ln -s /usr/bin/python2.4 python
-\end_layout
-
-\begin_layout LyX-Code
-$ cd
-\end_layout
-
-\begin_layout LyX-Code
-$ hash -r
-\end_layout
-
-\begin_layout LyX-Code
-$ which python
-\end_layout
-
-\begin_layout LyX-Code
-~/bin/python
-\end_layout
-
-\begin_layout LyX-Code
-$ python -V
-\end_layout
-
-\begin_layout LyX-Code
-Python 2.4.1
-\end_layout
-
-\begin_layout LyX-Code
-$
-\end_layout
-
-\begin_layout Standard
-If absolutely necessary, one can easily build Python from source using a
- C compiler.
- You can download Python from the Python website 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-www.python.org
-\end_layout
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Subsection
-Dependencies
-\end_layout
-
-\begin_layout Standard
-PyLith has the following dependencies:
-\end_layout
-
-\begin_layout Itemize
-PETSc (development version)
-\end_layout
-
-\begin_layout Itemize
-spatialdata
-\end_layout
-
-\begin_layout Itemize
-nemesis (v1.0)
-\end_layout
-
-\begin_layout Itemize
-FIAT (v0.3)
-\end_layout
-
-\begin_layout Itemize
-numpy (v1.0)
-\end_layout
-
-\begin_layout Itemize
-proj (v4.5)
-\end_layout
-
-\begin_layout Itemize
-Pythia* (v0.8.1.6 or later)
-\end_layout
-
-\begin_layout Itemize
-an MPI library*
-\end_layout
-
-\begin_layout Itemize
-BLAS/LAPACK*
-\end_layout
-
-\begin_layout Itemize
-Boost*
-\end_layout
-
-\begin_layout Itemize
-Chaco*
-\end_layout
-
-\begin_layout Standard
-Dependencies marked with an asterisk (*) can be downloaded and  installed
- automatically.
- The source code for Nemesis, spatialdata, and PyLith package can all be
- downloaded from the PyLith web page 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-geodynamics.org/cig/software/packages/short/pylith/
-\end_layout
-
-\end_inset
-
-.
- Whereas the SWIG generated Python and C++ sources files are included in
- the source distribution, they are not in the PyLith repository, so building
- from the source repository also requires SWIG.
- PyLith also has the following optional dependencies:
-\end_layout
-
-\begin_layout Itemize
-netcdf (v3.6)
-\end_layout
-
-\begin_layout Itemize
-cppunit (v1.12)
-\end_layout
-
-\begin_layout Standard
-After successfully building and installing PyLith from source, you will
- need to configure Pyre to launch parallel runs of PyLith (see Section 
-\begin_inset CommandInset ref
-LatexCommand vref
-reference "sec:Pyre-Configuration"
-
-\end_inset
-
-).
- Downloading the latest PyLith and PETSc source code directly from the source
- code repositories, instead of using the source packages (see Section 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:Software-Repository"
-
-\end_inset
-
- later in this chapter) requires additional tools (see Section 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sub:Additional-Tools"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:Installing-PETSc"
-
-\end_inset
-
-Installing PETSc
-\end_layout
-
-\begin_layout Standard
-PyLith requires PETSc -- including PETSc's new Sieve component.
- Sieve is still under development; therefore, PyLith requires the development
- version of PETSc.
-\end_layout
-
-\begin_layout Standard
-PETSc itself depends upon several other software packages.
- Fortunately, PETSc's configuration script can automatically download and
- build these software packages for you.
-\end_layout
-
-\begin_layout Standard
-For general information about the development version of PETSc, visit the
- PETSc Developers Site 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-www-unix.mcs.anl.gov/petsc/petsc-as/developers
-\end_layout
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-To install PETSc, you will download and unpack the 
-\family typewriter
-petsc-dev
-\family default
- tarball, run a Python configure script (
-\family typewriter
-config/configure.py
-\family default
-), set a pair of environment variables, and finally build PETSc from source
- by running 
-\family typewriter
-make
-\family default
-.
-\end_layout
-
-\begin_layout Quote
-
-\series bold
-TIP:
-\series default
- If you run into problems configuring or building PETSc, send 
-\emph on
-both
-\emph default
- 
-\family typewriter
-\shape italic
-$PETSC_ARCH
-\shape default
-/conf/configure.log
-\family default
- and 
-\family typewriter
-\shape italic
-$PETSC_ARCH
-\shape default
-/conf/make.log 
-\family default
-to PETSc Maintenance Mailing List 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-petsc-maint at mcs.anl.gov
-\end_layout
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-For detailed information on installing PETSc, see the PETSc Installation
- Docs 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-www-unix.mcs.anl.gov/petsc/petsc-as/documentation/installation.html
-\end_layout
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Subsubsection
-Downloading and Unpacking 
-\family typewriter
-petsc-dev
-\end_layout
-
-\begin_layout Standard
-The development version of PETSc is called 
-\family typewriter
-petsc-dev
-\family default
-.
- Download the tarball snapshot of 
-\family typewriter
-petsc-dev
-\family default
- for PyLith from PyLith PETSc tarball at
-\end_layout
-
-\begin_layout LyX-Code
-
-\size small
-http://geodynamics.org/cig/software/packages/short/pylith/petsc-dev-pylith-1.5.0.tgz
-\end_layout
-
-\begin_layout Standard
-Unpack it using the 
-\family typewriter
 tar
 \family default
- command: 
-\end_layout
-
-\begin_layout LyX-Code
-$ tar xzf petsc-dev-pylith-1.5.0.tgz
-\end_layout
-
-\begin_layout Standard
-If you don't have GNU Tar, try the following command instead: 
-\end_layout
-
-\begin_layout LyX-Code
-$ gunzip -c petsc-dev-pylith-1.5.0.tgz | tar xf -
-\end_layout
-
-\begin_layout Standard
-After unpacking, a directory called 
+, and 
 \family typewriter
-petsc-dev
+wget
 \family default
- will be visible in your working directory.
-\end_layout
-
-\begin_layout Subsubsection
-PETSc Configuration
-\end_layout
-
-\begin_layout Standard
-Navigate to the directory containing the PETSc source:
-\end_layout
-
-\begin_layout Quote
-
-\family typewriter
-$ cd petsc-dev
-\end_layout
-
-\begin_layout Standard
-To configure PETSc, run 
-\family typewriter
-./config/configure.py
-\family default
- with the appropriate arguments to configure PETSc for your system.
- At a minimum, configuring PETSc for use with PyLith requires the following
- arguments:
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
---with-clanguage=c++
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
---with-boost=1
-\end_layout
-
-\begin_layout LyX-Code
---with-chaco=1
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
---with-sieve=1
-\end_layout
-
-\begin_layout LyX-Code
---with-shared=1
-\end_layout
-
-\begin_layout Standard
-You will need to specify additional options; the specific set of options
- you will use depends upon the libraries and compilers you have available.
- See the examples below.
-\end_layout
-
-\begin_layout Quote
-
-\series bold
-TIP:
-\series default
- Run 
-\family typewriter
-./config/configure.py --help
-\family default
- to see the long list of all possible options.
-\end_layout
-
-\begin_layout Standard
-Building PETSc with Sieve requires the following external libraries:
-\end_layout
-
-\begin_layout Itemize
-an MPI library
-\end_layout
-
-\begin_layout Itemize
-BLAS/LAPACK
-\end_layout
-
-\begin_layout Itemize
-Boost
-\end_layout
-
-\begin_layout Itemize
-Chaco
-\end_layout
-
-\begin_layout Standard
-You can instruct PETSc to download and install any or all of these libraries
- for you.
-\end_layout
-
-\begin_layout Standard
-If you have an MPI implementation installed on your workstation, you can
- use it, or let PETSc download and install one for you.
- If you are installing on a cluster, you should configure PETSc to use an
- existing MPI library installed by the system administrators.
-\end_layout
-
-\begin_layout Quote
-
-\series bold
-\color red
-Warning:
-\color inherit
- 
-\series default
-\color none
-When using an existing MPI library (instead of one downloaded and installed
- by PETSc), check to make sure that a shared version of the MPI library
- is available.
- PyLith will not work correctly with a static MPI library (e.g., 
-\family typewriter
-libmpi.a
-\family default
  or 
 \family typewriter
-libmpich.a
+curl
 \family default
-).
-\end_layout
-
-\begin_layout Standard
-If you have an architecture-optimized version of BLAS/LAPACK, you should
- use those instead of asking PETSc to download and build one for you.
- In some cases, PETSc will find known optimized implementations of BLAS/LAPACK
- (e.g., vecLib on Mac OS X).
-\end_layout
-
-\begin_layout Standard
-Be sure to include flags indicating where MPI and BLAS/LAPACK are if you
- want to use a preinstalled implementation.
- If not, be sure to tell PETSc to download those packages.
- If you do not want to build PETSc using the GNU compilers, be sure to let
- PETSc know which compilers you want to use instead.
-\end_layout
-
-\begin_layout Subsubsection
-PETSc Configuration Examples
-\end_layout
-
-\begin_layout Standard
-In our first example, we configure PETSc on a Linux workstation.
- BLAS and LAPACK are preinstalled under 
-\family typewriter
-/usr/lib
-\family default
-; PETSc finds these system libraries automatically.
- We happen to have MPICH already installed; 
-\family typewriter
-mpicc
-\family default
- and other related MPI commands are accessible via our 
-\family typewriter
-PATH
-\family default
-, so PETSc finds our MPICH installation automatically.
- However, we don't have Boost or Chaco installed, so we instruct PETSc to
- download these packages for us.
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-$ ls -1 /usr/lib/libblas.so /usr/lib/liblapack.so
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-/usr/lib/libblas.so
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-/usr/lib/liblapack.so
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-$ which mpicc
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-/opt/mpich/bin/mpicc
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-$
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-$ ./config/configure.py 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
- 
-\family typewriter
-   --with-sieve=1 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
- 
-\family typewriter
-   --with-clanguage=C++ 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
-    --with-shared=1 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
- 
-\family typewriter
-   --with-boost=1 --download-boost=1 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
- 
-\family typewriter
-   --with-chaco=1 --download-chaco=1
-\end_layout
-
-\begin_layout Standard
-In our next example, we configure PETSc on a Mac OS X machine.
- We have installed Apple's Xcode and the G95 FORTRAN compiler.
- However, we don't have anything else preinstalled, so we instruct PETSc
- to download almost everything else, including MPICH.
- Intentionally, we don't specify anything about BLAS/LAPACK: PETSc automatically
- finds vecLib, which is built-in to Mac OS X.
-\end_layout
-
-\begin_layout LyX-Code
-$ ./config/configure.py 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
-    --with-sieve=1 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
-    --with-clanguage=C++ 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
-    --with-fc=g95 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
-    --with-shared=1 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
-    --with-boost=1 --download-boost=1 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
-    --with-chaco=1 --download-chaco=1 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
-    --with-mpi=1 --download-mpich=1 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
-    --with-x=0
-\end_layout
-
-\begin_layout Standard
-In our final example, we configure PETSc on a 64-bit Linux cluster.
- We use an existing MPI implementation installed by the system administrators.
- BLAS/LAPACK is missing, so we instruct PETSc to download it, in addition
- to Boost and Chaco.
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-$ ./config/configure.py 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
- 
-\family typewriter
-   --with-sieve=1 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
- 
-\family typewriter
-   --with-clanguage=C++ 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
-    --with-shared=1 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
- 
-\family typewriter
-   --with-mpi-dir=/opt/mpich/myrinet_mx2g/intel 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
- 
-\family typewriter
-   --download-f-blas-lapack=1
-\family default
- 
-\family typewriter
-
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
- 
-\family typewriter
-   --with-boost=1 --download-boost=1 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
- 
-\family typewriter
-   --with-chaco=1 --download-chaco=1
-\end_layout
-
-\begin_layout Subsubsection
-Running 
-\family typewriter
-configure.py
-\end_layout
-
-\begin_layout Standard
-After several minutes, the configure script should finish and display the
- PETSc settings.
- Check to make sure these match your expectations before continuing.
-\end_layout
-
-\begin_layout Subsubsection
-Setting PETSC Environment Variables
-\end_layout
-
-\begin_layout Standard
-Before building PETSc, set the 
-\family typewriter
-PETSC_DIR
-\family default
- and 
-\family typewriter
-PETSC_ARCH
-\family default
- environment variables.
- Upon completion, the configure script displays instructions for setting
- these two variables:
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-**
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-** Before running "make" your PETSC_ARCH must be specified with:
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-** ** setenv PETSC_ARCH linux-gnu-cxx-debug (csh/tcsh)
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-** ** PETSC_ARCH=linux-gnu-cxx-debug; export PETSC_ARCH (sh/bash)
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-**
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-**
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-** Before running "make" your PETSC_DIR must be specified with:
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-** ** setenv PETSC_DIR /opt/petsc-dev (csh/tcsh)
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-** ** PETSC_DIR=/opt/petsc-dev; export PETSC_DIR (sh/bash)
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-**
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-**
-\end_layout
-
-\begin_layout Standard
-
-\family typewriter
-PETSC_ARCH
-\family default
- is a tag identifying this configuration of PETSc.
- 
-\family typewriter
-PETSC_DIR
-\family default
- is set to the full path of the top-level directory in the PETSc source
- tree (the 
-\family typewriter
-petsc-dev
-\family default
- directory).
- You will want to set these environment variables in your 
-\family typewriter
-.bashrc
-\family default
-, 
-\family typewriter
-.cshrc
-\family default
-, or similar file.
-\end_layout
-
-\begin_layout Subsubsection
-Building PETSc
-\end_layout
-
-\begin_layout Standard
-After setting 
-\family typewriter
-PETSC_DIR
-\family default
- and 
-\family typewriter
-PETSC_ARCH
-\family default
-, run 
-\family typewriter
-make
-\family default
- to build PETSc:
-\end_layout
-
-\begin_layout Quote
-
-\family typewriter
-$ make
-\end_layout
-
-\begin_layout Subsubsection
-Testing the PETSc Installation
-\end_layout
-
-\begin_layout Standard
-Optionally, you may test your PETSc installation:
-\end_layout
-
-\begin_layout Quote
-
-\family typewriter
-$ make test
-\end_layout
-
-\begin_layout Standard
-One of the tests will attempt to display some X windows.
- If X windows is not available from the shell in which you run 
-\family typewriter
-make test
-\family default
-, then that test will fail.
-\end_layout
-
-\begin_layout Subsection
-Installing nemesis
-\end_layout
-
-\begin_layout Standard
-As with many other packages, to install nemesis, first download the source
- package available at the PyLith web page 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-geodynamics.org/cig/software/packages/short/pylith
-\end_layout
-
-\end_inset
-
 .
- After unpacking the source, run the prepackaged shell script to configure
- nemesis for your system.
- Finally, use the 
-\family typewriter
-make
-\family default
- utility to build and install nemesis.
- 
-\end_layout
-
-\begin_layout Subsubsection
-Downloading and Unpacking the Nemesis Source
-\end_layout
-
-\begin_layout Standard
-Download Nemesis from the PyLith web page 
+ Detailed instructions for how to install PyLith using the installer are
+ included in the installer distribution, which is available from the PyLith
+ web page 
 \begin_inset Flex URL
 status collapsed
 
 \begin_layout Plain Layout
 
-geodynamics.org/cig/software/packages/short/pylith
+geodynamics.org/cig/software/packages/short/pylith/
 \end_layout
 
 \end_inset
 
- and unpack it using the 
-\family typewriter
-tar
-\family default
- command: 
-\end_layout
-
-\begin_layout LyX-Code
-$ tar xzf nemesis-1.0.1.tar.gz
-\end_layout
-
-\begin_layout Standard
-If you don't have GNU Tar, try the following command instead: 
-\end_layout
-
-\begin_layout LyX-Code
-$ gunzip -c nemesis-1.0.1.tar.gz | tar xf -
-\end_layout
-
-\begin_layout Subsubsection
-Nemesis Installation Procedure
-\end_layout
-
-\begin_layout Quote
-
-\series bold
-TIP:
-\series default
- If you run into problems configuring or building nemesis, send both the
- 
-\family typewriter
-config.log
-\family default
- and 
-\family typewriter
-make.log
-\family default
- files to the CIG Short-Term Crustal Dynamics Mailing List 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-cig-short at geodynamics.org
-\end_layout
-
-\end_inset
-
 .
- To create the 
-\family typewriter
-make.log
-\family default
- file, redirect the output of 
-\family typewriter
-make
-\family default
- to a file: 
-\family typewriter
-make 
-\begin_inset Formula $>$
-\end_inset
-
- make.log
-\family default
-.
- 
 \end_layout
 
-\begin_layout Standard
-After unpacking the source, use the following procedure to install Nemesis:
+\begin_layout Section
+Configuration on a Cluster
 \end_layout
 
-\begin_layout Enumerate
-Navigate (i.e., 
-\family typewriter
-cd
-\family default
-) to the directory containing the Nemesis source
-\family typewriter
-.
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ cd nemesis-1.0.1
-\end_layout
-
-\begin_layout Enumerate
-Run .
-\family typewriter
-/configure
-\family default
- to configure the package for your system
-\family typewriter
-.
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ ./configure --prefix=$HOME/cig
-\end_layout
-
-\begin_layout Enumerate
-Type 
-\family typewriter
-make
-\family default
- to build the package.
-\family typewriter
-
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ make
-\end_layout
-
-\begin_layout Enumerate
-Type 
-\family typewriter
-make install
-\family default
- to install the package.
-\family typewriter
-
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ make install
-\end_layout
-
 \begin_layout Standard
-The above commands will install Nemesis under 
-\family typewriter
-$HOME/cig
-\family default
-.
- Afterwards, you may wish to add 
-\family typewriter
-PREFIX/bin
-\family default
- (
-\family typewriter
-$HOME/cig/bin
-\family default
-, in this example) to your 
-\family typewriter
-PATH
-\family default
-.
-\end_layout
-
-\begin_layout Subsection
-Installing Proj.4
-\end_layout
-
-\begin_layout Standard
-As with many other packages, to install Proj.4, first download the source
- package available at the PROJ.4 web page 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-trac.osgeo.org/proj
-\end_layout
-
-\end_inset
-
-.
- You should download both the source code and the U.S., Canadian, and New
- Zealand datum shift grid.
- After unpacking the files, run the prepackaged shell script to configure
- Proj.4 for your system.
- Finally, use the 
-\family typewriter
-make
-\family default
- utility to build and install Proj.4.
- 
-\end_layout
-
-\begin_layout Subsubsection
-Downloading and Unpacking the Proj.4 Source
-\end_layout
-
-\begin_layout Standard
-Download Proj.4 from the Proj.4 website 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-trac.osgeo.org/proj
-\end_layout
-
-\end_inset
-
-.
- Download the source archive and unpack it using the 
-\family typewriter
-tar
-\family default
- command: 
-\end_layout
-
-\begin_layout LyX-Code
-$ tar xzf proj-4.7.0.tar.gz
-\end_layout
-
-\begin_layout Standard
-If you don't have GNU Tar, try the following command instead: 
-\end_layout
-
-\begin_layout LyX-Code
-$ gunzip -c proj-4.7.0.tar.gz | tar xf -
-\end_layout
-
-\begin_layout Standard
-Download the datum shift archive and unpack it in the 
-\family typewriter
-proj-4.7.0/nad
-\family default
- directory using the 
-\family typewriter
-unzip
-\family default
- command: 
-\end_layout
-
-\begin_layout LyX-Code
-$ cd proj-4.7.0/nad$ unzip proj-datumgrid-1.5.zip
-\end_layout
-
-\begin_layout Standard
-Note: The Ubuntu Proj.4 package does not include the datum shifts due to
- licensing issues.
- Consequently, if you are using Ubuntu, we recommend that you build from
- source with the datum shifts.
-\end_layout
-
-\begin_layout Subsubsection
-Proj.4 Installation Procedure
-\end_layout
-
-\begin_layout Standard
-After unpacking the source, use the following procedure to install Proj.4:
-\end_layout
-
-\begin_layout Enumerate
-Navigate (i.e., 
-\family typewriter
-cd
-\family default
-) to the directory containing the Proj.4 source
-\family typewriter
-.
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ cd proj-4.7.0
-\end_layout
-
-\begin_layout Enumerate
-Run .
-\family typewriter
-/configure
-\family default
- to configure the package for your system
-\family typewriter
-.
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ ./configure --prefix=$HOME/cig
-\end_layout
-
-\begin_layout Enumerate
-Type 
-\family typewriter
-make
-\family default
- to build the package.
-\family typewriter
-
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ make
-\end_layout
-
-\begin_layout Enumerate
-Type 
-\family typewriter
-make install
-\family default
- to install the package.
-\family typewriter
-
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ make install
-\end_layout
-
-\begin_layout Standard
-The above commands will install Proj.4 under 
-\family typewriter
-$HOME/cig
-\family default
-.
- Afterwards, you may wish to add 
-\family typewriter
-PREFIX/bin
-\family default
- (
-\family typewriter
-$HOME/cig/bin
-\family default
-, in this example) to your 
-\family typewriter
-PATH
-\family default
-.
-\end_layout
-
-\begin_layout Subsection
-Installing Numpy
-\end_layout
-
-\begin_layout Standard
-Numpy is written exclusively in Python, although it has some Python extension
- modules.
- As a result, its installation is relatively simple.
- First, download the source package available at the SciPy.org web page 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-www.scipy.org/Download
-\end_layout
-
-\end_inset
-
-.
- Download the Numpy source code and install the package.
-\end_layout
-
-\begin_layout Subsubsection
-Downloading and Unpacking the Numpy Source
-\end_layout
-
-\begin_layout Standard
-Download Numpy from the SciPy website 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-www.scipy.org
-\end_layout
-
-\end_inset
-
-.
- Download the source archive and unpack it using the 
-\family typewriter
-tar
-\family default
- command: 
-\end_layout
-
-\begin_layout LyX-Code
-$ tar xzf numpy-1.4.1.tar.gz
-\end_layout
-
-\begin_layout Standard
-If you don't have GNU Tar, try the following command instead: 
-\end_layout
-
-\begin_layout LyX-Code
-$ gunzip -c numpy-1.4.1.tar.gz | tar xf -
-\end_layout
-
-\begin_layout Subsubsection
-Numpy Installation Procedure
-\end_layout
-
-\begin_layout Standard
-After unpacking the source, use the following procedure to install Numpy:
-\end_layout
-
-\begin_layout Enumerate
-Navigate (i.e., 
-\family typewriter
-cd
-\family default
-) to the directory containing the Numpy source
-\family typewriter
-.
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ cd numpy-1.4.1
-\end_layout
-
-\begin_layout Enumerate
-Run 
-\family typewriter
-python setup.py install
-\family default
- to configure the package for your system
-\family typewriter
-.
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ python setup.py install --prefix=$HOME/cig
-\end_layout
-
-\begin_layout Standard
-The above commands will install Numpy under 
-\family typewriter
-$HOME/cig
-\family default
-.
- Afterwards, you may wish to add 
-\family typewriter
-PREFIX/bin
-\family default
- (
-\family typewriter
-$HOME/cig/bin
-\family default
-, in this example) to your 
-\family typewriter
-PATH
-\family default
-.
- You can customize the BLAS and LAPACK libraries used in building numpy
- by editing the site.cfg file.
-\end_layout
-
-\begin_layout Subsection
-Installing FIAT
-\end_layout
-
-\begin_layout Standard
-FIAT is written exclusively in Python.
- As a result, its installation is very simple.
- First, download the source package available at the FENICS web page 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-www.fenics.org/wiki/Download
-\end_layout
-
-\end_inset
-
-.
- Download the FIAT source code and install the package.
-\end_layout
-
-\begin_layout Subsubsection
-Downloading and Unpacking the FIAT Source
-\end_layout
-
-\begin_layout Standard
-Download FIAT from the FENICS website 
-\begin_inset Flex URL
-status open
-
-\begin_layout Plain Layout
-
-www.fenics.org
-\end_layout
-
-\end_inset
-
-.
- Versions newer than v0.3.5 have are not compatible with PyLith.
- Download the source archive and unpack it using the 
-\family typewriter
-tar
-\family default
- command: 
-\end_layout
-
-\begin_layout LyX-Code
-$ tar xzf FIAT-0.3.5.tar.gz
-\end_layout
-
-\begin_layout Standard
-If you don't have GNU Tar, try the following command instead: 
-\end_layout
-
-\begin_layout LyX-Code
-$ gunzip -c FIAT-0.3.5.tar.gz | tar xf -
-\end_layout
-
-\begin_layout Subsubsection
-FIAT Installation Procedure
-\end_layout
-
-\begin_layout Standard
-After unpacking the source, use the following procedure to install FIAT:
-\end_layout
-
-\begin_layout Enumerate
-Navigate (i.e., 
-\family typewriter
-cd
-\family default
-) to the directory containing the FIAT source
-\family typewriter
-.
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ cd FIAT-0.3.5
-\end_layout
-
-\begin_layout Enumerate
-Run 
-\family typewriter
-python setup.py install
-\family default
- to configure the package for your system
-\family typewriter
-.
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ python setup.py install --prefix=$HOME/cig
-\end_layout
-
-\begin_layout Standard
-The above commands will install FIAT under 
-\family typewriter
-$HOME/cig
-\family default
-.
- Afterwards, you may wish to add 
-\family typewriter
-PREFIX/bin
-\family default
- (
-\family typewriter
-$HOME/cig/bin
-\family default
-, in this example) to your 
-\family typewriter
-PATH
-\family default
-.
-\end_layout
-
-\begin_layout Subsection
-Installing Spatialdata
-\end_layout
-
-\begin_layout Standard
-As with many other packages, to install Spatialdata, first download the
- source package available at the PyLith web page 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-geodynamics.org/cig/software/packages/short/pylith
-\end_layout
-
-\end_inset
-
-.
- After unpacking the source, run the prepackaged shell script to configure
- Spatialdata for your system.
- Finally, use the 
-\family typewriter
-make
-\family default
- utility to build and install Spatialdata.
-\end_layout
-
-\begin_layout Subsubsection
-Downloading and Unpacking the Spatialdata Source
-\end_layout
-
-\begin_layout Standard
-Download Spatialdata from the PyLith web page 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-geodynamics.org/cig/software/packages/short/pylith
-\end_layout
-
-\end_inset
-
- and unpack it using the 
-\family typewriter
-tar
-\family default
- command: 
-\end_layout
-
-\begin_layout LyX-Code
-$ tar xzf spatialdata-0.6.0.tgz
-\end_layout
-
-\begin_layout Standard
-If you don't have GNU Tar, try the following command instead: 
-\end_layout
-
-\begin_layout LyX-Code
-$ gunzip -c spatialdata-0.6.0.tgz | tar xf -
-\end_layout
-
-\begin_layout Subsubsection
-Spatialdata Installation Procedure
-\end_layout
-
-\begin_layout Quote
-
-\series bold
-TIP:
-\series default
- If you run into problems configuring or building spatialdata, send both
- the 
-\family typewriter
-config.log
-\family default
- and 
-\family typewriter
-make.log
-\family default
- files to the CIG Short-Term Crustal Dynamics Mailing List 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-cig-short at geodynamics.org
-\end_layout
-
-\end_inset
-
-.
- To create the 
-\family typewriter
-make.log
-\family default
- file, redirect the output of 
-\family typewriter
-make
-\family default
- to a file: 
-\family typewriter
-make 
-\begin_inset Formula $>$
-\end_inset
-
- make.log
-\family default
-.
- 
-\end_layout
-
-\begin_layout Standard
-After unpacking the source, use the following procedure to install Spatialdata:
-\end_layout
-
-\begin_layout Enumerate
-Navigate (i.e., 
-\family typewriter
-cd
-\family default
-) to the directory containing the Spatialdata source
-\family typewriter
-.
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ cd spatialdata
-\end_layout
-
-\begin_layout Enumerate
-Run .
-\family typewriter
-/configure
-\family default
- to configure the package for your system
-\family typewriter
-.
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ ./configure --prefix=$HOME/cig
-\end_layout
-
-\begin_layout Enumerate
-Type 
-\family typewriter
-make
-\family default
- to build the package.
-\family typewriter
-
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ make
-\end_layout
-
-\begin_layout Enumerate
-Type 
-\family typewriter
-make install
-\family default
- to install the package.
-\family typewriter
-
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ make install
-\end_layout
-
-\begin_layout Standard
-The above commands will install Spatialdata under 
-\family typewriter
-$HOME/cig
-\family default
-.
- Afterwards, you may wish to add 
-\family typewriter
-PREFIX/bin
-\family default
- (
-\family typewriter
-$HOME/cig/bin
-\family default
-, in this example) to your 
-\family typewriter
-PATH
-\family default
-.
-\end_layout
-
-\begin_layout Subsection
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:Installing-PyLith"
-
-\end_inset
-
-Installing PyLith
-\end_layout
-
-\begin_layout Standard
-To install PyLith, download the source package available at the PyLith web
- page 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-geodynamics.org/cig/software/packages/short/pylith
-\end_layout
-
-\end_inset
-
-.
- After unpacking the source, run the prepackaged shell script to configure
- PyLith for your system.
- Finally, use the 
-\family typewriter
-make
-\family default
- utility to build and install PyLith from source.
- 
-\end_layout
-
-\begin_layout Subsubsection
-Downloading and Unpacking the PyLith Source
-\end_layout
-
-\begin_layout Standard
-Download PyLith from the PyLith web page 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-geodynamics.org/cig/software/packages/short/pylith
-\end_layout
-
-\end_inset
-
- and unpack it using the 
-\family typewriter
-tar
-\family default
- command: 
-\end_layout
-
-\begin_layout LyX-Code
-$ tar xzf pylith-1.5.0.tgz
-\end_layout
-
-\begin_layout Standard
-If you don't have GNU Tar, try the following command instead: 
-\end_layout
-
-\begin_layout LyX-Code
-$ gunzip -c pylith-1.5.0.tgz | tar xf -
-\end_layout
-
-\begin_layout Subsubsection
-PyLith Installation Procedure
-\end_layout
-
-\begin_layout Quote
-
-\series bold
-TIP:
-\series default
- If you run into problems configuring or building PyLith, send both the
- 
-\family typewriter
-config.log
-\family default
- and 
-\family typewriter
-make.log
-\family default
- files to the CIG Short-Term Crustal Dynamics Mailing List 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-cig-short at geodynamics.org
-\end_layout
-
-\end_inset
-
-.
- To create the 
-\family typewriter
-make.log
-\family default
- file, redirect the output of 
-\family typewriter
-make
-\family default
- to a file: 
-\family typewriter
-make 
-\begin_inset Formula $>$
-\end_inset
-
- make.log
-\family default
-.
- 
-\end_layout
-
-\begin_layout Standard
-After unpacking the source, use the following procedure to install PyLith:
-\end_layout
-
-\begin_layout Enumerate
-Navigate (i.e., 
-\family typewriter
-cd
-\family default
-) to the directory containing the PyLith source
-\family typewriter
-.
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ cd pylith-1.5.0
-\end_layout
-
-\begin_layout Enumerate
-Run .
-\family typewriter
-/configure
-\family default
- to configure the package for your system
-\family typewriter
-.
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ ./configure --prefix=$HOME/cig
-\end_layout
-
-\begin_layout Enumerate
-Type 
-\family typewriter
-make
-\family default
- to build the package.
-\family typewriter
-
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ make
-\end_layout
-
-\begin_layout Enumerate
-Type 
-\family typewriter
-make install
-\family default
- to install the package.
-\family typewriter
-
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-$ make install
-\end_layout
-
-\begin_layout Standard
-The above commands will install PyLith under 
-\family typewriter
-$HOME/cig
-\family default
-.
- Afterwards, you may wish to add 
-\family typewriter
-PREFIX/bin
-\family default
- (
-\family typewriter
-$HOME/cig/bin
-\family default
-, in this example) to your 
-\family typewriter
-PATH
-\family default
-.
- The 
-\family typewriter
-make install
-\family default
- command creates a script called 
-\family typewriter
-pylith
-\family default
- under 
-\family typewriter
-PREFIX/bin
-\family default
-; this is the script you will use to run PyLith.
-\end_layout
-
-\begin_layout Standard
-For more details about 
-\family typewriter
-configure
-\family default
-, see Section 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:Configuration"
-
-\end_inset
-
- below.
-\end_layout
-
-\begin_layout Standard
-After running 
-\family typewriter
-make install
-\family default
-, you may (if desired) run 
-\family typewriter
-make clean
-\family default
- in the build directory to save disk space.
-\end_layout
-
-\begin_layout Subsubsection
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:Configuration"
-
-\end_inset
-
-PyLith Configuration
-\end_layout
-
-\begin_layout Standard
-The 
-\family typewriter
-configure
-\family default
- script checks for various system features.
- As it runs, it prints messages informing you of which features it is checking
- for.
- Upon successful completion, it generates a 
-\family typewriter
-Makefile
-\family default
- in each source directory of the package.
- It also generates a 
-\family typewriter
-portinfo
-\family default
- header file, which contains system-dependent definitions.
- 
-\end_layout
-
-\begin_layout Standard
-The 
-\family typewriter
-configure
-\family default
- script will attempt to guess the correct values of various installation
- parameters.
- In the event that the default values used by 
-\family typewriter
-configure
-\family default
- are incorrect for your system, or 
-\family typewriter
-configure
-\family default
- is unable to guess the value of a certain parameter, you may have to specify
- the correct value by hand.
-\end_layout
-
-\begin_layout Quote
-
-\series bold
-Important:
-\series default
- If the 
-\family typewriter
-configure
-\family default
- script fails, and you don't know what went wrong, examine the log file
- 
-\family typewriter
-config.log
-\family default
-.
- This file contains a detailed transcript of all the checks 
-\family typewriter
-configure
-\family default
- performed.
- Most importantly, it includes the error output (if any) from your compiler.
- When seeking help for 
-\family typewriter
-configure
-\family default
- failures on the CIG Short-Term Crustal Dynamics Mailing List 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-cig-short at geodynamics.org
-\end_layout
-
-\end_inset
-
-, please send 
-\family typewriter
-config.log
-\family default
- as an attachment.
-\end_layout
-
-\begin_layout Standard
-The 
-\family typewriter
-configure
-\family default
- script will automatically check for needed Python dependencies, including
- the Pythia package (which includes the Pyre framework).
- If necessary, 
-\family typewriter
-configure
-\family default
- will download missing Python packages from the Internet.
-\end_layout
-
-\begin_layout Standard
-PyLith requires Pythia v0.8.1.6 or later, which 
-\family typewriter
-configure
-\family default
- downloads directly from CIG.
- (Pythia v0.8.1.x is distinct from Pythia v0.8, which you may have installed
- previously.) Pythia v0.8.1.x is pure Python, and resides in a file or directory
- with the extension 
-\family typewriter
-.egg
-\family default
- (e.g., 
-\family typewriter
-pythia-0.8.1.6.egg
-\family default
-).
- The 
-\family typewriter
-configure
-\family default
- script may download other 
-\family typewriter
-.egg
-\family default
- packages, in addition to Pythia.
- These are Python packages which are required (either directly or indirectly)
- by PyLith.
-\end_layout
-
-\begin_layout Subsubsection
-Configure Usage
-\end_layout
-
-\begin_layout Standard
-For a detailed list of 
-\family typewriter
-configure
-\family default
- variables and options, give 
-\family typewriter
-configure
-\family default
- the 
-\family typewriter
---help
-\family default
- option:
-\end_layout
-
-\begin_layout LyX-Code
-$ ./configure --help
-\end_layout
-
-\begin_layout Standard
-The following is a summary of the variables and options that are important
- when installing PyLith.
- 
-\end_layout
-
-\begin_layout Subsubsection
-Environment Variables
-\end_layout
-
-\begin_layout Standard
-Environment variables may be specified as arguments to 
-\family typewriter
-configure
-\family default
-, e.g.,
-\end_layout
-
-\begin_layout LyX-Code
-$ ./configure PYTHON=/usr/bin/python2.4
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Float table
-placement H
-wide false
-sideways false
-status open
-
-\begin_layout Plain Layout
-\noindent
-\align center
-\begin_inset Tabular
-<lyxtabular version="3" rows="5" columns="2">
-<features>
-<column alignment="center" valignment="top" width="1in">
-<column alignment="left" valignment="top" width="3.5in">
-<row>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\series bold
-Variable
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\series bold
-Description
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-CXX
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-C++ compiler
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-PYTHON
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-Python interpreter.
- This is useful if you have Python installed in a non-standard location,
- e.g.,
-\end_layout
-
-\begin_layout Plain Layout
-
-\family typewriter
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-./configure 
-\backslash
-
-\end_layout
-
-\begin_layout Plain Layout
-
-\family typewriter
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-PYTHON=/opt/python2.3/bin/python
-\family default
- 
-\end_layout
-
-\begin_layout Plain Layout
-By default, 
-\family typewriter
-configure
-\family default
- will search for a suitable Python interpreter using your 
-\family typewriter
-PATH
-\family default
- environment variable.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-PETSC_DIR
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-PETSc installation/build directory.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-PETSC_ARCH
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-(optional) PETSc configuration tag.
- If not specified, 
-\family typewriter
-configure
-\family default
- will pick a default configuration.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Quote
-
-\series bold
-\color red
-Warning:
-\series default
-\color none
- Any two C++ compilers are incompatible with one another.
- Even different versions of the same C++ compiler can be incompatible.
- Therefore, PyLith must be built using the same C++ compiler used to configure
- and build PyLith's dependencies.
-\end_layout
-
-\begin_layout Subsection
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:Pyre-Configuration"
-
-\end_inset
-
-Pyre Configuration
-\end_layout
-
-\begin_layout Standard
-Pyre is automatically downloaded by PyLith's configure script as a part
- of the Pythia package.
- Pythia is pure Python, so it requires no special configuration to build
- or install.
-\end_layout
-
-\begin_layout Standard
-However, Pyre manages the launching of parallel runs of PyLith under MPI,
- and the scheduling of PyLith jobs when used with a batch system.
- Therefore, before running PyLith, you must create a small configuration
- file which instructs Pyre how to launch and schedule PyLith runs on your
- system.
-\end_layout
-
-\begin_layout Subsubsection
-Pyre Configuration on a Laptop of Desktop Computer
-\end_layout
-
-\begin_layout Standard
-On a workstation or laptop, there is no job scheduler or communication network
- between compute nodes.
- In this scenario, Pyre is trivial to configure.
- Simply create the file 
-\family typewriter
-~/.pyre/pylithapp/pylithapp.cfg
-\family default
- with the following contents:
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-[pylithapp.launcher]
-\end_layout
-
-\begin_layout LyX-Code
-command = mpiexec -np ${nodes}
-\end_layout
-
-\begin_layout Standard
-The only trick is to specify the right command for your MPI implementation.
- Specify the 
-\family typewriter
-mpiexec
-\family default
- command if you are using MPICH2 (which will be the case if you instructed
- PETSc to download MPICH for you).
-\end_layout
-
-\begin_layout Standard
-If you are using MPICH1, enter the following instead:
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-[pylithapp.launcher]
-\end_layout
-
-\begin_layout LyX-Code
-command = mpirun -np ${nodes}
-\end_layout
-
-\begin_layout Standard
-See the documentation for your MPI implementation if you are unsure of the
- command to specify.
-\end_layout
-
-\begin_layout Subsubsection
-Pyre Configuration on a Cluster
-\end_layout
-
-\begin_layout Standard
 If you are installing PyLith on a cluster with a batch system, you can configure
  Pyre such that the 
 \family typewriter
@@ -3153,7 +481,7 @@
 ), for the benefit of all users and all Pyre-based applications.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 \begin_inset CommandInset label
 LatexCommand label
 name "sub:Launchers-and-Schedulers"
@@ -3325,7 +653,7 @@
  command, and the job will immediately terminate.)
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Running without a Batch System
 \end_layout
 
@@ -3436,7 +764,7 @@
  It will contain a list of the nodes where PyLith has run.
 \end_layout
 
-\begin_layout Subsubsection
+\begin_layout Subsection
 Using a Batch System
 \end_layout
 
@@ -3539,424 +867,5 @@
 .
 \end_layout
 
-\begin_layout Section
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:Software-Repository"
-
-\end_inset
-
-Installing from the Software Repository
-\end_layout
-
-\begin_layout Standard
-The PyLith source code is available via the CIG Subversion Repository 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-geodynamics.org/cig/software/Repository/
-\end_layout
-
-\end_inset
-
-.
- The PETSc source code is available via a Mercurial repository.
- This allows users to view the revision history of the code and check out
- the most recent development version of the software.
-\end_layout
-
-\begin_layout Quote
-
-\series bold
-\color red
-Warning:
-\series default
-\color none
- Building PyLith using the source repositories is recommended only for expert
- users who are willing to work with a moving target and rebuild on a frequent
- basis.
-  The installation instructions cover the basic steps and assume the user
- has experience building and installing software.
-\end_layout
-
-\begin_layout Subsection
-\begin_inset CommandInset label
-LatexCommand label
-name "sub:Additional-Tools"
-
-\end_inset
-
-Additional Tools You Will Need
-\end_layout
-
-\begin_layout Standard
-In addition to the usual system requirements, you will need a handful of
- additional development tools installed in order to work with the source
- from the software repositories.
-\end_layout
-
-\begin_layout Itemize
-Subversion
-\end_layout
-
-\begin_layout Itemize
-Mercurial (0.9 or later)
-\end_layout
-
-\begin_layout Itemize
-GNU Autotools (Autoconf, Automake, and Libtool)
-\end_layout
-
-\begin_layout Itemize
-SWIG (1.3.33 or later)
-\end_layout
-
-\begin_layout Subsubsection
-Subversion
-\end_layout
-
-\begin_layout Standard
-To check out the PyLith source, you must have a Subversion client installed.
- To check, type 
-\family typewriter
-svn
-\family default
-; it should return a usage message.
-\end_layout
-
-\begin_layout LyX-Code
-$ svn
-\end_layout
-
-\begin_layout LyX-Code
-Type 'svn help' for usage.
-\end_layout
-
-\begin_layout Standard
-Many flavors of Unix have Subversion packages.
- You do not need anything but the basic Subversion client package.
-\end_layout
-
-\begin_layout Standard
-For more information on Subversion, visit the Subversion website 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-subversion.tigris.org
-\end_layout
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Subsubsection
-Mercurial
-\end_layout
-
-\begin_layout Standard
-To check out the PETSc source, you must have Mercurial 0.9 or later installed.
- You will likely have to build Mercurial from source, but this is a very
- easy task that takes only a couple of minutes.
- To learn how to download and install Mercurial, visit the Mercurial web
- site 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-www.selenic.com/mercurial
-\end_layout
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Subsubsection
-Autotools
-\end_layout
-
-\begin_layout Standard
-To generate the build system for PyLith, you must have the GNU tools Autoconf,
- Automake, and Libtool installed.
- To check, enter the following commands:
-\end_layout
-
-\begin_layout LyX-Code
-$ autoconf --version
-\end_layout
-
-\begin_layout LyX-Code
-$ automake --version
-\end_layout
-
-\begin_layout LyX-Code
-$ libtoolize --version
-\end_layout
-
-\begin_layout Standard
-For more information about these GNU tools, see the GNU website 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-www.gnu.org/software
-\end_layout
-
-\end_inset
-
-.
- The PyLith source package was created with Autoconf 2.61, Automake 1.9.6,
- and Libtool 1.5.22.
-\end_layout
-
-\begin_layout Subsection
-Downloading the PETSc Source using Mercurial
-\end_layout
-
-\begin_layout Standard
-Pull the source code from Argonne National Laboratory (ANL) and place the
- source tree in a suitable location.
- The steps below will create a 
-\family typewriter
-petsc-dev
-\family default
- sub-directory in the current directory.
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-$ hg clone http://petsc.cs.iit.edu/petsc/petsc-dev
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-$ cd petsc-dev/config
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-$ hg clone http://petsc.cs.iit.edu/petsc/BuildSystem BuildSystem
-\end_layout
-
-\begin_layout Standard
-In the future, you will likely want to update the PETSc source tree to include
- bug fixes, new features, etc.
- To update PETSc, perform the following commands:
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-$ cd petsc-dev
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-$ hg pull
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-$ hg update
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-$ cd config
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-$ hg pull
-\end_layout
-
-\begin_layout LyX-Code
-$ hg update
-\end_layout
-
-\begin_layout Subsection
-Downloading the PyLith Source using Subversion
-\end_layout
-
-\begin_layout Standard
-To check out the latest version of PyLith, use the 
-\family typewriter
-svn checkout
-\family default
- command:
-\end_layout
-
-\begin_layout LyX-Code
-$ svn checkout 
-\family typewriter
-http://geodynamics.org/svn/cig/short/3D/PyLith/trunk pylith
-\end_layout
-
-\begin_layout Standard
-This will create the local directory 
-\family typewriter
-pylith
-\family default
- (if it doesn't already exist) and fill it with the latest PyLith source
- from the CIG software repository.
-\end_layout
-
-\begin_layout Standard
-The 
-\family typewriter
-pylith
-\family default
- directory thus created is called a 
-\emph on
-working copy
-\emph default
-.
- To merge the latest changes into an existing working copy, use the 
-\family typewriter
-svn update
-\family default
- command:
-\end_layout
-
-\begin_layout LyX-Code
-$ cd pylith
-\end_layout
-
-\begin_layout LyX-Code
-$ svn update
-\end_layout
-
-\begin_layout Standard
-This will preserve any local changes you have made to your working copy.
-\end_layout
-
-\begin_layout Subsection
-Generating the GNU Build System
-\end_layout
-
-\begin_layout Standard
-Your working directory should now contain a fresh checkout of PyLith and
- PETSc:
-\end_layout
-
-\begin_layout LyX-Code
-$ ls
-\end_layout
-
-\begin_layout LyX-Code
-petsc-dev
-\end_layout
-
-\begin_layout LyX-Code
-pylith
-\end_layout
-
-\begin_layout LyX-Code
-$
-\end_layout
-
-\begin_layout Standard
-You are now ready to install PETSc as described in Section 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:Installing-PETSc"
-
-\end_inset
-
- earlier in this chapter.
-\end_layout
-
-\begin_layout Standard
-However, before you can run 
-\family typewriter
-configure
-\family default
- or 
-\family typewriter
-make
-\family default
- in the 
-\family typewriter
-pylith
-\family default
- directory, you must generate the necessary files using the GNU tools.
- The easiest way to do this is to run 
-\family typewriter
-autoreconf -if
-\family default
-:
-\end_layout
-
-\begin_layout LyX-Code
-$ cd pylith
-\end_layout
-
-\begin_layout LyX-Code
-$ autoreconf -if
-\end_layout
-
-\begin_layout LyX-Code
-$ ./configure
-\end_layout
-
-\begin_layout LyX-Code
-$ make
-\end_layout
-
-\begin_layout Standard
-The 
-\family typewriter
-autoreconf
-\family default
- tool runs Autoconf to generate the 
-\family typewriter
-configure
-\family default
- script from 
-\family typewriter
-configure.ac
-\family default
-.
- It also runs Automake to generate 
-\family typewriter
-Makefile.in
-\family default
- from 
-\family typewriter
-Makefile.am
-\family default
- in each source directory.
- After running 
-\family typewriter
-autoreconf
-\family default
-, install PyLith as described in Section 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:Installing-PyLith"
-
-\end_inset
-
- earlier in this chapter.
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
 \end_body
 \end_document

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/intro/figs/workflow.eps
===================================================================
(Binary files differ)

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/intro/figs/workflow.svg
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/intro/figs/workflow.svg	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/intro/figs/workflow.svg	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!-- Created with Inkscape (http://www.inkscape.org/) -->
+
 <svg
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:cc="http://creativecommons.org/ns#"
@@ -13,7 +14,7 @@
    height="765"
    id="svg2"
    sodipodi:version="0.32"
-   inkscape:version="0.46"
+   inkscape:version="0.48.1 r9760"
    version="1.0"
    sodipodi:docname="workflow.svg"
    inkscape:output_extension="org.inkscape.output.svg.inkscape"
@@ -96,7 +97,7 @@
      inkscape:cx="229.13"
      inkscape:cy="460.72106"
      inkscape:document-units="px"
-     inkscape:current-layer="layer1"
+     inkscape:current-layer="layer5"
      showgrid="true"
      inkscape:object-nodes="true"
      inkscape:object-paths="true"
@@ -106,7 +107,8 @@
      inkscape:window-width="1207"
      inkscape:window-height="853"
      inkscape:window-x="65"
-     inkscape:window-y="65">
+     inkscape:window-y="65"
+     inkscape:window-maximized="0">
     <inkscape:grid
        type="xygrid"
        id="grid2383"
@@ -140,7 +142,7 @@
          id="path7400"
          sodipodi:nodetypes="cc" />
       <path
-         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker-end:none;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1;display:inline"
+         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
          d="M 350,125 L 410,305"
          id="path7410"
          sodipodi:nodetypes="cc" />

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/intro/intro.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/intro/intro.lyx	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/intro/intro.lyx	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,5 +1,5 @@
-#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
 \begin_document
 \begin_header
 \textclass book
@@ -7,18 +7,26 @@
 
 \end_preamble
 \use_default_options false
+\maintain_unincluded_children false
 \language english
+\language_package default
 \inputencoding latin1
+\fontencoding global
 \font_roman default
 \font_sans default
 \font_typewriter default
 \font_default_family default
+\use_non_tex_fonts false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
 
 \graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
 \paperfontsize default
 \spacing single
 \use_hyperref false
@@ -26,9 +34,18 @@
 \use_geometry true
 \use_amsmath 1
 \use_esint 0
+\use_mhchem 1
+\use_mathdots 1
 \cite_engine basic
 \use_bibtopic false
+\use_indices false
 \paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
 \leftmargin 1in
 \topmargin 1in
 \rightmargin 1in
@@ -36,15 +53,16 @@
 \secnumdepth 3
 \tocdepth 3
 \paragraph_separation indent
-\defskip medskip
+\paragraph_indentation default
 \quotes_language english
 \papercolumns 1
 \papersides 2
 \paperpagestyle default
 \tracking_changes false
 \output_changes false
-\author "" 
-\author "" 
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
 \end_header
 
 \begin_body
@@ -71,7 +89,7 @@
 \begin_layout Standard
 PyLith 1.0 was the first version to allow the solution of both implicit (quasi-st
 atic) and explicit (dynamic) problems and was a complete rewrite of the
- original PyLith.
+ original PyLith (version 0.8).
  PyLith 1.0 combines the functionality of EqSim 
 \begin_inset CommandInset citation
 LatexCommand cite
@@ -108,11 +126,8 @@
  meshing packages.
  The elements currently available include a linear bar in 1-D, linear triangles
  and quadrilaterals in 2-D, and linear tetrahedra and hexahedra in 3-D.
- Higher-order (quadratic) elements are also supported, but it is not presently
- possible to create a quadratic mesh from the linear meshes provided by
- most meshing packages.
  Materials presently available include isotropic elastic, linear Maxwell
- viscoelastic (2-D and 3-D), generalized Maxwell viscoelastic (3-D only),
+ viscoelastic (2-D and 3-D), generalized Maxwell viscoelastic (2-D and 3-D),
  power-law viscoelastic (3-D only), and Drucker-Prager elastoplastic (3-D
  only).
  Boundary conditions include Dirichlet (prescribed displacements and velocities)
@@ -150,9 +165,8 @@
  LaGriT GMV and Pset files, and PyLith mesh ASCII format.
  The modeling of the physical processes of interest is performed by a code
  such as PyLith.
- Present output consists of VTK files which can be used by a number of visualiza
-tion codes (e.g., ParaView, Visit, and MayaVi).
- In the near future, PyLith will also use the HDF5 format.
+ Present output consists of VTK or HDF5/Xdmf files which can be used by
+ a number of visualization codes (e.g., ParaView, Visit, MayaVi, and Matlab).
  
 \end_layout
 
@@ -368,7 +382,7 @@
 \align center
 \begin_inset Graphics
 	filename figs/pyre_overview.png
-	scale 75
+	width 4in
 
 \end_inset
 

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/license.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/license.lyx	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/license.lyx	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,5 +1,5 @@
-#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
 \begin_document
 \begin_header
 \textclass book
@@ -7,18 +7,26 @@
 
 \end_preamble
 \use_default_options false
+\maintain_unincluded_children false
 \language english
+\language_package default
 \inputencoding latin1
+\fontencoding global
 \font_roman default
 \font_sans default
 \font_typewriter default
 \font_default_family default
+\use_non_tex_fonts false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
 
 \graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
 \paperfontsize default
 \spacing single
 \use_hyperref false
@@ -26,9 +34,18 @@
 \use_geometry true
 \use_amsmath 1
 \use_esint 0
+\use_mhchem 1
+\use_mathdots 1
 \cite_engine basic
 \use_bibtopic false
+\use_indices false
 \paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
 \leftmargin 1in
 \topmargin 1in
 \rightmargin 1in
@@ -36,15 +53,16 @@
 \secnumdepth 3
 \tocdepth 3
 \paragraph_separation indent
-\defskip medskip
+\paragraph_indentation default
 \quotes_language english
 \papercolumns 1
 \papersides 2
 \paperpagestyle default
 \tracking_changes false
 \output_changes false
-\author "" 
-\author "" 
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
 \end_header
 
 \begin_body
@@ -54,7 +72,7 @@
 \end_layout
 
 \begin_layout Standard
-Copyright (C) 2010 University of California, Davis
+Copyright (C) 2010-2011 University of California, Davis
 \end_layout
 
 \begin_layout Standard

Copied: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/makepdf.sh (from rev 18637, short/3D/PyLith/trunk/doc/userguide/makepdf.sh)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/makepdf.sh	                        (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/makepdf.sh	2011-06-15 22:30:12 UTC (rev 18638)
@@ -0,0 +1,22 @@
+#!/bin/bash
+#
+# ----------------------------------------------------------------------
+#
+# 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.
+#
+# ----------------------------------------------------------------------
+#
+
+for i in `find . -name "*.eps"`; do epstopdf $i; done
+lyx -e pdf userguide.lyx
+
+# End of file
\ No newline at end of file

Copied: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/materials/altformulations.lyx (from rev 18637, short/3D/PyLith/trunk/doc/userguide/materials/altformulations.lyx)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/materials/altformulations.lyx	                        (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/materials/altformulations.lyx	2011-06-15 22:30:12 UTC (rev 18638)
@@ -0,0 +1,320 @@
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
+\begin_document
+\begin_header
+\textclass book
+\begin_preamble
+
+\end_preamble
+\use_default_options false
+\maintain_unincluded_children false
+\language english
+\language_package default
+\inputencoding latin1
+\fontencoding global
+\font_roman default
+\font_sans default
+\font_typewriter default
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_osf false
+\font_sf_scale 100
+\font_tt_scale 100
+
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\paperfontsize default
+\spacing single
+\use_hyperref false
+\papersize default
+\use_geometry true
+\use_amsmath 1
+\use_esint 0
+\use_mhchem 0
+\use_mathdots 1
+\cite_engine basic
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\leftmargin 1in
+\topmargin 1in
+\rightmargin 1in
+\bottommargin 2in
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\quotes_language english
+\papercolumns 1
+\papersides 2
+\paperpagestyle default
+\tracking_changes false
+\output_changes false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\end_header
+
+\begin_body
+
+\begin_layout Chapter
+\begin_inset CommandInset label
+LatexCommand label
+name "cha:Alternative-Formulations"
+
+\end_inset
+
+Alternative Material Model Formulations
+\end_layout
+
+\begin_layout Section
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:ViscoelasticFormulations"
+
+\end_inset
+
+Viscoelastic Formulations
+\end_layout
+
+\begin_layout Standard
+The viscoelastic formulations presently used in PyLith are described in
+ 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:Viscoelastic-Materials"
+
+\end_inset
+
+.
+ In some cases there are alternative formulations that may be used in future
+ versions of PyLith, and those are described here.
+\end_layout
+
+\begin_layout Subsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Effective-Stress-Formulation-Maxwell"
+
+\end_inset
+
+Effective Stress Formulation for a Linear Maxwell Viscoelastic Material
+\end_layout
+
+\begin_layout Standard
+An alternative technique for solving the equations for a Maxwell viscoelastic
+ material is based on the effective stress formulation described in 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:Effective-Stress-Formulations-Viscoelastic"
+
+\end_inset
+
+.
+ A linear Maxwell viscoelastic material may be characterized by the same
+ elastic parameters as an isotropic elastic material (
+\begin_inset Formula $E$
+\end_inset
+
+ and 
+\begin_inset Formula $\nu$
+\end_inset
+
+), as well as the viscosity, 
+\begin_inset Formula $\eta$
+\end_inset
+
+.
+ The creep strain increment is
+\begin_inset Formula 
+\begin{gather}
+\underline{\Delta e}^{C}=\frac{\Delta t\phantom{}^{\tau}\underline{S}}{2\eta}\,\,.\label{eq:D1}
+\end{gather}
+
+\end_inset
+
+Therefore,
+\begin_inset Formula 
+\begin{gather}
+\Delta\overline{e}^{C}=\frac{\Delta t\sqrt{^{\tau}J_{2}^{\prime}}}{\sqrt{3\eta}}=\frac{\Delta t\phantom{}^{\tau}\overline{\sigma}}{3\eta}\,,\,\mathrm{and}\,^{\tau}\gamma=\frac{1}{2\eta}\,\,.\label{eq:D2}
+\end{gather}
+
+\end_inset
+
+Substituting Equations 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "eq:46"
+
+\end_inset
+
+, 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "eq:D1"
+
+\end_inset
+
+, and 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "eq:D2"
+
+\end_inset
+
+ into 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "eq:43"
+
+\end_inset
+
+, we obtain
+\begin_inset Formula 
+\begin{gather}
+^{t+\Delta t}\underline{S}=\frac{1}{a_{E}}\left\{ ^{t+\Delta t}\underline{e}^{\prime}-\frac{\Delta t}{2\eta}\left[(1-\alpha)^{t}\underline{S}+\alpha\phantom{}^{t+\Delta t}\underline{S}\right]\right\} +\underline{S}^{I}\,\,.\label{eq:D3}
+\end{gather}
+
+\end_inset
+
+Solving for 
+\begin_inset Formula $^{t+\Delta t}\underline{S}$
+\end_inset
+
+,
+\begin_inset Formula 
+\begin{gather}
+^{t+\Delta t}\underline{S}=\frac{1}{a_{E}+\frac{\alpha\Delta t}{2\eta}}\left[^{t+\Delta t}\underline{e}^{\prime}-\frac{\Delta t}{2\eta}(1-\alpha)^{t}\underline{S}+\frac{1+\mathrm{\nu}}{E}\underline{S}^{I}\right]\,\,.\label{eq:D4}
+\end{gather}
+
+\end_inset
+
+In this case it is possible to solve directly for the deviatoric stresses,
+ and the effective stress function approach is not needed.
+ To obtain the total stress, we simply use
+\begin_inset Formula 
+\begin{gather}
+^{t+\Delta t}\sigma_{ij}=\phantom{}^{t+\Delta t}S_{ij}+\frac{\mathit{1}}{a_{m}}\left(\,^{t+\Delta t}\theta-\theta^{I}\right)\delta_{ij}+P^{I}\delta_{ij}\,\,.\label{eq:D5}
+\end{gather}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+To compute the viscoelastic tangent material matrix relating stress and
+ strain, we need to compute the first term in 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "eq:58"
+
+\end_inset
+
+.
+ From Equation 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "eq:D4"
+
+\end_inset
+
+, we have
+\begin_inset Formula 
+\begin{gather}
+\frac{\partial\phantom{}^{t+\Delta t}S_{i}}{\partial\phantom{}^{t+\Delta t}e_{k}^{\prime}}=\frac{\delta_{ik}}{a_{E}+\frac{\alpha\Delta t}{2\eta}}\,\,.\label{eq:D12}
+\end{gather}
+
+\end_inset
+
+Using this, along with 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "eq:58"
+
+\end_inset
+
+, 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "eq:59"
+
+\end_inset
+
+, and 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "eq:60"
+
+\end_inset
+
+, the final material matrix relating stress and tensor strain is
+\begin_inset Formula 
+\begin{gather}
+C_{ij}^{VE}=\frac{1}{3a_{m}}\left[\begin{array}{cccccc}
+1 & 1 & 1 & 0 & 0 & 0\\
+1 & 1 & 1 & 0 & 0 & 0\\
+1 & 1 & 1 & 0 & 0 & 0\\
+0 & 0 & 0 & 0 & 0 & 0\\
+0 & 0 & 0 & 0 & 0 & 0\\
+0 & 0 & 0 & 0 & 0 & 0
+\end{array}\right]+\frac{1}{3\left(a_{E}+\frac{\alpha\Delta t}{2\eta}\right)}\left[\begin{array}{cccccc}
+2 & -1 & -1 & 0 & 0 & 0\\
+-1 & 2 & -1 & 0 & 0 & 0\\
+-1 & -1 & 2 & 0 & 0 & 0\\
+0 & 0 & 0 & 3 & 0 & 0\\
+0 & 0 & 0 & 0 & 3 & 0\\
+0 & 0 & 0 & 0 & 0 & 3
+\end{array}\right]\,.\label{eq:D13}
+\end{gather}
+
+\end_inset
+
+Note that the coefficient of the second matrix approaches 
+\begin_inset Formula $E/3(1+\nu)=1/3a_{E}$
+\end_inset
+
+ as 
+\begin_inset Formula $\eta$
+\end_inset
+
+ goes to infinity.
+ To check the results we make sure that the regular elastic constitutive
+ matrix is obtained for selected terms in the case where 
+\begin_inset Formula $\eta$
+\end_inset
+
+ goes to infinity.
+\begin_inset Formula 
+\begin{gather}
+C_{11}^{E}=\frac{E(1-\nu)}{(1+\nu)(1-2\nu)}\,\,\nonumber \\
+C_{12}^{E}=\frac{E\nu}{(1+\nu)(1-2\nu)}\,.\label{eq:D14}\\
+C_{44}^{E}=\frac{E}{1+\nu}\,\,\nonumber 
+\end{gather}
+
+\end_inset
+
+This is consistent with the regular elasticity matrix, and Equation 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "eq:D13"
+
+\end_inset
+
+ should thus be used when forming the stiffness matrix.
+ We do not presently use this formulation, but it may be included in future
+ versions.
+\end_layout
+
+\end_body
+\end_document

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/materials/materials.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/materials/materials.lyx	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/materials/materials.lyx	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,5 +1,5 @@
-#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
 \begin_document
 \begin_header
 \textclass book
@@ -7,18 +7,26 @@
 \newcommand\Prefix[3]{\vphantom{#3}#1#2#3}
 \end_preamble
 \use_default_options false
+\maintain_unincluded_children false
 \language english
+\language_package default
 \inputencoding latin1
+\fontencoding global
 \font_roman default
 \font_sans default
 \font_typewriter default
 \font_default_family default
+\use_non_tex_fonts false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
 
 \graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
 \paperfontsize default
 \spacing single
 \use_hyperref false
@@ -26,9 +34,18 @@
 \use_geometry true
 \use_amsmath 1
 \use_esint 0
+\use_mhchem 1
+\use_mathdots 1
 \cite_engine basic
 \use_bibtopic false
+\use_indices false
 \paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
 \leftmargin 1in
 \topmargin 1in
 \rightmargin 1in
@@ -36,15 +53,16 @@
 \secnumdepth 3
 \tocdepth 3
 \paragraph_separation indent
-\defskip medskip
+\paragraph_indentation default
 \quotes_language english
 \papercolumns 1
 \papersides 2
 \paperpagestyle default
 \tracking_changes false
 \output_changes false
-\author "" 
-\author "" 
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
 \end_header
 
 \begin_body
@@ -519,11 +537,11 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="6" columns="4">
-<features>
+<features tabularvalignment="middle">
 <column alignment="center" valignment="top" width="1.5in">
 <column alignment="center" valignment="top" width="1.8in">
 <column alignment="center" valignment="top" width="1.5in">
-<column alignment="center" valignment="top" width="1.5in">
+<column alignment="center" valignment="top" width="1in">
 <row>
 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
 \begin_inset Text
@@ -857,7 +875,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="3" columns="4">
-<features>
+<features tabularvalignment="middle">
 <column alignment="center" valignment="top" width="1.25in">
 <column alignment="center" valignment="top" width="0.5in">
 <column alignment="center" valignment="top" width="1.25in">
@@ -1080,8 +1098,10 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{gather}
-\sigma_{ij}=C_{ijkl}\left(\epsilon_{kl}-\epsilon_{kl}^{I}\right)+\sigma_{ij}^{I}\,,\label{eq:1}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+\sigma_{ij}=C_{ijkl}\left(\epsilon_{kl}-\epsilon_{kl}^{I}\right)+\sigma_{ij}^{I}\,,\label{eq:1}
+\end{gather}
 
 \end_inset
 
@@ -1096,8 +1116,10 @@
  of anisotropic elasticity.
  Representing the stress and strain in terms of vectors, the constitutive
  relation may be written
-\begin_inset Formula \begin{gather}
-\overrightarrow{\sigma}=\underline{C}\left(\vec{\epsilon}-\vec{\epsilon}^{I}\right)+\vec{\sigma}^{I},\label{eq:2}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+\overrightarrow{\sigma}=\underline{C}\left(\vec{\epsilon}-\vec{\epsilon}^{I}\right)+\vec{\sigma}^{I},\label{eq:2}
+\end{gather}
 
 \end_inset
 
@@ -1105,14 +1127,17 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \underline{C}=\left[\begin{array}{cccccc}
 C_{1111} & C_{1122} & C_{1133} & C_{1112} & C_{1123} & C_{1113}\\
 C_{1122} & C_{2222} & C_{2233} & C_{2212} & C_{2223} & C_{2213}\\
 C_{1133} & C_{2233} & C_{3333} & C_{3312} & C_{3323} & C_{3313}\\
 C_{1112} & C_{2212} & C_{3312} & C_{1212} & C_{1223} & C_{1213}\\
 C_{1123} & C_{2223} & C_{3323} & C_{1223} & C_{2323} & C_{2313}\\
-C_{1113} & C_{2213} & C_{3313} & C_{1213} & C_{2313} & C_{1313}\end{array}\right]\:.\label{eq:3}\end{gather}
+C_{1113} & C_{2213} & C_{3313} & C_{1213} & C_{2313} & C_{1313}
+\end{array}\right]\:.\label{eq:3}
+\end{gather}
 
 \end_inset
 
@@ -1143,10 +1168,13 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{equation}
+\begin_inset Formula 
+\begin{equation}
 \begin{aligned}\mu= & \rho v_{s}^{2}\\
-\lambda= & \rho v_{p}^{2}-2\mu\end{aligned}
-\label{eq:4}\end{equation}
+\lambda= & \rho v_{p}^{2}-2\mu
+\end{aligned}
+\label{eq:4}
+\end{equation}
 
 \end_inset
 
@@ -1177,7 +1205,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="4" columns="2">
-<features>
+<features tabularvalignment="middle">
 <column alignment="center" valignment="middle" width="0.85in">
 <column alignment="center" valignment="middle" width="2.47in">
 <row>
@@ -1322,15 +1350,19 @@
 \end_inset
 
 , so we have
-\begin_inset Formula \begin{equation}
-\sigma_{11}=(\lambda+2\mu)\left(\epsilon_{11}-\epsilon_{11}^{I}\right)+\sigma_{11}^{I},\label{eq:5}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\sigma_{11}=(\lambda+2\mu)\left(\epsilon_{11}-\epsilon_{11}^{I}\right)+\sigma_{11}^{I},\label{eq:5}
+\end{equation}
 
 \end_inset
 
 with
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \sigma_{22}=\sigma_{33}=\lambda\left(\epsilon_{11}-\epsilon_{11}^{I}\right)+\sigma_{22}^{I},\nonumber \\
-\sigma_{12}=\sigma_{23}=\sigma_{13}=0.\label{eq:6}\end{gather}
+\sigma_{12}=\sigma_{23}=\sigma_{13}=0.\label{eq:6}
+\end{gather}
 
 \end_inset
 
@@ -1356,15 +1388,19 @@
 \end_inset
 
 , so we have
-\begin_inset Formula \begin{equation}
-\sigma_{11}=\frac{\mu(3\lambda+2\mu)}{\lambda+\mu}\left(\epsilon_{11}-\epsilon_{11}^{I}\right)+\sigma_{11}^{I},\label{eq:7}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\sigma_{11}=\frac{\mu(3\lambda+2\mu)}{\lambda+\mu}\left(\epsilon_{11}-\epsilon_{11}^{I}\right)+\sigma_{11}^{I},\label{eq:7}
+\end{equation}
 
 \end_inset
 
 with
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \epsilon_{22}=\epsilon_{33}=-\frac{\lambda}{2(\lambda+\mu)}\epsilon_{11}+\epsilon_{22}^{I},\label{eq:8}\\
-\sigma_{22}=\sigma_{33}=\sigma_{12}=\sigma_{23}=\sigma_{13}=0.\nonumber \end{gather}
+\sigma_{22}=\sigma_{33}=\sigma_{12}=\sigma_{23}=\sigma_{13}=0.\nonumber 
+\end{gather}
 
 \end_inset
 
@@ -1377,20 +1413,26 @@
 
 \begin_layout Standard
 In 2D we can write Hooke's law as
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \left[\begin{array}{c}
 \sigma_{11}\\
 \sigma_{22}\\
-\sigma_{12}\end{array}\right]=\left[\begin{array}{ccc}
+\sigma_{12}
+\end{array}\right]=\left[\begin{array}{ccc}
 C_{1111} & C_{1122} & C_{1112}\\
 C_{1122} & C_{2222} & C_{2212}\\
-C_{1112} & C_{2212} & C_{1212}\end{array}\right]\left[\begin{array}{c}
+C_{1112} & C_{2212} & C_{1212}
+\end{array}\right]\left[\begin{array}{c}
 \epsilon_{11}-\epsilon_{11}^{I}\\
 \epsilon_{22}-\epsilon_{22}^{I}\\
-\epsilon_{12}-\epsilon_{12}^{I}\end{array}\right]+\left[\begin{array}{c}
+\epsilon_{12}-\epsilon_{12}^{I}
+\end{array}\right]+\left[\begin{array}{c}
 \sigma_{11}^{I}\\
 \sigma_{22}^{I}\\
-\sigma_{12}^{I}\end{array}\right]\:.\label{eq:9}\end{gather}
+\sigma_{12}^{I}
+\end{array}\right]\:.\label{eq:9}
+\end{gather}
 
 \end_inset
 
@@ -1411,20 +1453,26 @@
 \end_inset
 
  and plane strain conditions apply, so we have 
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \left[\begin{array}{c}
 \sigma_{11}\\
 \sigma_{22}\\
-\sigma_{12}\end{array}\right]=\left[\begin{array}{ccc}
+\sigma_{12}
+\end{array}\right]=\left[\begin{array}{ccc}
 \lambda+2\mu & \lambda & 0\\
 \lambda & \lambda+2\mu & 0\\
-0 & 0 & 2\mu\end{array}\right]\left[\begin{array}{c}
+0 & 0 & 2\mu
+\end{array}\right]\left[\begin{array}{c}
 \epsilon_{11}-\epsilon_{11}^{I}\\
 \epsilon_{22}-\epsilon_{22}^{I}\\
-\epsilon_{12}-\epsilon_{12}^{I}\end{array}\right]+\left[\begin{array}{c}
+\epsilon_{12}-\epsilon_{12}^{I}
+\end{array}\right]+\left[\begin{array}{c}
 \sigma_{11}^{I}\\
 \sigma_{22}^{I}\\
-\sigma_{12}^{I}\end{array}\right]\:.\label{eq:10}\end{gather}
+\sigma_{12}^{I}
+\end{array}\right]\:.\label{eq:10}
+\end{gather}
 
 \end_inset
 
@@ -1445,28 +1493,37 @@
 \end_inset
 
  and plane stress conditions apply, so we have
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \left[\begin{array}{c}
 \sigma_{11}\\
 \sigma_{22}\\
-\sigma_{12}\end{array}\right]=\left[\begin{array}{ccc}
+\sigma_{12}
+\end{array}\right]=\left[\begin{array}{ccc}
 \frac{4\mu(\lambda+\mu)}{\lambda+2\mu} & \frac{2\mu\lambda}{\lambda+2\mu} & 0\\
 \frac{2\mu\lambda}{\lambda+2} & \frac{4\mu(\lambda+\mu)}{\lambda+2\mu} & 0\\
-0 & 0 & 2\mu\end{array}\right]\left[\begin{array}{c}
+0 & 0 & 2\mu
+\end{array}\right]\left[\begin{array}{c}
 \epsilon_{11}-\epsilon_{11}^{I}\\
 \epsilon_{22}-\epsilon_{22}^{I}\\
-\epsilon_{12}-\epsilon_{12}^{I}\end{array}\right]+\left[\begin{array}{c}
+\epsilon_{12}-\epsilon_{12}^{I}
+\end{array}\right]+\left[\begin{array}{c}
 \sigma_{11}^{I}\\
 \sigma_{22}^{I}\\
-\sigma_{12}^{I}\end{array}\right]\:,\label{eq:11}\end{gather}
+\sigma_{12}^{I}
+\end{array}\right]\:,\label{eq:11}
+\end{gather}
 
 \end_inset
 
 where
-\begin_inset Formula \begin{equation}
+\begin_inset Formula 
+\begin{equation}
 \begin{gathered}\epsilon_{33}=-\frac{\lambda}{\lambda+2\mu}(\epsilon_{11}+\epsilon_{22})+\epsilon_{33}^{I}\\
-\epsilon_{13}=\epsilon_{23}=0\,.\end{gathered}
-\label{eq:12}\end{equation}
+\epsilon_{13}=\epsilon_{23}=0\,.
+\end{gathered}
+\label{eq:12}
+\end{equation}
 
 \end_inset
 
@@ -1490,14 +1547,17 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \underline{C}=\left[\begin{array}{cccccc}
 \lambda+2\mu & \lambda & \lambda & 0 & 0 & 0\\
 \lambda & \lambda+2\mu & \lambda & 0 & 0 & 0\\
 \lambda & \lambda & \lambda+2\mu & 0 & 0 & 0\\
 0 & 0 & 0 & 2\mu & 0 & 0\\
 0 & 0 & 0 & 0 & 2\mu & 0\\
-0 & 0 & 0 & 0 & 0 & 2\mu\end{array}\right]\:.\label{eq:13}\end{gather}
+0 & 0 & 0 & 0 & 0 & 2\mu
+\end{array}\right]\:.\label{eq:13}
+\end{gather}
 
 \end_inset
 
@@ -1505,11 +1565,17 @@
 \end_layout
 
 \begin_layout Section
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Viscoelastic-Materials"
+
+\end_inset
+
 Viscoelastic Materials
 \end_layout
 
 \begin_layout Standard
-At present, there are four viscoelastic material models available in PyLith
+At present, there are five viscoelastic material models available in PyLith
  (Table 
 \begin_inset CommandInset ref
 LatexCommand ref
@@ -1526,11 +1592,35 @@
 
 ).
  Future code versions may include alternative formulations for the various
- material models, so that users may use the most efficient formulation for
- a particular problem.
+ material models (Appendix 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "cha:Alternative-Formulations"
+
+\end_inset
+
+), so that users may use the most efficient formulation for a particular
+ problem.
  Note that both 2D and 3D viscoelastic models are described, but we present
  below only the 3D formulations.
  The 2D formulations are easily obtained from the plane strain definition.
+ The one aspect of the 2D formulations that is different is the specification
+ of initial stresses.
+ Since 2D models only have three tensor components, it is not possible to
+ specify the normal stress in the out-of-plane direction (
+\begin_inset Formula $\sigma_{33}$
+\end_inset
+
+), which is generally nonzero, using the same method as the other tensor
+ components.
+ To allow for the specification of this initial stress component, an additional
+ state variable corresponding to 
+\begin_inset Formula $\sigma_{33}^{I}$
+\end_inset
+
+ is provided.
+ Note that this is not an issue for the 2D elastic models, since this initial
+ stress component is not needed.
 \end_layout
 
 \begin_layout Standard
@@ -1561,8 +1651,8 @@
 
 
 \begin_inset Tabular
-<lyxtabular version="3" rows="5" columns="2">
-<features>
+<lyxtabular version="3" rows="6" columns="2">
+<features tabularvalignment="middle">
 <column alignment="left" valignment="top" width="2.85in">
 <column alignment="center" valignment="top" width="2.47in">
 <row>
@@ -1614,6 +1704,26 @@
 \begin_inset Text
 
 \begin_layout Plain Layout
+GenMaxwellPlaneStrain
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Plane strain generalized Maxwell material (3 Maxwell models in parallel)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
 MaxwellIsotropic3D
 \end_layout
 
@@ -1702,7 +1812,6 @@
 \begin_inset Caption
 
 \begin_layout Plain Layout
-\noindent
 \begin_inset CommandInset label
 LatexCommand label
 name "fig:Material-models"
@@ -1758,8 +1867,10 @@
  indices indicate summation over the range of the index.
  We also make frequent use of the scalar inner product.
  The scalar inner product of two second-order tensors may be written
-\begin_inset Formula \begin{gather}
-\underline{a}\cdot\underline{b}=a_{ij}b_{ij}\,.\label{eq:14}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+\underline{a}\cdot\underline{b}=a_{ij}b_{ij}\,.\label{eq:14}
+\end{gather}
 
 \end_inset
 
@@ -1775,8 +1886,10 @@
 \end_inset
 
 :
-\begin_inset Formula \begin{gather}
-P=\frac{\sigma_{ii}}{3}\,,\,\,\,\,\theta=\frac{\epsilon_{ii}}{3}\,,\label{eq:15}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+P=\frac{\sigma_{ii}}{3}\,,\,\,\,\,\theta=\frac{\epsilon_{ii}}{3}\,,\label{eq:15}
+\end{gather}
 
 \end_inset
 
@@ -1790,8 +1903,10 @@
 
  represent the trace of the stress and strain tensors, respectively.
  We then define the deviatoric components of stress and strain as
-\begin_inset Formula \begin{gather}
-S_{ij}=\sigma_{ij}-P\delta_{ij}\,,\,\,\,\, e_{ij}=\epsilon_{ij}-\theta\delta_{ij}\,,\label{eq:16}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+S_{ij}=\sigma_{ij}-P\delta_{ij}\,,\,\,\,\, e_{ij}=\epsilon_{ij}-\theta\delta_{ij}\,,\label{eq:16}
+\end{gather}
 
 \end_inset
 
@@ -1817,21 +1932,25 @@
 \end_inset
 
 , as
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \overline{\sigma}=\sqrt{\frac{3}{2}\underline{S}\cdot\underline{S}}\,\,\nonumber \\
 J_{2}^{\prime}=\frac{1}{2}\underline{S}\cdot\underline{S}\,.\label{eq:17}\\
 \overline{e}=\sqrt{\frac{2}{3}\underline{e}\cdot\underline{e}}\,\,\nonumber \\
-L_{2}^{\prime}=\frac{1}{2}\underline{e}\cdot\underline{e}\,\,\nonumber \end{gather}
+L_{2}^{\prime}=\frac{1}{2}\underline{e}\cdot\underline{e}\,\,\nonumber 
+\end{gather}
 
 \end_inset
 
 Due to the symmetry of the stress and strain tensors, it is sometimes convenient
  to represent them as vectors:
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \overrightarrow{\sigma^{T}}=\left[\begin{array}{cccccc}
 \sigma_{11} & \sigma_{22} & \sigma_{33} & \sigma_{12} & \sigma_{23} & \sigma_{31}\end{array}\right]\label{eq:18}\\
 \overrightarrow{\epsilon^{T}}=\left[\begin{array}{cccccc}
-\epsilon_{11} & \epsilon_{22} & \epsilon_{33} & \epsilon_{12} & \epsilon_{23} & \epsilon_{31}\end{array}\right]\:.\nonumber \end{gather}
+\epsilon_{11} & \epsilon_{22} & \epsilon_{33} & \epsilon_{12} & \epsilon_{23} & \epsilon_{31}\end{array}\right]\:.\nonumber 
+\end{gather}
 
 \end_inset
 
@@ -1880,7 +1999,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="3" columns="3">
-<features>
+<features tabularvalignment="middle">
 <column alignment="center" valignment="top" width="0">
 <column alignment="center" valignment="top" width="0">
 <column alignment="center" valignment="top" width="0">
@@ -1996,6 +2115,116 @@
 \end_layout
 
 \begin_layout Subsection
+Linear Viscoelastic Models
+\end_layout
+
+\begin_layout Standard
+Linear viscoelastic models are obtained by various combinations of a linear
+ elastic spring and a linear viscous dashpot in series or parallel.
+ The simplest example is probably the linear Maxwell model, which consists
+ of a spring in series with a dashpot, as shown in Figure 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Material-models"
+
+\end_inset
+
+.
+ For a one-dimensional model, the response is given by
+\begin_inset Formula 
+\begin{equation}
+\frac{d\epsilon_{Total}}{dt}=\frac{d\epsilon_{D}}{dt}+\frac{d\epsilon_{S}}{dt}=\frac{\sigma}{\eta}+\frac{1}{E}\frac{d\sigma}{dt}\:,
+\end{equation}
+
+\end_inset
+
+where 
+\begin_inset Formula $\epsilon_{Total}$
+\end_inset
+
+ is the total strain, 
+\begin_inset Formula $\epsilon_{D}$
+\end_inset
+
+ is the strain in the dashpot, 
+\begin_inset Formula $\epsilon_{S}$
+\end_inset
+
+ is the strain in the spring, 
+\begin_inset Formula $\sigma$
+\end_inset
+
+ is the stress, 
+\begin_inset Formula $\eta$
+\end_inset
+
+ is the viscosity of the dashpot, and 
+\begin_inset Formula $E$
+\end_inset
+
+ is the spring constant.
+ When a Maxwell material is subjected to constant strain, the stresses relax
+ exponentially with time.
+ When a Maxwell material is subjected to a constant stress, there is an
+ immediate elastic strain, corresponding to the response of the spring,
+ and a viscous strain that increases linearly with time.
+ Since the strain response is unbounded, the Maxwell model actually represents
+ a fluid.
+\end_layout
+
+\begin_layout Standard
+Another simple model is the Kelvin-Voigt model, which consists of a spring
+ in parallel with a dashpot.
+ In this case, the one-dimensional response is given by
+\begin_inset Formula 
+\begin{equation}
+\sigma\left(t\right)=E\epsilon\left(t\right)+\eta\frac{d\epsilon\left(t\right)}{dt}\:.
+\end{equation}
+
+\end_inset
+
+As opposed to the Maxwell model, which represents a fluid, the Kelvin-Voigt
+ model represents a solid undergoing reversible, viscoelastic strain.
+ If the material is subjected to a constant stress, it deforms at a decreasing
+ rate, gradually approaching the strain that would occur for a purely elastic
+ material.
+ When the stress is released, the material gradually relaxes back to its
+ undeformed state.
+\end_layout
+
+\begin_layout Standard
+The most general form of linear viscoelastic model is the generalized Maxwell
+ model, which consists of a spring in parallel with a number of Maxwell
+ models (see Figure 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Material-models"
+
+\end_inset
+
+).
+ Using this model, it is possible to represent a number of simpler viscoelastic
+ models.
+ For example, a simple Maxwell model is obtained by setting the elastic
+ constants of all springs to zero, with the exception of the spring contained
+ in the first Maxwell model (
+\begin_inset Formula $\mu_{1}$
+\end_inset
+
+).
+ Similarly, the Kelvin-Voigt model may be obtained by setting the elastic
+ constants 
+\begin_inset Formula $\mu_{2}=\mu_{3}=0$
+\end_inset
+
+, and setting 
+\begin_inset Formula $\mu_{1}=\infty$
+\end_inset
+
+ (or a very large number).
+\end_layout
+
+\begin_layout Subsection
 Formulation for Generalized Maxwell Models
 \begin_inset CommandInset label
 LatexCommand label
@@ -2007,9 +2236,9 @@
 \end_layout
 
 \begin_layout Standard
-The generalized Maxwell viscoelastic model consists of a number of Maxwell
- linear viscoelastic models in parallel with a spring, as shown in Figure
- 
+As described above, the generalized Maxwell viscoelastic model consists
+ of a number of Maxwell linear viscoelastic models in parallel with a spring,
+ as shown in Figure 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "fig:Material-models"
@@ -2017,11 +2246,11 @@
 \end_inset
 
 .
- PyLith versions greater than 1.1 include the specific case of a standard
- Maxwell model as well as a model consisting of a spring in parallel with
- three Maxwell models.
- A number of common material models may be obtained from this model by setting
- the shear moduli of various springs to zero, such as the Maxwell model,
+ PyLith includes the specific case of a spring in parallel with three Maxwell
+ models.
+ As described in the previous paragraph, a number of common material models
+ may be obtained from this model by setting the shear moduli of various
+ springs to zero or infinity (or a large number), such as the Maxwell model,
  the Kelvin model, and the standard linear solid.
  We follow formulations similar to those used by Zienkiewicz and Taylor
  
@@ -2084,8 +2313,10 @@
 As for all our viscoelastic models, the volumetric strain is completely
  elastic, and the viscoelastic deformation may be expressed purely in terms
  of the deviatoric components:
-\begin_inset Formula \begin{equation}
-\underline{S}=2\mu_{tot}\left[\mu_{0}\underline{e}+\sum_{i=1}^{N}\mu_{i}\underline{q}^{i}-\underline{e}^{I}\right]+\underline{S}^{I}\,;\; P=3K\left(\theta-\theta^{I}\right)+P^{I}\,,\label{eq:19}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\underline{S}=2\mu_{tot}\left[\mu_{0}\underline{e}+\sum_{i=1}^{N}\mu_{i}\underline{q}^{i}-\underline{e}^{I}\right]+\underline{S}^{I}\,;\; P=3K\left(\theta-\theta^{I}\right)+P^{I}\,,\label{eq:19}
+\end{equation}
 
 \end_inset
 
@@ -2102,8 +2333,10 @@
 \end_inset
 
  follows the evolution equations
-\begin_inset Formula \begin{equation}
-\underline{\dot{q}}^{i}+\frac{1}{\lambda_{i}}\underline{q}^{i}=\underline{\dot{e}}.\label{eq:20}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\underline{\dot{q}}^{i}+\frac{1}{\lambda_{i}}\underline{q}^{i}=\underline{\dot{e}}.\label{eq:20}
+\end{equation}
 
 \end_inset
 
@@ -2132,8 +2365,10 @@
 
 , is measured.
  For a linear material we obtain:
-\begin_inset Formula \begin{equation}
-\underline{S}\left(t\right)=2\mu\left(t\right)\left(\underline{e}_{0}-\underline{e}^{I}\right)+\underline{S}^{I}\,,\label{eq:21}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\underline{S}\left(t\right)=2\mu\left(t\right)\left(\underline{e}_{0}-\underline{e}^{I}\right)+\underline{S}^{I}\,,\label{eq:21}
+\end{equation}
 
 \end_inset
 
@@ -2144,20 +2379,26 @@
  is the shear relaxation modulus function.
  Using linearity and superposition for an arbitrary state of strain yields
  an integral equation:
-\begin_inset Formula \begin{equation}
-\underline{S}\left(t\right)=\intop_{-\infty}^{t}\mu\left(t-\tau\right)\underline{\dot{e}}\, d\tau\,.\label{eq:22}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\underline{S}\left(t\right)=\intop_{-\infty}^{t}\mu\left(t-\tau\right)\underline{\dot{e}}\, d\tau\,.\label{eq:22}
+\end{equation}
 
 \end_inset
 
 If we assume the modulus function in Prony series form we obtain
-\begin_inset Formula \begin{equation}
-\mu\left(t\right)=\mu_{tot}\left(\mu_{0}+\sum_{i=1}^{N}\mu_{i}\exp\frac{-t}{\lambda_{i}}\right)\,,\label{eq:23}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\mu\left(t\right)=\mu_{tot}\left(\mu_{0}+\sum_{i=1}^{N}\mu_{i}\exp\frac{-t}{\lambda_{i}}\right)\,,\label{eq:23}
+\end{equation}
 
 \end_inset
 
 where
-\begin_inset Formula \begin{equation}
-\mu_{0}+\sum_{i=1}^{N}\mu_{i}=1\,.\label{eq:24}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\mu_{0}+\sum_{i=1}^{N}\mu_{i}=1\,.\label{eq:24}
+\end{equation}
 
 \end_inset
 
@@ -2172,22 +2413,12 @@
 \end_layout
 
 \begin_layout Standard
-Considering a single Maxwell model, the relaxation modulus function is
-\begin_inset Formula \begin{equation}
-\mu\left(t\right)=\mu_{tot}\left(\mu_{0}+\mu_{1}\exp\frac{-t}{\lambda_{1}}\right)\,,\label{eq:25}\end{equation}
-
-\end_inset
-
-where
-\begin_inset Formula \begin{equation}
-\mu_{0}+\mu_{1}=1\,.\label{eq:26}\end{equation}
-
-\end_inset
-
 If we assume the material is undisturbed until a strain is suddenly applied
  at time zero, we can divide the integral into
-\begin_inset Formula \begin{equation}
-\intop_{-\infty}^{t}\left(\cdot\right)\, d\tau=\intop_{-\infty}^{0^{-}}\left(\cdot\right)\, d\tau+\intop_{0^{-}}^{0^{+}}\left(\cdot\right)\, d\tau+\intop_{0^{+}}^{t}\left(\cdot\right)\, d\tau\,.\label{eq:27}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\intop_{-\infty}^{t}\left(\cdot\right)\, d\tau=\intop_{-\infty}^{0^{-}}\left(\cdot\right)\, d\tau+\intop_{0^{-}}^{0^{+}}\left(\cdot\right)\, d\tau+\intop_{0^{+}}^{t}\left(\cdot\right)\, d\tau\,.\label{eq:27}
+\end{equation}
 
 \end_inset
 
@@ -2205,8 +2436,10 @@
 \end_inset
 
 ,
-\begin_inset Formula \begin{equation}
-\underline{S}\left(t\right)=2\mu\left(t\right)\left(\underline{e}_{0}-\underline{e}^{I}\right)+\underline{S}^{I}+2\int_{0}^{t}\mu\left(t-\tau\right)\underline{\dot{e}}\left(\tau\right)\, d\tau\,,\label{eq:28}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\underline{S}\left(t\right)=2\mu\left(t\right)\left(\underline{e}_{0}-\underline{e}^{I}\right)+\underline{S}^{I}+2\int_{0}^{t}\mu\left(t-\tau\right)\underline{\dot{e}}\left(\tau\right)\, d\tau\,,\label{eq:28}
+\end{equation}
 
 \end_inset
 
@@ -2217,7 +2450,7 @@
 Substituting Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "eq:25"
+reference "eq:23"
 
 \end_inset
 
@@ -2229,12 +2462,14 @@
 \end_inset
 
 , we obtain
-\begin_inset Formula \begin{equation}
-\underline{S}\left(t\right)=2\mu_{tot}\left[\mu_{0}\underline{e}\left(t\right)+\mu_{1}\exp\frac{-t}{\lambda_{1}}\left(\underline{e}_{0}+\intop_{0}^{t}\exp\frac{t}{\lambda_{1}}\underline{\dot{e}}\left(\tau\right)\, d\tau\right)-\underline{e}^{I}\right]+\underline{S}^{I}\,.\label{eq:29}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\underline{S}\left(t\right)=2\mu_{tot}\left\{ \mu_{0}\underline{e}\left(t\right)+\sum_{i=1}^{N}\left[\mu_{i}\exp\frac{-t}{\lambda_{i}}\left(\underline{e}_{0}+\intop_{0}^{t}\exp\frac{t}{\lambda_{i}}\underline{\dot{e}}\left(\tau\right)\, d\tau\right)\right]-\underline{e}^{I}\right\} +\underline{S}^{I}\,.\label{eq:29}
+\end{equation}
 
 \end_inset
 
-We then split the integral into two ranges: from 0 to 
+We then split each integral into two ranges: from 0 to 
 \begin_inset Formula $t_{n}$
 \end_inset
 
@@ -2246,54 +2481,70 @@
 \begin_inset Formula $t$
 \end_inset
 
-, and define the integral as
-\begin_inset Formula \begin{equation}
-\underline{i}^{1}\left(t\right)=\intop_{0}^{t}\exp\frac{\tau}{\lambda_{1}}\underline{\dot{e}}\left(\tau\right)\, d\tau\,.\label{eq:30}\end{equation}
+, and define each integral as
+\begin_inset Formula 
+\begin{equation}
+\underline{i}_{i}^{1}\left(t\right)=\intop_{0}^{t}\exp\frac{\tau}{\lambda_{i}}\underline{\dot{e}}\left(\tau\right)\, d\tau\,.\label{eq:30}
+\end{equation}
 
 \end_inset
 
 The integral then becomes
-\begin_inset Formula \begin{equation}
-\underline{i}^{1}\left(t\right)=\underline{i}^{1}\left(t_{n}\right)+\intop_{t_{n}}^{t}\exp\frac{\tau}{\lambda_{1}}\underline{\dot{e}}\left(\tau\right)\, d\tau\,.\label{eq:31}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\underline{i}_{i}^{1}\left(t\right)=\underline{i}_{i}^{1}\left(t_{n}\right)+\intop_{t_{n}}^{t}\exp\frac{\tau}{\lambda_{i}}\underline{\dot{e}}\left(\tau\right)\, d\tau\,.\label{eq:31}
+\end{equation}
 
 \end_inset
 
 Including the negative exponential multiplier:
-\begin_inset Formula \begin{equation}
-\underline{h}^{1}\left(t\right)=\exp\frac{-t}{\lambda_{1}}\underline{i}^{1}\,.\label{eq:32}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\underline{h}_{i}^{1}\left(t\right)=\exp\frac{-t}{\lambda_{i}}\underline{i}_{i}^{1}\,.\label{eq:32}
+\end{equation}
 
 \end_inset
 
 Then
-\begin_inset Formula \begin{equation}
-\underline{h}^{1}\left(t\right)=\exp\frac{-\Delta t}{\lambda_{1}}\underline{h}_{n}^{1}+\Delta\underline{h}\,,\label{eq:33}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\underline{h}_{i}^{1}\left(t\right)=\exp\frac{-\Delta t}{\lambda_{i}}\underline{h}_{i}^{1}\left(t_{n}\right)+\Delta\underline{h}_{i}\,,\label{eq:33}
+\end{equation}
 
 \end_inset
 
 where
-\begin_inset Formula \begin{equation}
-\Delta\underline{h}=\exp\frac{-t}{\lambda_{1}}\intop_{t_{n}}^{t}\exp\frac{\tau}{\lambda_{1}}\underline{\dot{e}}\left(\tau\right)\, d\tau\,.\label{eq:34}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\Delta\underline{h}_{i}=\exp\frac{-t}{\lambda_{i}}\intop_{t_{n}}^{t}\exp\frac{\tau}{\lambda_{i}}\underline{\dot{e}}\left(\tau\right)\, d\tau\,.\label{eq:34}
+\end{equation}
 
 \end_inset
 
 Approximating the strain rate as constant over each time step, the solution
  may be found as
-\begin_inset Formula \begin{equation}
-\Delta\underline{h}=\frac{\lambda_{1}}{\Delta t}\left(1-\exp\frac{-\Delta t}{\lambda_{1}}\right)\left(\underline{e}-\underline{e}_{n}\right)=\Delta h\left(\underline{e}-\underline{e}_{n}\right)\,.\label{eq:35}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\Delta\underline{h}_{i}=\frac{\lambda_{i}}{\Delta t}\left(1-\exp\frac{-\Delta t}{\lambda_{i}}\right)\left(\underline{e}-\underline{e}_{n}\right)=\Delta h_{i}\left(\underline{e}-\underline{e}_{n}\right)\,.\label{eq:35}
+\end{equation}
 
 \end_inset
 
 The approximation is singular for zero time steps, but a series expansion
  may be used for small time-step sizes:
-\begin_inset Formula \begin{equation}
-\Delta h\approx1-\frac{1}{2}\left(\frac{\Delta t}{\lambda_{1}}\right)+\frac{1}{3!}\left(\frac{\Delta t}{\lambda_{1}}\right)^{2}-\frac{1}{4!}\left(\frac{\Delta t}{\lambda_{1}}\right)^{3}+\cdots\,.\label{eq:36}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\Delta h_{i}\approx1-\frac{1}{2}\left(\frac{\Delta t}{\lambda_{i}}\right)+\frac{1}{3!}\left(\frac{\Delta t}{\lambda_{i}}\right)^{2}-\frac{1}{4!}\left(\frac{\Delta t}{\lambda_{i}}\right)^{3}+\cdots\,.\label{eq:36}
+\end{equation}
 
 \end_inset
 
 This converges with only a few terms.
  With this formulation, the constitutive relation now has the simple form:
-\begin_inset Formula \begin{equation}
-\underline{S}\left(t\right)=2\mu_{tot}\left(\mu_{0}\underline{e}\left(t\right)+\mu_{1}\underline{h}^{1}\left(t\right)-\underline{e}^{I}\right)+\underline{S}^{I}\,.\label{eq:37}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\underline{S}\left(t\right)=2\mu_{tot}\left(\mu_{0}\underline{e}\left(t\right)+\sum_{i=1}^{N}\mu_{i}\underline{h}_{i}^{1}\left(t\right)-\underline{e}^{I}\right)+\underline{S}^{I}\,.\label{eq:37}
+\end{equation}
 
 \end_inset
 
@@ -2305,8 +2556,10 @@
  matrix.
  In addition to the volumetric contribution to the tangent constitutive
  matrix, we require the deviatoric part:
-\begin_inset Formula \begin{equation}
-\frac{\partial\underline{S}}{\partial\underline{\epsilon}}=\frac{\partial\underline{S}}{\partial\underline{e}}\frac{\partial\underline{e}}{\partial\underline{\epsilon}}\,,\label{eq:38}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\frac{\partial\underline{S}}{\partial\underline{\epsilon}}=\frac{\partial\underline{S}}{\partial\underline{e}}\frac{\partial\underline{e}}{\partial\underline{\epsilon}}\,,\label{eq:38}
+\end{equation}
 
 \end_inset
 
@@ -2320,8 +2573,10 @@
 
 .
  The other derivative is given by
-\begin_inset Formula \begin{equation}
-\frac{\partial\underline{S}}{\partial\underline{e}}=2\mu_{tot}\left[\mu_{0}\underline{I}+\mu_{1}\frac{\partial\underline{h}^{1}}{\partial\underline{e}}\right]\,,\label{eq:39}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\frac{\partial\underline{S}}{\partial\underline{e}}=2\mu_{tot}\left[\mu_{0}\underline{I}+\sum_{i=1}^{N}\mu_{i}\frac{\partial\underline{h}_{i}^{1}}{\partial\underline{e}}\right]\,,\label{eq:39}
+\end{equation}
 
 \end_inset
 
@@ -2345,14 +2600,18 @@
 \end_inset
 
 , the derivative inside the brackets is
-\begin_inset Formula \begin{equation}
-\frac{\partial\underline{h}^{1}}{\partial\underline{e}}=\Delta h\left(\Delta t\right)\underline{I}\,.\label{eq:40}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\frac{\partial\underline{h}_{i}^{1}}{\partial\underline{e}}=\Delta h_{i}\left(\Delta t\right)\underline{I}\,.\label{eq:40}
+\end{equation}
 
 \end_inset
 
 The complete deviatoric tangent relation is then
-\begin_inset Formula \begin{equation}
-\frac{\partial\underline{S}}{\partial\underline{\epsilon}}=2\mu_{tot}\left[\mu_{0}+\mu_{1}\Delta h\left(\Delta t\right)\right]\frac{\partial\underline{e}}{\partial\underline{\epsilon}}\,.\label{eq:41}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\frac{\partial\underline{S}}{\partial\underline{\epsilon}}=2\mu_{tot}\left[\mu_{0}+\sum_{i=1}^{N}\mu_{i}\Delta h_{i}\left(\Delta t\right)\right]\frac{\partial\underline{e}}{\partial\underline{\epsilon}}\,.\label{eq:41}
+\end{equation}
 
 \end_inset
 
@@ -2361,11 +2620,495 @@
 
 \begin_layout Standard
 We use this formulation for both our Maxwell and generalized Maxwell viscoelasti
-c models, where we include two additional Maxwell elements in the generalized
- Maxwell model.
+c models.
+ For the Maxwell model, 
+\begin_inset Formula $\mu_{0}=0$
+\end_inset
+
+ and 
+\begin_inset Formula $N=1$
+\end_inset
+
+.
+ For the generalized Maxwell model, 
+\begin_inset Formula $N=3.$
+\end_inset
+
+
 \end_layout
 
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Float table
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\noindent
+\align center
+\begin_inset Caption
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "tab:linearMaxwell"
+
+\end_inset
+
+Values in spatial database used as parameters in the linear Maxwell viscoelastic
+ material constitutive model.
+\end_layout
+
+\end_inset
+
+
+\begin_inset Tabular
+<lyxtabular version="3" rows="5" columns="2">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="middle" width="0.85in">
+<column alignment="center" valignment="middle" width="2.47in">
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Parameter
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\align center
+
+\series bold
+Name in Spatial Database
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $v_{p}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+Vp
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $v_{s}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+Vs
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\rho$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+density
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\eta$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+viscosity
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Float table
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\noindent
+\align center
+\begin_inset Caption
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "tab:genMaxwell"
+
+\end_inset
+
+Values in spatial database used as parameters in the generalized linear
+ Maxwell viscoelastic material constitutive model.
+\end_layout
+
+\end_inset
+
+
+\begin_inset Tabular
+<lyxtabular version="3" rows="10" columns="2">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="middle" width="0.85in">
+<column alignment="center" valignment="middle" width="2.47in">
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Parameter
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\align center
+
+\series bold
+Name in Spatial Database
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $v_{p}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+Vp
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $v_{s}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+Vs
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\rho$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+density
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\mu_{1}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+shear-ratio-1
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\mu_{2}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+shear-ratio-2
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\mu_{3}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+shear-ratio-3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\eta_{1}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+viscosity-1
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\eta_{2}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+viscosity-2
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\eta_{3}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+viscosity-3
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
 \begin_layout Subsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:Effective-Stress-Formulations-Viscoelastic"
+
+\end_inset
+
 Effective Stress Formulations for Viscoelastic Materials
 \end_layout
 
@@ -2381,7 +3124,14 @@
  may be employed for both a linear Maxwell model and a power-law Maxwell
  model.
  Note that this formulation is not presently employed for linear viscoelastic
- models, but it may be employed in future versions.
+ models (see Appendix 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "cha:Alternative-Formulations"
+
+\end_inset
+
+), but it is used for power-law viscoelastic materials.
  For the viscoelastic materials considered here, the viscous volumetric
  strains are zero (incompressible flow), and it is convenient to separate
  the general stress-strain relationship at time 
@@ -2389,9 +3139,11 @@
 \end_inset
 
  into deviatoric and volumetric parts:
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \phantom{}{}^{t+\Delta t}\underline{S}=\frac{E}{1+\nu}\left(^{t+\Delta t}\underline{e}-\phantom{}^{t+\Delta t}\underline{e}^{C}-\underline{e}^{I}\right)+\underline{S}^{I}=\frac{1}{a_{E}}\left(^{t+\Delta t}\underline{e}-\phantom{}^{t+\Delta t}\underline{e}^{C}-\underline{e}^{I}\right)\label{eq:42}\\
-^{t+\Delta t}P=\frac{E}{1-2\nu}\left(^{t+\Delta t}\theta-\theta^{I}\right)+P^{I}=\frac{1}{a_{m}}\left(^{t+\Delta t}\theta-\theta^{I}\right)\:,\nonumber \end{gather}
+^{t+\Delta t}P=\frac{E}{1-2\nu}\left(^{t+\Delta t}\theta-\theta^{I}\right)+P^{I}=\frac{1}{a_{m}}\left(^{t+\Delta t}\theta-\theta^{I}\right)\:,\nonumber 
+\end{gather}
 
 \end_inset
 
@@ -2441,20 +3193,26 @@
 \end_inset
 
  may also be written as
-\begin_inset Formula \begin{gather}
-^{t+\Delta t}\underline{S}=\frac{1}{a_{E}}(^{t+\Delta t}\underline{e}^{\prime}-\underline{\Delta e}^{C})+\underline{S}^{I}\,,\label{eq:43}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+^{t+\Delta t}\underline{S}=\frac{1}{a_{E}}(^{t+\Delta t}\underline{e}^{\prime}-\underline{\Delta e}^{C})+\underline{S}^{I}\,,\label{eq:43}
+\end{gather}
 
 \end_inset
 
 where
-\begin_inset Formula \begin{gather}
-^{t+\Delta t}\underline{e}^{\prime}=\phantom{}^{t+\Delta t}\underline{e}-\phantom{}^{t}\underline{e}^{C}-\underline{e}^{I}\,\,,\,\,\,\underline{\Delta e}^{C}=\phantom{}^{t+\Delta t}\underline{e}^{C}-\phantom{}^{t}\underline{e}^{C}\,.\label{eq:44}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+^{t+\Delta t}\underline{e}^{\prime}=\phantom{}^{t+\Delta t}\underline{e}-\phantom{}^{t}\underline{e}^{C}-\underline{e}^{I}\,\,,\,\,\,\underline{\Delta e}^{C}=\phantom{}^{t+\Delta t}\underline{e}^{C}-\phantom{}^{t}\underline{e}^{C}\,.\label{eq:44}
+\end{gather}
 
 \end_inset
 
 The creep strain increment is approximated using
-\begin_inset Formula \begin{gather}
-\underline{\Delta e}^{C}=\Delta t\phantom{}^{\tau}\gamma\phantom{}^{\tau}\underline{S}\,,\label{eq:45}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+\underline{\Delta e}^{C}=\Delta t\phantom{}^{\tau}\gamma\phantom{}^{\tau}\underline{S}\,,\label{eq:45}
+\end{gather}
 
 \end_inset
 
@@ -2463,145 +3221,75 @@
 \end_inset
 
 -method of time integration,
-\begin_inset Formula \begin{gather}
-^{\tau}\underline{S}=(1-\alpha)_{I}^{t}\underline{S}+\alpha\phantom{}_{I}^{t+\Delta t}\underline{S}+\underline{S}^{I}=(1-\alpha)^{t}\underline{S}+\alpha\phantom{}^{t+\Delta t}\underline{S}\,\,,\label{eq:46}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+^{\tau}\underline{S}=(1-\alpha)_{I}^{t}\underline{S}+\alpha\phantom{}_{I}^{t+\Delta t}\underline{S}+\underline{S}^{I}=(1-\alpha)^{t}\underline{S}+\alpha\phantom{}^{t+\Delta t}\underline{S}\,\,,\label{eq:46}
+\end{gather}
 
 \end_inset
 
 and
-\begin_inset Formula \begin{gather}
-^{\tau}\gamma=\frac{3\Delta\overline{e}^{C}}{2\Delta t\phantom{}^{\tau}\overline{\sigma}}\,\,,\label{eq:47}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+^{\tau}\gamma=\frac{3\Delta\overline{e}^{C}}{2\Delta t\phantom{}^{\tau}\overline{\sigma}}\,\,,\label{eq:47}
+\end{gather}
 
 \end_inset
 
 where
-\begin_inset Formula \begin{gather}
-\Delta\overline{e}^{C}=\sqrt{\frac{2}{3}\underline{\Delta e}^{C}\cdot\underline{\Delta e}^{C}}\label{eq:48}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+\Delta\overline{e}^{C}=\sqrt{\frac{2}{3}\underline{\Delta e}^{C}\cdot\underline{\Delta e}^{C}}\label{eq:48}
+\end{gather}
 
 \end_inset
 
 and
-\begin_inset Formula \begin{gather}
-^{\tau}\overline{\sigma}=(1-\alpha)_{I}^{t}\overline{\sigma}+\alpha\phantom{}_{I}^{t+\Delta t}\overline{\sigma}+\overline{\sigma}^{I}=\sqrt{3\phantom{}^{\tau}J_{2}^{\prime}}\,\,.\label{eq:49}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+^{\tau}\overline{\sigma}=(1-\alpha)_{I}^{t}\overline{\sigma}+\alpha\phantom{}_{I}^{t+\Delta t}\overline{\sigma}+\overline{\sigma}^{I}=\sqrt{3\phantom{}^{\tau}J_{2}^{\prime}}\,\,.\label{eq:49}
+\end{gather}
 
 \end_inset
 
 
 \end_layout
 
-\begin_layout Subsubsection
-Linear Maxwell Viscoelastic Material
-\end_layout
-
 \begin_layout Standard
-A linear Maxwell viscoelastic material may be characterized by the same
- elastic parameters as an isotropic elastic material (
-\begin_inset Formula $E$
-\end_inset
-
- and 
-\begin_inset Formula $\nu$
-\end_inset
-
-), as well as the viscosity, 
-\begin_inset Formula $\eta$
-\end_inset
-
-.
- The creep strain increment is
-\begin_inset Formula \begin{gather}
-\underline{\Delta e}^{C}=\frac{\Delta t\phantom{}^{\tau}\underline{S}}{2\eta}\,\,.\label{eq:50}\end{gather}
-
-\end_inset
-
-Therefore,
-\begin_inset Formula \begin{gather}
-\Delta\overline{e}^{C}=\frac{\Delta t\sqrt{^{\tau}J_{2}^{\prime}}}{\sqrt{3\eta}}=\frac{\Delta t\phantom{}^{\tau}\overline{\sigma}}{3\eta}\,,\,\mathrm{and}\,^{\tau}\gamma=\frac{1}{2\eta}\,\,.\label{eq:51}\end{gather}
-
-\end_inset
-
-Substituting Equations 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "eq:46"
-
-\end_inset
-
-, 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "eq:50"
-
-\end_inset
-
-, and 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "eq:51"
-
-\end_inset
-
- into 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "eq:43"
-
-\end_inset
-
-, we obtain
-\begin_inset Formula \begin{gather}
-^{t+\Delta t}\underline{S}=\frac{1}{a_{E}}\left\{ ^{t+\Delta t}\underline{e}^{\prime}-\frac{\Delta t}{2\eta}\left[(1-\alpha)^{t}\underline{S}+\alpha\phantom{}^{t+\Delta t}\underline{S}\right]\right\} +\underline{S}^{I}\,\,.\label{eq:52}\end{gather}
-
-\end_inset
-
-Solving for 
-\begin_inset Formula $^{t+\Delta t}\underline{S}$
-\end_inset
-
-,
-\begin_inset Formula \begin{gather}
-^{t+\Delta t}\underline{S}=\frac{1}{a_{E}+\frac{\alpha\Delta t}{2\eta}}\left[^{t+\Delta t}\underline{e}^{\prime}-\frac{\Delta t}{2\eta}(1-\alpha)^{t}\underline{S}+\frac{1+\mathrm{\nu}}{E}\underline{S}^{I}\right]\,\,.\label{eq:53}\end{gather}
-
-\end_inset
-
-In this case it is possible to solve directly for the deviatoric stresses,
- and the effective stress function approach is not needed.
- To obtain the total stress, we simply use
-\begin_inset Formula \begin{gather}
-^{t+\Delta t}\sigma_{ij}=\phantom{}^{t+\Delta t}S_{ij}+\frac{\mathit{1}}{a_{m}}\left(\,^{t+\Delta t}\theta-\theta^{I}\right)\delta_{ij}+P^{I}\delta_{ij}\,\,.\label{eq:54}\end{gather}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-It is necessary to provide a relationship for the viscoelastic tangent material
- matrix relating stress and strain.
+To form the global stiffness matrix, it is necessary to provide a relationship
+ for the viscoelastic tangent material matrix relating stress and strain.
  If we use vectors composed of the stresses and tensor strains, this relationshi
 p is
-\begin_inset Formula \begin{gather}
-\underline{C}^{VE}=\frac{\partial\phantom{}^{t+\Delta t}\overrightarrow{\sigma}}{\partial\phantom{}^{t+\Delta t}\overrightarrow{\epsilon}}\,\,.\label{eq:55}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+\underline{C}^{VE}=\frac{\partial\phantom{}^{t+\Delta t}\overrightarrow{\sigma}}{\partial\phantom{}^{t+\Delta t}\overrightarrow{\epsilon}}\,\,.\label{eq:55}
+\end{gather}
 
 \end_inset
 
 In terms of the vectors, we have
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 ^{t+\Delta t}\sigma_{i}=\phantom{}^{t+\Delta t}S_{i}+\phantom{}^{t+\Delta t}P\,\,;\,\,\, i=1,2,3\label{eq:56}\\
-^{t+\Delta t}\sigma_{i}=\phantom{}^{t+\Delta t}S_{i}\,;\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, i=4,5,6\nonumber \end{gather}
+^{t+\Delta t}\sigma_{i}=\phantom{}^{t+\Delta t}S_{i}\,;\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, i=4,5,6\nonumber 
+\end{gather}
 
 \end_inset
 
 Therefore,
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 C_{ij}^{VE}=C_{ij}^{\prime}+\frac{1}{3a_{m}}\,;\,\,1\leq i,j\leq3\,\,.\label{eq:57}\\
-C_{ij}^{VE}=C_{ij}^{\prime}\,;\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\textrm{otherwise}\nonumber \end{gather}
+C_{ij}^{VE}=C_{ij}^{\prime}\,;\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\textrm{otherwise}\nonumber 
+\end{gather}
 
 \end_inset
 
 Using the chain rule,
-\begin_inset Formula \begin{gather}
-\frac{\partial\phantom{}^{t+\Delta t}S_{i}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}=\frac{\partial\phantom{}^{t+\Delta t}S_{i}}{\partial\phantom{}^{t+\Delta t}e_{k}^{\prime}}\frac{\partial\phantom{}^{t+\Delta t}e_{k}^{\prime}}{\partial\phantom{}^{t+\Delta t}e_{l}}\frac{\partial\phantom{}^{t+\Delta t}e_{l}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}\,\,.\label{eq:58}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+C_{ij}^{\prime}=\frac{\partial\phantom{}^{t+\Delta t}S_{i}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}=\frac{\partial\phantom{}^{t+\Delta t}S_{i}}{\partial\phantom{}^{t+\Delta t}e_{k}^{\prime}}\frac{\partial\phantom{}^{t+\Delta t}e_{k}^{\prime}}{\partial\phantom{}^{t+\Delta t}e_{l}}\frac{\partial\phantom{}^{t+\Delta t}e_{l}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}\,\,.\label{eq:58}
+\end{gather}
 
 \end_inset
 
@@ -2613,8 +3301,10 @@
 \end_inset
 
 , we obtain
-\begin_inset Formula \begin{gather}
-\frac{\partial\phantom{}^{t+\Delta t}e_{k}^{\prime}}{\partial\phantom{}^{t+\Delta t}e_{l}}=\delta_{kl}\,\,,\label{eq:59}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+\frac{\partial\phantom{}^{t+\Delta t}e_{k}^{\prime}}{\partial\phantom{}^{t+\Delta t}e_{l}}=\delta_{kl}\,\,,\label{eq:59}
+\end{gather}
 
 \end_inset
 
@@ -2626,85 +3316,34 @@
 \end_inset
 
 :
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \frac{\partial\phantom{}^{t+\Delta t}e_{l}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}=\frac{1}{3}\left[\begin{array}{ccc}
 2 & -1 & -1\\
 -1 & 2 & -1\\
--1 & -1 & 2\end{array}\right];\,\,1\leq l,j\leq3\label{eq:60}\\
-\frac{\partial\phantom{}^{t+\Delta t}e_{l}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}=\delta_{lj}\,\,;\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\textrm{otherwise.}\nonumber \end{gather}
+-1 & -1 & 2
+\end{array}\right];\,\,1\leq l,j\leq3\label{eq:60}\\
+\frac{\partial\phantom{}^{t+\Delta t}e_{l}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}=\delta_{lj}\,\,;\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\textrm{otherwise.}\nonumber 
+\end{gather}
 
 \end_inset
 
-Finally, from Equation 
+The first term of Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "eq:53"
+reference "eq:58"
 
 \end_inset
 
-, we have
-\begin_inset Formula \begin{gather}
-\frac{\partial\phantom{}^{t+\Delta t}S_{i}}{\partial\phantom{}^{t+\Delta t}e_{k}^{\prime}}=\frac{\delta_{ik}}{a_{E}+\frac{\alpha\Delta t}{2\eta}}\,\,.\label{eq:61}\end{gather}
-
-\end_inset
-
-From Equation 
+ depends on the particular constitutive relationship, and the complete tangent
+ matrix may then be obtained from Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:57"
 
 \end_inset
 
-, the final material matrix relating stress and tensor strain is
-\begin_inset Formula \begin{gather}
-C_{ij}^{VE}=\frac{1}{3a_{m}}\left[\begin{array}{cccccc}
-1 & 1 & 1 & 0 & 0 & 0\\
-1 & 1 & 1 & 0 & 0 & 0\\
-1 & 1 & 1 & 0 & 0 & 0\\
-0 & 0 & 0 & 0 & 0 & 0\\
-0 & 0 & 0 & 0 & 0 & 0\\
-0 & 0 & 0 & 0 & 0 & 0\end{array}\right]+\frac{1}{3\left(a_{E}+\frac{\alpha\Delta t}{2\eta}\right)}\left[\begin{array}{cccccc}
-2 & -1 & -1 & 0 & 0 & 0\\
--1 & 2 & -1 & 0 & 0 & 0\\
--1 & -1 & 2 & 0 & 0 & 0\\
-0 & 0 & 0 & 3 & 0 & 0\\
-0 & 0 & 0 & 0 & 3 & 0\\
-0 & 0 & 0 & 0 & 0 & 3\end{array}\right]\,.\label{eq:62}\end{gather}
-
-\end_inset
-
-Note that the coefficient of the second matrix approaches 
-\begin_inset Formula $E/3(1+\nu)=1/3a_{E}$
-\end_inset
-
- as 
-\begin_inset Formula $\eta$
-\end_inset
-
- goes to infinity.
- To check the results we make sure that the regular elastic constitutive
- matrix is obtained for selected terms in the case where 
-\begin_inset Formula $\eta$
-\end_inset
-
- goes to infinity.
-\begin_inset Formula \begin{gather}
-C_{11}^{E}=\frac{E(1-\nu)}{(1+\nu)(1-2\nu)}\,\,\nonumber \\
-C_{12}^{E}=\frac{E\nu}{(1+\nu)(1-2\nu)}\,.\label{eq:63}\\
-C_{44}^{E}=\frac{E}{1+\nu}\,\,\nonumber \end{gather}
-
-\end_inset
-
-This is consistent with the regular elasticity matrix, and Equation 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "eq:62"
-
-\end_inset
-
- should thus be used when forming the stiffness matrix.
- We do not presently use this formulation in PyLith 1.4, but it may be included
- in future versions.
+.
 \end_layout
 
 \begin_layout Subsubsection
@@ -2729,8 +3368,10 @@
 \end_inset
 
 ):
-\begin_inset Formula \begin{equation}
-\dot{\epsilon}_{11}^{C}=A_{E}\exp\left(\frac{-Q}{RT}\right)\left(\sigma_{1}-\sigma_{3}\right)^{n}=A_{E}\exp\left(\frac{-Q}{RT}\right)\sigma_{d}^{n}\:,\label{eq:64}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\dot{\epsilon}_{11}^{C}=A_{E}\exp\left(\frac{-Q}{RT}\right)\left(\sigma_{1}-\sigma_{3}\right)^{n}=A_{E}\exp\left(\frac{-Q}{RT}\right)\sigma_{d}^{n}\:,\label{eq:64}
+\end{equation}
 
 \end_inset
 
@@ -2783,8 +3424,10 @@
 ).
  The flow law may then be generalized in terms of the deviatoric stress
  and strain rate invariants:
-\begin_inset Formula \begin{equation}
-\sqrt{\dot{L}_{2}^{\prime C}}=A_{M}\exp\left(\frac{-Q}{RT}\right)\sqrt{J_{2}^{\prime}}^{n}\:,\label{eq:65}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\sqrt{\dot{L}_{2}^{\prime C}}=A_{M}\exp\left(\frac{-Q}{RT}\right)\sqrt{J_{2}^{\prime}}^{n}\:,\label{eq:65}
+\end{equation}
 
 \end_inset
 
@@ -2796,12 +3439,14 @@
  In practice, it is necessary to compute each strain rate component using
  the flow law.
  This is accomplished using:
-\begin_inset Formula \begin{equation}
-\dot{e}_{ij}^{C}=A_{M}\exp\left(\frac{-Q}{RT}\right)\sqrt{J_{2}^{\prime}}^{n-1}S_{ij}\:.\label{eq:66}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\dot{e}_{ij}^{C}=A_{M}\exp\left(\frac{-Q}{RT}\right)\sqrt{J_{2}^{\prime}}^{n-1}S_{ij}\:.\label{eq:66}
+\end{equation}
 
 \end_inset
 
-Note that equations 
+Note that Equations 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:65"
@@ -2815,14 +3460,14 @@
 
 \end_inset
 
- are consistent, since equation 
+ are consistent, since Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:65"
 
 \end_inset
 
- may be obtained from equation 
+ may be obtained from Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:66"
@@ -2839,10 +3484,12 @@
 \end_inset
 
 , we have
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \sigma_{2}=\sigma_{3}=P_{c}\nonumber \\
 \sigma_{1}=\sigma_{1}^{app}\label{eq:67}\\
-P=\frac{\sigma_{1}+2P_{c}}{3}\:,\nonumber \end{gather}
+P=\frac{\sigma_{1}+2P_{c}}{3}\:,\nonumber 
+\end{gather}
 
 \end_inset
 
@@ -2852,22 +3499,28 @@
 
  is the applied load.
  The deviatoric stresses are then:
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 S_{1}=\frac{2}{3}\left(\sigma_{1}-P_{c}\right)\nonumber \\
-S_{2}=S_{3}=-\frac{1}{3}\left(\sigma_{1}-P_{c}\right)\:.\label{eq:68}\end{gather}
+S_{2}=S_{3}=-\frac{1}{3}\left(\sigma_{1}-P_{c}\right)\:.\label{eq:68}
+\end{gather}
 
 \end_inset
 
 This gives
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 S_{1}=\frac{2}{3}\left(\sigma_{1}-\sigma_{3}\right)=\frac{2}{3}\sigma_{d}\nonumber \\
-S_{2}=S_{3}=-\frac{1}{3}\left(\sigma_{1}-\sigma_{3}\right)=-\frac{1}{3}\sigma_{d}\:.\label{eq:69}\end{gather}
+S_{2}=S_{3}=-\frac{1}{3}\left(\sigma_{1}-\sigma_{3}\right)=-\frac{1}{3}\sigma_{d}\:.\label{eq:69}
+\end{gather}
 
 \end_inset
 
 In terms of the second deviatoric stress invariant, we then have
-\begin_inset Formula \begin{equation}
-\sqrt{J_{2}^{\prime}}=\frac{\sigma_{d}}{\sqrt{3}}\:.\label{eq:70}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\sqrt{J_{2}^{\prime}}=\frac{\sigma_{d}}{\sqrt{3}}\:.\label{eq:70}
+\end{equation}
 
 \end_inset
 
@@ -2877,19 +3530,23 @@
 \begin_layout Standard
 Under the assumption that the creep measured in the laboratory experiments
  is incompressible, we have
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \dot{e}_{11}^{C}=\dot{\epsilon}_{11}\nonumber \\
-\dot{e}_{22}^{C}=\dot{e}_{33}^{C}=-\frac{1}{2}\dot{\epsilon}_{11}\:.\label{eq:71}\end{gather}
+\dot{e}_{22}^{C}=\dot{e}_{33}^{C}=-\frac{1}{2}\dot{\epsilon}_{11}\:.\label{eq:71}
+\end{gather}
 
 \end_inset
 
 In terms of the second deviatoric strain rate invariant we then have
-\begin_inset Formula \begin{equation}
-\sqrt{\dot{L}_{2}^{\prime C}}=\frac{\sqrt{3}}{2}\dot{\epsilon}_{11}\:.\label{eq:72}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\sqrt{\dot{L}_{2}^{\prime C}}=\frac{\sqrt{3}}{2}\dot{\epsilon}_{11}\:.\label{eq:72}
+\end{equation}
 
 \end_inset
 
-Substituting equations 
+Substituting Equations 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:70"
@@ -2903,7 +3560,7 @@
 
 \end_inset
 
- into equation 
+ into Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:64"
@@ -2911,14 +3568,18 @@
 \end_inset
 
 , we obtain
-\begin_inset Formula \begin{equation}
-\sqrt{\dot{L}_{2}^{\prime C}}=A_{E}\frac{\sqrt{3}^{n+1}}{2}\exp\left(\frac{-Q}{RT}\right)\sqrt{J_{2}^{\prime}}^{n}\:,\label{eq:73}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\sqrt{\dot{L}_{2}^{\prime C}}=A_{E}\frac{\sqrt{3}^{n+1}}{2}\exp\left(\frac{-Q}{RT}\right)\sqrt{J_{2}^{\prime}}^{n}\:,\label{eq:73}
+\end{equation}
 
 \end_inset
 
 and therefore,
-\begin_inset Formula \begin{equation}
-A_{M}=\frac{\sqrt{3}^{n+1}}{2}A_{E}\:.\label{eq:74}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+A_{M}=\frac{\sqrt{3}^{n+1}}{2}A_{E}\:.\label{eq:74}
+\end{equation}
 
 \end_inset
 
@@ -2926,8 +3587,10 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \begin{equation}
-A_{T}=A_{M}\exp\left(\frac{-Q}{RT}\right)=\frac{\sqrt{3}^{n+1}}{2}A_{E}\exp\left(\frac{-Q}{RT}\right)\:.\label{eq:75}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+A_{T}=A_{M}\exp\left(\frac{-Q}{RT}\right)=\frac{\sqrt{3}^{n+1}}{2}A_{E}\exp\left(\frac{-Q}{RT}\right)\:.\label{eq:75}
+\end{equation}
 
 \end_inset
 
@@ -2961,8 +3624,10 @@
 \end_inset
 
 ): 
-\begin_inset Formula \begin{equation}
-\frac{\sqrt{\dot{L}_{2}^{\prime C}}}{\dot{e}_{0}}=\left(\frac{\sqrt{J_{2}^{\prime}}}{S_{0}}\right)^{n},\label{eq:76}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\frac{\sqrt{\dot{L}_{2}^{\prime C}}}{\dot{e}_{0}}=\left(\frac{\sqrt{J_{2}^{\prime}}}{S_{0}}\right)^{n},\label{eq:76}
+\end{equation}
 
 \end_inset
 
@@ -2976,8 +3641,10 @@
 
  are reference values for the strain rate and deviatoric stress.
  This means that
-\begin_inset Formula \begin{equation}
-\frac{\dot{e}_{0}}{S_{0}^{n}}=A_{T}\:.\label{eq:77}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\frac{\dot{e}_{0}}{S_{0}^{n}}=A_{T}\:.\label{eq:77}
+\end{equation}
 
 \end_inset
 
@@ -3019,7 +3686,7 @@
 \begin_inset Formula $A_{T}$
 \end_inset
 
- using 
+ using Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:75"
@@ -3042,8 +3709,10 @@
 \end_inset
 
  as
-\begin_inset Formula \begin{equation}
-S_{0}=\left(\frac{\dot{e}_{0}}{A_{T}}\right)^{\frac{1}{n}}\:.\label{eq:78}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+S_{0}=\left(\frac{\dot{e}_{0}}{A_{T}}\right)^{\frac{1}{n}}\:.\label{eq:78}
+\end{equation}
 
 \end_inset
 
@@ -3080,7 +3749,7 @@
 .
  The user then specifies either a reference stress or a reference strain
  rate, and a database suitable for PyLith is generated.
- This utility is described more fully in 
+ This utility is described more fully in Section 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "sub:Tutorial-Step08-Power-law"
@@ -3092,20 +3761,26 @@
 
 \begin_layout Standard
 The flow law in component form is 
-\begin_inset Formula \begin{equation}
-\dot{e}_{ij}^{C}=\frac{\dot{e}_{0}\sqrt{J_{2}^{\prime}}^{n-1}S_{ij}}{S_{0}^{n}}\:,\label{eq:79}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\dot{e}_{ij}^{C}=\frac{\dot{e}_{0}\sqrt{J_{2}^{\prime}}^{n-1}S_{ij}}{S_{0}^{n}}\:,\label{eq:79}
+\end{equation}
 
 \end_inset
 
 and the creep strain increment is approximated as
-\begin_inset Formula \begin{gather}
-\underline{\Delta e}^{C}\approx\frac{\Delta t\dot{e}_{0}\sqrt{^{\tau}J_{2}^{\prime}}^{n-1}\,^{\tau}\underline{S}}{S_{0}^{n}}=\frac{\Delta t\dot{e}_{0}\phantom{}^{\tau}\overline{\sigma}^{n-1}\,^{\tau}\underline{S}}{\sqrt{3}S_{0}^{n}}\,.\label{eq:80}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+\underline{\Delta e}^{C}\approx\frac{\Delta t\dot{e}_{0}\sqrt{^{\tau}J_{2}^{\prime}}^{n-1}\,^{\tau}\underline{S}}{S_{0}^{n}}=\frac{\Delta t\dot{e}_{0}\phantom{}^{\tau}\overline{\sigma}^{n-1}\,^{\tau}\underline{S}}{\sqrt{3}S_{0}^{n}}\,.\label{eq:80}
+\end{gather}
 
 \end_inset
 
  Therefore,
-\begin_inset Formula \begin{gather}
-\Delta\bar{e}^{C}\approx\frac{2\Delta t\dot{e}_{0}\sqrt{^{\tau}J_{2}^{\prime}}^{n}}{\sqrt{3}S_{0}^{n}}=\frac{2\Delta t\dot{e}_{0}\phantom{}^{\tau}\overline{\sigma}^{n}}{\sqrt{3}^{n+1}S_{0}^{n}}\,,\,\textrm{and}\,^{\tau}\gamma=\frac{\dot{e}_{0}\sqrt{^{\tau}J_{2}^{\prime}}^{n-1}}{S_{0}^{n}}\,.\label{eq:81}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+\Delta\bar{e}^{C}\approx\frac{2\Delta t\dot{e}_{0}\sqrt{^{\tau}J_{2}^{\prime}}^{n}}{\sqrt{3}S_{0}^{n}}=\frac{2\Delta t\dot{e}_{0}\phantom{}^{\tau}\overline{\sigma}^{n}}{\sqrt{3}^{n+1}S_{0}^{n}}\,,\,\textrm{and}\,^{\tau}\gamma=\frac{\dot{e}_{0}\sqrt{^{\tau}J_{2}^{\prime}}^{n-1}}{S_{0}^{n}}\,.\label{eq:81}
+\end{gather}
 
 \end_inset
 
@@ -3138,29 +3813,37 @@
 \end_inset
 
 , we obtain:
-\begin_inset Formula \begin{gather}
-^{t+\Delta t}\underline{S}=\frac{1}{a_{E}}\left\{ ^{t+\Delta t}\underline{e}^{\prime}-\Delta t\phantom{}^{\tau}\gamma\left[\left(1-\alpha\right)^{t}\underline{S}+\alpha{}^{t+\Delta t}\underline{S}\right]\right\} +\underline{S}^{I}\,,\label{eq:82}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+^{t+\Delta t}\underline{S}=\frac{1}{a_{E}}\left\{ ^{t+\Delta t}\underline{e}^{\prime}-\Delta t\phantom{}^{\tau}\gamma\left[\left(1-\alpha\right)^{t}\underline{S}+\alpha{}^{t+\Delta t}\underline{S}\right]\right\} +\underline{S}^{I}\,,\label{eq:82}
+\end{gather}
 
 \end_inset
 
 which may be rewritten:
-\begin_inset Formula \begin{gather}
-^{t+\Delta t}\underline{S}\left(a_{E}+\alpha\Delta t\phantom{}^{\tau}\gamma\right)={}^{t+\Delta t}\underline{e}^{\prime}-\Delta t\phantom{}^{\tau}\gamma\left(1-\alpha\right)^{t}\underline{S}+a_{E}\underline{S}^{I}\,.\label{eq:83}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+^{t+\Delta t}\underline{S}\left(a_{E}+\alpha\Delta t\phantom{}^{\tau}\gamma\right)={}^{t+\Delta t}\underline{e}^{\prime}-\Delta t\phantom{}^{\tau}\gamma\left(1-\alpha\right)^{t}\underline{S}+a_{E}\underline{S}^{I}\,.\label{eq:83}
+\end{gather}
 
 \end_inset
 
 Taking the scalar inner product of both sides we obtain:
-\begin_inset Formula \begin{gather}
-a^{2}\,\,{}^{t+\Delta t}J_{2}^{\prime}-b+c\phantom{}^{\tau}\gamma-d^{2}\,^{\tau}\gamma^{2}=F=0\,,\label{eq:84}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+a^{2}\,\,{}^{t+\Delta t}J_{2}^{\prime}-b+c\phantom{}^{\tau}\gamma-d^{2}\,^{\tau}\gamma^{2}=F=0\,,\label{eq:84}
+\end{gather}
 
 \end_inset
 
 where
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 a=a_{E}+\alpha\Delta t\phantom{}^{\tau}\gamma\,\,\nonumber \\
 b=\frac{1}{2}{}^{t+\Delta t}\underline{e}^{\prime}\cdot{}^{t+\Delta t}\underline{e}^{\prime}+a_{E}{}^{t+\Delta t}\underline{e}^{\prime}\cdot\underline{S}^{I}+a_{E}^{2}\,^{I}J_{2}^{\prime}\,.\label{eq:85}\\
 c=\Delta t\left(1-\alpha\right){}^{t+\Delta t}\underline{e}^{\prime}\cdot^{t}\underline{S}+\Delta t\left(1-\alpha\right)a_{E}\,^{t}\underline{S}\cdot\underline{S}^{I}\,\,\nonumber \\
-d=\Delta t\left(1-\alpha\right)\sqrt{^{t}J_{2}^{\prime}}\,\,\nonumber \end{gather}
+d=\Delta t\left(1-\alpha\right)\sqrt{^{t}J_{2}^{\prime}}\,\,\nonumber 
+\end{gather}
 
 \end_inset
 
@@ -3199,10 +3882,11 @@
 
 \end_inset
 
-, and the total stresses may be found from Equation 
+, and the total stresses may be found by combining the deviatoric and volumetric
+ components from Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "eq:54"
+reference "eq:42"
 
 \end_inset
 
@@ -3210,15 +3894,15 @@
 \end_layout
 
 \begin_layout Standard
-To compute the tangent stress-strain relation, we proceed as for the linear
- case, but the evaluation of the first derivative in Equation 
+To compute the tangent stress-strain relation, we need to compute the first
+ term in Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:58"
 
 \end_inset
 
- is more complicated.
+.
  We begin by rewriting Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
@@ -3227,8 +3911,10 @@
 \end_inset
 
  as
-\begin_inset Formula \begin{gather}
-F=^{t+\Delta t}S_{i}\left(a_{E}+\alpha\Delta t\phantom{}^{\tau}\gamma\right)-\phantom{}^{t+\Delta t}e_{i}^{\prime}+\Delta t\phantom{}^{\tau}\gamma\left(1-\alpha\right)^{t}S_{i}-a_{E}S_{i}^{I}=0\:.\label{eq:86}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+F=^{t+\Delta t}S_{i}\left(a_{E}+\alpha\Delta t\phantom{}^{\tau}\gamma\right)-\phantom{}^{t+\Delta t}e_{i}^{\prime}+\Delta t\phantom{}^{\tau}\gamma\left(1-\alpha\right)^{t}S_{i}-a_{E}S_{i}^{I}=0\:.\label{eq:86}
+\end{gather}
 
 \end_inset
 
@@ -3237,8 +3923,10 @@
 \end_inset
 
  is
-\begin_inset Formula \begin{gather}
-\frac{\partial F}{\partial\phantom{}^{t+\Delta t}e_{k}^{\prime}}=-\delta_{ik}\:,\label{eq:87}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+\frac{\partial F}{\partial\phantom{}^{t+\Delta t}e_{k}^{\prime}}=-\delta_{ik}\:,\label{eq:87}
+\end{gather}
 
 \end_inset
 
@@ -3247,8 +3935,10 @@
 \end_inset
 
  is
-\begin_inset Formula \begin{gather}
-\frac{\partial F}{\partial\phantom{}^{t+\Delta t}S_{i}}=a_{E}+\alpha\Delta t\phantom{}^{\tau}\gamma+\frac{\partial\phantom{}^{\tau}\gamma}{\partial\phantom{}^{t+\Delta t}S_{i}}\Delta t\left[\alpha\phantom{}^{t+\Delta t}S_{i}+\left(1-\alpha\right)^{t}S_{i}\right]\:.\label{eq:88}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+\frac{\partial F}{\partial\phantom{}^{t+\Delta t}S_{i}}=a_{E}+\alpha\Delta t\phantom{}^{\tau}\gamma+\frac{\partial\phantom{}^{\tau}\gamma}{\partial\phantom{}^{t+\Delta t}S_{i}}\Delta t\left[\alpha\phantom{}^{t+\Delta t}S_{i}+\left(1-\alpha\right)^{t}S_{i}\right]\:.\label{eq:88}
+\end{gather}
 
 \end_inset
 
@@ -3267,22 +3957,28 @@
 \end_inset
 
 ,
-\begin_inset Formula \begin{gather}
-^{\tau}\gamma=\frac{\dot{e}_{0}}{S_{0}^{n}}\left[\alpha\sqrt{^{t+\Delta t}J_{2}^{\prime}}+\left(1-\alpha\right)\sqrt{^{t}J_{2}^{\prime}}\right]^{n-1}\:.\label{eq:89}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+^{\tau}\gamma=\frac{\dot{e}_{0}}{S_{0}^{n}}\left[\alpha\sqrt{^{t+\Delta t}J_{2}^{\prime}}+\left(1-\alpha\right)\sqrt{^{t}J_{2}^{\prime}}\right]^{n-1}\:.\label{eq:89}
+\end{gather}
 
 \end_inset
 
 Then
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 \frac{\partial\phantom{}^{\tau}\gamma}{\partial{}^{t+\Delta t}S_{i}}=\frac{\partial\phantom{}^{\tau}\gamma}{\partial\sqrt{^{t+\Delta t}J_{2}^{\prime}}}\frac{\partial\sqrt{^{t+\Delta t}J_{2}^{\prime}}}{\partial\phantom{}^{t+\Delta t}S_{l}}\label{eq:90}\\
-=\frac{\dot{e}_{0}\alpha\left(n-1\right)\sqrt{^{\tau}J_{2}^{\prime}}^{n-2}{}^{t+\Delta t}T_{i}}{2S_{0}^{n}}\,,\nonumber \end{gather}
+=\frac{\dot{e}_{0}\alpha\left(n-1\right)\sqrt{^{\tau}J_{2}^{\prime}}^{n-2}{}^{t+\Delta t}T_{i}}{2S_{0}^{n}}\,,\nonumber 
+\end{gather}
 
 \end_inset
 
 Where
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 ^{t+\Delta t}T_{i}=\phantom{}^{t+\Delta t}S_{i}\:;\:\:1\leq i\leq3\label{eq:91}\\
-^{t+\Delta t}T_{i}=2\phantom{}^{t+\Delta t}S_{i}\:;\:\:\textrm{otherwise.}\nonumber \end{gather}
+^{t+\Delta t}T_{i}=2\phantom{}^{t+\Delta t}S_{i}\:;\:\:\textrm{otherwise.}\nonumber 
+\end{gather}
 
 \end_inset
 
@@ -3308,8 +4004,10 @@
 \end_inset
 
 , and the quotient rule for derivatives of an implicit function,
-\begin_inset Formula \begin{gather}
-\frac{\partial\phantom{}^{t+\Delta t}S_{i}}{\partial{}^{t+\Delta t}e_{k}^{\prime}}=\frac{\delta_{ik}}{a_{E}+\alpha\Delta t\left[^{\tau}\gamma+\frac{\dot{e}_{0}{}^{\tau}S_{i}\left(n-1\right){}^{t+\Delta t}T_{i}\sqrt{^{\tau}J_{2}^{\prime}}^{n-2}}{2\sqrt{^{t+\Delta t}J_{2}^{\prime}}S_{0}^{n}}\right]}\,.\label{eq:92}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+\frac{\partial\phantom{}^{t+\Delta t}S_{i}}{\partial{}^{t+\Delta t}e_{k}^{\prime}}=\frac{\delta_{ik}}{a_{E}+\alpha\Delta t\left[^{\tau}\gamma+\frac{\dot{e}_{0}{}^{\tau}S_{i}\left(n-1\right){}^{t+\Delta t}T_{i}\sqrt{^{\tau}J_{2}^{\prime}}^{n-2}}{2\sqrt{^{t+\Delta t}J_{2}^{\prime}}S_{0}^{n}}\right]}\,.\label{eq:92}
+\end{gather}
 
 \end_inset
 
@@ -3317,10 +4015,10 @@
 \begin_inset Formula $\left(n=1\right)$
 \end_inset
 
-, this equation is identical to Equation 
+, this equation is identical to the linear formulation in Section 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "eq:61"
+reference "sub:Effective-Stress-Formulation-Maxwell"
 
 \end_inset
 
@@ -3344,20 +4042,24 @@
 \end_inset
 
 ,
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 C_{ij}^{VE}=\frac{1}{3a_{m}}\left[\begin{array}{cccccc}
 1 & 1 & 1 & 0 & 0 & 0\\
 1 & 1 & 1 & 0 & 0 & 0\\
 1 & 1 & 1 & 0 & 0 & 0\\
 0 & 0 & 0 & 0 & 0 & 0\\
 0 & 0 & 0 & 0 & 0 & 0\\
-0 & 0 & 0 & 0 & 0 & 0\end{array}\right]+\frac{1}{3}\frac{\partial{}^{t+\Delta t}S_{i}}{\partial{}^{t+\Delta t}e_{k}^{\prime}}\left[\begin{array}{cccccc}
+0 & 0 & 0 & 0 & 0 & 0
+\end{array}\right]+\frac{1}{3}\frac{\partial{}^{t+\Delta t}S_{i}}{\partial{}^{t+\Delta t}e_{k}^{\prime}}\left[\begin{array}{cccccc}
 2 & -1 & -1 & 0 & 0 & 0\\
 -1 & 2 & -1 & 0 & 0 & 0\\
 -1 & -1 & 2 & 0 & 0 & 0\\
 0 & 0 & 0 & 3 & 0 & 0\\
 0 & 0 & 0 & 0 & 3 & 0\\
-0 & 0 & 0 & 0 & 0 & 3\end{array}\right]\,.\label{eq:93}\end{gather}
+0 & 0 & 0 & 0 & 0 & 3
+\end{array}\right]\,.\label{eq:93}
+\end{gather}
 
 \end_inset
 
@@ -3385,7 +4087,7 @@
 
 \begin_layout Standard
 To compute the zero of the effective stress function using Newton's method,
- we require the derivative of equation 
+ we require the derivative of Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:84"
@@ -3393,8 +4095,10 @@
 \end_inset
 
 , which may be written:
-\begin_inset Formula \begin{gather}
-\frac{\partial F}{\partial\sqrt{^{t+\Delta t}J_{2}^{\prime}}}=2a^{2}\sqrt{^{t+\Delta t}J_{2}^{\prime}}+\frac{\dot{e}_{0}\alpha\left(n-1\right)\sqrt{^{\tau}J_{2}^{\prime}}^{n-2}}{S_{0}^{n}}\left(2a\alpha\Delta t{}^{t+\Delta t}J_{2}^{\prime}+c-2d^{2}\,^{\tau}\gamma\right)\,.\label{eq:94}\end{gather}
+\begin_inset Formula 
+\begin{gather}
+\frac{\partial F}{\partial\sqrt{^{t+\Delta t}J_{2}^{\prime}}}=2a^{2}\sqrt{^{t+\Delta t}J_{2}^{\prime}}+\frac{\dot{e}_{0}\alpha\left(n-1\right)\sqrt{^{\tau}J_{2}^{\prime}}^{n-2}}{S_{0}^{n}}\left(2a\alpha\Delta t{}^{t+\Delta t}J_{2}^{\prime}+c-2d^{2}\,^{\tau}\gamma\right)\,.\label{eq:94}
+\end{gather}
 
 \end_inset
 
@@ -3402,12 +4106,6 @@
 \end_layout
 
 \begin_layout Standard
-The effective stress formulation is the method used in PyLith 1.4 for power-law
- viscoelasticity.
- We may add additional formulations in the future.
-\end_layout
-
-\begin_layout Standard
 \noindent
 \align center
 \begin_inset Float table
@@ -3424,471 +4122,6 @@
 \begin_layout Plain Layout
 \begin_inset CommandInset label
 LatexCommand label
-name "tab:linearMaxwell"
-
-\end_inset
-
-Values in spatial database used as parameters in the linear Maxwell viscoelastic
- material constitutive model.
-\end_layout
-
-\end_inset
-
-
-\begin_inset Tabular
-<lyxtabular version="3" rows="5" columns="2">
-<features>
-<column alignment="center" valignment="middle" width="0.85in">
-<column alignment="center" valignment="middle" width="2.47in">
-<row>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\series bold
-Parameter
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\align center
-
-\series bold
-Name in Spatial Database
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $v_{p}$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\family typewriter
-Vp
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $v_{s}$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\family typewriter
-Vs
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $\rho$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\family typewriter
-density
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $\eta$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\family typewriter
-viscosity
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Float table
-placement H
-wide false
-sideways false
-status open
-
-\begin_layout Plain Layout
-\noindent
-\align center
-\begin_inset Caption
-
-\begin_layout Plain Layout
-\begin_inset CommandInset label
-LatexCommand label
-name "tab:genMaxwell"
-
-\end_inset
-
-Values in spatial database used as parameters in the generalized linear
- Maxwell viscoelastic material constitutive model.
-\end_layout
-
-\end_inset
-
-
-\begin_inset Tabular
-<lyxtabular version="3" rows="10" columns="2">
-<features>
-<column alignment="center" valignment="middle" width="0.85in">
-<column alignment="center" valignment="middle" width="2.47in">
-<row>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\series bold
-Parameter
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\align center
-
-\series bold
-Name in Spatial Database
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $v_{p}$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\family typewriter
-Vp
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $v_{s}$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\family typewriter
-Vs
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $\rho$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\family typewriter
-density
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $\mu_{1}$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\family typewriter
-shear-ratio-1
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $\mu_{2}$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\family typewriter
-shear-ratio-2
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $\mu_{3}$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\family typewriter
-shear-ratio-3
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $\eta_{1}$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\family typewriter
-viscosity-1
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $\eta_{2}$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\family typewriter
-viscosity-2
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-\begin_inset Formula $\eta_{3}$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\family typewriter
-viscosity-3
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Float table
-placement H
-wide false
-sideways false
-status open
-
-\begin_layout Plain Layout
-\noindent
-\align center
-\begin_inset Caption
-
-\begin_layout Plain Layout
-\begin_inset CommandInset label
-LatexCommand label
 name "tab:powerLaw"
 
 \end_inset
@@ -3902,7 +4135,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="7" columns="2">
-<features>
+<features tabularvalignment="middle">
 <column alignment="center" valignment="middle" width="0.85in">
 <column alignment="center" valignment="middle" width="2.47in">
 <row>
@@ -4111,14 +4344,18 @@
 \begin_layout Standard
 The elastoplasticity formulation in PyLith is based on an additive decomposition
  of the total strain into elastic and plastic parts:
-\begin_inset Formula \begin{equation}
-d\epsilon_{ij}=d\epsilon_{ij}^{E}+d\epsilon_{ij}^{P}\:.\label{eq:95}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+d\epsilon_{ij}=d\epsilon_{ij}^{E}+d\epsilon_{ij}^{P}\:.\label{eq:95}
+\end{equation}
 
 \end_inset
 
 The stress increment is then given by
-\begin_inset Formula \begin{equation}
-d\sigma_{ij}=C_{ijrs}^{E}\left(d\epsilon_{rs}-d\epsilon_{rs}^{P}\right)\:,\label{eq:96}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+d\sigma_{ij}=C_{ijrs}^{E}\left(d\epsilon_{rs}-d\epsilon_{rs}^{P}\right)\:,\label{eq:96}
+\end{equation}
 
 \end_inset
 
@@ -4131,8 +4368,10 @@
  We first require a yield condition, which specifies the state of stress
  at which plastic flow initiates.
  This is generally given in the form:
-\begin_inset Formula \begin{equation}
-f\left(\underline{\sigma},k\right)=0\:,\label{eq:97}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+f\left(\underline{\sigma},k\right)=0\:,\label{eq:97}
+\end{equation}
 
 \end_inset
 
@@ -4144,14 +4383,18 @@
  It is then necessary to specify a flow rule, which describes the relationship
  between plastic strain and stress.
  The flow rule is given in the form:
-\begin_inset Formula \begin{equation}
-g\left(\underline{\sigma},k\right)=0\:.\label{eq:98}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+g\left(\underline{\sigma},k\right)=0\:.\label{eq:98}
+\end{equation}
 
 \end_inset
 
 The plastic strain increment is then given as
-\begin_inset Formula \begin{equation}
-d\epsilon_{ij}^{P}=d\lambda\frac{\partial g}{\partial\sigma_{ij}}\:,\label{eq:99}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+d\epsilon_{ij}^{P}=d\lambda\frac{\partial g}{\partial\sigma_{ij}}\:,\label{eq:99}
+\end{equation}
 
 \end_inset
 
@@ -4173,7 +4416,7 @@
 \end_layout
 
 \begin_layout Standard
-To perform the solution, the yield condition (
+To perform the solution, the yield condition (Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:97"
@@ -4212,20 +4455,26 @@
  which allows control over the unreasonable amounts of dilatation that are
  sometimes predicted by the associated model.
  The model is described by the following yield condition:
-\begin_inset Formula \begin{equation}
-f\left(\underline{\sigma},k\right)=\alpha_{f}I_{1}+\sqrt{J_{2}^{\prime}}-\beta\:,\label{eq:100}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+f\left(\underline{\sigma},k\right)=\alpha_{f}I_{1}+\sqrt{J_{2}^{\prime}}-\beta\:,\label{eq:100}
+\end{equation}
 
 \end_inset
 
 where
-\begin_inset Formula \begin{equation}
-\alpha_{f}=\frac{2\sin\phi\left(k\right)}{\sqrt{3}\left(3-\sin\phi\left(k\right)\right)}\:,\label{eq:101}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\alpha_{f}=\frac{2\sin\phi\left(k\right)}{\sqrt{3}\left(3-\sin\phi\left(k\right)\right)}\:,\label{eq:101}
+\end{equation}
 
 \end_inset
 
 and
-\begin_inset Formula \begin{equation}
-\beta=\frac{6\bar{c}\left(k\right)\cos\phi_{0}}{\sqrt{3}\left(3-\sin\phi_{0}\right)}\:.\label{eq:102}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\beta=\frac{6\bar{c}\left(k\right)\cos\phi_{0}}{\sqrt{3}\left(3-\sin\phi_{0}\right)}\:.\label{eq:102}
+\end{equation}
 
 \end_inset
 
@@ -4244,7 +4493,7 @@
 \end_inset
 
 .
- The yield surface defined by equations 
+ The yield surface defined by Equations 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:100"
@@ -4268,14 +4517,18 @@
  represents a circular cone in principal stress space that is coincident
  with the outer apices of the corresponding Mohr-Coulomb yield surface.
  The flow rule is given by:
-\begin_inset Formula \begin{equation}
-g\left(\underline{\sigma},k\right)=\sqrt{J_{2}^{\prime}}+\alpha_{g}I_{1}\:,\label{eq:103}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+g\left(\underline{\sigma},k\right)=\sqrt{J_{2}^{\prime}}+\alpha_{g}I_{1}\:,\label{eq:103}
+\end{equation}
 
 \end_inset
 
 where
-\begin_inset Formula \begin{equation}
-\alpha_{g}=\frac{2\sin\psi(k)}{\sqrt{3}\left(3-\sin\psi\left(k\right)\right)}\:.\label{eq:104}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\alpha_{g}=\frac{2\sin\psi(k)}{\sqrt{3}\left(3-\sin\psi\left(k\right)\right)}\:.\label{eq:104}
+\end{equation}
 
 \end_inset
 
@@ -4289,24 +4542,28 @@
 \begin_layout Standard
 As for the viscoelastic models, it is convenient to separate the deformation
  into deviatoric and volumetric parts:
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 ^{t+\Delta t}S_{ij}=\frac{1}{a_{E}}\left(^{t+\Delta t}e_{ij}-\phantom{}^{t+\Delta t}e_{ij}^{P}-e_{ij}^{I}\right)+S_{ij}^{I}=\frac{1}{a_{E}}\left(^{t+\Delta t}e_{ij}^{\prime}-\Delta e_{ij}^{P}\right)+S_{ij}^{I}\label{eq:105}\\
-^{t+\Delta t}P=\frac{1}{a_{m}}\left(^{t+\Delta t}\theta-\phantom{}^{t+\Delta t}\theta^{P}-\theta^{I}\right)+P^{I}=\frac{1}{a_{m}}\left(^{t+\Delta t}\theta^{\prime}-\Delta\theta^{P}\right)+P^{I}\:,\nonumber \end{gather}
+^{t+\Delta t}P=\frac{1}{a_{m}}\left(^{t+\Delta t}\theta-\phantom{}^{t+\Delta t}\theta^{P}-\theta^{I}\right)+P^{I}=\frac{1}{a_{m}}\left(^{t+\Delta t}\theta^{\prime}-\Delta\theta^{P}\right)+P^{I}\:,\nonumber 
+\end{gather}
 
 \end_inset
 
 where
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 ^{t+\Delta t}e_{ij}^{\prime}=\phantom{}^{t+\Delta t}e_{ij}-\phantom{}^{t}e_{ij}^{P}-e_{ij}^{I}\nonumber \\
 \Delta e_{ij}^{P}=\phantom{}^{t+\Delta t}e_{ij}^{P}-\phantom{}^{t}e_{ij}^{P}\nonumber \\
 ^{t+\Delta t}\theta^{\prime}=\phantom{}^{t+\Delta t}\theta-\phantom{}^{t}\theta^{P}-\theta^{I}\nonumber \\
-\Delta\theta^{P}=\phantom{}^{t+\Delta t}\theta^{P}-\phantom{}^{t}\theta^{P}\:.\label{eq:106}\end{gather}
+\Delta\theta^{P}=\phantom{}^{t+\Delta t}\theta^{P}-\phantom{}^{t}\theta^{P}\:.\label{eq:106}
+\end{gather}
 
 \end_inset
 
 Since the plasticity is pressure-dependent, there are volumetric plastic
  strains, unlike the viscous strains in the previous section.
- From equation 
+ From Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:99"
@@ -4314,20 +4571,26 @@
 \end_inset
 
 , the plastic strain increment is
-\begin_inset Formula \begin{equation}
-\Delta\epsilon_{ij}^{P}=\lambda\frac{\partial\phantom{}^{t+\Delta t}g}{\partial\phantom{}^{t+\Delta t}\sigma_{ij}}=\lambda\alpha_{g}\delta_{ij}+\lambda\frac{^{t+\Delta t}S_{ij}}{2\sqrt{^{t+\Delta t}J_{2}^{\prime}}}\:.\label{eq:107}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\Delta\epsilon_{ij}^{P}=\lambda\frac{\partial\phantom{}^{t+\Delta t}g}{\partial\phantom{}^{t+\Delta t}\sigma_{ij}}=\lambda\alpha_{g}\delta_{ij}+\lambda\frac{^{t+\Delta t}S_{ij}}{2\sqrt{^{t+\Delta t}J_{2}^{\prime}}}\:.\label{eq:107}
+\end{equation}
 
 \end_inset
 
 The volumetric part is
-\begin_inset Formula \begin{equation}
-\Delta\theta^{P}=\frac{1}{3}\Delta\epsilon_{ii}^{P}=\lambda\alpha_{g}\:,\label{eq:108}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\Delta\theta^{P}=\frac{1}{3}\Delta\epsilon_{ii}^{P}=\lambda\alpha_{g}\:,\label{eq:108}
+\end{equation}
 
 \end_inset
 
 and the deviatoric part is
-\begin_inset Formula \begin{equation}
-\Delta e_{ij}^{P}=\Delta\epsilon_{ij}^{P}-\Delta\epsilon_{m}^{P}\delta_{ij}=\lambda\frac{^{t+\Delta t}S_{ij}}{2\sqrt{^{t+\Delta t}J_{2}^{\prime}}}\:.\label{eq:109}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\Delta e_{ij}^{P}=\Delta\epsilon_{ij}^{P}-\Delta\epsilon_{m}^{P}\delta_{ij}=\lambda\frac{^{t+\Delta t}S_{ij}}{2\sqrt{^{t+\Delta t}J_{2}^{\prime}}}\:.\label{eq:109}
+\end{equation}
 
 \end_inset
 
@@ -4359,7 +4622,7 @@
 \family typewriter
 dilatation-angle
 \family default
- in
+ in Table 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "tab:druckerPrager"
@@ -4378,7 +4641,7 @@
 \begin_inset Formula $\psi$
 \end_inset
 
- in equations 
+ in Equations 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:101"
@@ -4412,7 +4675,7 @@
 \begin_inset Formula $\alpha_{g}$
 \end_inset
 
- (alpha-flow), as shown in 
+ (alpha-flow), as shown in Table 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "tab:material-model-output"
@@ -4428,14 +4691,14 @@
 \begin_inset Formula $\lambda$
 \end_inset
 
- by substituting 
+ by substituting Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:109"
 
 \end_inset
 
- into equation 
+ into Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:105"
@@ -4443,24 +4706,30 @@
 \end_inset
 
  and taking the scalar product of both sides:
-\begin_inset Formula \begin{equation}
-\lambda=\sqrt{2}\,\phantom{}^{t+\Delta t}d-2a_{E}\sqrt{^{t+\Delta t}J_{2}^{\prime}}\:,\label{eq:110}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\lambda=\sqrt{2}\,\phantom{}^{t+\Delta t}d-2a_{E}\sqrt{^{t+\Delta t}J_{2}^{\prime}}\:,\label{eq:110}
+\end{equation}
 
 \end_inset
 
 where
-\begin_inset Formula \begin{equation}
-^{t+\Delta t}d^{2}=2a_{E}^{2}J_{2}^{\prime I}+2a_{E}S_{ij}^{I}\,\phantom{}^{t+\Delta t}e_{ij}^{\prime}+\phantom{}^{t+\Delta t}e_{ij}^{\prime}\,\phantom{}^{t+\Delta t}e_{ij}^{\prime}\:.\label{eq:111}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+^{t+\Delta t}d^{2}=2a_{E}^{2}J_{2}^{\prime I}+2a_{E}S_{ij}^{I}\,\phantom{}^{t+\Delta t}e_{ij}^{\prime}+\phantom{}^{t+\Delta t}e_{ij}^{\prime}\,\phantom{}^{t+\Delta t}e_{ij}^{\prime}\:.\label{eq:111}
+\end{equation}
 
 \end_inset
 
 The second deviatoric stress invariant is therefore
-\begin_inset Formula \begin{equation}
-\sqrt{^{t+\Delta t}J_{2}^{\prime}}=\frac{\sqrt{2}\,\phantom{}^{t+\Delta t}d-\lambda}{2a_{E}}\:,\label{eq:112}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\sqrt{^{t+\Delta t}J_{2}^{\prime}}=\frac{\sqrt{2}\,\phantom{}^{t+\Delta t}d-\lambda}{2a_{E}}\:,\label{eq:112}
+\end{equation}
 
 \end_inset
 
-and the pressure is computed from 
+and the pressure is computed from Equations 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:105"
@@ -4475,8 +4744,10 @@
 \end_inset
 
  as:
-\begin_inset Formula \begin{equation}
-^{t+\Delta t}P=\frac{^{t+\Delta t}I_{1}}{3}=\frac{1}{a_{m}}\left(^{t+\Delta t}\theta^{\prime}-\lambda\alpha_{g}\right)\:.\label{eq:113}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+^{t+\Delta t}P=\frac{^{t+\Delta t}I_{1}}{3}=\frac{1}{a_{m}}\left(^{t+\Delta t}\theta^{\prime}-\lambda\alpha_{g}\right)\:.\label{eq:113}
+\end{equation}
 
 \end_inset
 
@@ -4489,8 +4760,10 @@
 \end_inset
 
  to obtain:
-\begin_inset Formula \begin{equation}
-\lambda=\frac{2a_{E}a_{m}\left(\frac{3\alpha_{f}}{a_{m}}\phantom{}^{t+\Delta t}\theta^{\prime}+\frac{^{t+\Delta t}d}{\sqrt{2}a_{E}}-\beta\bar{c}\right)}{6\alpha_{f}\alpha_{g}a_{E}+a_{m}}\:.\label{eq:114}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\lambda=\frac{2a_{E}a_{m}\left(\frac{3\alpha_{f}}{a_{m}}\phantom{}^{t+\Delta t}\theta^{\prime}+\frac{^{t+\Delta t}d}{\sqrt{2}a_{E}}-\beta\bar{c}\right)}{6\alpha_{f}\alpha_{g}a_{E}+a_{m}}\:.\label{eq:114}
+\end{equation}
 
 \end_inset
 
@@ -4513,12 +4786,14 @@
 \end_inset
 
  to obtain
-\begin_inset Formula \begin{equation}
-^{t+\Delta t}S_{ij}=\frac{\Delta e_{ij}^{P}\left(\sqrt{2}\,\phantom{\,}^{t+\Delta t}d-\lambda\right)}{\lambda a_{E}}\:.\label{eq:115}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+^{t+\Delta t}S_{ij}=\frac{\Delta e_{ij}^{P}\left(\sqrt{2}\,\phantom{\,}^{t+\Delta t}d-\lambda\right)}{\lambda a_{E}}\:.\label{eq:115}
+\end{equation}
 
 \end_inset
 
-Substituting this into 
+Substituting this into Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:105"
@@ -4526,19 +4801,21 @@
 \end_inset
 
 , we obtain the deviatoric plastic strain increment:
-\begin_inset Formula \begin{equation}
-\Delta e_{ij}^{P}=\frac{\lambda}{\sqrt{2}\,\phantom{}^{t+\Delta t}d}\left(^{t+\Delta t}e_{ij}^{\prime}+a_{E}S_{ij}^{I}\right)\:.\label{eq:116}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\Delta e_{ij}^{P}=\frac{\lambda}{\sqrt{2}\,\phantom{}^{t+\Delta t}d}\left(^{t+\Delta t}e_{ij}^{\prime}+a_{E}S_{ij}^{I}\right)\:.\label{eq:116}
+\end{equation}
 
 \end_inset
 
-We then use 
+We then use Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:108"
 
 \end_inset
 
- and the second equation of 
+ and the second line of Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:105"
@@ -4552,7 +4829,7 @@
 
 \end_inset
 
- and the first equation of 
+ and the first line of Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:105"
@@ -4563,29 +4840,36 @@
 \end_layout
 
 \begin_layout Standard
-To compute the elastoplastic tangent matrix we begin by writing 
+To compute the elastoplastic tangent matrix we begin by writing Equation
+ 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:105"
 
 \end_inset
 
- as a single equation in terms of stress and strain vectors:
-\begin_inset Formula \begin{equation}
-^{t+\Delta t}\sigma_{i}=\frac{1}{a_{E}}\left(^{t+\Delta t}e_{i}^{\prime}-\Delta e_{i}^{P}\right)+S_{i}^{I}+\frac{R_{i}}{a_{m}}\left(^{t+\Delta t}\theta^{\prime}-\Delta\theta^{P}\right)+P^{I}\label{eq:117}\end{equation}
+ as a single expression in terms of stress and strain vectors:
+\begin_inset Formula 
+\begin{equation}
+^{t+\Delta t}\sigma_{i}=\frac{1}{a_{E}}\left(^{t+\Delta t}e_{i}^{\prime}-\Delta e_{i}^{P}\right)+S_{i}^{I}+\frac{R_{i}}{a_{m}}\left(^{t+\Delta t}\theta^{\prime}-\Delta\theta^{P}\right)+P^{I}\label{eq:117}
+\end{equation}
 
 \end_inset
 
 where
-\begin_inset Formula \begin{gather}
+\begin_inset Formula 
+\begin{gather}
 R_{i}=1\:;\; i=1,2,3\label{eq:118}\\
-R_{i}=0\:;\; i=4,5,6\:.\nonumber \end{gather}
+R_{i}=0\:;\; i=4,5,6\:.\nonumber 
+\end{gather}
 
 \end_inset
 
 The elastoplastic tangent matrix is then given by
-\begin_inset Formula \begin{equation}
-C_{ij}^{EP}=\frac{\partial\phantom{}^{t+\Delta t}\sigma_{i}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}=\frac{1}{a_{E}}\left(\frac{\partial\phantom{}^{t+\Delta t}e_{i}^{\prime}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}-\frac{\partial\Delta e_{i}^{P}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}\right)+\frac{R_{i}}{a_{m}}\left(\frac{\partial\phantom{}^{t+\Delta t}\theta^{\prime}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}-\frac{\partial\Delta\theta^{P}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}\right)\:.\label{eq:119}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+C_{ij}^{EP}=\frac{\partial\phantom{}^{t+\Delta t}\sigma_{i}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}=\frac{1}{a_{E}}\left(\frac{\partial\phantom{}^{t+\Delta t}e_{i}^{\prime}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}-\frac{\partial\Delta e_{i}^{P}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}\right)+\frac{R_{i}}{a_{m}}\left(\frac{\partial\phantom{}^{t+\Delta t}\theta^{\prime}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}-\frac{\partial\Delta\theta^{P}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}\right)\:.\label{eq:119}
+\end{equation}
 
 \end_inset
 
@@ -4593,7 +4877,7 @@
 \end_layout
 
 \begin_layout Standard
-From 
+From Equations 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:16"
@@ -4608,18 +4892,21 @@
 \end_inset
 
 , we have
-\begin_inset Formula \begin{equation}
+\begin_inset Formula 
+\begin{equation}
 \frac{\partial\phantom{}^{t+\Delta t}e_{i}^{\prime}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}=\frac{1}{3}\left[\begin{array}{cccccc}
 2 & -1 & -1 & 0 & 0 & 0\\
 -1 & 2 & -1 & 0 & 0 & 0\\
 -1 & -1 & 2 & 0 & 0 & 0\\
 0 & 0 & 0 & 3 & 0 & 0\\
 0 & 0 & 0 & 0 & 3 & 0\\
-0 & 0 & 0 & 0 & 0 & 3\end{array}\right]\:,\label{eq:120}\end{equation}
+0 & 0 & 0 & 0 & 0 & 3
+\end{array}\right]\:,\label{eq:120}
+\end{equation}
 
 \end_inset
 
-and from 
+and from Equations 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:15"
@@ -4634,12 +4921,14 @@
 \end_inset
 
  we have
-\begin_inset Formula \begin{equation}
-\frac{\partial\phantom{}^{t+\Delta t}\theta^{\prime}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}=\frac{R_{j}}{3}\:.\label{eq:121}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\frac{\partial\phantom{}^{t+\Delta t}\theta^{\prime}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}=\frac{R_{j}}{3}\:.\label{eq:121}
+\end{equation}
 
 \end_inset
 
-From equation 
+From Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:116"
@@ -4647,8 +4936,10 @@
 \end_inset
 
  we have
-\begin_inset Formula \begin{equation}
-\frac{\partial\Delta e_{i}^{P}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}=\frac{1}{\sqrt{2}\,\phantom{}^{t+\Delta t}d}\left[\left(^{t+\Delta t}e_{i}^{\prime}+a_{E}S_{i}^{I}\right)\left(\frac{\partial\lambda}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}-\frac{\lambda}{\phantom{}^{t+\Delta t}d}\frac{\partial\phantom{}^{t+\Delta t}d}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}\right)+\lambda\frac{\partial\phantom{}^{t+\Delta t}e_{i}^{\prime}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}\right]\:.\label{eq:122}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\frac{\partial\Delta e_{i}^{P}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}=\frac{1}{\sqrt{2}\,\phantom{}^{t+\Delta t}d}\left[\left(^{t+\Delta t}e_{i}^{\prime}+a_{E}S_{i}^{I}\right)\left(\frac{\partial\lambda}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}-\frac{\lambda}{\phantom{}^{t+\Delta t}d}\frac{\partial\phantom{}^{t+\Delta t}d}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}\right)+\lambda\frac{\partial\phantom{}^{t+\Delta t}e_{i}^{\prime}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}\right]\:.\label{eq:122}
+\end{equation}
 
 \end_inset
 
@@ -4657,15 +4948,19 @@
 \end_inset
 
  is
-\begin_inset Formula \begin{equation}
-\frac{\partial\phantom{}^{t+\Delta t}d}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}=\frac{a_{E}T_{j}^{I}+\phantom{}^{t+\Delta t}E_{j}}{\phantom{}^{t+\Delta t}d}\:,\label{eq:123}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\frac{\partial\phantom{}^{t+\Delta t}d}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}=\frac{a_{E}T_{j}^{I}+\phantom{}^{t+\Delta t}E_{j}}{\phantom{}^{t+\Delta t}d}\:,\label{eq:123}
+\end{equation}
 
 \end_inset
 
 where
-\begin_inset Formula \begin{align}
+\begin_inset Formula 
+\begin{align}
 T_{j}^{I} & =S_{j}^{I}\;\mathrm{and}\;\phantom{}^{t+\Delta t}E_{j}=\phantom{}^{t+\Delta t}e_{j}^{\prime}\:;\; j=1,2,3\nonumber \\
-T_{j}^{I} & =2S_{j}^{I}\;\mathrm{and}\;\phantom{}^{t+\Delta t}E_{j}=2\phantom{}^{t+\Delta t}e_{j}^{\prime}\:;\; j=4,5,6\:.\label{eq:124}\end{align}
+T_{j}^{I} & =2S_{j}^{I}\;\mathrm{and}\;\phantom{}^{t+\Delta t}E_{j}=2\phantom{}^{t+\Delta t}e_{j}^{\prime}\:;\; j=4,5,6\:.\label{eq:124}
+\end{align}
 
 \end_inset
 
@@ -4674,13 +4969,15 @@
 \end_inset
 
  is a function of derivatives already computed:
-\begin_inset Formula \begin{align}
+\begin_inset Formula 
+\begin{align}
 \frac{\partial\lambda}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}} & =\frac{2a_{E}a_{m}}{6\alpha_{f}\alpha_{g}a_{E}+a_{m}}\left(\frac{3\alpha_{f}}{a_{m}}\frac{\partial\phantom{}^{t+\Delta t}\theta^{\prime}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}+\frac{1}{\sqrt{2}a_{E}}\frac{\partial\phantom{}^{t+\Delta t}d}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}\right)\nonumber \\
- & =\frac{2a_{E}a_{m}}{6\alpha_{f}\alpha_{g}a_{E}+a_{m}}\left(\frac{\alpha_{f}R_{j}}{a_{m}}+\frac{a_{E}T_{j}^{I}+\phantom{}^{t+\Delta t}E_{j}}{\sqrt{2}a_{E}\phantom{}^{t+\Delta t}d}\right)\:.\label{eq:125}\end{align}
+ & =\frac{2a_{E}a_{m}}{6\alpha_{f}\alpha_{g}a_{E}+a_{m}}\left(\frac{\alpha_{f}R_{j}}{a_{m}}+\frac{a_{E}T_{j}^{I}+\phantom{}^{t+\Delta t}E_{j}}{\sqrt{2}a_{E}\phantom{}^{t+\Delta t}d}\right)\:.\label{eq:125}
+\end{align}
 
 \end_inset
 
-Finally, from 
+Finally, from Equation 
 \begin_inset CommandInset ref
 LatexCommand ref
 reference "eq:108"
@@ -4688,8 +4985,10 @@
 \end_inset
 
 , the derivative of the volumetric plastic strain increment is:
-\begin_inset Formula \begin{equation}
-\frac{\partial\Delta\theta^{P}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}=\alpha_{g}\frac{\partial\lambda}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}\:.\label{eq:126}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\frac{\partial\Delta\theta^{P}}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}=\alpha_{g}\frac{\partial\lambda}{\partial\phantom{}^{t+\Delta t}\epsilon_{j}}\:.\label{eq:126}
+\end{equation}
 
 \end_inset
 
@@ -4719,7 +5018,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="7" columns="2">
-<features>
+<features tabularvalignment="middle">
 <column alignment="center" valignment="top" width="0">
 <column alignment="center" valignment="top" width="0">
 <row>
@@ -4932,11 +5231,14 @@
  In a more general sense, initial values for state variables may be used
  to provide values that are consistent with any set of conditions that occurred
  prior to the beginning of a simulation.
- The current release of PyLith allows the specification of initial stresses
- and strains for elastic materials, but only initial stresses for anelastic
- materials.
- The next release will support initial stresses, strains, and state variables
- for all materials.
+ The current release of PyLith allows the specification of initial stresses,
+ strains, and state variables for all materials; however, the initial state
+ variables are not presently used.
+ The reason for this is that the present version of PyLith always performs
+ an elastic solution prior to performing the time-dependent solution, and
+ the state variables are not used in the elastic solution.
+ In future versions of PyLith, the solution of the elastic problem will
+ be optional, so that initial state variables may be used.
 \end_layout
 
 \begin_layout Subsection
@@ -4988,6 +5290,15 @@
 \begin_layout Plain Layout
 Values in spatial database for initial state variables for 3D problems.
  2D problems use only the relevant values.
+ Note that initial stress and strain are available for all material models.
+ Some models have additional state variables (Table 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "tab:material-model-output"
+
+\end_inset
+
+) and initial values for these may also be provided.
 \end_layout
 
 \end_inset
@@ -4995,7 +5306,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="3" columns="2">
-<features>
+<features tabularvalignment="middle">
 <column alignment="center" valignment="middle" width="0.85in">
 <column alignment="center" valignment="middle" width="2.47in">
 <row>

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/preface.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/preface.lyx	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/preface.lyx	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,5 +1,5 @@
-#LyX 1.6.4 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
 \begin_document
 \begin_header
 \textclass book
@@ -7,18 +7,26 @@
 
 \end_preamble
 \use_default_options false
+\maintain_unincluded_children false
 \language english
+\language_package default
 \inputencoding latin1
+\fontencoding global
 \font_roman default
 \font_sans default
 \font_typewriter default
 \font_default_family default
+\use_non_tex_fonts false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
 
 \graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
 \paperfontsize default
 \spacing single
 \use_hyperref false
@@ -26,9 +34,18 @@
 \use_geometry true
 \use_amsmath 1
 \use_esint 0
+\use_mhchem 1
+\use_mathdots 1
 \cite_engine basic
 \use_bibtopic false
+\use_indices false
 \paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
 \leftmargin 1in
 \topmargin 1in
 \rightmargin 1in
@@ -36,15 +53,16 @@
 \secnumdepth 3
 \tocdepth 3
 \paragraph_separation indent
-\defskip medskip
+\paragraph_indentation default
 \quotes_language english
 \papercolumns 1
 \papersides 2
 \paperpagestyle default
 \tracking_changes false
 \output_changes false
-\author "" 
-\author "" 
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
 \end_header
 
 \begin_body
@@ -170,16 +188,16 @@
  Knepley, S.
  Somala, L.
  Strand, and C.
- Williams (2009), 
+ Williams (2011), 
 \emph on
-PyLith User Manual, Version 1.5.0.
+PyLith User Manual, Version 1.6.0.
 
 \emph default
- Pasadena, CA: Computational Infrastructure of Geodynamics.
+ Davis, CA: Computational Infrastructure of Geodynamics.
 \begin_inset Newline newline
 \end_inset
 
-URL: geodynamics.org/cig/software/short/pylith/pylith_manual-1.5.pdf
+URL: geodynamics.org/cig/software/pylith/pylith_manual-1.6.pdf
 \end_layout
 
 \begin_layout Section
@@ -187,30 +205,19 @@
 \end_layout
 
 \begin_layout Standard
-Current PyLith development is supported by the Southern California Earthquake
- Center 
+Current PyLith development is supported by the CIG, and internal GNS Science
+ 
 \begin_inset Flex URL
-status collapsed
+status open
 
 \begin_layout Plain Layout
 
-www.scec.org
+www.gns.cri.nz
 \end_layout
 
 \end_inset
 
-, the National Science Foundation 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-www.nsf.gov
-\end_layout
-
-\end_inset
-
-, the CIG, and internal U.S.
+ and U.S.
  Geological Survey 
 \begin_inset Flex URL
 status collapsed
@@ -223,7 +230,7 @@
 \end_inset
 
  funding.
- Pyre development is funded by the Department of Energy's 
+ Pyre development was funded by the Department of Energy's 
 \begin_inset Flex URL
 status collapsed
 
@@ -241,7 +248,7 @@
 \begin_layout Standard
 This material is based upon work supported by the National Science Foundation
  under Grants No.
- 0313238 and 0745391.
+ 0313238, 0745391, and EAR-0949446.
  Any opinions, findings, and conclusions or recommendations expressed in
  this material are those of the author(s) and do not necessarily reflect
  the views of the National Science Foundation.

Copied: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/figs/hdf5layout.eps (from rev 18637, short/3D/PyLith/trunk/doc/userguide/runpylith/figs/hdf5layout.eps)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/figs/hdf5layout.eps	                        (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/figs/hdf5layout.eps	2011-06-15 22:30:12 UTC (rev 18638)
@@ -0,0 +1,1886 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.10.2 (http://cairographics.org)
+%%CreationDate: Fri Jun 10 14:02:07 2011
+%%Pages: 1
+%%BoundingBox: 8 9 354 211
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%EndComments
+%%BeginProlog
+/cairo_eps_state save def
+/dict_count countdictstack def
+/op_count count 1 sub def
+userdict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+      0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+    { globaldict begin /?pdfmark /pop load def /pdfmark
+    /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+  {
+    dup
+    type /stringtype eq
+    { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+  } forall
+  currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+    cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+      { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+      /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+      /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+      cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%!PS-AdobeFont-1.0: NimbusSanL-Bold 1.06
+%%Title: NimbusSanL-Bold
+%Version: 1.06
+%%CreationDate: Thu Aug  2 14:36:28 2007
+%%Creator: frob
+%Copyright: Copyright (URW)++,Copyright 1999 by (URW)++ Design &
+%Copyright:  Development; Cyrillic glyphs added by Valek Filippov (C)
+%Copyright:  2001-2005
+% Generated by FontForge 20070723 (http://fontforge.sf.net/)
+%%EndComments
+
+FontDirectory/NimbusSanL-Bold known{/NimbusSanL-Bold findfont dup/UniqueID known pop false {dup
+/UniqueID get 5020904 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /f-0-0 def
+/FontBBox {-173 -307 1097 979 }readonly def
+                     
+/PaintType 0 def
+/FontInfo 10 dict dup begin
+ /version (1.06) readonly def
+ /Notice (Copyright \050URW\051++,Copyright 1999 by \050URW\051++ Design & Development; Cyrillic glyphs added by Valek Filippov \050C\051 2001-2005) readonly def
+ /FullName (Nimbus Sans L Bold) readonly def
+ /FamilyName (Nimbus Sans L) readonly def
+ /Weight (Bold) readonly def
+ /FSType 0 def
+ /ItalicAngle 0 def
+ /isFixedPitch false def
+ /UnderlinePosition -155 def
+ /UnderlineThickness 69 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 1 /slash put
+dup 13 /underscore put
+dup 19 /a put
+dup 18 /c put
+dup 16 /d put
+dup 8 /e put
+dup 14 /f put
+dup 6 /g put
+dup 15 /i put
+dup 5 /l put
+dup 9 /m put
+dup 20 /n put
+dup 3 /o put
+dup 4 /p put
+dup 10 /r put
+dup 17 /s put
+dup 2 /t put
+dup 11 /v put
+dup 12 /x put
+dup 7 /y put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece61cf3a79690d73bfb4b0027b91fca726ef5f343155b53740e713b3df00cbb44c4
+acafbad0de984f9a43f3eb2f141eb74b6a5b1cf190e7629c670a014113fbaff31382db72a567cf
+25abc8765e67c5ffbeb3a3eea086d3aa7698dc27c415c87d120df491abd59da63087c53e2dd109
+51d5ba50cacb67bb7782e3cb5a3ce5faed0fcff9addb645943e6bd628ee1bdf387b452f1bf472c
+0696e5c6091ef39657a76dd73b7a0bff0b56803539287550b7fbd4dc5809a3fdaf2f11123a3674
+f3024a5a3c69ce7ca9b1182ed1bdf2b0c47d92feb32d4dad6e79ac00bf4ef0c0826ba95a230f6c
+d6ea387b85e2f82617e1b8904f13961dd9fe6fc0bef99bd714c11f29abbab942ed8b740413bca0
+8fef2fa86d0086966957b0b20457a4202636cbade16ab2b4c73a8446ffd4d9e3f9983533d48621
+bcdf0f51a8244112b7345a2d7705808270033dc994ec81837cc985f336d47bb8b80a0631f5021c
+ff7ee59302d21a2f1419dff7e74a8e968d92070b2171fab7b56b73c110e69be8cfb5e7ee3042c6
+4dfc56ed5e38624ae7412d8c20dbe7c470ce5911644bded45c5381c80afc4783d809e9f5da1d31
+71d616093ba01a8e939f6376ce295a8c7bedc0ea0514a02967cc86d6f00be92f67cc89dbb7590c
+c855e57638a24406c16a03c2c61db308cb4717da9efc8f566d1b481ce8df8638aac86e36ae7cc3
+d780748e0becc7525d582a548179e9167b9ae5fe83de94cd5d991af209467c31fe29925028e208
+debae41c0bbcd3d2dafdc2ef108f3417f389cfb42ebdcddf4c2ee4805068dd10e7f7b9375b3524
+dd55bcacf1ce6a6ac39edefaef217805c1f7116a23c09787694db4ffedc97992472328d2431c68
+4958871dc27df87b37d5b0d2b53147c1764522ec52e22ce277df52c7c459b171fee545f163100e
+80efba7ab31e33dd5335b7416e5ec31951e2cb2ec847d2f95cea5d5bfcc57dc8f421935949ca90
+2eb1b612b8b5a2572b807e989b1b1073853dc171f4d1c3f7de02688aa081d873ada12d85342571
+8540b2036d4864f51d8e8a81fdab2b8c25e9ea14e7888ded39287d0807781e69201b6433590238
+070c44317f4aae15280d8745fe3536ea45271f97f9a5c97f9a0fdadea0236708b47eeb16e27edc
+7ba60ee2e9ac1afb273f72cc177a9677d788715a89ea3a58f78a042ad7db3b5f9c4cdfb5540e41
+043e04d1e7d58ca83b76cdd7f2280ff1d7ab28635b3ff22e3c6544e8787757283969a86e3a4bfe
+2a230d18fa6d025c3474453ed7151dfb601fc1ce2b6efd9dded05bddbfa50dc48550842f72154f
+f017b7b85a3a18f18669d32ff07e12d06dc2870b4a8648998450fc2715dd7db82307e2a2a78aac
+90caef1cfcd1672505634f731ad70ccd6ffbdfe678d2e55ee432568697fd92a9101bfee5db41d0
+e18d2f0528e6b17c8904792e33459d996a2871b374767bbe4f23184d0bc10373a3ab4a19610d53
+64892fd4c84bbd0b993ddd5ab659b8b5a6f9251e21cc2c1e619079cff0cbd84efd9e55c3473614
+e9d4762d0d7d90db31b6018c5b9215be0e1f1d1a3f9843eef10ddeb8929520f0bfc0d0dde5f2e7
+ed48bb584e28f2f8b2d07677e160f4d8681db94c9591d57816f48be4707e9b1a190765f2a72402
+dfb9b35c8e563c35171e461ad23157bc1bcc3e55a4093557d7c5fda2759a52203d0da6180560c1
+02f17dfc2cb1112f64386195950a6ce1755a19c55e9f4581166ac935e264db470480fc5f0f711b
+3263de924e16d4177b303f00286ea41823114dab24af5837cb6aba06eb5b65af493b45d0203ab0
+da468932004ad1bea2f85ecf625792c7606f6b436a3df5ee4e3bb5f373b62fd5107a7e7474557d
+e23c5a5f840843f700137e27a13ee457e8f86b40ac2b3fe1d0d52877c1afb3bd19017bf7585c8a
+2295e6dc26b8cad7fa07db11861e60b353b4071dae7b89abde21c911dae9616877de3875523cdf
+ff0f3d8eea63070bb25febc73250ad18fb44fd9856173ea16a109d9fa3fada3a71bd4d73f6a6e3
+58cf0ef99b5c327806ebd7a4329513ecb0ddead3147367b343467a8f66f05353cb1682c1b10e36
+d352c46c09dd13a6a87466bb5c08996fc24865813a443a310ed669d633e18c2821617b96ecba36
+4dc875435027324435af910166e063832ce329e5ca07210093b4ec863110f7872b92197c7a5d8f
+a716f85f067c2bd3548cf861b19c7b287eae62ce1bbdc20fed49f055fe71696e6a762c4ce718b7
+9fb3b3fc8c521b97a1d96a7de3e3a3d1f870e79b3c0a88073c6f508a742286b328834067737064
+0d0c37ef1e1cbbc03f933b63781616f027bb53e8a2c89898f7dfe125a1f22638c1950186b743f2
+44e3d385b3e13cb3821109a7bafbc6b439f23e4ca205ec22b6a0d6e6d116146e8a97049a4b6b21
+3f34e27d1bb4726461b7dcb8dde7769d4d841359d93cc99f6c85ec131b2040fb17fee47ab7c1a2
+1167f852080fb6b2bee88284794bc609e89dee27118031b95cfcd926fb54d3834031304e9d75de
+bcd5056fd12446f743a048d94a37cd3f02db45e13804e8bc8026de869edd39bf7dd78a3fe208de
+5f3bbf16dac52644ae9f2e2de257d768e4969513c1e5ad8cf599c6c9e4d947bed8d30a94d81eba
+3faf604399b6c6b3594e3b700571e1a3c5b3d69a6d7fa4aee1fe49f224e96a5a7ae32bab3b2964
+a1a9472234c82021abb799acf7a3bffba85fe48c2bc0649bfafcdbbb84b62f0e5ddfb9857e400b
+9986d8d38ce1f0603215f2e9be9de8481f8d31ceebbd97fd41d89ba1043a2d06c72f48df10aebb
+6740dda134b709f46bb97f34fc089c2d50d07db9bd1af2fc747b230750008cd4aa408453a7fb95
+653a212e29b87c00946dae3b8ac5de10617df2beff7f1b444111bca4e5a61b05ddfd5842464430
+e596eba50ff3851a1b14f00bf1bbcff1345cd967a08a9c8922c506236415ce50792167c6d3f8cb
+0efd2531d4ff0613470e9be44a5c3a634e8851d93331ff3001e187a3aed8a8e583d3261a02fc72
+3b5c85abace6e705c8445c9bcba9145929c662d8d46b342e5315b945ff74e5ae4670cd180a9ed3
+379f3509a255733a5876f4a4f46b59112a2a095370b5414ce4da3df47b130a4f0a910c0a6c42f0
+2829f4e82c02aec0d2fc3629e1de3a27ad1e2b9173557bd09fd61750fb97da7c3637bea40bf5d2
+eed7a35ebca3d882114340379f70e9e37aa13941fc4c3f1adbb0cbb10c6f8a844eb7976bdb3f11
+40b4654819f3ec50177b5d171f54d2e655e04c54422390d09379385581f33649539e3f1de8c9a6
+f318a2f5b5d71dbfdb0e4fb27fd30521ee5a013575c31944ff30349d52907413d171fa2abf2858
+e08928cbc554fa5821e1c4866c7b848724177b9af0f93491f6d8dd09a9de8c69ed2485d523d1b2
+b9c9a8d1ce5cc504c797b3ebe45149144bf0def1807eaa51bd8735f0e649ad75d0dd3ea6ba2371
+49391791bdee18e063b395df12e967dfdf4dc559e525599d8aa0033c2ebe384f5c5932f0369129
+b2d536b6a5ae04de16a0b6c9e3d174e40591e2c8703143e602e9143988c3b69ecee465ceafe71b
+08d1818001aec457ebddcec1b3c155c5cb5ee2a06d7c0d8db0f45ab6c6e38c1899c582b6120ca9
+008a75d0d378093065ec4714bffe5dd2f86b0b34777bbd7453d0d46398be95c51ae0d06af562e8
+d445daf82a444a62881361091f0e4f77dc24dac9b93b1cc6d3d01ee93cb483dde896a5ca6ad293
+a52368679e900907718327815b85f9a0454a7140de0224406d32ea3ee24edeff7e8ad6e6f3fa21
+c4ba037c08031775b8a306624777c4e9a1771ef3db3a857b736b6d61c6984c2bc3064f6a82a224
+5ec55cd971ad0820bbb83044e1ac6557b65dea86e3772f307af336d6556ddeff02379b2becb9cb
+bdf0b6fe6d3dc8c48f8bb36eb98bf4baf04240fa4805962789ec1ae7e1316e0bdb8d5f6fa9e783
+8bdbc0c6260490ac8a57e4e9a384e3a310421a7916c4a6a7e08352459099e3b2117545ef265d6d
+d58b902b0110e4fe9af2a1b21490c119d203e496449d4d451397a75a2e0f21a35667dc62050070
+5236f9f15bd7b46ffcab72bfbdec9f7b9e1d9046ef20b83b785b0d5e6709a622d101b48fa7cfa4
+20c3273210b45bd07b2fc546e9b136416b6e307c5ac2e047a910fa0e9f2d6f8dd21a647e0fd19e
+f66dbba707de4f68f5b95efdc3a74383cce8b76d632592eaef5ef11fbb14d50d71a93bc34621c8
+6ae915d36b21dfc6eeecb7687110b361d4cfd11cb1a459706b8037cbca5017613a78b4b40edbcd
+66bf050da44896f722390b2970d4304312fdac01c613d99362b5181ceed93425315f8c65ed7721
+b10e653027ebab8b966393d41628c49e875699ab0af95958283cf2b1fa44377720cce62e66add1
+b68b65853123998554541bb2eb0ed5f66cd5905b8ba0a6d43251ac170e4c758d5056da22728a20
+aa4043bf7efe88127b42978c3d1121c7e48466901c013b6fd57768046a7af696357193569516da
+89ac00d0e716d62808951701456746d0716d36bd7654ff010aec87d897daaa867e0f156ddeea8f
+d1c407e7d87c6097c7690e409b52e78179c51eee7d0033f869aabd6b0b08be9895ddcfff186bb5
+a2193e7f5210a5c15414bdc6b6baacb36682e4736eb84b3154f91e7d7df381151e8c15c1597887
+59c0160085c99a591f1a43e60c7592ffe886214df47b13c73fca6e81fd6770beb6c1ce54bda7b8
+ed744ffcf2412f73f0b4dc20337b486446e7369de487175c53b7400063a0e7dfb4df64e94cf16d
+e0b8c58b6654f6e1fa7c307b9d675ebd61f87a2d2cbe22433b749069acc53068f5f91e587c55e0
+1975307d5920b7ce671e6471c76304102846cfa13b270ab88ab5c855087a3e61a7f1c577dd8550
+c3cf2d1576fc5fadfd84a337df729f92d9ae80a2959d02e0bc535f8a884186630d732286aa8bb6
+a9f297f16fd5321ae530467be2c30bfb01b0a776fa2b2cc25cc98fa8f6c236c5959796f96e6dc5
+3f828d3804f87e5c18b4b4ba748734e7a5416773d8fa5df40433162062630c74c9c8e8d5323c11
+138ab73a598e2e26b11ad021fd69f1a97676a0455ab5dd46f41215a753da97202fd65476c08252
+7fea9665609f8662d41739cae2d347a9aebb206c77d18fd65a12b60996f3f93e0ade8b036eb687
+3ea97f8bc6e82756592f27e9c7bd6a87abfbf338ccd00a81ab40fed7bfad0368be0e5fad60678b
+800cbb95b97314fbd0df5fbc42cb16bfb2f5a3c751896f8e8b6f1229c5df12c1ca8ddbb087fbf1
+1cd1fe3e9755f3f143c053205c111429b3d4427db9ffc54fedbed0f882671e65e1c9a40f90ead2
+f8f850a0eee0365df95da0ced5d7215f1d1b10cd2b7fdabfdd46cf2d070252e5a9c86bfd1b91b2
+3880721fe730c26702e68f7d5ffc80ba470b94620ca6fb39c4bb44597df3d5ba6ce8ebda56242e
+6c41628ac3150f9dc313daf763441c51b543dff2c259af631c4f87897837f5c90f0a298e1b4187
+6374c3816cc190caf25d9965c9b18668e2d53472c76c4755c1184cc31e5d89a80a4d3c033b5e2e
+8bee8d7acf74072ef0191cecf5ae2fe329b0a59ca6d271d04529333e8e16d0973696761aea98b9
+a585cde96f01f3c18034f3243ba706f0c2581dc27bea9d73fb4f79038f04335ffe5e0fb765ceec
+3ac10042ff41d7e587ef1b24674451818e65edc66c7d7cd33bc7f49876ef58519502fa422b05a9
+e02e8445758194388c795f10bea00559aa0d4b4678b8f336e9af44d989bcaec19f972af2eee966
+5402fe81435dafb722d1f229a3cbde2d1718e99129a1295585e5b59caf607b7b16433c9ed44573
+de2de760a92c80591be90cedff1d0426768c51b071ebf69ed70173059df8d9fcc459b724a5e367
+c7878f66c3858d13ed5a5b4f92de37f8b2410623ad1579ab9a24b0a4f0d6954f57e5287bdd7432
+028205b30ecc70773def7c2179954f297fa106b1a98f21c3291843ddf5dcbacc2cb25a08ce0dd7
+e9c180b12b7da1b19f86fbc607b2598e409deed9848afb7243877b18ec6582059c0907e264e55c
+b5f398284cef60d78b63f6877d61d7708a3278dd2eebe7a90743bc1948aed0ae8fddb40713f811
+bd0de59fa7b3ba7a3f8bffc40e8f01858d31c278978803fb5406a49e02e1beb50862f718ca4dee
+c0d36466ae0c3d7de29b33c542896bccfbd7c27d1adb56b2f4c508148a4a0859c7130a85981721
+67322cd9ed269e88c13066dbe6f5a0617dc35b6f4dc53560d7c93da5273c952debab5c7225e0de
+d4c1d361715edf3ea5a33679f447ff9dc3ba6d7b355edbbce20fc98ac32ec6a94884faf3929982
+a7e668d95357d83829c3a75314282e477073869445ba827e73746b511bf914fa1604585c1627fc
+a470e274961fafc68a167090726935eab5dc8447a2378c2e425381122e14398c04856bc4c9ee63
+06921389f88d8750433c87956d08fee5eba6c18ddcd90c680e94e8b190b1cb30ed3e509b390b0f
+835333130a5591bcb256a7345a783beeed76a9284950633526b37ec25176375348789be200942d
+de25c2c363e3948f19c472ef4fd36d28e702e114248c51aa8befeeb4f3a5853ee294f2bbd70712
+57165dd6e2b18c465db0a3ab6818618d3b4d7b8ba9841cf0c274324412d6e67a86f4ec045cfa22
+59ce02671b02ba12cf678ce3d7878d302ef2ffa799a68e610455c38850ef8a01dbbf3298943225
+c5d2d7472da48c14c66fa66a2fcd155463172e04815849c96d9229c59af790684b3317c7725404
+40ea91f555ab053a8db34a288623d19c51a2d8ff17a36fae7d8359977204bf6b2c1fec01843ee7
+f03832a0ff57d067a939ef6645e9fc8359ddf19e44301fe1ae5518a0908c069019b3670eb2e81d
+c7c965fdf33b1add8e2fa764893c50807b4153fd2d7968ed11c74b295b4df8035bcd9d426ea6b4
+5c629681b297206cd81e537a0293ac0eb8d1a9b149efb41f029d08421db9213395668278ff4687
+e260c33a8f7bc39f01495a0999965e8de0f4d26b30d7aea5564dc89343fec13137820803201f13
+0a35d02a963927fa02f86120e587f7f3e746890c4d49bbd172cc53cfacfdf4e1642257b9f0c6b7
+e480d82d2ef3cdf3e871889b5edfa8ff2f7c37df44e7141de2ecac43f06c9a45f909582e4b8cca
+f7a2806f544a9dd2c2d131dbdaf5bf770c0ba6c71221987b73b9a73fe53f10c2314e8d2ab9e8d0
+da8e780c780b8eafe650b0d9c5050670a80377ec6e1a1fded439bbae7edaf3662eba42b04a24c8
+184ca9fe994637cdd193140d9dd22a2f1c61f3fb92df6d49eb4d8765e620353bdacb5f64e8390e
+c073172253efc739d756dcd7768a15624b76f5701a6d88623c4656034ca0ac97388fd86dbe1d87
+20192ebb7e183462f00abdac6ea11a34ea4b42bd98dc92f032ecfe18fd82fc68c4a78ed9bc30ba
+6babb05b04a4463560b3bfd9c51c290ef9a8a53974a02ef7c90c93d4f76c0e70923da84ada4be3
+8e62f8b9b96e2d241ec96a1ddfc757a5a7f89cc0e8b63af598d489ffa21f15e935604384cb626f
+a65279aab1fbcd29d86a191ef108e5a491a4c28cf536e19e19128441baa98fadc9edc1f797566e
+e2bb229d402880c5b70d1441a6fcd1d552cffbefee854ca347c4f5c48f2b471a3c09cbcb443814
+e9d5189f81936dfdb926312429cfba956f8ec6272fe42bf8df28230dd61f7a96e709850f6f4c4a
+bf95bf80fbac674c440a01c8b0b6b2f603b0d269b83e5734a4d57f3bb9c4f9b3ad093137c7f1cc
+459cb3b674c334f38ad5fc1640a296553a1eaf91db223699814c70239b8bc5cbf5c7207d416d2a
+3401daae7515a9cad551523a5943b038d2c59aadfca046bdac18da33021e80c8598998fcade704
+a10797738cd2f89047078b7ee8f4d94051e668442b0258e071d23173ab0b7c182399cfbe591dcc
+b192ccfe79c07c7ed6a9fc9a10510e6c112f99b99e431f6dde0d3da9e0ff733890bdf0202951f2
+096b3c6d76dcd0e09dd98f5ae00f69daccfc55e98da4bd9f1cf15cc6ea8bf7351ad431586384d0
+0f8bec6ad3e1fbd3a5044ba1025dce099bf779e1c37324f82fa312ad8e562749e171ca80a3bf31
+2705f9c2a003ce8d4e44732b9b7f6cfd3dbef02d76532f4609ed15bf671d4d15672fd4707802b4
+ba8506bf78ea560240e2922ed987987c4e2054199a5574614f05e945c89dcb7618f8e53c21b1ff
+d871e971dab656e0a43acca16b4a7408018ea13eb7a3f2e961c29098b256c23170cf2d18a0b908
+19774d5eec57b693cd14e22749e4b069578e5491fd1ce90ce468368b0c4fd93aac08f962226a04
+43b2bc2d372cd36ed9f9ef6c32fd85f55ac22039d7480eeea8ce3e27f0e316b493f9aa32b6ab21
+ff4ceb527b6ddb030044e0a94373405d9b8e41e0ca414a1f2ecc4708b572eef46ccc269980fa8b
+e2be136f150f6799b5eac52118fe30991dc2329d61e4349d4b2b44f48293e5232d4fe412a670f7
+8aec964fc0e5eeefecb57af6f492e5df49f42a69b5a02d9691c831a15dda82e22eec9933f56888
+8e01a8006371776435e6c7ac466e9dae0f7a94916802d8e2f8569f18deffa2c19585327a16d449
+41d4cbe17dd19f81b2125f901d428eb95db4de1c88b368db7f88b7b6e1bcc5ac80bcafdecf6741
+e267deaf4ac2826fade80da3f4ea849bdeb762d8034c5290e6df6d4d1a7bbe25fcfd2f0912bb8c
+4da9a90283f5b16ef1acdbd080da125d82496cd4cef09b0ed0fd7e11723bd4287fa97d3f3247c6
+ea18b6d92ee19aae22f627857edcdfcadc3f3d35e41532419c73b320dc91f4f649239bf58d41af
+a24a924eef784b4dfef84f148122f2146fb7b3e6c58b334b5b134e7e0185e7d59a2bd15755759f
+209f34fcac04d014f0058f1d240d72b266077e5b6896929b02e082179e316c22cf71fa62960e23
+4f77ce0ee0b41638edd4f5ddd6403f7d9f5edd76c3c9cae21adc4189e1493fc4f89f1b7ad85b87
+0eba2a2ade581c7d73af93e39d96fcedc48d283aa21d4864334bcb401296d4ea1bdf1e8ad94952
+1e0b774d8ffe8b94dd83ea15ed7321d012a6b001913ae66aa4550db20c261aa196cc461cc720b6
+32121eccebeffc57aa886a9b974179f3553e2748ecb88e31ec18b7321e63ac704605352b623c81
+e1edcd297520cb3eb68feb817d62e15ac8d7ace023ee387d98cf7eb11374cdb038b13a0f857516
+abce4b681d75bb69acc8439a2260b99db957e8ab57a0c4747d6a07a1ee6be91273c7f9285fa2f7
+4aa9156d46e8a7776f3eb9ff15bfe5c0c33e3faeef5709c593bac09ca99620c94e446a5ebe9799
+bd85f97ff0d2950b47c7f4e0b14903fbaa623990f9eb11c1cb3292e6ac20caf79ec7a5285c63a2
+00cd6159c86a05539851ef9e94b59e063350cc79a1dfc931389878410dd705d6c5dccf2d7fa7ad
+bd922d30ea88441a58d90696220d7c544bef828a51b0647d660a47fd29627070369d594e327cdf
+81d906cb8e2683a45d07b6220f4a84b86ba3c841d456e3d3d80cf74696ad59229e0782d57f9554
+7cd615ad0a613dda0c4227191810c44466e541f39296f2ec64cde960a5712a5055bcb6b8320129
+8c0dcecd7c65d3f19375d6ee634fb138efb7fa01156f9a975d415bcb9c0df2342b7272b9c6fb2d
+9d8a4cfc87f1691101fafbe460bc6ec9650d7d62bff820951822414744779bd6dc52d521e99ebd
+07c5dccea9823b4a39d46fa620795d54cf58400634d6b982c9ec1e1634c258cd18f6523cf7b636
+53bc9fba23a96e8f4402ea9349674fd48c033eeb9be4f2a207e00d5ad68eee1dcc3214170d36a2
+2e0eb863fd2409b68c8325ad4bd20b6d4b4358dd67bcbe96d74cd2bc48678572c95042b4a4aa97
+c003166aca8e981c42f0852a26cbfc6a61a485c98c17aa4cd5a1031fdd8e0cce53f6092bbae1b1
+bd84c79dfc89723509b856f65f1934e6396f8a1ae9df20f80a9674335c01af66467c750582b589
+ccfe929501bc33838d3f2ebfdb1cf5b4def74453c82f5f25f7b3122ec1462ee7706b4e8cf09d0a
+8af6510a76eaf2125fa6da124f51d78179b337b6fae63a6e4838bf054412a949b9e6e8cbcacea9
+cb7cee59108469c646448a82344275cdce6fac4f65a8bd15e89e69222a204360944f9f7f05bd9e
+5029b6c472b9a2982ff58fac1198e975b92d44e5903eb5ec8646d448df3d0d08bfbd0425e1c1a5
+5187800138475f34f897fee15461f1c943b6b94b8a4652af2505921d72bd2d398be3c3e5af9c56
+bfd3e307c3263ece5ebd243be9a71b2de08e375304481e495b5df093d57d170f6584bf840a7a03
+5f2cc57ca6741cc6e07175c8eae4ceb81c5450d567edcf35305236b23a6825fe518946d4d4d4d8
+a18b49b70485bb147b918527e0df6856cedda6c8024c220d10d11f979c289900a68f9927527a4a
+ac3ac93ca631cc05dd513f693387e5cb8dc54f321fbbea388e3558ba60916d40b8f4e7475db59e
+729515ff910e63c958c48c2cb28a4b4751e5aa7b98a50cbe91635ea71a2a1b508524abb5cca048
+a1aea30dae5308ad887cb4a08f99c891e01bf205aec562d039c08d5e9f94199cc9ad11d7a02816
+eef066514b1168dc5c9353e2e16302f610472db342fa83ef15b9aaebca69e5ddb0cb1ee425fa28
+69095a58c8ae174ffddd3320503fb085cd8e3f6c00b8d0a441b0c3d3a3d42f1c75dad849942157
+8c4859b55b0365b51be99d2da7f11aeb90a4878fc8fb31241982baed696c4d6014f82896c4aebd
+a32722befda8d1ea7be47e9a755d56870ab6462fd7475e13d9186ba11c1f1fff50d7cb6f784248
+b6bfe9313bf8fb4e53e9ab0132797c3ec5af73c15d8883c0255552628fdbb5f9071bd5d71d7cb1
+2493d2df8a406d54e73282a31aeeff4d8e64f8697c16c16b671415911840460ed2e88e4eb25e9d
+cf5caeaa1e78e07fa663b5b21513a1eade2ad09b7793b93ba8a3296459cf8688358ccf08dfc7ea
+fc5cf206f854e1243235c6b7d09eb607beaa7cf9812fdab9e932b244e67b8185ee493fde55c3fc
+b8a32ab8e5403a14f0d26c9f99947ed60d9940c14807feca518f5985886e4d8e346371dd08a647
+8436015c79906e26932ccbeb2371948f4ddb161f6639562c5d7f65de674e11c30c0e964b04d3a0
+776ef8e58727efce2e1069eb25f603a97168d2cf1bb658f5e7ce34bfdc7c410502372984d0b84d
+007b7a44683d07e37fe64e5def8046f55153712340bcb4d0cd93cb1d5cbe1c29270bfc455500b2
+238c21b285342138889179964071be1c8b37e1e6a5a3ed97805c1edc0c630669bb8025c3862515
+fd87cb5a9b3230c7db11d18633b5be544fbfa3dae89cb934901aa2d80ade695c26e22beb62475a
+4058f6834ad7665dd0e454b9b91de6701139428453e6d43670d7a6cca0b4858dc52c5a8a943521
+d516a5ec71bee1a2387a0ef492f0d715b07008015df72c716b5c04de9913fc133d751551e44fce
+aa2e69f022d8207f7dc0ece155304e48dd4126d2d383e3884b4e9fbd6be2e0aa5cfa497e5760a5
+a5808f62f741869e3a518bdeee74d8983f433fcd524a0f972c7a8cb0dd43184c71d254ed52dc4f
+978be757e7ff187ade17574403ec55a331a9e383aaaf631c5392d4fea65c6afd0034c37f6974d4
+f9cfc462d5ea99a9cc55622b8a7b6d75d5ff7af6e034ac05b8a9ea6633821aa8327878fc5120b3
+a348a23784fd457c4888ecb267d97378e31f9a09e062636383f574f3af164bc0156e197e765aeb
+faee19dd48f3900aa6bc48a0a7057f99bac9389d0d7275d2bafb693187acc60c650c18c4d71bb5
+1c6edff18abc3048658425b640042faf36b14d9462e11683b67b512a180ce092968f849b047f8e
+39782acb73403f71bbf52d1562b82cbf24c1991bebb3a228dba726c65a8bc2591e2301b2dcc11d
+878c9fe6b7d456b6ad13ab3a2e8db60f60a181c4b0e1fd45783ec08c6b3640cd0e592cb837afa3
+7ad041eda5dd5659a033edf46eeff25a50ccef19824c85612232e2f291dbe2787260e22cfa36cd
+720e9ccc170bbd8046b7bc590b9c68f20d593a342b86124200848a2a9fe91b4ddd21c0cbe9b222
+0fd173dbd70f438c6b4fe9bce5fd188392256c1e47b0216326ba8277205a2e21cb75fea615fe7c
+67002d6ec890718ae746f8ca02d8a6c9ca55c362e55761cc319ca902eeacf5e0c9f80ec41ec105
+4c974884979d5bf718d532916e5347d3517864cb42cb10072481bdb39a48e5931b108fc35f7b72
+8145d99a8a4566f2c8850e566abb3de62ef1a62a3895fe0ea57ababc57c567f069ff4649a978eb
+eb6a8b08c4238d71517da163415ebef9265dbb7172e924d6fa18db1a01718a64782a29e10e928c
+a77bb9cf74b26cb72790991b10447152b2d7a21c08d9c4ed7e7bd5c0732189b864efe204dbe4be
+742b531cb9d797570a8c6b0b4a5e0dd14f609b24d75b020d11bcbbe1f04534e632cc37b73bd542
+f3bb49e11e645f4365b766b0cb15c1e3a6131c5cc95266c033bbba4aded0dda33600e0049bde5f
+d2faf55ef36643344d3ddba0f5a42385e23e7ca5c78f5a68ed8343bf59e347ca273dd6856fcaf0
+76cd3fd7549ad08b23f7a326592d07637dc90ddb5e4b3bc6e2b44741ba6101fcea43d198235807
+ba85bb555a6b0c72e93e9d5f3949ae51cc8667ed2997b106a98e7f3c787041ce4f35747f7b1ee2
+6b0b6dd1615a68a6040fca25b7996592fb0395e4631a58c2e21eae3fbad9e22e3a5f0a60d3a213
+2b02a99aabed0e981cb3db5d2c459abfecfd70901a1bc33553e07d94b13bab6549c39895e1927d
+911885169f4ffc5d62d66d05e1f979c7a902a6b98c7b42dfc09407cd86d263a4624bccfe78d97b
+223da088ab114d61dacdcc3bf6421fd5099c6a2a45a953e250e1bfe1dcd56c2b02548fa30ada66
+b7f91332f55d8d96914e313b537619e205d33a23e5fbadf80577e83176b2c8d0bb6a5b12cb8379
+b8e64352006e2b0ccc46258b41c4200b33f4a0e1dc80163b346ce693ca83de975fd82525aa5312
+e192c2afb92fd46a35c9c7f050085284a0db54bdd2429d65388fb69148321e6ae8dcec9833f531
+e8822a732fa56d683a20d0d955f69fd83cf7945b559579bd833eb10cedc80b987d76285811af5a
+53e9cd47f7fdfb42f34d1525fe3eaec197c6443685f2501a6bfc2b6fb2162703eb2a59d9ee4ca8
+4dfef05dd7906b85bc2e1a13d087df9dfab856d75f5aa01c3c19aa689367bec9a5e384e2e27b5b
+cdecddbf17c35a95b62795ca6f8166e6616d75857711e1e8e428e1f1d6c89c1e748cf726d7af50
+225b3bb3392ad630f185a2fe1c2c67611477cdcc8f08ae8d90cfa9abe4460399713e8a893e13bf
+e4c5871ec13d8fb38a384c2dbf592b0e0b740a299199f3c570d657b8fae91fcccb050c8095cd79
+b861dc121a67962a83e514d53354ffb487fdebb3f2f238b85108e1c4198e5f2cd22d58c91fe0af
+d5534a117cf56fc1516bc574fad61e8e5d2a13f17b8eb838c38fb314dce972efaf8eae13e25336
+580d47a212fa1b640c8332c2caad737650a084d0d56d3ccf88a517fe6f9c5e8e1425aaa7b9e3db
+b1ce32bae19c71e4efbf9cade1b0076647ffd3e1dcb7a0211baa88946af6d16258b351e8875f69
+8fc5c95eeef07bf1e50c533766ec0e234c409bbbdf2c41181c49b1c95bf4a24136312b5d4b51de
+5f539d100f86737426c69cbfd83b4876fc8a9e07b69fa6197c39585a611143e5ff99a5eff321a0
+6890aebb1ac2e522fa56dafff25889365d6071b609f5d7cf273f61f81046031af419c45c08a310
+37b4cf68e2b0bf241a97ffed94fa8ad33c0598c71a08ee6657d5e17d5926e1c3d8f8f7f54727c6
+8ac648672f776fa4835a4d6828576901bf6472e799644a9072d9e1ab651affc7a124c02ff998ce
+2c97f57fbb49e11d0bce1e8a8c3b90541a86f3ab2b87d00d84b6d0d4d60837f83b14ef447dcdfe
+9628d698fe8a0b8eee445a067c182b4b85cf62cddfe9c508cdd40383668b841f8e3ac62b3d5697
+3d4e2ffd70cfc5aeba5783d057fc8a71d3ed512dfa3553ddef4481553f7727cab5ea16f46a7433
+8fa22ddda250d1299697be97c2b95df5366e2e5f2e8747ac9b0b9c76999a18a5c96cfb69c19ba9
+93423225f141e716863cb63394ba84747d3c38cc2e7b828955a9b5bb1758f0c3c9148e8b3e3f0b
+7ca95d9dfcddf67c1119d9e3d8ebc30547f7bea123504c1a70645719c6f08d1cd25ed1fe798791
+c8773245e1094456bd982699971db13e9a4f61b3286fb9c528f7d1de13cf855ebfacf8feced760
+2d1cfed3bd2ad1e53c88bda7e4d8f38d88daadbbbba0dc5a9efb70587a120dd0b6e805de4dec8d
+06d821a426e7517e512af5d019a8d3e1ca21561ef07be194bf6f050296ecfed8f9e0ca2207b70b
+2fe4a41cd99865ea952a2ec136392a6ec2f651f45cc360ced92a1c3e52c7cec13c102555b5fad6
+d5156afa766f0ce923c4fff30ea2ac59fd2f34804c5f86095cf4acdcc4ca2bcf6c577b211127bd
+88d8d42f0a7fa000362cf698ddb98d5edbf6f4c28ed5f45300da903f9fb9e84dd009f55a48c44f
+53921b7ff9df5891af3502ae6f6071281708b5b291062ac39c5077a66b6a2c819df58be7615284
+dd1bf24f80d0975cf3ec5662ac81dcb94e8dae6da905fdf5d997d1c069156fbb14631c0caf97d0
+7324ce218420bb78d2a34677d5eede8d294de409b764eecf460cb703f8ec81f0afee5ea926194d
+95b98083b29a8209d7599144f0f303cb2892462936dcaba1357305a1f971ad5a4a4d524ae84c33
+b51e004e49140c1f8ed083efd7f57dfd80611f8f1f1df0984304a89475c22cbf8668e3e44b4eed
+c2b4429c919e071040ef3f86bfe3775aa86bff464c778bea92c683813e9284a50ecbc714d51e6a
+8c8a74776de88b20ca2de56c1c8076a518db25ab2ccd79d6275506b592e355a351c14dac4bea7f
+b75937f7547a5fe0834278ad8c501b118bf60e673c8961d6fbe6a9942c0ab349408bb2729347eb
+76b1afbf0ceb6a0d5ebfae583fe7845d0626a2d0b173c4e51f5ee5505635cd59ee52d11d1a024d
+dbfe374359c8ada7fc13b78f836351c4e9eb709bb5ecb13fc48e735f1e222c5f6db604949cc48e
+cc7cb19f1cebf68d76a78b89881d1e6f9adb84fdc0c1390b29abd8b4fd4889dba77a5b34a9ec4d
+37169698b11bb94667d9e9e032ffea7c337be415942bf6c52dc9ccaf37136d9bee84ef9f624402
+0924b4469a733d27013a0c5737e50ef9a73b5b9e4e99e351a44a36e81975c0739c2b77406d7c2c
+57153538deb30a14612b046e6b8053234708c6783fe62d1a74313c4e0bbb2345f93e23e72751b7
+668b886fa166d33c57b74e2e668436e4c114321948503fc039feb875dbeada926d6a50d8a7b48d
+fb617fa93b70963dfcba6463365438431ca8c587e6f64f8fee8212cd7722e82be7104e5ea592bf
+4b5bc2d85eea61087ed21b777fdfeb114193dff9fd4972dae07a8ad0c767c6855d7d17286386b9
+547a17fa21d821331f53fa0fba97fe4cbe476655495e987a691ce5eafa734d943a98191342c91c
+86d5fb9ec4ee6d3312acea4314c1de21a1f5ba3cd3030b8255f7c59cbad6901add4725b4aaf056
+9e2e00e6acc5dc68bb2692b48a8c9697c450ec6d823eb559ea3a0d2f5aedbbaea7ca93921de214
+32b9e75e5656876c3465df7fa419ff87eac6b1c4ae7d2d3cc25cb6e989aa01ee07df4b8d9264ad
+0229985b344fdf1fc080a0ad5237a2f486c07caba716f660f326903f14814aaa1a9d95416fbeea
+99d24a1980c2409564bb274ebec4cc219dfaebe59d3ca242f9723cbf8774252bd49fc9501a1cf0
+996f7f1a33ba952f387c834857c84489710d6cf404252b98679eb92742b8ad0d69d3a79081cd1f
+79de5d9cd4d8005bf4e8b46ca1410d08162047f36657ae6aecaf3a177a62465cf214d38d6efccb
+9859fd93ab8a7965522fa13ff30d0554a3b14a5fbc603cd8d9a6bd665224f57696a585c96a5db3
+c2ed658d338cb51b2c5fd46a19c50dd0edf00270cd85baa56335dcacbc3f46a01f9b572ac23422
+b9242fdbc2308a6784899e3736df4df30ebcc70542e3afad4a873434ba54f03fc77c9b2f1f63df
+509ea505d13283c15070c76a6c274e4b600dbb9ba0bd3846e9972ebb66ca1f22e14cdb05fca1fb
+7d447bc084a2541422eb5532f875d1f8f30684a18690c8ded41acd313d783c2bc3142f947b1dce
+2d780fc2934b9fe4615b333609648ac54e8ef2eb7b40662d18d51be8fe47bbcf8d443db9e47c46
+bcbda07cfaedd29e388776c9532bc7f3f9b9e70665e08015cb494b34bebb4632f4d7e488fc9bb9
+7add08a6477709c769275d5ccef8b3703c2bf554abc57b8187f958cf2fdb9aa5fb0ea4b1f7cc88
+214ec435bdef2824fb8209b16a9b46c25efffa9391d387321b2a4a88c230dd4245bfcbfd8a9a9b
+3400dc817f80efc6bcd2a0538d69ad64e266dbc47a19801e8748c577b2dd7a9411b6207cb06c88
+d23ec992e721f47ca7ec3d7605e20ff47456c5fb9f92bad54ad6bb320145647270ea1045ea8fc0
+de95a1725c0703e4b93e79d10cd1c1a8f964ca4790d4960773680808a0440348cf4a51747bd5b6
+77fd082f4afb9c0226470b3d1619bce500f78a25f229f443b67c8909099346d2897d2d8afa0c0c
+27408fee94bdb3ae9f5c6f92cf2bfbc4b1d57993b0601ad84f598f64f293431aa8e948e468cda3
+3e3ea837d569a2da769a1ef1bcf03323228b622e3010d642c3e29adfe0e4007f108f467c066538
+c2f1d1e7f0ff604123d830ab0aca688409cd21222ad7e0721d9b28896bb2b826fcb9a6ba9d59a9
+d72aa4e4f2bf352effed45c30c66da35d8060b91b428bde367d124f502f8d1bab3e6cbcdd5b29f
+faeee9367a263f4ebb13aa7306a5af6ee380ffb90bf3e7b1d0f320aa8c53b05370831d36edea02
+595e57131fedd974152b68812552bfe5c23226c25e09238f2420262a6bd8c8c86d2f38e33e3d00
+360a381e2e49a27067a587bd803b0248e81325a66f4ce68bdb7e02118aaa25fc998752d9d6861d
+185fe08928cbb62fb46f1640ceca9d1580b695c39015eb5dd5b01c682f495c8d60b37a148ce5d4
+f8fe92c58b9511dd656c340b3108f25dc347ae79e3e09cf368fc67819b4b832fc15fa16a144bbd
+0543872feba04c16025bded4df2322fba22de2affb0d384bf71b25572f9a3f90078ae7f6b4b742
+d3611031abec466f56a4614ed8ff8d7cd85944fc96d0e547fa9dfdfd78f3d6231cc8db73519e9e
+7dc269f7880a597898dd9dfc45aee111e7516ddb4734da926210f711968d084e7067c584c97fdb
+a23c67a250604d6278e9f2240730a0207fd3d17ec52ab385ea99e8406684e775d6302bda82c46e
+560b2d1f378d8b3771e2dc2ce0fe5230dd458cff5b1619132a0b6f65be4ffec813191f24cd65aa
+20f2c4a267b85e2afd19526168b60b40caf5994c5d45cc1eed0e05a233dbe4ff5923031e7bcaaf
+3a0925e68a0e89c64dfadf602ea49cbe01f3c16c9942370cbb4f7cc2bd9496e28312e8842279b0
+2de1a2c96c256084d6da1951bee070a615ac8872f2f238208dac07512ff277dc4733e3d74fa623
+97eb2b24812c848afa06a54c5bdc8da9877793a4a50057b21e4a920cfba0a48b6d311ca8294cfb
+b9cc28854409cd3a2eb3b6f55c57fdb352251881b91acad9866fe03026231d98a3ebe6bf9d48a9
+cdb791a1ca9d765a8d975c7f45c1ab5931b01460d37318f0803ee1dc3c3f14a2301af4b4057b5f
+64b417f8e4ba72de85e90083e3453e4be4b4d7d9494385e98316c88beefa92c5987e2e5b66eed4
+35dff71b1463f8e915fecdcdb5731958f78f9ab8869ebe8c8fd9b311677c8b2ad55b6fcf052c1f
+976b0446a60f1584f4e3c63e3b778b76c8dc5c743037caf2e9b0f56d2224fa56b0a1d80c0b543b
+6fa9ad6a917ae8c2ef52728db8dbb85d8bfeff616d6c0517dbafcb56614d01adee5913d53dc53b
+23a6993bc93d7bb6f7c15b6ccb0836be28847ad88ca95fdbc36c97ae9e0b6a553966de21f4bae2
+007f12adbbafd83e00ffaecb80a4b5643d9b7e30f39ec79011391681dc0fe69dd8610e9018e449
+c84fb4a9760932f11bb8d4454554e52bc8dff43a5cc0f661694aea08440d9a23c65d6dcddd0030
+79a510fe95351142c59ccf5c16748114607a0a86c523c36ee2434a6fb2d3396b24705f824c495c
+6d0ba1c7479a88d82172c5e283f5dda4ed061c9f7118c704c67de72985041253e4df6c8b423d9e
+b885cf111e77d94657e597ff12cb2cbbab6fdf8b6f6adb91043ef00e1f8d6087ff8cc32c4d3183
+929ce4307cba11c05b6ad57ca79998ef32f04811db79605500900d069a3e731aa8cc0dcc4e52d6
+e261876517087f5f948296999798c718d0269e68c562bdd940652868e3d820653d34d6f93879ed
+ba6485c101be746cd9270154a976ba4202f844728714a3ac7375efcfb6a99eaff26a47d7cc3ac6
+07a687fa54aa29b830d5a3e4cd9af417c1a6073c48189aafe33cef42a3dcb62eebc587ab7f9d3a
+03efd3724badb50db4535cdf3834b8179d912aa88c9515c88d7bd2a88ab055430e6b3d106760ea
+d3460ebfa736e90b8a022ec89506b72d6e85af333e7f29098787d96d89d875483a1a7f5b5320b3
+dd3d509e0db6947acc610a311f3dfa75cfa6ead722380b85ef8221194afef7e1071f912646a178
+05ca26d516a30fe86df14b778188c576744c72f0d9826d7f1e50bc9d597217dc32f07a663e50d8
+fe49510e35c4f7527105a526489e2f32e257bcc3b956e6ce77f543595a3adde9d9162c5cd63da0
+0b35cea785c6a529039e985ae5e3bb876fe105068fe449f014a3287378c9e41b8140a112e18d27
+42b3f30c9d7caa718914f2d8c8f0b147051be6a86b01230ef38353333dee56d266ed8003e307e7
+0ca5162a080b89569800c1ee5203b19145e08b1ab97379ed5d7dfff9f0a41efc52ef51eb697b14
+e26fdd974645665a8560763c02896ac7a39651991e0c7b9f905fdda5f1e88df1d8bceaf68a9c74
+ec69f8f5c2165b139697869d64a20842ac77865702779ff2eba76224a365d9a5443b1b4f4ee11d
+0cbb2295e2372f4b7ee2653bc1225f005f18fd3a578ac75dce883f2d303aea6b40a99b310fe57f
+a8fab6ae4bbccd9487cb86689ad45dd77c7592758d2eb86323afbce6e65140c6ab20abab04550f
+47b37f9382a365820639c91ccf79a6d8e10568e6a1e9f94dc84e4690c302bd11509a59f3ae3431
+5b46ef06eec2649610f943f322c668ceb82f1172e8c6c8670aeb148e00c236a67f918aaf63e248
+e08dc83a3d4ac67b3416b2404144ecbd06411c7ba89b6298c2651191b06f159bbbe9a132579094
+3b44dc05bf9403ddf626afc7620472495f1936ded112448e3421e895dff884d14bfed989fecd65
+69fac59adcdfa75386dda947e50d838ba528fd90c80245839f1b605a0ec742c5186f78ce942d14
+e03c43c283a97827d2af5b864fcfe358c14ec759590ddf34277cdbe78852fa1dfc94b389bcf7e9
+e0c3e520c142925b88ea5302ac8ecead36454fa77f027f6cdb4639ae5279c188a650885e4dc696
+58c53efda87f0de9ea65dfe91b5ae814191f5d595e3161df3cbb0ba7a088277c96ac165aa03bd4
+b120eb460b4d6c03b7c248e4c9f6c074ae267ffbd679b3d4d4d2fe0927b49d2b8946e67f690477
+fa983761992cc451b5c5456d4aa23e3b732405d512ca3173725437030edb95ccd63b2368b9091c
+4fd4b5e9e26c70b028ffc2b434a0ab29d1f25c61ce30014c534b43a4be14488ccda3daa1e968ee
+4ec562cd6af153137676f264b3f288dfbc38390b8b1dbf59c0987fccdb1fffc3fc7f09bf6af381
+3ed713c8ff9807ab121d7d80bd02ea1d9ffa4270ce46f97dd10cf6ca7e954705e95da8aa9d8750
+55ad13868e7b03eb464778f35db755adf977f8b0b52c1a192a0f259dc8b20b47378259e8de23b4
+ae10f280d6ba0b38b49480d8518f86539262beaef7ecfdaa1f9cbf0202adca02c2c98d02acf9e8
+f37e2f835167ffae77a03ade439e129583b9c94830c6596f95010b062db9a1d527baa651057cb0
+ba6b7f9b34efbcc86a88200a58f71e641ccef785e3a6ed7969c19956e8f70392cdf72280db2f6e
+3bc24ab74ffb7c6e300939808d5dcb13ccc61fcee7c772cabb81b09d1c40aa9f4158f79ee383b6
+a85fe11c3bb2f2ffa1495493978223f1346256e2a53629ad117286383dc53f063ca75bb641dcf3
+863ce8ed6e7148984b7282bdc153e1a36519fb1944be728aab8f8d1754ac93219d38b2b7b65074
+350da6dad657d2fab457dad3cf25a187d5894866186c17a1f05df46c36d88bf0253cd2270a13ff
+b54f4feeb8de471ad18a97a745b43a81fb5f6be1d406efe9aaa6a96caf45a336b6afd6ccd09c72
+cbd3ca8f56a54df10d0d0aa9e69ded4f63e682748c504b28cf862a50c60f803157c589ce3de6b2
+e2ba19d8d7c0eb969285adc37ea18fc40502bce90b5e8bcdf0a4d8951bb0e6c6f245143362b299
+6810d2a3cfdd2d4266d3a73965c1844095c47bfb9b3321f40121e848daf85fdbee98c8ee858175
+1c4a3fbe192da8c25afb41a0b107c80a92860b6e62f875bba9e474804eb20e516e8aff2e3f90b5
+e871d06dc7825c82a9186b9ab815cbe800238ef2f2cdc005971c7f0663ea3386a657bc57ec6740
+ae1a9b10a413fc06480d2845302590f38c5db57582118d304d530bcd7ebe9c38ffc8d0ad52ee1a
+1c5b01666e5ceb3b1c743a0aa9be153ae959d42d4080a2a8e121f3d5ffbe2d3388f9c2a370b766
+e89f002a3c7acc5c1b3f983a6b36b24270de1f3e4a70efcc586c2770e80a07ad6fb9e76235867d
+5cd9e5cea887ffc56f020cee3dacb063c5cf1c65cf93ad15cb12fbe73b2214991bda821069272a
+6ae455b13c76f2c6013733ac20faf9fe65bbc0886174f22cd608a86347299c35061f34eb6eec11
+cba06c2cf8ddbd2aed74819d20c489aa2e3ecf62335596058d80c471fe2405773efa3e350a561a
+d057caba4e2197c09d383de1b9b40401b16528e47a75f0da4be251dd4fd87aa21ad05f7b68423e
+9f6a58ad287bd4e0cfa9bb0b031aad0ea5b01d2220ce02ffa3996187c823c9c08fc6a18444df4c
+8c12271f94c0481141335b326ca475d96f399fcb8c9888164933517cdb9a568ffb9728858d06a5
+e605301526e8afd188ee5985ac7df0fc8b65b785071b2fe841da1985ea85310b702086e2fe68e4
+ecbfc1fa2afdab64aaa3b83abdeec9efef7f6a91f7c7ea3d344b7a956660ce59c62b36a12708ad
+cb3a387070b0292610bd70888ce521333ad75c807e736fc6ca57b008324d8ae9fff396a3e6c37e
+ad9d390b9d293bb7430e78aded6fac09cd88b4f5b446bffcbfc52af9ac9dc7d7e80de77a37d880
+ddfaed0bc5bda5855aa0df108040fa5b9abbcecff353ca2b0a1fbf490cc62261c329c54777ddae
+8a767687b3fc0fc540c551a9c82656f7d54604938e2db65dfa9049d127ce53bad328e6282787a7
+f448d78c392a2cc9a420a0932b1862160241216a1f25af929b5268f5ec83f908d0f72120334bc9
+40c5182542f5c4c0838b8d797205e9680683772a67c6a3a8979c604466415285e0307f3a28f9c6
+44f3de3d26de23facf3c40aba21fc0fdea2049f966a88ef103b9bdd526401951c5314f634dec61
+14392b2f37fd26864f5488a939023629ec8a653d849dd6379a5f7708d65d9ce0574aaa5fe640c3
+a63850441368898046b66d3ebdf83fe47ecbb38ef3d5560271221267943a37569fe58108584c65
+dacbc3f13d7438fa597acb3c8f14456cf06fe7f15e872ff63a2c8c63a178725654abca1da344c5
+d3ad7ecf294a2a16d1b01bd6400fcc195c3ecdbebe072c2ccb03528183b06664b46d1a40459955
+8ba2968ddba5d1772c89ca9c6f5d276884cbebaff43982a4b19ba59cf85d4c3b0cd6b56e804a7b
+bec41c51b23c6a5ea4d6a2e9c43eb8fbcd99e9634ce20336f80eaf585195ba0f3ab7d8b89bc5c8
+3da46732d16ba6cd60e59b7f78205024d0f62f8fb67d20e08f0488fa7a54b4eacc23ddd466d23a
+f71baed473e84ac00f876298230c30e3c3ab3ed00a2790d3949d85a782718eb8bdb43518bc2cd6
+0edfb3b3b43ab19d7ab24384ba9c4265e89d6e31e95c29eb772351ba51d9cb1ab73aec5e4c6400
+c10c761de194714d9233d06e3671346fb7f549d17f80efef6f21f6a69c859010f2a9fee4159c90
+061f0f081d0105c23be043ad73dd8ffee47696bafc0cde5fb7d07cb62cc0e215ce965a662a477a
+3af683a528441bf4dcda61de3b3fc90737974422c4df8b56c10d3cd2e090ce356984c420ccfc8a
+b0ce68a9c12d133d1f3bb75a5b23a58ede27436cc76d96f20a4900f5dfe1389a8535c4a420f09b
+883d11f438dd580c06a7dcd556d3fa5bda5e4d35e0b30f3fd344cce8fb5605f25c592bc672c205
+61d829e49271d0eaaa2556ed8fc60f96da260a25d9c812d31312fdbd0e6d00845fe2ee70e89a7b
+dbfbac07a20dadac6034fecbec724aa21a3081aefe8a4d8d36b2480845dde4847ef0dc7cc270a7
+a38c595e077078bf9650c167d9fa0040f714ea953ff3fe7d903208eee0dd5e0a9fa3780989cfa7
+f47e31f4c9f695cddddafa9dd6b3963dc28641a88c42c6b8ef5f47fe20a48eb91601f87401cbdd
+7b6e2d9f92c88429e4640e414b9e52f471205830694cf862fd330ebba51df331375bfa4814b8f4
+5cdaee08c33ad29c43d03202fddf894ec2302ad7c4753473e89fdc4f64d7c583ab9d1b101eb529
+81288684acc8b211359378861894e467f68d25ca5115b38521a6a8b8d955c2f3128384683f5623
+b9ee79c8ad0c63c6348b1134f623fe53885348dc99116c1224ee53a1be0b7b91120f6e136721d0
+d4587054f451e5f7c480e87490789ae1fdce0152c8a4cc2a05c0278395938d798c2a85c9b8e958
+4c1e9a05a9c20723ba44dfc9a50f63fc554703d99ef15d87784b9ac49bcf4b5d70a928ebe46a46
+b2bf96c8ecb7d22b7bf2b0154f2fdbaaacb0229dd52c5759123d81eafb723f91afc0d65572a966
+24a09a7f85d055d87bf3568c42ec12090e3205dcf515dd68776ce055ecef6cf97a9dd83c57c6a5
+f8ea7039c5b03b0727e9288811ddc0057221e39df7d238e02777f90bec05c3b1b9220c89df8c74
+71d9eb8fa53c51280be9a7ad18b437b241c113b812ab1dabe2d652cb558155355023166411a611
+da3cc33df384cd3ebf2284a4f02e94f2a8d1394e00969150b0b148e0c800dca007bd36c9355ff7
+69cfa0d04bbdef74bb55ceeff1ca96f54d812013acb3236a7e2368f6935ad46d91b98dfb53b84a
+11d94cd31cb8519e68bd17cfb3b6e477c500a7dead963d4d3c005389dec6c4f89bce094d2bf7c0
+668bc2646e3e2a88eb7d47ed7a3b9af54c51cdfb93d7123b7c1f115825bf3968c8349267bea1e0
+8bf14e91bb2a5cfc9df08aa088c9420c4e716050d27a5508db4d2d4695a034853dcbf4e9247490
+0823be94b36fbe28c17116fb1c1f037272ca2ab476238286a5ef4693c4cfbeaf3643963581a94b
+689b02e2d40285060bfbe73ab7a8bd9d98d6df95bf1e9ffcb9d8e35864160d6b29924685149134
+84578fc4ed3105c22ed6c2db19cb9188c99efb618dc0a489a21691d05fbfe60cfdff3bbfee01ac
+58ed0f96d5722988b17383c10f6d958397e150deaeac04223832abf1f44bfaf834597019c727f1
+77b2ed5cd4bbe0c4c18fcff67333c87a1b46310e0a4fc8bca9688521e90bcc945b3c99a80e76cf
+38aa5b425aa33d22dc8c38ab373ec7e2e8a18c0af832ec547f72d0719cd49b1c2972aabb29551f
+9fa6524b97c08b9cdfb04fe40e6159622499f26c0932b41e07616b92b76493e65a39ed06942274
+9f599072e81359d8c14d0266d273ae392e2983e74671aac797d3715ff2936be78e90fdea108d49
+64c7fd5e57b0d018d421d92cbbede096e164e7ff206a5ee9b96131f77c707098bb898bad217491
+9e970c46fb9a72c3640c820cd9116ed4736ae72e9710bc9f42153a89fbb6ee8adb071fba6ccd44
+a5b4bc2dac5b65505165cbe48b65add7470d0f37e057d35f19e325a04afb572ea7cdb4a7c26847
+118187792d7dbf679222ab53e0ec4142768a1b4bdead6d954dd6715412eef57dd0e5cf66566663
+00db857f9c0df82ad98cb40c49202d5f45726bb1e0d39dc3ee53518388c17d004e59b9cb2253e1
+abeff8858aaec3669b07501748ab26ed83ed496e2081077a033b01f3b878b9ed35c488e876f990
+70bdb1ebc4c4e8559aa18e68aa798af4af7c807bafe09a242dfc81d935bcba46618fa0d1cabeec
+893573694efd258165a4456896ffc9ef7372a7028342d5da1fbb731e476b372cc0e85619d0e0c7
+0bfa331921614d1b091041285046af3949f7e3fd8b91985d68cfd7ad774be22b0ef9787064d6f9
+fb0330d347c79b1337500b062d8a4da5a6d2b21c7cb49529878f7e583ce387473514adfc52455f
+32d740c4f795d48ecc8a0dfb297225f11941b0469220eb56453ecbc27ccee5476b68b436b7eb4b
+e616a0d5a948ab40308c79328e7f164d7e241c98acffa156a535b0331e100c51fccba9e8bb5c8e
+dbf3638d8e53f2449a3833869e7441a9b78f1902057c092df2a73a69a1dca4299598ba481d09fe
+914d1b2b172c3d98d953b78c5b3d7ecba214ae1f07854fb99434e89237d0a33fbb797dcc73314b
+029329adfd5d2550200c53e98ec663458c94bca7d82a6745f4aca46819a8c93f9332b467d4cf5b
+f656f8ce9eb91dde8bc5512e227fe758ef05c22be5e7b6e3ea4dee33f9dbee49a265de6a2a5110
+5e2815e6c0f7e7e74dad274e14259a48571c485def55334b6935797e2013db991f4f302897784b
+3910a8b31f2306cc5b2e5b53b706e24347eb7ae07bf86cdf7b0806684c643b49ab9b99f7782c70
+a03aeacb67ac9a4e18c0bf5d5b7acf9086091ae0de58ca406ecb4f8dea1deafb0f99ef2c2bf15c
+c78255ab8e97e580f2377620ad08734723551539c52dedaae7b41929611fb7ded7e9aae85b0fdf
+ad5d4c423bbb05651987eb0729b02b8652c02a84581c976e6fb8549053963643b8f34d8d25fffd
+8a4e902547705e8b1c63980af8034c762bba800695bc910a9d3de173f0fca19ad27fc98102eb6a
+16588ceee0dc9c5defb401cc8f6347566581323ee3938ead10b23399c60886e1167090d9e89686
+fa2498c96bda4e219f28a9c1067da94f499fc1347f2324946881d4a179b0d1563e7e339f45604b
+33d5ac9fea3ed64f25a5d920ebd8454e798a35fd9a0b1a315d7b0af49d104ba1f89fd50d12f468
+6bd65dbebc2c9c99be09d7bbd1486ee6474b87986c309b75a4c37f78e14af97cc97b471e9fae99
+91497a922907e797322d8dc3d702fa111e64db464dbcbee9c842a4d3f0aae1403051115e894712
+3c8464be34db7e4c54d47c32400941983073a07c705e84f4b75d1193dd79617750d4852a040593
+f1e7cfcf279edc74dfc881c3a9cf853821782178bf6e2aea6543631c3f0d4ff695846c068d1b07
+06575b8eadced4c83639a9654e8b6b79fb40960952630da4459bc91ccb79358f55e42add176adf
+fe0121344e917034e36ae813f4da37611638e894eb879f8e32ef44834c6d68fe5762091c4a5b51
+9320fe11b2a16adf4d2f404ce4aae27076a21602a413514940e48990b3686b11288a51130f223e
+6a0cc26e766b815cae8ab2590635b7c11673b2efd1e2c5175e009c700aafa8f9cc52eaa19fec1f
+df7ef88482cf7d323ce2ecbd9ab3486dd31f00807d62c89770bbb52b2966f9bfc9ece6ef39e776
+34052ac72402ca313f30ce2b5eedd67d86797fe9e74c2472a7f794c7d4722c5b91b5defa6138fc
+7d0bb79e520ceef7db50301065e1fdbbd22bb851810d55d5bee1657c8ede90dfe5998c80fad9a2
+65f84d5d47407f10f12f7d240aa8271097fc860c35b844bc9a980e132cf9dc77830524d7adae49
+5a2a25d5a813d15ac65102154e1051a73bfca300164193de10dda5093dc8826fc44dc07fdbef7b
+089aa9ae9db022ea113b042d21ce273e8a91f60593a778b0de6b1afaab45e8853286990b7b78a8
+0a0d90e0a7a7bc2be4c47c31158ab8a86297f7d142d0e8d878f1a014d0a206788f2b92a99ab2ea
+9e99f487d247e119c7660d9f31b43be91c6d804f5ce91878bb246520b4393b876e9b06b39f7036
+68bcf8a88444f52624bf6a70efc0fbf28b2747791e4a04baa725927203bc1c659163470d85db4b
+c02b3a76f936628a48c7b90069b028f6bf10d9380a4aac6177ee27bad040c6676e85478807c3e1
+4616e85a6ae7eece36b526af5e90dde6920e0b85aa6ba6e3a1df5977e659fe30a271719757f1a2
+345ce7c08a24a5e2c8460db47ff1bd66d2fb55466dde86123582f655b10a7626414a7c82a41028
+9c1d6e090689874784031fc55078ef862c7ae4d27682f15777f45b9ef84074f350f57d708424ed
+597754695a4c9603c859d7bcb3f24956da4a85053acc2474d56ea9d08fc5510aa7399ffdd54bdd
+2f8e6f8284e3d1a2c8b8f103d9d2418333cdb752f3bc29526473596d8a34e260b497eaa36fd136
+40768b849e9385bc4f20eab5e3d7a0aa7982e14cbca59fd9402c139685e163cd774b33de2fde50
+03fd50c9f775d56494cbb277554b1180b4e83aa5306d95c0fa5bf2a1d38ab26a820e04c1eead42
+d05bb4e64767de6b0879b16a9d98e0b087b698901cca4b5f3694d820548b4f0ec0e93537b9c70f
+09530ae177ff152d480195d17216418027968fc92d3f463370a49133fb3956a8d36e1d5184f716
+f1014185a520bb1815c026bbe820e843608def3a08f051820e065070fd4d9f16cd86c236f4425c
+2e6d93cfcb448da1d72798223715d93c9f3c6441b4df332ca5e3b1cd5ea22d4c1e82536ed170ae
+964a3945d8f42c626be30e0183fca1b1b89bb1d748fba1901611cfb272afd4acce326491d64059
+3ce6524c5b4533b6dc6312410499b3378983bbf3a0f84f2c8b2749661cde6521332cb7a9639c33
+6c311d8425b18d5d84d63d719af1b3210961c324f206e923ec12acfe1a873c373709c08a368b46
+a22bc54f9d7ba4370d1a52845aaa3fca35b7fa56437e07d796f4e1dc7fc7d93d2d3153a2f9f20c
+92e257ea85ad823493e713e3419af0e29202b71096f8ec3e86ebf662c7b0589946a6d47b870c15
+2d8208f2465d908e656be75d1ce9e2cd6aba43c9913edb8a05884e26c1a54351918a99950e666f
+907bad03b7484c2d44adb95c4b5896ca7b58cd567f3e32b4d7b7c7d3c02792ee71481dce542854
+2aa131140a45388f8cda63317b94a177e7c9b6c0115c6d7e1a2064c117b8cf89a430d7c3d779db
+c8e3043f78cb6631d39d9109d7947366f5807cda1751eb8685b2f7bdc2d8fed8bfdb270079048a
+99d2571d9b5356cee8c9afc852d0783df2d28587c7528541c21c45444845989b3f0fe8645baab1
+b5f94b35937a21ea2d38d44af803672ebcd0e625eb029c1ed7f69589c14819593f6409eac480e4
+b25bac17362654485bc009860134bedc5848a3bb481d40e3f16540d567de4bade4b196de9e61c5
+fd7ef717f74a3155d441fe3075260e796957de27df4db2bc8a19bb2ef8e46ee46d4e921be8ca66
+bf028256cd8e22173658163a17f87be32764854e62904c0cb95e2aa83517fe5346bbb27f2b4461
+3d6ac97264eb9fb21aae536b55a8fce813e713adc6f21a885480176cdaca3bc49caa5c5e2f50dd
+043a43a2e7860e448f27d32113495a6ebdcefd816913b744504a13a58940e576479bcab6827730
+35661fa016aded29f9604c3f7bf02fcd2f52d4a3fffea8af35574664ae0a3807bbed36ea473e8a
+c134b6ffb7ac533f672ce90c9c1a5a67ae12ea919e93c1e108a4377f9f528b7c3fc72341359f17
+3c62c01281ddca09105c2aa5788d9a77fd6b341c775173e1a0b0f509a3ea2efc197aeb289cd56f
+ca068a17359144729404ff0b45f39ff0fb5003d4d310e335a36f2238c2d1d149e236cfd97dddc7
+240bb6db9d3fbb88a68cffc98df8cd6ec0705fed7341bdb8c2f50c4e8bd600d07d8a9f67c7875c
+ecfe8edbb2baec16644c9f5bf5a19e4844bafc3796ad85cfe536e56a20d27d6f630d0a3df28486
+07637e580eaf0680672778a30a39aa1477c794ae65e3582dad96f79205472ad5fe3f1f07873f10
+94be91c6f4d292301af3e28f3a4c054b9d950bcbbdb3cc4ddc1f3637be26d41ccf9ad81a401545
+24200e9f471e91fd69ebab316d8a62f9302c24a90f20cea8ede580291911a9ff594b047bf056a9
+d38b3aefb10d3f63c871e80ee833df2fd6c499e77630b7133d0a5fcd52e6bf9bf3098535d75d4b
+1f2268cff0acbcf63f3487fa3ed27a9b02e012b14910e51fb6118c9837826d3bdcb61efe28f830
+bed36e49701e4bb516d30b883ee21d8ed7f5c6f3da635c8a5136ec098bff50c0ea369223465fdf
+fa2b6a26a7abdab3a2ffb0ff3302d65bde4495a90408f84f7f40c0667c68e978e1a8910606700d
+1ab8e04bce992ffad808777d224c27e34857ba6ed9751e21394b1f4c40629a28118040d37f1f32
+8822c37f12f3e60551492838881b47df7e85039ba68b11c3385bc56a4f67963e82fe9aa01193c4
+9f4798cebfa037335d3369d34fb2399dae71df2a37e836c282e033556a55e4d24c7b435415dce2
+ad6c55e256c8e6ec50f5760d85db1cfca5ff24cb30478135a0f0ed6d8b38acdc17ba8b706e0f53
+56ad421c6218c453a9d9c1bd033f047213aec0dc5bc688c285e0b92cd3bfdec06eb584a2a68fd9
+830367d97be71bb21ca2b13acf3fc3b0c75855ae4e6168c753142a07588cee426782462e7a9cba
+94db132c75919ebc140affce06020d0f98eb13b34605f4ee24ff1515def6a234e78ab55cd88ab0
+11fdfd11b254da5a78080c66022b74b5e40ed85c8d32ac6a4e15ee88cfac40193fae0b8b0eadca
+d11d221177ce51770377d6859d5d5e7a03588951142a28319378a4666fa2755739e15480bc1587
+a89244f0cf3b224e97bcd0e492161a64a935a8b5e16f608052583ca789747e53110cfd79021944
+90a4c13eeae7046981315392deb905cd02c16dba7a2b4df557ee59e6685242f112a660aee7ff3f
+1e11b844173f1a3f1424fad062ead1bb4b108b223ffb73bd2c99763c2ea697227e622df0b5017a
+7bcb713a1378cf79b391841755519bb9b7200e03bdb48b707eded071fe97a72dbc788afb0bbddf
+00f9fe49e38fc642e83d6005317670332ef73c279e2ab4f425b6660dc1a965513d25b9264e3890
+a995ffa309e0fee780e037b24c4ad7d133ab99442604d769c6c92f61b10d1cd452b95049764973
+45c76dd2ee38093666513f32fa3401dbd83f280684a901bc87f46b2dd0ce7f613b1009ba5eee1d
+c26850e0d3d6d1e0aaa5c6b43120c20317595e43f7c0f5b440fb9a7cf38432b20378d221a48dfa
+6df603d9a6a362badf76656e6a870690b23c28ee10ac0eb0a313b2596f80b3211185ea110b7fb7
+d10cdf60a38020cc90c282d68d5c91781fe7bb8f603051a7765029b7833d4dee2404dcbc44b23a
+9b11c12af8ede96e89c12937c57efa742cfa4808cb7fccc6640df6c398a73d0d75a68fefcbc7fc
+09f9fdb79949460c75d652227e293ace5c2c1b5f1c943a02f81d8fa33b7a1c142d22499315ba06
+3b137de11425ea1e5697a89a6045a974e591706fdd3005ade50353c7ea6ee693ff1bc4555a8eef
+3c553b55f01777a65d53650228c5a195c586c79701bb359959fbee9525cead7614f3c96d945e7a
+69478b733c5a0abb6a29c48a14780acca71c9bb8991f8e4681c0a06c98a8e175a0242159e1b497
+24cdc9a453019df489fbff7196f7a4ae05ef1300aff904861dd90e4558b2309f04407cb491d695
+5c4d0bbb1537a0eca91646478075e259ee1d34345c5031bf269c1ac302de8f745516f1ddabc1dd
+c769c67c55463df538beb21b5655b41e62bb991e61a8658b141c5cad4a248c60aff95e86efa543
+3064207faceed85f655248ca68cef1e6c128a3c289bd0f4661097c9ff953b469a6a6ad0bd2c2a1
+c9903aba5ebe3405715fbdc44a9909b7ea30aeea954050d510221e35a60a99ec49710d51489963
+de5bfb2eed81cfbc92d9a33cc58f53516ecd13d631d2ac99c2453a279a44295e29b177a61b5984
+265ab4aa24a20414d52b0d7142fa0ac8fca9851fb1723fd9abb32d2e1fc3bbed168d0a58b62191
+94fcb800090eb7cf48a49f569dfc7e50445207920093ce7363d63d8d1631730421566ae54a27db
+df01531e3dcc99e7be6398316ceb329f51e65f9effa100218cce6d62dcca6abbaf2a5dca560db5
+b9ff4f500d11b15c80a28ffeed1e04e2eaa56ab95f55535b69bbd06be0b2627d42e07858edece4
+0c10d7d6a30d8dd70f7b4c81f576f276dd4e39bad3d97b8ce4a18114892a0dc7cce3b5cd0b4a8a
+b515da91b061d40eaee1b44bebd0412680b0806c27882a92843c0ec7b62bf18399ec680f3d129d
+ccb2278929bbbdb97149aa09127417ccb9e81c9ea891c64726580aede779b7ce169c4f391c556b
+7fcacc91004cd95724ae6c165a39cb2f0f2910024a95e855499ac3a5e4729181cc717bf29a19d3
+813bb3ee29da78461bb8b25a2a619356fcfc0ec8ae4e0e351c6b45fb1b62a3b6f36d2f45f14810
+1d997b01c5167239eaf30047bfe08a2ff856838545f542125ab1d2b29baba4fed0e9935d114b2b
+2dd8585289081ff4902bf22035e97d15f17fff2f351dab9b84dab00ca62d8a27fb51b9de9ed1e5
+bf5e56ace90957c2c70337ce02ac2d10cc726b74e8cb398e76690ef3a036282adea52d8ee1b1d3
+f8031ebd2a6c58b38795cc31f78344747a823799f5fe864df6a3b931abb250a5e410f1d7ff4a51
+99b53a3f3839c8b39126e617cbc1d0cabbb19fdd7430fd06c78bb93e862d17dd79913125c191fe
+6f96527001a69e0147edd75b87785177b85038f3254d3fc0935c5fc7129ab533181a4e3ffaff38
+a39ab6d69594db4a5e69bbf682d7a798ae812fc6b99802b1d90bc4dca19345ed81a7b0cebc375f
+48c727a1d4766a920929ca6e748faf5f1211afc24fc14174544327edf0e08f7f09ec07a1eef13d
+0eaa27d7e71a6c2afa7a9cfce22f2ece408e6e2c07e9c3049298b7371973ee143bcdb050a1f69c
+0493b82c69629ff53405435a09c1257cfd063e80736974ac94a0e6689b034ac5d48972fe2ea918
+1353199aa6d3a22389e83883118cd322da1dec2ee346d7e1e0fffadede5fb46f582682153b4fa4
+1b75ff1b97eb70de461bfe15a1fccfeb7ed1256df4cf20328415b22067f13ca4880f53267108b8
+a38389082f505690bb72417628793169e9fd628b806d89e7739684c8f5e68e8552db877f6a25f3
+95e2f702339470941c50e996654c850d4e164007a384477ab93b40ae0781b5191dbb73a3af9ff7
+d7ea5afa407900df45fe22c3d95efb995df0f5b1f24810966242774a0e978d7a40b4468753c846
+0dfdf5f9ef392f08d070cab872ffdd144f9c0718f02ef8751ba554ef5d744f33e1eec0556d9ded
+70e34eb3db174981bce69330643f5008a6db8f3d176a1bbef6499feca8768874811afde46ad423
+19e878c94afd2daaebe25697e1e1d81931c9152e85e6fabdda24806f0d6c6f0ea639cd14f08238
+ad01c6655297e7a46f011dd7e11f824ac2e0b67451d59f8b0544fe1f53798927a8ba462d417506
+19f236baf5211604ebd103d5e1fe9508ff787526a384064b29edc632dbf3a835dca6cb53340a40
+54b02e8a4019b215b838f8bab07ded8d3fb7adff3683028afee0c8ff64b1939c51c4939edbb1e8
+182eb840e1818f6f1ca4667033891551b749cabb23a98cc9e7ad46cd67e34c66823cb14d375899
+bf4c3880575bd9d8cf73c66752faa10b075837bf4f95d6d79ef2a4ab88c0bac0cd2a0686290112
+738ddcfd8b51961f3b18b76fe598d19ac35d7fa756b9c677ffbeacadfe8d623fb1f5af5175bde7
+32bc80da191aaee2b9205e3b3d323f319d95d79bec397744a8e91b0ae4d91491b0866e916e1946
+554f8f8e19b46fe18f55284f6bca8320084ab93f600b81401fd34d6885c4ac87a4204c8c05067a
+7b8a91e68bdb88214913d763397e255469c94b3912c9c3fc1600500aeff0fe4275122b50c085cb
+834d1221bf7711f0b04cd8dea7b1f375f6e1f63e89d9ddbdc745368a1637bb9449749d8d3938f2
+bfc7665435bd59670572ab37f12c8808197dd0c5416b918e9266cbb38d4cedf4b4dc6b857d577c
+432c33581b3183e34ce39adad8a153b15a652c0c90567cd731d77a9411b696afbafd40be1bf8ad
+92f2249f64347a6f68abd7f604185c509425c1038d33cabafcb69431093f880b486c9e3a31d2e0
+c471a5b0c8407fe99cd8439e0a2d0e7d03f4a1a47df455073f52d4bb9efe9805081c4fce2a9a9d
+df8825b97f7101ddcefb683522b49ee5275646b625f0e02b2c7344b84016b0d03687de61fdcdf4
+5f77e840ecb610e9509a5f478cf5a7461e461cfa96603255c8453245bdb50ce07238e99911c578
+c4771eb3343331fe30e6606a6cf43c2937d4d3b507a26fb3a4739a3200e9e9dc243420bdb32a6b
+08b877b951b900865451eb8ff677f063b5bbd68d24add95d448efb00691bac9d4d85bea1fa9d2c
+fbfe36df64f7b20aeac7f7af076cce6375f12c6d45fc3d7cb16d48d76706f0293b5d0d11315f9b
+3c2538a8c5e5f9b96942964d44c82cebe5b553709c0317e70c16300a0efcc5207d20c2f771504f
+63b6902f97f700b78912fdbdd4b0b3e7b7fce4204b54b69305352770b6ed2dc0b3574cc9891016
+11963c5e33782f91976239f8f779efaa827c2d3d283a2f57d1bee3f2798824922dcb45331fa72c
+039ea0681a1ec10b76e560d604a0aa9bae6773b9f4c9536c6afbcfafe26404557c9282769b573c
+b0731f67580094bb0d63dd7e0b58fa776e9b8938644a06dd8c404d5c170660f45570e255ff741f
+f6389f63a8c594992db23822dbd95f17836c73807b405363d10f165833ebd1acf4353eabb1218a
+21619efdbd418f3aa92c3c708d7d6706978f8b87b0746f038fe320f59bc683b5fce2be08ab75ae
+67d3aa77054e8aa7b8a7f345f9de48f71132f6f9f58272bafbb0c2f8b6d20632c1f21386b66bc2
+afe8be099a5f5fbdf9f3add2b2aeb302d5b78c2dadf071feea504db3a80192365bd52f54c08d85
+1d672f1833cae276a6a3e91e06cc3bc3f06e7a8f1c886c1ad9cab495e7aef25277bfcaaa68e6dd
+c90f27358349788653a0a0d08903f2f23f032a2d075a3013fd08d2855d77213bfa9974c95ca9b3
+f26d54ab17c151037af62c14c50fe0e138f1c0e9c40cdfe4998a933334686963af028568a0927e
+7b2a5f6fca6796fc73eff279ab9beb247da2747b13899e657e40d1fc5db3520145033778ae0b9b
+d7b2f8e84ef526371341a4d28fee342e274c16526edb696c88a047eebc10ae3c982cdf5afd74d0
+ca212946b5554cda3cf392974e876fe8a0577d44e560fc1b43714fcbeb5cfdd85a929bb0ea323d
+2dc1885674baed5077627ac3e497d7c606cdd1cb343734be142483170d1893b9481ba0943360b8
+abdf4186a0ad5cc818f3fae259267664e1eb786c8d8a6e1dc538a7be8f73a1cbebdfc61c475df2
+7ebdaf351cbeecd3038060942d21e60e38d1f277ae5c8cf6e97ab66bef99e743101a7a37a80c40
+0f87eb1f16bc20c2c5a9aed9ced565eb25d807ea3a33ea6b2e4dcc0d23e3d6887d1bbaba4ee643
+9f3fe48d6b750033b7f170f3
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+
+%!PS-AdobeFont-1.0: NimbusSanL-Regu 1.06
+%%Title: NimbusSanL-Regu
+%Version: 1.06
+%%CreationDate: Thu Aug  2 14:35:58 2007
+%%Creator: frob
+%Copyright: Copyright (URW)++,Copyright 1999 by (URW)++ Design &
+%Copyright:  Development; Cyrillic glyphs added by Valek Filippov (C)
+%Copyright:  2001-2005
+% Generated by FontForge 20070723 (http://fontforge.sf.net/)
+%%EndComments
+
+FontDirectory/NimbusSanL-Regu known{/NimbusSanL-Regu findfont dup/UniqueID known pop false {dup
+/UniqueID get 5020902 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /f-1-0 def
+/FontBBox {-174 -285 1022 953 }readonly def
+                     
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+ /version (1.06) readonly def
+ /Notice (Copyright \050URW\051++,Copyright 1999 by \050URW\051++ Design & Development; Cyrillic glyphs added by Valek Filippov \050C\051 2001-2005) readonly def
+ /FullName (Nimbus Sans L Regular) readonly def
+ /FamilyName (Nimbus Sans L) readonly def
+ /Weight (Regular) readonly def
+ /ItalicAngle 0 def
+ /isFixedPitch false def
+ /UnderlinePosition -151 def
+ /UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 13 /space put
+dup 1 /parenleft put
+dup 19 /parenright put
+dup 12 /comma put
+dup 24 /one put
+dup 20 /C put
+dup 18 /D put
+dup 8 /S put
+dup 5 /T put
+dup 14 /V put
+dup 17 /a put
+dup 16 /c put
+dup 7 /e put
+dup 6 /i put
+dup 21 /l put
+dup 4 /m put
+dup 2 /n put
+dup 22 /o put
+dup 10 /p put
+dup 15 /r put
+dup 11 /s put
+dup 9 /t put
+dup 3 /u put
+dup 23 /z put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece61cf3a79690d73bfb4b0027b850f3158905fdac1bc024d7276e0a12b7ddcede59
+e3601ab4509dfe0977ed5bf624ebc1f818c45f1350d41b052a72743accb053eb06ed043568d319
+6a30bed220227e2a15bacef508449221cf338a8666e92410a9aa91d5a31900a93c01ec21742cd1
+4dc46bffa111ce10b78ae01abaeba7f36cdf79a4733245c63f6d36234d6b0961f1ac295d617793
+1b9ed554bb5fc6741a63c493daabf03d753c7d2b8e8c01e3e280898f810da5985212c8c0bbdee4
+e8ab9b22bea83671c0460443ede9be044168f8ab50be5874d46660f1f8241cb261280a68ae2cd6
+0e1648cff45c0ba9b15cb42f86217172a5b855265c214d4b954937d11b94b7b98738393ce09ce4
+0802e512bea7714fe6f163d1b27c8ec87419fa91767418abc44c94a3a22f97f856b0a4729be697
+3455a7f7ae72c671542e9e74258c2b8b2ad440a1b69bc7de2e54ed6a96d0bfde08b35f6fbf739a
+e18676c03800ff3e63c6fc20927b3158e8d2cb6644eaf7831c6bf0e9b39aa14145e721dc46e792
+da9be78696808fadf24136f9da0c8003cb34ecb8af2b7de9e033545fbca53d881eaea40c638396
+c8d3b08b6e2b8f7d6188d055d6924bafb0cf7ef8bf2719495988b0efe373dd1aea97b0f486d055
+5e3a62cc1b36024ec3ada21bfe1629acf431928facb4ead9c41e3d4cb50ed2f651d2cb6ca8d0b1
+ef49d9e214e06cb029bc1a40b2052938f6bcd05f013d9ed1edc90bdea459c4483ed0d1470e30ee
+0a77ecfb585268a94a8bc6be7d28e5746525107c0a3f05fb5e34e0a2157214be2d95a46fdec2e3
+6afd180688fc710c92b27d69b2ff8b1fc7f73cd5526270e5bb585d7674a351d9bda5dcbc17b40d
+465923103f1d02e7446d949002657763c82c8fe0372afe94104d148679b4e5be01def615b295d7
+c25e24660b2a10dfb0b5b96fc02bdfdadc10afddd821fff6caf17f11d6a7cf157d3d7f1aa25a00
+cea41207c8e160663d23b16d2934ffe6a6c178d456facef20fd46c4b33f6d1ebf103b7cde86d7a
+ff74174d2d3f5820186c696b9245f97554b7f62411429f1dabebf1ce4abebcdd2a4ccc1c06d6ff
+8dd9d7f935ba5218765a81eb3c727a40dae317df89cb3234b1a4f1a0b16f88ed1684d3106c2a6c
+c18aedd3b052df1a2ea7ccb8c6c6111abed60277aaa2b91f1da4a83c0b2d4fae8cfbe2873b7f9e
+c2e9ad05045abd1133b95f70185dea97f1081565ac65139ff102004b00e1e77023782a68a75208
+8f8d8cd2393eb3f649553f0be59b83687f4425290ff1e334794e59ab4dc73b26f1beac4c5d6d4d
+507dd7d13b8721144d28b82eba624965e3d8cf9334083a6a461277026b05583f96e489be17dcfa
+ad73cc5b9c6021527879f2c194a5bb18699cbef3ea4e14950e1aa56abbd38bf509629e8a4f0edf
+0946a47aea100a088151a9e296d1b5d7688aa0b3b121fb93bd52789d22fc32d645230419d1df1d
+106a9a90948fd443eb64a212b3595a133a4a30434b5074ff14f69368de4e0452515257aad6332e
+d29556152c71240df8a6746486d28c6a1315bc5c5ed08a5192c2fd7ba4ddcd7496139ae2e6e47a
+c4971edc88a81e2056ff81081b72cec34df2e6bf1720bc5c6753ae32e31ce0db86b3aba65f2633
+5a57f2f12827f7495183427d3e861b6ba27f7157003a92a9405c8755f71dca78e6cf0730fe5950
+4cbe903beec22765da1f35eabc756bf32e9980eed40c0d1a201e12a71b63171df7ca971e36c03e
+8137e0213fe675b392ad8b3232752dd3864c82f9ff85f814becb6fc7510a1e9917bcf12a90c4ee
+29e036db54278f2413731df21833d1f8149344b46e4c3fc2fa9647e76b3cfd81b4fe88643e427e
+7f6d9b01f99659e531df0c43b4f44ed236f117bb00830dc10a5b1896cbee06fde9b4fd9b0b1384
+05a0bb83d78ca5546a2b41490f5322405f0ea6276d9a13a63b98c59cc9a0428472759009cda518
+c4dfce2449e27df9caac365a6ee3a8ac451167c806889760c404164f941d035b6a1df55c44ebdd
+a9484f4da9b07c059ae59617c0e86ffa71b9a70322acb3b6007112879946f950e04e6b634439b0
+6e05a9781a9ca6b9cbfaf508a835e2daaec957d95fa0031f9ae42c17cfd5adfb81766af25ac523
+7818909e284ae4a439b8b2a5050ddebe0dbde491d135155e98ab579904d045797ea516dbaa4529
+675a381372fd437e53f9372dae38f0eeece282771fe7c3d1e68061cc242e4640131ebfcf340b45
+3e4868ce4825067dfcc88c7d84aee3f06eb202a89979aa520e501288e93f742fc86b6f43e3bba4
+430be40b099cb0535504f966cf50fd9ba9fd358fa184a39eccfd4d8e5c4ec35b448bad9cf5bdf1
+5b729a4137a9618a5a44db7d9740a15e0da9c802b428d40ed5401ed76095c73512cb626630608c
+74143afaa7be85562aac8d8148a5e603e3b69b89706b0c1cf5c85bdeb32611221c13325835238f
+ee492e4a08bce9741094c4cdc3edd691e82d224c7866590510e2c7cccc07e11484f62d79303fd5
+59e4e511eb67bab756f30acecc560f5def3902bfb52abfb7aa48e72f2732b7eb73c0123f6dfe97
+cb69897c1db3d57ff05466c3cce4730e04e921a5e56e8add31933536393bc00b3ab3435ab95096
+5a752b913bfdff22a8e7df7bc441e5bb3a3192bea8a17829faa529e56ac69e5a25a6797615d545
+5e4b430627f9c219a364bf0c55669cb872e403ed1cdffc63cf9223ab581bb9d7967892dfef80da
+723f18e199e0b57f12ef0210326aae328882d982392dfcd40e029ad3f53dcd820b4a61b580bc3f
+1b492453f5c752e05c705bf8bc05485c5499f804a6ed2a28bb63bc7e80759003cc7ef0a1d9d51d
+ab1f785d14eb86bd9a4f4221951da58fe7263e23e58a2414dcedb6ce1943f62a65699080bf568c
+c0c67134d8728963466de6713327129138d203ab8db0079f63349ac8ea689ac7615d866b7f600b
+2e91333b61d73c98401b1cb0432e90fa7bd87d9f4fdfecbc2dd5e5eee5daa7d7bd959e41817e17
+525a472ac035c391b918d549c38bf2b2426798fc27af235a725ddff5dc79afb59198c94528a36b
+8c7cd5683f8af50107b45e02fda4c787b4f14ea4e663bbd615be5b30d6979456f6191b5051f458
+bf19c91ac99a9a8505a03abedc243ba2872c3305b81288a79f5ed8452e2a2caf3fa51208946c72
+b97e6d59ef74bd8b96ced9de45d7cf76a6891c7c0691298855a366737da9be57d98c25c7415122
+c898a1564a052036a3aa550c2bc83478c4e15933de6e4aad64b2e97c640a2e8a14933abaf85907
+f09588cb05432f716f05efe4a669d16c881dadc0faf5a704dc91f5006e512a61372579eeea5f60
+76cb8048d71a1e4a3097bc27433bc3613ebd8291e427bd9cf83c0969562d5363662f74f2ecd570
+71c4d331a26559bf3e307d0e2d1c9a90a3fc92254d2656555dbc0c8c3502985a00e705213e4522
+d5eecccc5f94af0f196501250a4200b04b491f64388f7c3aa37970a8a5bf78a072bcbac61cdbf0
+f95dbd13b8defacae1a53277fea4f19f829fced3b4cc6e209bc2616b9bd7312c87d78cda5c9f6b
+ca02595086adb6dac9b7bc6c9fca577169940fb58c818a37575de491222128989965657ea8b5db
+d96a697ef71778109a1781bd7ddb9b2132da71b3bac95f6f69fc615b7733d709402bc7fa0812d1
+8aa22fab627f91baf4a346d8f103362c0161a3b57d83856c63cc7150fa2ec1ba537a4c608bc28c
+85d388bcf4105158f0c9d40a573bab28148104e2db167ff009d34134008cd1ab4cea4091c04dd6
+eb2353686278cb190506778602b0a642d3997caa982a2b3c84f8bc97e83a177fbe6c69512014cb
+f7ab75d5a35a0521a2d1204d7877f75a8b0816da0bc058c0ccf411b939931bcbbcd1d3d92b0fee
+9e58012677b1db645c14ae63b7c4c3e4b18b890802aaa72c0d8cb771ee4e46ddb6d714894aed78
+16d7164799b70d7b64e0a50b979c3616590b871cbae60b9449d02fab57655abd48843da96359d6
+087ce297a26e192491d1cb8420d7cbf1dc66b68ab4299ed1c500ebb26de35f956348d497c3c085
+8e812fd3d43cd76a41e24f19752bbc8a4a69510c9381cdb8a23031f8c0a914db40a659a5b51e19
+fc9024471cce4e65cbab05a3562a292939887967cbe49331cb58e936a2b6873d3dedfbb3784149
+14a2b78db4daa180a4b40a972fec68f931b75f2109fcf824cc7439ea693c8c080abed27376461d
+d5f86617d1a931cf1caf206e872adf0d8b6e35499fe3df6d3833dca2daee3805fd76f7cc5ef2ac
+6f05134e8da55b15204896002803ad497e67c2ea83b2646bc13a72f73d642ebe4b1d5b00a44474
+4160f3341a84335643e58ee6c64acdfcec21bf506a6a30b70b1fce06b97b23c767e7e429892085
+fbff2996aa68e4776b76de0f66edfd89b015cc3a3e4d70cdf3bcad9d48b4e17b97f568b0f3b155
+7d003cd6f087aab912a15e88e51f6e33c8c8b2ab69fa8e81f09a75e0059723f1de598a20c567e6
+81b60e954bd6d80c7515870bd6158eb93e8af8ae71542d681895e2b32489694f090ebc5b560515
+048626f803b996baa342815b5adfc437dace01d549a6319eff57096c537c9aea7c3f8dd978d426
+24304a68ef2427dbc0acd85a26960f10e348a30cdc46e46dc16700f62108fe6c35059759fe69c7
+29edd6c91e83cd49535e16746b6dff037927de39b77eeb86fadd9ac5c89268c3c529fa1747650c
+f9e16c7626aec25817ea46c1ab2b0a7a9c7ba33087db199adf7594c297a938ddd7ad595c694255
+2ae76711f444b5b833a92cdfea0462b6766685359cd4c2afe4114d884b230fdc86d680a9b10a43
+33d68db6ebc595f86806392857b55452e44288a42f924754c22778c6d7bfc3d4337bb3a8f68055
+d0d6f5053700b784c480509caf63336c687c5bd339757008be54c289a10e62d5c83eee133f3216
+8a68aa259e8247d6afcb25243df6ca8c238ea64082265560188e73a47db7603a1802e7ed3693a9
+b7e5ed7b0332171196792cd5272b640c8a5363978a87f58b9d1022d5e7af38d1e45dbabd89b095
+eb9e581ce8e9c314a8152465a4663fd4a7ad1996c08afe96d3975d67fde3aef4fdbad38c739d0f
+1bb4584f919b4b5b8a06aa94bc3a4162aaaf01cf607fd24e90dd4889795aa0fd42e4cce9b0c432
+3963e288dab83c1d1187c1251d77da1c6602311cf8a73e16699d6646bf62cf68b3da3855648508
+edb97cf3614ed1141d158ce8f86e055e9034fcc9c77fe4f592251dca7e61952859567c6ff4fa83
+15b554ff50b48bec4d99ad1221b7caa1d47a8f430a07d49f561296a74277adb9c21c8b4ca1d3bf
+3b671506f71d8f88d37ec1b03432c2bcaa337659c35747b0eb1721073e4e60e93646c719bc4e27
+c5b5fed52f456f43158ad6ba09e9db6d0c17fa75bd7a80746258f7725116c37770e261c9bcf7f5
+78f3f12ec7037c125fd86e4d38ef23886e18f4e206397006c8c4ba0105e10fcc254a718e3c8ba6
+dd71218c4768fe0d8efe2e01454dd52ef33080a1313911ce3e0afa57f5b74d7caef2440ff148f3
+c8bbe0cb2418a0367dddb217ffb47fd5766ab6db331bd9d2779ceac6e8e3e6562b79d947e687ce
+271f8f024c5cfe61e3453cc7ca45efc6b682d2da8acedda708fc65b668e285e6f542b9fdc07108
+2076c4ec2312de40214f8616ac615a2669bd490e89d5c125d6c0d6378113f4d37f1d6a06c225c7
+b0e879746f13607c0a4b98b7d77ca29572495f4edd58f292ca28417808c8e60c3dd8b1a9d185cc
+805784e9a1ec1f290197637cb2f1ef65d1b114bc0e99a9d3070be7199f3d30db85cb3b65eb8cdd
+60b44567730017f4f851d4b15a15bf4312f79c05d5ea03b1da801149fef5ad43eded70f470e622
+81fda1df9ef72f180630b3b1509eb5fd9c73e7f02fe23f554e5b74007d6384f6255ea4bdd2a6eb
+a0310eda07327884d26c59d53d38f02b11815e8adde0804c621d6cbda143ff30856063abcd0059
+183828625bc486f27c475059855c9dcdb5831ce58532e3e6984b63b690a27373d7d5e613be666e
+d52d9f743fd3c373984fbfb8ac8040dcc222ddff4a2e1f6d93f64aabad9a286e3e07679adc8538
+85c8658e37b0efdb68fe51c09ec2b6b69735b84d2aa481793f0e5982e006d985c0c2b8d394b709
+3a210168e58688ab1c07b99b857e90523f90ea3f4f4202f7751dc55dd7cc187f4afacced589cce
+0189545f2a26c9d283b14ab2aae2e5393d416e014ad99e27f8814c0b1bccd6f798865e243bdc94
+08dff7e6fca3b515e5edd3af9ac11e4bf0a7b7a736959a4f48d4e519d069263b0af143dbf431ce
+df2ab7d4df2cacb62627ea46e77e20233ede4166f291a3a19f62271ea68be133a61b6342782ab5
+8310c4e2b08782800f48d311a7c15d1a6d3f7c6b5bf2d91cf23b931793adab17d9f085a9aecb9d
+4df2c4c50c5329503c4a8ad83fdf446b306c56a2ca97bd50f359280415f8cd4bf01817da0f01a0
+e48bfa4c7a1e85f052a03369b0ad7eb0122585bd4445dd53912b2d1ee8cbd9b7e2716166790c32
+f4e068134102aeedc6ade4d5db39ac29f424b0d5e327d081990adcfad18f6ab64c7f199cddebf0
+490b10847d158b2151a8e79b707af40ba4a38c8c02fc49dcffa7e2813ad7741ab7bb29c93e146d
+81be2a2494791582618f49aa9f904f8faa1ec63adb809cd473ea6743509617fdbf260d4024b410
+1d962f66f361d7257804e354e050004155cf050ffc6adfc28c4f742a3231c5fa37c7c826985c50
+99698eda86f0a2baefff000a4e74597e5bda20f8c36f22ddd94ff45e16ac91fd250eb9d8d0971b
+c4bfda5b6c0c14d850822031fcc8f231023a579c09493ff2ac9f72e81b4c0eaa64fc3401b7e128
+b2642aa708ef990878091956a777d908fa0c4e1f2da3363e098a28b6f141ef68258e2f6ae3ac08
+9b3b89de4379a0da96cfaa81a7fdfae2fe9dbdaa3b21435793e464baaa346a722c385e71398949
+d32b76c6cdef0b05c752130d43ebc45a1738f06281097150423f885470928cc1153cb01b2295df
+e17cb19d3b4d576209425a806b98d83e80158b67120d6ea0a65d94582e248d3dd8ad826bbbc00b
+9b9dd0f4d606a65b1a0ba8eea83cff745e222e6f4645055a9cbdf1d99160e0e4854d989f07cc3f
+393f72af97c3575d6f1d8d4312848bc72bef988cc436c23f4c6a2a5569a79d04a0667611a3b0f2
+e2b8ca0a6ce0536b0e459e21dd3d74d8a94be16cdb3d65a6534be608688944c0d68c62e3989910
+4ad6e587ec0f3fc097ce54d3e25c9f081dec3be6c71b714b9f92c15517dfd763b9bf0496d601fe
+4690a9a815e803221e007a7ca74743f679daf6a626af5a6525b394731febbe7cadb5de910c2163
+e640acb041736fe4e508dcb5c7d87d38e12ff80fc903c26c480b567f057b193f5d4ba352697b94
+81d780d94b815a7d96ba6dcc34e39f43caf780d101bd73488a88d213063432f8e6bea7e7248d85
+ab48b576ee702af9364c81f7d5c74ddad8315ed4345444e0cd92ea23b4394073178807892d2925
+a6a43a75c68881385a78d9d5582d3f3f8bae87ae177ea46dcba9af17217906204f751a358cd8a4
+d8c95ca76651271963b6d2ffdf282b653c85ede30f9c8bb5f113528e221aa1a6507364f74ecae9
+22bc09e6c3f42166b2118a819638a85560c6e1eb7bf2893357a81571201a2bc31a91ab89489fa2
+050d353039a7085aacb83609825ae7392a84b6325bbf17af46a9a3eb63ad14bb387987f6d756ff
+c59a2a08937538a0efa89ca08f9785952d2e8bbba0e6023ebb8fceb5abcc3c0c3c1b980255861d
+991fbf27e70686fa238e92ca9bffbad61bfd48c5b8e8aa8fde96fd9acb2d946b69a51137c90595
+5ceafeafea0acb8a0c561808ec2e0d4fbacdb7ef9f9abfafee72f759e8208559c232ffe5bf6cd3
+e7cbe88ea579e795455f7c25f434345506d98be333bffa7f7cf1f83bc00e38d2503ceb483519e3
+b1e5cb7751c00bd2a13c385e2f88ee5df92086b57fadc621a1a539ff102d4fc4c075ab1d800eb1
+efc6fabdc04f81065f0ef3aa5b947d904410962f6533c1aa49b86178ad45e35d44b866c938876f
+2bdf1dfb28d793bb5d049df0cc3e21b8ae8f9b75ac06f00759d48bf39c61125641612bc6032f5b
+6046d85ae9c7102b99b93f7674e80f96a1d74c1368d2fdfca6e8535a9d80fbaae20d681e1918b4
+af227270f40ee97fbaad4a4216908272cd9767fce64130744d0ac38825384bd51bfe19a150b55d
+d390020ae35929d4026d4d8798cf2fcabc5ffeb88f20129ff22baa1bf3fc412b4042345545075f
+c332a91a87c3ccaaba8c201ac784fab723c1371991d5a4c5d865727dc7170d876a83dd01b10c29
+4e651e39a2d3a7c7de70817b0508f612856ddff87bf404f4c750437a96608c130bbdb8dc140510
+61957ec0976ac3b58e117b85cc17f7be4dd59a34a81ecfea08529704d8cb73176ea03c1d873f0a
+7acb41d533c8d68dbb3d9b879448ed2e52a98957c41682fc30a002015af634229c4d5d6b900586
+a0a0b06b1fedaf188610cc3bfd97eb4261460ce68154b3a5a19a218bbf3035fbc6477889c2be39
+7cad1e44c4fbbf3260bf85eaea01ca97d02b4c366a44fd08be6f197df8243ca699c2b75b54756a
+b361115fcc5828dec91dff364db969960569e59a1c3fd2b76b4f88fd9309f8c9962d02ac778dca
+69f07609b0b9961ffac6d942943cbc2e3682879841df4f1d05350302cefc029100f934704dcec7
+e3f153871533258ad2b5b5ad89d153f53be6390ca66461b84fb405b4722d3e3a205ce3bf339018
+b339f240c4956edd92e16ed988b46813e5e39533804efbc6e426304523b82073d9f296b3f8283f
+12dbb66157440222a888acde1eef4dc861f9e8d0e20c5876f74e99c1dbb0b5fe81eae326545e84
+285864f90353f9c1c21c166deafc24ffcbe1a19522ac8cbabf3bb73c36bda0238a19da380a6ba2
+63cb28f99d3643ca4f4b21ebdb9e19f1d53947c8f43a22320f8eb83f152580d83dd6cf230e30b7
+4d2f0bf26d6b621865797b989714ddc45136974dccdc37baa1a52d021544aab74521e9e2ef0607
+d951b1e4cbe230a9a1095df65774af0c2a0c0f1770dad9e054dc06c81d30801a927e525afce8cb
+8d753bfb1fc2b5d967b9e25c7cfa39bf6fb86dd482da0d871d5c8725cac7b44dcd5c3059f39a4c
+b216177100c0f99572ddadf8d7d53733db55286717ce9ee2a12357b901b675c566909a0b4c71bc
+bc7bbb7d36aa72a7018895b617ed93853602a5fd52daa01da6d6e3b713b7fd9d6f75e05f218572
+11d6ed29349ff0e628c26df07d1c079e556ffc60585ec8e91f38c9b4ef0a708559b4cc4155ff42
+c48c18731bd231b2dcb32399943e3fd64fb66d3011cc85e9fa20e28c741303d5b1f3b7178753cf
+97364716e6bea337a89ee47eaf9b93f938d9d10d82d4c0e3927af3c34927fdd5fab439d303d997
+637e2d21725bca942bad146e4df93b37e5a38e4da57cb1d6e6e278b17a82644c800e6104eb2518
+c03ea9b8e3f9b7611066ef9afc58b893e3fadc53835440a47d93c7052ca4b617c1d958c693ceb6
+0f9a2814cfc1b4a24b32783b389678bdd14fc3ea2124f124afc5ed977097af7a1d3a4d825c55f0
+842b2ac566e43458495b6f51c011d7e78818f6d934203a74a961618625a380923926544b7c13c1
+4b2180f3576cdcd4f2140bc90b2ec84f1aca97f147781866d711448c1dc8df1fcc1a1769ece2ed
+5cea053795c0cbfb7204dc61065c87be00d9c0527d5df881708fdbfb7fbe01a933775548eefb73
+6d014a560cdb4313678581a3b1aa73d546869301f309f189c2df29f3d4bebb3b5a72046354c2ed
+d273c9794c3659bc72fe7fb7442e75b04fc197a49efc2ea39ae0b5d1dce9bb509b5085445a66b6
+a59979c26412f1d6f5ebae84175ff08a90c9be4406797389c439693e2fd2f2c26d2e9dea41c505
+c32477ca50fc01dcd53d388e27cdfd4d73c2ac2fa03b9eb934479f0419ef50036b682c9ad8bfda
+a3adf80a03de9f29b7021cf0441deec0f002fab57da0f5be89f5da4597a2523a2e7886589002e5
+cbbde0356b391148b5502eaa3b3689871a1cebe9b8214992f5349ede7d799a57b85d1e2ae706f8
+567efcf24081165f53810a2dc9568a263f69c40eb55cf31782da10dd970dc79f6593f1cdd9ce55
+2de6c7c9fd3ab21169a2e487d5fa959d659afddd071a0d756b5c7debd602cf9ad3e6b3dc3f29d9
+54cad22ff28cf333ac67b8793f01c6f13c4ae2b6732d60633b59c2d9296ec77b6ee630906adf73
+ef86033317cf59b6ffcf42fd7a68133f0673a5c91b8e0ec7b88872e9ac8d0aa904af6000799d57
+e1dccb74496e345dfea868ad7498f3ec7b85558a1fefb6f03c7d5365cef02b044b220c162c530b
+8cc899887f8846084c7b4fa1dcc631ba3a3773fa22443097b47852b119b42df9d58ef3d55ca10f
+38b04f378562b3bf03140e25544a77e66cb9589e6f9dc0a11b6c2a35fac32ce9bac552dc54270b
+fc025baf639b8aa5e3dfda4908b869969bd633a9b171ed6a04a2ee6e3744d7a348cdf09dacda62
+5269181d8d0fb84b468d2eea50fdf69324bf64ab1db3ad0fb2fb9583937f0be8b41f14a751d711
+5adf2d329db753cd14534cc282f2b4a4bf497a4c7b69cd25a1fb33c5e91796b885176284c77a11
+9b50b077001b566328fd23170e4ae611e3426fc26443587e3982cea97c79fd63a4dfa95efee48d
+d81f90d67e40f283c27947d0f0823d2d2d26210e5243d2029b2ff059336b57b9b1334b0b615bf3
+57c6a732c8d5165f2c9a6f310e48a2e4d7dc965887b45c14c9b744bd98de8f33071f0dea693ad6
+4a55d03b2891660d09775030eb5c0e6e868ab1b90028c373d3448851e225dc9eb442aebb5912ab
+0f3b1107a7d96f9d23983d8a6cfedd589e59fd355ea0aec2a448fd9d254d39331cd80dbfd653ff
+fdb2702cb848144c33c28d207adc51097c28f754521e715be8b7b14c4f86aff04fddb0bd52247d
+814192a884e5af3a8f675cdf0c9dcdee0668773c3a3673af8f51a71bdfea19d0bde8a2a2345316
+4edbf01c932db93128b686cc6fd9a1dbd506b6c52664c5aaa01901c5ac0a8275e0ff4ec66ae332
+6dbc1b3b60c4488b6af86fbf30ddc1e3e3a8d63d7682c222e74605c95af3327e694f3b3c160008
+3f9cc241f97c5013c9a0588c715eb4dd00944e824e43a7a1c1fd144d1098628139034731eb1cbf
+633184cb857a17855f277bbc18751799ae28f48130cbc1ed559ab1a5abfa2576d59fa35772557a
+6fb3d15b4ade8bd38b763be0f8d8166613cc37dbcec1d65aa06c7b9f171028fddf8b55093a2fa5
+09ce882054682fcfe32d510012ef5ddcf39f0ae5ade25af279829f8d47b65b89a40a71ab70c2cd
+961aefb7004d3910c190bf32137e4d9733b971db4616ba789c741efc39c26540d3228884b4bb49
+0bea1ab957682d250cf95e1d41c116623925e7778755c11c654d42dfff1db2a49c5b57c3df98d9
+42373519cb02f367598997028e11c513a99b4abf115c61e2daedebb709068ce06692303cd0be48
+228918a12dc126af0e4f81766acf9a84526add4d2fa145cb5452c09547de307b352e141233cd8a
+ea9f965070a2e6321a795f896c0cebc01ce3a15a81f14c14d74aaca4ab090125fecc310410da79
+bab5dbe07e9eeb2189788f491c457a82abf7f79f427932c8ad38466431e28659056c3d5a4be02c
+8d0d054bcd4f9170aa7b7b0d2e9a4564af66eb7372fe981bf441b68cf8247d11fcf0bfeb6453f9
+d2210dc880b9b9af2bca1dad558c1be18eab687f453d4aac976fb9466a6602ffca1dc852a56c50
+556d777258a7bc26489789fb4fbe2f70034eef6174244ebdcf514c5ff72391d097750ac8a9fcfe
+6c94af17b3a5f2667ca2a02e7f32424ad5a7d902751f7c41c9a7fa5fae2d8d7396f8e586be8ba8
+f960ff3fbcbe783e5ece80def85cdf792e33459d996a28775979b335a8448523c0a187dd8f3c08
+31231231f2a158a7b7642593932c9e0dce8892ae708b9458993d580656e1614f2d076f256a680c
+cd3d370e37cde46dbaf38f096b032170759ec0619cfa0389b17568017f8d2811727965c75eacb1
+bf1b179b69567b0ed8bdce2ce95e98ec7a9a573a79ccd5b4990e46d517324a06ba418b34110fee
+abfb71c1e43cfc1650179fc1e5f65fef017498b83a1eb5fb5e340a1b19ef7f10fd0422f6e7f640
+db9a46762fbbaf33e2eed637ee9d93cad018e33c4fc821212bb0f38f2251827a46f38c38c128df
+a891f0b8ed14054c651b735837a0f862967c3d39912e288dc3939816e015e8be9ba798f68c5e89
+a4184aa18392352bdb53119115b1a100e0941b80fb8017dd198c7d0629e72f27da2d8ebb59de72
+ee46daa03e57b12513988f2023484d9f0480126a378ac134a75c2bfdc4df5b8d8fa77ba3fe2da9
+a01ec9427a00487b3a81b50a118c528b77c22b57265e5f915a063fa3e8bac0ff7cbea9ddb19ab8
+390775df6049cb85921457cfae8a868bc6584a60223fa19a363f98876ea3d1e8a69337a58ffd75
+c9b296ea5485e343c04c72a53945e21fb479495d4686302f39188c01b036253ba0a18fc87aae33
+5fa522a435094c3608cf6e2e37fdf5fa3f59048fdbdbe6c58dabafe941a7af5aa4ee7b44d64df3
+74780e9e2d691b4639e2aaef8c52de72b51f2bb6506e5e98f8ae236d183c9cf250dee46d102d96
+4aefb7b82ef32d19a03aa88ef2ab975f04a6cb5208f570af43f73d804843404eb835e5efe3e348
+87a37816ed3cb02b13e91be5bda75a112d1d27e92e462ec516100ab117b2882993af81dfbb58eb
+b2f5bc5d5eb98e48f73e88144889677b31d3c660839854a5c611a52bb493b644553e6948d71f94
+f04eea57f7d458d7d78bb278d83065bdd9097f252d39a9ecfb408f2229ad5edaf4afd518c80421
+4dd2458b085d7bd382c7a1e697b5e0c1a47c25e2cf084d63bf186635783b56e6b36e7da64e3f9e
+3e7135d74381d957c0c62a6d2c4dda1c21a8e49979dc4946c3bb84680e4386750d4b19c4011759
+d84f90cf31b268f0af056d8566e84939388ff4cda569118ed71a2cd82d28b44e17c84389795a43
+57f70f976891292e15448c74ce895be53e4212079fba23793f3c247827b44f0e39066964e75671
+9c628e6bf4a5f080de8402d5d1c154785564e019f13ca5b45b525b325e29f193557770f88ef82f
+8d7704631969d4ad624206665ee1d38d7ef7a7979aa05d39528beb6b7764d88da381eb63f0cca2
+f797dcac11011445da21da35e051c1db3da576e698451a0675944f5749e465faadfa4bfb09eba5
+177ce8cecbe67fa06b74d75278d7f28c236a596a17fea5467785f345197a43ec5f2e1b7e7e2151
+f287ad9181ac39c9771a1713f45b5ddbb402bf674e3eef369647bbc37b3afb327576831021a1a3
+8fc4840cc4716da8026d16fae600d543a3c4dc4d7cd5baf19f1db2a24a0757ef6c3bd8047288c1
+436eda2bd3f9289e6f8b003dead7b0cf49f3aa8a56adcc26ae300976e1c84bfa04d9a1887682d1
+9ef68f52b76fdd0e03f64cc92dbb3ebeafbcc56f8a2a99af870bf7f0153dde4202ca45c530a056
+2dfae59234f4e3287b93bf427fcaa8d236606aa43aff3862063c0bd73dde6bdd3ab4a8c4d6ad9c
+24da288dacffd02aca90dfdc72444c9bcbd331755876f649e4b665d69921097c364eb8b0562090
+e10f4d719b2b5afc9312ed39c77e91ece761c6c940133f940a74e5ce3c05d9703556d28a583972
+7c54800ad0e496885aa4052f65813ae552e8dce8d6f73949d0fcf5059e85ca8a1c137d751c6b8a
+87a52b198254d01258074227501dbe50de2b82bd2510e5788c46ac997c65bf44dd6928ca9f7a90
+2bb957e277e7380123cdd93cf75dd6c7e5a56f93f114b6e46e0407d3ed544d781ef6fbfc704a03
+5b7b737eb332457977f223d87ba6e3dbe827b4fae9e687f6975731d42a8977cfa67f94e90df98c
+a790e89713dcbc07cf27ea8c4584cc933fc342e5c5e740ee920ac3403d4deee426d35e1062a2cc
+7d5e23f568b49495c8b4556a8bbb0480ade618566f537b440ce52ff7d2cd89fc806fc388e9d7fc
+8bf15882a38ae0e11915ab03c272c8a312094938b9b4282ef3a321e3bd82701a50f8a4380fb325
+33cf4a100b0f96475a0f12fe9ce7e6a41784fe7c83f05869d42b70febe4f60bf749429bfc4721a
+cc4e17a961bd7da411471edb7a32f4479f2f079239c9bedcceaf35119982d686545cbb1eb0e9f4
+29e9dbac1b743d28d12c6ffaf8f98a3bbd60518803d997a56bb515602dd3a75f7ace8adf16a6ee
+79233fee1d21bf40914f29521638aef27eb796b06b5fe274444e0833ab9a79bddcb334435b815d
+0af72964e8cc297d246c6bd6d78e0e8394d8359084963b01416db54a3e3a6d9784320814c4fa99
+aab6c4934b76a26c5e014d3fd202935f2f9399dda83b4d652ab89936578ac2c70daec483f69422
+b25472458417b87f2861ff90aa37e45c07ac19fe09a4c2d37c917941f01682e650fce1785d114a
+bd5949ae733bdaaad98a802437f465bb7d2d1e0d4118d6ddc9aee8e08e606d9703c319001725da
+095dc1e3a421f0c5315e28765e9571982039d5313efe20de55e7b614184c4a1e4eaf4a89c62331
+c6f2511d706c2c4248c626e6474c450db1838f1d8b264e406d6f85dc63e78936a3f7d84baaf49b
+bd3ba15c58fc4734fdeb13d1f1557f29ee53fdbcca5d008c60f868ab756608ce889de583309a30
+3cebdeed91e7c4922526f12558d2e751ec11b3c0bea88065ab0241f9d1e4c6144150f92f917b62
+9295da2e8433a66b4a6e6c8571b684a675af7e77cfa6723f82dc6ac13a8a568ed06a519ea0a272
+5cdc99096ac0ce941b93207ed3f5991241f709ef7f9e8b2acb77100cf293452a1917d32c2f2a79
+8af506a827be2d3f3ce87e3d920a0d8cf8e98a4bd3bd99e12f4374e0f6ad25af32793c5f85b77e
+213c7805156d53eba08d9a84ba43abbba8202d43091436113d930a138dfdd15774397f496aea91
+72ff0302555658d3b4f6926fc115bf3de066f2d3bdac9738ecb824713de70361c91374fbac965e
+d71ee2aaf3a27a9cc5564dd26a4bf30dad76ec5f955915b1363ddc6bfb706b559fbee46f6b6338
+dd6a07ccdb23b33b0237c8f0a428fcbf6db62fe6906e4a593b4dfaff151b2cd167951a70f53539
+4d84b7ad727bca8403cfd661abf9a72ca0634822f0ebf66ed148fd7b29513eb151c8d76ea7b749
+02d76ef7a88d5c571873bd219a9f7e60b5d6b77bbc1afe19165f88bbcf45cffa773fa9379259c6
+1a930395ce89109c5e3a14066dcf9dc8387209c84273ecac6a6cb033d54cbe4451036b0b5335bc
+4b3a2c6f6a4395fdecf9c1b88d3b8840e0a94b0516c5821cdb3b15aa06ef3fe3a2c4729e258156
+fb7ade7c1b8f673dc87a8c87d6229df03d88fdb8d7e122cbdb3c8e9eed4ddd03ef86bf2b6fb140
+187441e7d3ad4bff4bb61e57dacbb792e9f4263770c169933f99eaa94f686169ac46803bf6324b
+8498c154ca78482224ad28253607ce99680a755c573b8cc5bd9840b2c8a2518cfeec51a396ec8e
+3b6c3f980a3896feedde1a0605ab8d7891736e2c9502b5e2b3de8d76da62afee99a77e1b079bf6
+f92363e8a5b6e605245952f9cb351206b65eddff62ab5730b81d85311489f9b4f4eb4690844b47
+a8a2cc0881180d3b5bb8f6bd73afcef9300002c1680503cab52a1c6c10b038c312a0c5e59c6007
+2d4405937a8776bffb1c07d0a8761bb4aab03dedb634ce0192bb51b07dfc815073beb441be59d2
+a5b29a64e559a0d0f33022188ca9e9ee43530036e15604ac28bb7349b1f6b57ffea79982da0f9f
+ef3b0447ce31ab3bbfc0c03b7a421a836b8bf793fccbe963059de30c4ec0ea18bd7f3d00ceadc9
+e611bf4c1376a64087008b5941734d404646b9f698dcae3c906f2208158f670d807d7ac8509a38
+a95d16679d11cc23115fd80301e84f4b200ee160fe96e54346be77e24998e679a0e1c0579135af
+c37c68c5163028b2c026f5d22035539795135e468f192814b49c4967e4873799ae4fccd31cdf23
+f754ec82068c2448ee44a452a0b4bf877a7c420006ce3e9e032d830e2bcb814e447b01473cf593
+3f6d82cb74e6d1d5d6211484ff1ab6add9a46397b42fe3c7b7cf6357ccabffeda61f6aeab2ef6a
+84ba261f837fc8bffdbfb3ca6901c2b4b29834e08d4d45a2dd4e8a51c229d30915ec1bcb1c5486
+a57eb7490c70c0dbfa01fd1c53c99832c7e26e50265f54b8197a0316d30a5646f6e4a71d475e03
+460d81e8b658327db8a1b1437334d3a907947b2c899e4a53ffe9e8227b2d5420ad4109b2b136ad
+0292b5ccaa83556e85b2018e629113c3e0d4d484bff995a484643f661975737cb0eb80f2b1ab31
+9b1ec6251c49ebe855e2d6ea533398f9b3148316210b46ed555ef68a949b73f31a4457f4558865
+4bf21d554b39eb23850e3a10c2ae0e7369c685641f6d8f43936c9250768af2829cc655bc027fa6
+40aa14b18a70aa3a7552491145e6a7df0d81e0b7e1f3587ff086712368c48351d661add7e96a25
+b33f9f1f777cbd3ad42b6786c8b0ae23f5e61421a0b660b7381809f13664aea3067bad45ad8451
+c40e07f38f9b6185867caa2a9ddc8c37647c6b6a77d281185db7a56c39cdab0ace10890f5c0d78
+07fc420a2d0948c3880dd22e0b6aada2580f9a635d12a305a89415a24ee12b834a6d01e9f1a756
+b492f4aab442368cc18c700e1016014b12e2ca27f141ac3084ce37b42a4c41d41a3ae37aa2e400
+28aa8f3dd3f0b80df124f33e60d97ee975dc98338c7d2290544d8da601fdef3da00db855237a17
+4cd3dda0a9a404c749c849f5592390320053c4de8004c650117289b8f0c44cbef09e2fdae18a59
+3f2c7ae524cee7e3560e3116bba293c02937b0e95fe22687ee328feb89d6738ebd1604031d248c
+eb6a11f9ffa7b2625d3ad21050df6f25d1bb4f3d5d269bbaf8d56d25ac40905ba0adab22ccfc77
+33dcdf3680fa85a94f65445951e960e817427a9126a9c767f263f324dfd34841554bedd86841df
+ba7e43986958d688da35786f0497a6d04fcbb6eef0d1e8d9575af1fdbeece6cfe66c574e615834
+6774b185fb5c4e3bc71b45b5202f79210579b4bc35b21f60843b811df3515cc0d81d665e7eb018
+619a243e72c29636b8d9366166797292ac7023cccacc9401999bedc5920fe7f51458d13eb772d6
+500f471416f079bee7c9bfc25a0858b10dc043cc9a219ab9a71ad62d68ba22432e1dfa7d7930f8
+73a9af0ceca0cc4a4667d1102a8a685adfdbc5a1b4cea2e9a94d1766ccc8f9e74213876f3d7bfb
+e0950006b11f656a37641f9cfbd0b23c19dcac6d9c2b5cf0e38d8a58ed42c7d37d88bb9a96ad28
+64fcbc6033bd464ca519c9e8b24e1033ae844ce27b866f2fe38b09d4a262867f4782f15a5a0e76
+2f76e1dae8062ba108e759c6d8f00ec4da4b4bff0e3b22b22fdc733b708e0c8ed1acc316d8677e
+488adff3fd5d912fbee47a55e583d814d6a77044767539c2a1b964f5a2522b482186ec9f957684
+f090862afac4707e5b48722a97df0d272c713ba3b611aacdbaa0ed665ce873979c55cd6a9dac4f
+b8aeca0b0cb0f6fe85e7c97088ac6f4ed2bce9a0d16527d001507702138709bcabdb694a61da95
+692e67999aa628b73837f53ca6892788ac702cd6eb52f8c79b92c866213a6126049797a48454b5
+3318cfdebcbe1c50fd139abe01c30feec51f0cb7e9d9a863250021dfe7c27786e88b6baedd48d9
+49dc481684e3faf67ca81ee76cfbd63b547d7a43f3ec9ad09b1bc9e31462a43245f40ee9f0cbe0
+70805a1abf940f2ed8300be39fecb86120ec4b0e680d890903458cb93153fd2ed736b87307aec4
+beb473ec4935bfb0b8c01ad84dac20d13b997a884930e3c6abdaabb083f6f66c5b936ec4624fd1
+d1ca39011688ef21faff4f69b93f7fe73a7ae036c3d15f6f5da6838536f3fe0f7543f3f9460b19
+7a7892d6424ba822cdcb26e2b3dd7ca75ad2710b9ab49c6d5810f68d1a0426987f1e462034ddb4
+aea10e8e04be42ea10cd8552670f9251994dd8e844245e97a5902b65d08fd41013de3f3cf0cd6d
+fec75852ec385747f789cb0d846d0d8f4f0c823fe8a6202101f2cdb1811cac9e719f54bffb04d6
+46ebf824a17db7d78137f4e962f3fe6a19fec02697503d1f5c1a467799d2c347e8f85395eb9bd6
+3f4e6a52fa05d4a3e25700b4de22c41d97c719cd5a7576a3dc797c96bf68c5ce7922a8fc928d6a
+a344fb67d4115cafa38e82f75f621c9153f7f2f9e5ab5817e000d5eba9a789eae7831e1a75a382
+c6181a130b0ae6aac0e5cec25c567f1c3eb72caeba74fcd4ab5da3b73412e76399a56533ca6044
+f2c2df96153ea47213cdc057e3cdfc8923b80543e5c5b226628dc0bece91e30fafeb8d4a860c90
+021c1a996d178c6c85e9be45f28edd3fba26d6ef2e486c477670a17494c453ff09074c083aa8b7
+4de9493f207b555c56e72fdb8867ccac10f060675e0393d1e5c6b2f44f08458dfa45cd4bdddc3c
+e3aeb5c7afaa73086cc7399ec8874f529e4af63bcb4df147edda137e552ca22f45ff9fa03ac41f
+724b870d8656fd9bb93690eeb0e7df81e6957e602a0159ebf6692fadbc46c9ded8ec229d9bb5cb
+617518127e557671723dd8768b1ee594ec29c4a096ec4fe6192ec5038eea033d0894c70de3920d
+1deac65b4fb001ed0c851779ed7154ef5a848257c973c7f02aa72c1067dd09b13575a33d313796
+9d683ebd38e8b61cf62fd3f4e3ce98c266e088aef330d9acb450ebbf96bf63600e83f13152eb03
+53801d2fca3e18eef4f1fd438afe54026028dfd703cfce0bca12b0d2fdba236918d27517393dc2
+ebd744f78e3dec0ce74805418f1a93252abef1ad71acc1809460a8dc42380086a593b8167212ad
+7ee18288d203244dd3a2025b8449c47021ff7620fb89d3ed41f8547bd5328e7ac7cf5f0ebfc314
+bd4afa8323d0cba57e98058af91ff4002edb452461e95eb2bff94e464bed868dc3014915a91070
+4c5740a1ffe4eb3caffe27c199f573a2b8310ef7dca5dd1baaee4eb5add21887d9b65246d93e36
+a72766e664b83245aea45114ca3c11b50d51d218eddd1fdade2aeabd385ce371734446745552c5
+322e029c892e227dcb3fd626cccdbb1731d4cd23057686833fc20906fb3640b2481fdadf09ee20
+e487556f5dafb429d648d74f57c8f6aa04f2ef121df2fd850667df1668f97d7216472070848408
+61f2627f31e8858bfe5851c35fdbb4a81e41645ceac4873fd2447ff94ebe8b83636578eaed2be0
+3bd8f283fb6832c10a917d9ad056ac7ce149186b5664cc52cab3939ef44f35b43bf33cf06416fd
+ff848179580a7c39732e7eeffce44f7b24cfb288534f47163a273f2a5d9f30ae802af8ca1dd90b
+b7149e3c3a3082fa471257bff78019380b1ac8238b735666c2df052ea0b436789bee7ad5dd407e
+9c20774d5ff3e0af9187e24065dc9a119cb8842c5f37421d005f27d787a611a8f52ce76aa34ee0
+ac7236905c28d6d9841415387be7eca5c533ef618397c89f3df4cb86ea2e38ec497e380efd1274
+3f6bc297629e86fd88cc269eaadd0dd63984e253caa270ac816df54077f7981cf1f1d5a77aa46b
+7538794d9d414db7f7eda8831fd123f843b4b6a963648b2f31696932926626e040cda63af93f25
+d4a6e304d3b05c171c7186f5ba239f9e2156a0e9d30fd016aafff969eecff0111120c07706f095
+05359f63199c3e19e8142bc84b7efccaa61b1f13828755bf18cab9eb638f17c3f20342f60c1e18
+50332c16c8d21c2640dbb93652c7cc6469486584f2e036160ed2334c5cbf3b343c9c20fb460fe0
+492ac14315bbe89139796ad76f219f2f78aa252aba529db54863fba815857b4369dbf510ecf4db
+2255912af8fb0a1d7c1a2d176fbfbbff0182b969c8b02780868d2267b49d78b449702c46d12673
+19d79a101cabf6afef50a912b2fcb8482539e49e919f3b1270599e8ccd1becd4fc4b973bf1d412
+764dcc3013c707039fc5db85b8c4759f7fb9be1fd2fc5d972e117af55ef2586b4441a440f35084
+0210186a5ed1e4019761f7b460cebf431c6d564322cc22362d93433f843166133fdcd079db0f03
+591ae83885345c227b918e762e71db2b5e86653898d20f80c18c7f811797cd7f4a0b3c6c5d3289
+c5fe808a7068f3d19e8c4ae145fb822d59d2344bd47dd56fc4f2c7237119a44710846bae73c9d1
+3db5f08114ae8fbf644831e81dec6206d933c007f15c0c0ca65091a451a3f4268529df3d047f8c
+04bfbd7d7bc02b76fd3aaf76991f6f0b2b4b6a4fb87dfb7281a260920f79aa6c0cd16bd15de94e
+8681fc684280948d6279ca994a078a261860c868d0a029c70f80903265db27ed97912c5a80e648
+aa078a321e5cb431c0bb2a9d21e9929a4ff4b1f9dbe980bf7ae713f76ba86fd6dfc798d7488b11
+5e7c30d1068322010037fc6c9bcc6182df29c66b2477dc0197f1ec7f48a7473b80a284d917378e
+89b79c9aef1e975fc3edc7c60ba3afdace73264dd561ad9478a3cbbf9858978620c79c09d660b1
+048d3ff8044dc2bf02d1282e396f5c6298c30f3116285c16d3262630330c4fea515f629d480bcb
+aaaeba211aabcb932c2c8c9cbb2d48092f69f11c221d9ca068c529213b4303e7db0af9ea0ecefa
+45fdcfa5478312aeee4e7ab6d393b8b578cc181bde18d1386eee5ecb8aa46d9c62eb8dac91fc33
+75f93917170a43c2fb48ec5bf00d15c5fcf1d55710b6801ba04b406ad183dff76e19ee9526e6c3
+8d5c2b084e8f36b7a9b168ff8d2027c20b0d79d120a0785a35f93ac1f2a7319c65e68a4abbfd0e
+e8a3e9b14b3c5f230482032323b501a82424aa3256af1f7b5de145b16848b9bdb70bccc4f83c23
+1aae58de03afd4b7d0c7cadadff17b2dbe285300606de214cef1c6241d2f2969f0b9741dc34d8d
+fdd30331d8fb2b12d3bffc004ad1e9bccaf126e96a5e340a89e8a91a9eb19ea03d4886f768ce06
+3c702f25f5ccc8f473f3a4b85fad95d7a92d2e3318f635bbd79a8a4eee3f1208e9e69a7d63de37
+3262d38eb8ac6121f3df1bba843a961b5d3e7f8735ff641ea99fefd347df900b678758080fe745
+538c9d5ad428839bb6840d084a49b2cc475319a99b33a178a4b4f24e56a9c2519e8c010f81de92
+5cb895a446c87b63ecea312c8b230151adf735c6b7b158a1d655e44e2f5c77c2b461b97e494dd0
+98fdea07d1940427d2a3f2585abf264bc4edefada3790a85e0889e90e45c38482909b802b8c4c6
+78e1129af4382e479e49a9e406e7120b85955936ffd8a40f41e91238e4d11c7e660b902897e974
+6f9948ec29ed59c91597ab7d2137149edc67bc432e470a404bb9e6b1f98bcfdf1d49389f828e3f
+35c203a3aededd8d4d3e6617c959d5c401fae6756223f2ff5b52134cc2804d20bb08498b8d00b0
+660fd27b4511a9a099a8487b7622184d781b47453611484da293aaa6b7e8124785991f755bbf68
+9c4cd86e573f40e4f9cce9ffb6c5a84a419e32002acd3392e677cdc2883bddc975bf0550a41e7d
+5623d745f389fab05918c7cdfc9f49327eb8c4a59fad6ba52b0f075fe0a2851fde85910cf5cc95
+90b7d7bea3a1a8a251e37f6a20205b946b01da9adba76d14506850b6e634ddfdb3c853739461d4
+28ac3349438634bc2c4577fa2a337990eb7bec05a6d9b90cfe70856680d5e822480f77f580c3a1
+e82b87dc2c2c554235da6133e79ad708786a8fbfc34d813f4e4330afbd5e03f7ef0875a7a07aa2
+01c7e71ab6a818afb9399ebfd88e1d438e5d4634172f2f7000c10112692c4e9f0273a8db1c559b
+2e8d66fe93521514d2896b7321372d441e1e7c63edc272b30b6735ae53ac1b08c352aced8e8e56
+9d3d3dc4e7b79c9a58310d03ac8d2760522cce13bb95bddbb22a13b13cfb78bbbf43cbee6adfb3
+33ea66621a5616442fb9eb4d5855eafb1573075650d05b9b36e80e8ee6e5a4115aa1234ef0898c
+52ba94d85072c4da759dc246ae56ea526be02430ffa280c4052cf73d6eb4b62c3282d829291772
+63931d89f27b1e1dc8de5ecabd3e348ae919c983913e6ea48b21bc0827807fba233c132aaf170f
+20b33ba72160f184a3df9b130e3bd09301e12d0b22dbf56ce6fc87ce156de4377498cad735a6f5
+e57840ebd7706ee44c6b44a9bc0120cd4f50720ba4b4f4002e11db98d7db9a31a5c300d81546ef
+990481b7f9c278f0853c05b0fe5ef2586b4441a4218a64a07ed2bd6c547de31987297af9e99f16
+ecc361ec2650cbfc0ca9b55cb8f5b11408d58fe29e46eb31a0537fe757800abd0f34398cef4e77
+362a140d3ef6b00e83e143656b00cd218db158d44f5df1c5976fe708f15e32642e629645f1dc1a
+3d22742637a809f2197ff9a60d1f58e74d0937f8d8cbf0b0de616809d91cfe77675bc90ebd5cd4
+4fc09ca0625e8cd6144b620bea2183744d33c42e535b4879ee3fc032610eab99688a6e80081516
+4ce529eab33e85cb2a84ca3cea8074039a5b0b9e2065fd72389d02c6608660adcdd7ddeb2c4feb
+5a32e3276025f5c3ff65bf4b01473897164745b05a4c1e1dbaeeb2506bd306e266e613b16b93ac
+0f869aecf140786a639f9856d2f47dfd448564cd6067590cd7c75bbe8b58eef67d2ea38c965e69
+c090c242e29f12dee8b4335b8ecf7ef341de3a30892c09ef87913cf5147ae0cc255e05eb602420
+ae22e8c2754976dc6ce94fc477f330dba72728449d459b2ecfecec62d0be91a9397b312a7d46b0
+cb7cfa2fc664397dbf9a50bcfbc63ed6fd6a7941d36a37a815cc9290c79fe24f19d1a5c1cf0671
+a73c6c22abb9525618c9a3a9909f1850a9f470d2fde679c254bf516641ef96f46574633a94bd7e
+c9890023100e55c6a51f1124b3dec6a7fd42f63499a1066d8d27a25819a7ca1a979e04a8f1fa55
+d4aaa3eb05d8205cf93fe5d372778e809ba05dfb1e0a1e60ab6d1140d4c0bd8e2db88e7d68eca8
+e3f3e2248cb6fcd2919c12d60bf4549cad356000877d0241f7f19487e8c2b17a522bac5a91f864
+630e2ea4d2f5b7bef4d091064ed22d2f597d18c9f04e2e2e1be2ed884cafd31231da6133e79ad7
+08400c02fa56a3f3f5eb56a713fe068d4cf564e7e20dec5cd4696759cc35d34fc0efce5bdda7c0
+2eaad828006036386ca3432c6c005aee97bc884afccd3b642c0a17f418e3f2e436dd02237531cf
+86ae391102b2023ae0913471b6797a8e71031412ac87b96a7173d5a56332ddc5811f8672b37795
+5fb5e39f90d787ed2b0cdb81866f79165c8353c9cc1f0924b5f4ab6bd5197ea6273aed03c838f6
+a78bd9c40eb8b71b436c0803bd569c3ae55ffac24dac9de63cf6f851c5e2199c11d9da77009e55
+3109e47298f63c44644470d768725db00743efd4b012665664b3f663da65c6329da22e64b466f5
+6bb45e7afa47e1d2e8680a49fb4948a8c424c175ebb3f221a458d75f3f84929ba4716c503c81e9
+baf81999337a0e74d9c386e2b46aa7ecaa0689e5b00465cc49f96f7003d7d0bd1463372602a5a1
+8bdf3e924493566ee07b37df97814292f85845f2cdae528cf8e6d40b1b4c7ab83c276f3d9712e7
+cd00e96f8139dee7bc8d17b48a57a39210ae727a8563319091fb1944279c1e670a24093b0d03ac
+8d4a479d2eead32e98af57251eaef7a6a110493471c97c04cb50fed0461db5d0f89df4f461b67b
+f479fac30463af0eb0a5c40b3ada200bda798ca929d04caca634d46b3fcfc12980c2ece9439363
+ee588b4cfbfe1adf3520a28209e59572148f5dd6e4891d9bdfb2525b5d4e16fb79c13a65e1d687
+2b1e2ef1c761d1ba66ea1ca508c2a3bb27a32515269ed4377d1ee7ddc8c94c4078bc4b352211ce
+a13495326faf27554edfc3a8854cdd4ed995df19dedd2beaa478a9409a77f75fc1f4d57ac4352a
+faface9ad01b0b621cd8572b3c65878ea89e3f43269e8a0c3854c1454418f7b0b385044a15ccc1
+823961ceac3f500a09579e605f92f0bbc9f2d8168c50cd9e61b84e0fc17ad73c36227e22447b9e
+f1296f2fe302f23663deef0fc1eb759acc9dd1909f369fca5564adb3f0b2ed33428c75fcea4caa
+c27e7e2ebcb3f50fe19f3a3904eb94baf40c40bfdf8a787e622563a2cbf6c32de0eb309ebbc440
+2e31bcdce135d63f42f314928df9816b69e19f732539bd00b5950b5aa8fc6cb3bec0f14e60c3b9
+7423680fd8158fae9b076f3d25aa3fd81bb5132f9b1f150acaf2cbc0744e0d4f42b186af0591f1
+6f51eca0ab48aa2525dbbf629b4754f23549f1f9a88d2ec444c26f28ad54c9c388ed9c00c9b2f5
+a19a32fb8880c47ebb8016ceb36d0cc17489b3e4e552984ff17ec5388f14541759ec95282eaeb4
+a2d6e3192cebedc3526f99363024cdebb040b3da29dc93b58f6090f2f5bac6c67c8ea488b3f0ef
+f0d6228e20a5b865bb2d1870e9e76c9663fb32e899c3f1f03507e174af0e77433fb35748aba9dc
+78f419fab7c9e508f73824460a7fe6ee23fca964a2839043a19ecb24b15b6406769b703a3b831b
+d6c4c82ee4af7aad7e5295f85353c7d3476119fc664568089a3350ca986913f16002e2889a7f09
+1e02e3a400cf8b83ece85176f96fc41efa93d5d658f45ac91e6e566184cc0376ebc6c8491f09c5
+e6b12eeea7e4e445a8821e03a381c468bdef4f7074b631a3146675b53f7539b211e0b3b1885eb1
+73883c4cacf1223ef4f6dcaed8054c8738fc3dd1abf1566be3b4d8e99bc538504742ab18cb9e5c
+f97c9e5284aba6f591e2d87f00952d0388baee7c3ba1182073481edc7b9c0e761a85a1643941fc
+9a0bb39252d59c5b0abad385ca9296546fdb9faf2bd384db91bd96c59da8250df2b5d125d0b254
+6bc7e2c50ed4dc568d8f1b65b6f327842bed0e7e910e44ddfa302f5b30ec127aef3f02f11dc0ce
+8a94bd9a77c33c8e366ad06f6675806d7f4e77282f88376fcc8e1772e41ee7f1e9cde177b826f9
+069ed5c3d3d0b4bd54bd60e01d4c768cb47b27624853fd9e3760387debdb46d9dfb6da0f7afc1e
+1ca352f141b9039c6d2f3ee7ba88dbd5f1a0db0753962fad600b9245a3a6bdb0bc0dae1e65c3b2
+7bf95a52353bff9d34d860a5d9de8ea0547b9100c160b7b631ef5d8e2bdae77d7a915788bef9eb
+9111d4d7f60f0329462d2ea14a7da9289922a575fd88a52c1aa98cf1f4f34b705464336e3ab7cb
+09d81e427e3bf24e87bf7147dfc0c52e6c67205181ad234ca1ff0dedd467d4a13bf9afdc6167bb
+6f33a47f1ab1477ab32752c256286b25438259a143a6d95b2c6e5dd38dca03fd6c803782dd7dab
+0c7c0647f48a84a163cfec2ce098a2ee99d2b0d46e0afc85091c8402b36b41cc096e733d3e7252
+c2a4b58f54369f049d0924a6903f8ad3e1bbea39e25bfa05815f79eef03e1748b2d581fe117ab2
+e3c7a8f520c194b3c5e98fdea58f19b4e79d677ad54a7fa485a7a9712896618b0c33694a3c3467
+a245c52cd39fe9730e7c2634d298c1638a0c7109692cf258f8a6d0bdf578cd28f72e48176a9599
+93014e050a7d060918fde0a223eab19396cca9c895a0d5bb26eeeb9190df3f07e2d6243d7a8454
+04be35983125b133d37bf15f8c7cffc8ecf514969e23fabd262facea11fee56fa69682307719c2
+16b7881b733d24403eb703c288cbf898749f3e81fe24451e063b3c02cb2ef8dcfc36179a525662
+d47e0e6325b93d885973935c91cc6c52749a939d32fa1f5a74b689d06d161914dffba8335c544a
+d8c4e83522f403157b7aa2ab15593a7583c684e472df545d24a4894038195781caa9f0f49a66fc
+62fbd0a5155743b7c17c9e6ffae86076684c20a77b1e74abf75aab577b93dcde8c3ff60aed1a87
+ec006d276725215681e444c21acbb6318f41d175894c303738994c15099f4021950a8b389dc2ab
+91b74ed57317f7faf10f00bda6be25467f05676ac4192c369ce03bb374617ad5bebcc56ffc07cb
+5d8e7da3e17b7ab3d9d5dba4b8354c03a64f02be62ef5df14b9b9376e79a803423bc55c5cee397
+2f75faf61dc41d1e8415ca55d3cf7036121cfe771be80b697389c047c601dbb8548f0d58ed841d
+25531a41d8664730f34e2b187bbeb8d9c16ae7591ca61fb2ab36ff3b6782c7e97833827a1ff866
+44ae56f463956635883b55891a08fa707e90c392ae4721fdb0b2311f8cf00a4703faad8114b615
+eef9737684a3c53ca307abd11558ce0810db4d94a444fc6babbbe40f3fca201d7f66ed5f834d33
+eeb1189648d68efefb7af5a080f1b6297b75e7815b4680e3c4b2676f3c763fd9d28fd00374c2ff
+2697bb8b96ea13cebdf68eb17001c041d24e19c97d33d448f4d6aa3d50d8720b0377135f30b479
+d973ebebb93031aa1faee6c275b21cd88852d903f08e2629066e18bfcdfe736b208429a99f7420
+7fe3f156e82b16cbe3d401aaf8ea2a417a7ded77fc22d8f047685fb642b7e25a50c5141c1f1f38
+a14ce3c0b8b3447d8f48de07c687e4c4cf69204e85c6489a3cadf29ca7f2363308621dfd1f48ef
+e47d7fcb3f67441ce965f04f42b78d23500d25890201f30d13dc767cebd955da0ce6f6411001fa
+c35b8ff9762eeafda44864cf1fd2f8c5c006ae8afaea913ae1c75765e4d6d77b7e21a6d16daac8
+1366f23778d2c5b9a64872015bbad846c77d4a9b93353935d2b6e57b39ebbb02993c18f5228d99
+a76250b85311629162556dd299f7eb2479c705c6e477167faec90ace944145a22a5cdca376cd2f
+809ee685329d8ae45f3d29b2187bd4077b1e7c5889aad999a67759f2b649e82031f198bc592bff
+385a196f4b9943300e1c9557ccad85497b9f2c5ac963b85527302a1d7c42d5d5c8c58328318a64
+10df0437225eb017494c3aa09f129275a02d0f0d2d5e24fa35a6b0112435d63cc0706491cdb6e7
+5dd957789831d30481e3b8e52d678d0990202a4310255adefea4a4b48abf4b835d35c66f7f279e
+1d7cd4887798ef065d2218056e2374c03c99fc2e17a24a9e70b49440f5e20c8806dc23e1b1b545
+716dcea57adc5e40d7df2a7a259b559cd37c2d8fb1eeb6731601ccb46af23de0ba8c1628f4b88a
+9b2d468c96730bff946e66a5d200ae32702e6fa6c907ca03518731f60b1252a5cc2dd1f9bd9042
+8c2e0f0a7c54d92afc89333da6a83c324af0629a26996457d6374437d9cef97bb99eff0e98a22c
+6b0deba1062f3c48226dbc9a5899cc864b975bd1f082d7e511a5b4cf9c0d7f30d371f689da42f1
+1df7c18389941337b9c07e1cf5f5cbf33e400feb6f4aaee60a026da25d51a3bc14d427d37fbc1e
+64e938a4de50f52578768bc70ce533272db34369f898761aec2c8dda5931f895d28872ec6f209d
+78be4f4ab8da35f65697c57405ce7ae5541c9ff509d5762aa6297e7a0194059eef3a2ae5d59dfa
+d4e9807cba47217ba163742c83f8205052cd729ed6f8c452af9712dee557d4bf8a303209d36bdd
+db790812c4e532165f955c981339226c4ccdb89f78666953c02eb2f38c4cacff62da858e16feb7
+bd379b92d9420a26fe2a0aa0c71e0640001644137c538d2da78a5403cae324705be07519a4c612
+4f4e299c41497f23ab3c479ac8e309dc694cb84b693a40ef5fa7d4eaeb84e97643474253f982e3
+8060a81ef3deb08144992e048e8fe2e9719ee6c840e5be01142f4a62ff3f2f1b1d70997f1fcd18
+3c5cdc04d67e5f46f946eefd6abbcf0170141516c7bffc2a07efb440dce1ce888a5acbe4c407c8
+fa46e28d20e7774d2e374e224b991242df5a20cf3be574c410a1a88badb054b812e7f3ea575682
+e6a86792ff4ea12bb43245bfdf588df7ceae590954e88607c4201efb34b2a9cffaaa392ab52f72
+ec08de1424d2420bf7b82f2a0dc2aa083310b4a6f2a68ab5ee8384bbbf4ed9f932308c2836d6de
+8da231dee2b4f08790d1653490b71ad5d0bed41b06f659f8c3a771b82c8e58ec4e0a0c5a9f7f98
+74bc6a1479b918050f06e4d1b49232d8b44f312a5f6666b49e54389c18e7d89a399fac13ea6ea5
+84dd48ac68c0ee40d26e4f2ac32951a3aef14c503c7ca2d05701b756990b9809e25384b0815fe2
+bf5084ed21d8cdab1fe3cbe15c41e8a94336359df9ed3a43c529529a9e7f63d8de36720e108d1a
+9feb0b9ec91379b57d2ac8a6799176ca5d5956ab877d87050d86ab917689c93652b729d4746f6f
+34de32680d8ab5c5a4565512d6ec950a60f5b0b141f348d1934b4f3689640592f22d1c1cbcdd51
+16b204061afc1b8f15afcb06f4c44905d17b8e44ec96ca2888b34eb85465ed2b2620756ed963fb
+b9312883c8aaf4870c52eb032bb5cb7458b2fbd796b670e972f576dd3941c76cbed5c40b669f0d
+cb34b31d295010975536989bd2a479acfcf324fd549b3e41bdefd06f42492c36d8c0201d2526e5
+3ad34e552b2384e39836743766e384e5858f33ac842cfedc28022ee8dbefb2a2c3a408a6be8482
+6023124f7eec8295a2e1079480f30eb64479f2673da8f051267142dc54e88dc8dc4ef41036f1de
+1b9a198e5006f8336b29720288c9f2e545ec8663171a280273b1626f882c6894be2fa2532c2f20
+e4e24f1406c0627f9cc4021cac67c83a60b39f1849b483757f18ca956ec3bbaea96cb0e2a10477
+e69a6040dc3b5321391af5478fdded8730e825818d960c6f4a305d653a732f1c51c2ca3e3adc4a
+3722958d50a78359cabcffaae1d75ce79e72e09a354c5e805967e30ae708c109ee75ef233df667
+82bebc4c5dd9ed6ef0a50eb2693787576a19b42e70e3d0c073fdfe1b3562083bc01d9b38868e64
+b8ae90b9f3164e2a29fbb1f1bdfd8ffc2a842ac2f9801d4839c97f4bdaf1466038eb4b6975e777
+acbdd875beb59268f0eae6d3a03c2bb60bda0ffaaf77c4f33d4671ee85f301521557a6f323f1b0
+d060326fd87c60f65e4220b7fdf85de8f0ed64661fddba2efd3374fc45a507437a1ad2ab4938e4
+ccbe2411ffb70718397e156d24ab018436fecd39af252f3f9527397cdab675b261045194cb3d3b
+5aca47c98f1177ca1322775aa8c29216fb7f8ce0fbe698479abd173b9541fdebbc3cde6ad12be8
+16108a049d5462572544912ecac19e6e9fc6dc06160904e7bb14796e5becff4df3a8f645825c9f
+59fb419bfb5ced8e5b449a2e57adc9693e9d34e6bb5a600d16189bf146f3dbaf4f75d16b303a32
+2048ddc0de4a91156aa427f1b137a714f7ec2a4aaf612de4819dede79b78c90a86c901278125bf
+2999c9acfd90a866830d00a0f1c83a87cec69cb2f382c935bc571ea3b53fb22664be95d8e95d22
+9b9985d992dbc6439f0ca52762b3cd7a4a50973c17de473f987151687da95caf1457c524a4406c
+98bd025f353124da7e6389a921e56de4d1ca7901cb37f051b9d3b78709640530cd549c9907ee6d
+ef35aeb2eecd1c9a1a4ae7686da61b848371dcacd9f02cc320f29ef144a10803df5dc462188709
+a85504074b8439c1a3a7c253581597d6f94289e7113c678fae406b6586ec40fe51769903be7225
+9817704579212bbe802679ef21f7578fae78d1f8c29a5438b656f13d14ac4b10d1b48d83dd1ec6
+e569358f9dce2093f319f9d3663e331744bca142ec6b901acb9b5594ea7423072d96a61e523336
+059c1091823b03dc675671cfc688bd2062830e0edf7a5d400c680784691ff46bf4d8853a42c573
+20414a0c7b838bf2bc33726d8a61d11dc42005b909b241b553c37462ba057c30e7bdeeb3ec5513
+ddca5046dbf783c780ffccdc188b5890daf03c94c8bbeadd2e33e95a8bad7cf8c890753d607e1e
+74dda3963d32cd37ad2d0eb722498718df3827236d7f073eed7fc3c0ce0fb5629f08d4a71d1825
+c4d158ef364c8d69e8767acbaa92e1751a266718d67fb61b4a07c485cb887f04bd30468bd6ff51
+63e5e35c7b4bf6ead5db27d8690d7c54b2be107d8180396ba6046e8b1ec7f51a624a52ad2f9e25
+96df52d886aa0f5f0316fb0a6ff881ef3cf2a11debba86921f94b6ab18088a61ccb125c7732c36
+81373e4151094543ad56ba6b5b915ca303a753a65aa189f6d71bcd8ab565ab5696b9b0a2fb5b7f
+eef3dcd6ef83f859fa4be52c24c31ec711534577aba733b4f0ec2ca742f8bd658d7646e6af057d
+09b504f072b85e8ce75c51cdb3b17d34c06c1ca57b88e7ae944d289bcbc1f7ad27898a703c0b2b
+9e0dfc9f87a6b2c1d9ea2cc05fef8bffb8cffd8d8246ddc86e135a8361d36748680881d25daeef
+be63d60e449d50acc1718f1b6df6297849d31eecb6c990304d5e37d6bcd83c17c4ebded22db524
+66af31cdd0b576d69ed50ef359cb44507a79462b282504a48a4b8bbe2ef617837ae266e3ab90e5
+f45647ed6b99c6d8b6121f1f7771f75b76362f01bbe8a8b4268d4755c7b613b2faed3f108c29bd
+a855012eea6c22210f618b416e25534efec4c0f6d0feaa4ce7517802f2ccf54c96c4b5b9227bb5
+9f8c8a49fb435d4134dce397f41f3b6d295f6453b9483c3c1d2ffd47a3199b370f2f31b3772afd
+59d0135ee2970b66acc4a1a0d3a18be2b3cc0a8a261e9dfe32b1a63ebc7fd99af94cabd34eeafc
+a393ab83b5ced9b4e60f868e0b7aad2c2f21b0d84919f1c1598e6143440481e3c4a97750300f7e
+0660eb65416215d13d8f546f74c4700693327ae762ef61db4463f3644d534a3b4127c06741f0f3
+394f395ed384c4139b7ffc5b02185dd9e9fc4a9a790d91eda97f8262e6327779701f7440a27120
+c75242cb2e3c5570399c648b21da288d2a9d610dd11d5f9cfae9aa1caf9f05437bc137d8cf0e83
+272ecdec1c574ee6880505f03fb673c5ef5e31a674d1fa390de77900b9dc1fe4d73311032af31f
+6985bf38005fd3498d569de012062aa9c4e5baee3ee651230cf8f06f9562482e56aef639b4e9b1
+4fe104d7a4e59d9f59ed573a530fead02933ab576a225e00d4681821a6bd294b96c9f73ead9eba
+509ae5d9008007ece9e52dbe377e161c5b5e1fe556db12e167595ca9024a24c72e65527e3f4b94
+353bc5fd302dcd2343dfc038950bbc4c1249776e2561a90c9a5ca9c045f6812d9491a77d5f775c
+caf51b81f299e1f9122c50712fcd660bf649f6282aee3c072d41bfb68cc3aec648f2201fd414d5
+0e1375dc1fa058a80f54ef48522715a66f46b0da8861864fdf8e22f6e47cb32837b34ffdc5b578
+717a1119c6e7ef7566c58b373d111eb6c2bf1e9853d13c6223fac9ad3123765163c06dfc0637c6
+92af835e89ebecf5b37620104cb8f17851abfa357e02703a059d960d9df6f7fdbb168337708e7f
+919c04c802ea2e2b3a3babf74eb86e63de9b8644627d8985a1ad3b8adcca509f7a7debdd4634cb
+f42715063265b57d40eb7475423c3838359cb5a1fccfcc7874c782cd859ba71d5f114991e6fe5e
+557fd360943786fa161075b6783140ef30382f184be07a3b0bb616442a4a4007af227492a99485
+4b40298b9e9b4e4483dd252b2230f1f615a122918f32c3ea0a68805fcc73bca40be7f3fd94e698
+d0a65005a64dcbb7d97f60cab183acc86762873f18b673dc194cfce103f07cad09c8fd6b1f532d
+72cc86ea99ea24a21a41a2e09837093d5e1f1e3d74342cc4466d9ed9c1722d8665b00a9f254950
+c286426737b8690914d856ac20f1bf27180e6f9b00981bc8b3b165c5cc7e02a689dccfd58c1b59
+39186c590a97d04d5710fb5506bcfff05f8c6241c125e300235afcd2311d997a1369783a83ee1f
+040b8fe44804dd62ff7e5e77dbfd66177a934eaee33737d643092a0cf65e51b131a7ce8e502102
+aba1a8a68b8d95c5b0651c83214017ea2bd5e5a52d7e9d8afbba7cd22bbcaae087ead54739401b
+0d8acda7766d94d640feecca18f1829ae75da4aba8485bc9dfc9c67409c7d465f54d740ccc8ed6
+452872082bea2773fd5d646a809f5d382b69955db3a56e61849017f103bec6de80850132002216
+dfd301110250985d8241933cab0ceac16e90d929dda1d3169a8de16ca98aeec1bf59b9b4e0ec46
+0a2631f6d3ad4f84fde5b5dcd29d53afbc6c8a3adf15d234b13de3fce52689a74f49cdf2d9affd
+89a098d6fa7c0f93724a08324ed1ce7db85034bf4a67e7d0573db8e2fbd09e123156b2d066bccd
+9db05b87cf61545a6e219009452b7541aba3802cade07019910ced99eccd026725d0853f9f1597
+03f449d1e1d33902148421d34f132378dd12d9e79168bcd8dec5bfe47c862adbf7883e46dcf0c2
+41e068ca77b72ce9a73a3ac40f568481f62d9f36ede5f0264c4d8f9b2ce03e19e70a94d0e467a9
+832efbacffcff9efbcbd405432914bc36fcbd16c4c2aba631f8213239b69f183482bd292247042
+7fbab78cc598a57819dae5e3321efef1fdb44e084a4402b8cee480242e42dc09bbf208042dea79
+68a643851cac21aebc1ba2740ac999d965b43feaedc8c76a32ff8d4fa30e2c8444b01716af4878
+ecf291309cbdb70c5bfbd4134ad5d044a04a057405a91e1a1ef15980383cd4aadd4190904d5528
+e55138635714ec3f9d8e0fe1bd1e8ed4b742ea90572f1ac8d01e711c074a4125ea595fbce07461
+21a5d022d16b2125a1577850f6d1010279a5dbbf135eb8edcdcfc459b7b554192149c29327f86e
+477dd3d13fa5ae3a78cfb714c9a750067ba154407ef22158670059820c8041941f7ff5c27c016b
+20b867f83a9c8955dcd282dbb6f72bd2067dfc1e91373a3021be2be6aec5f90c8001878077eabc
+92639f5beb892bfded1d04136bb3140dafaeeeb31c21d8baf03715fc56ecc16e7dd11c12df0bb6
+8240772f2c59829482cf97f6a922c8c7deccd1a395e7ba2a1a855206c27630ae1f236606a3a9db
+a1404326b8b484d5d2564b480ee7422365234cef2609605ad9e24294ce5f5bdd61a479c33fe53e
+e8bf857e2d2a25dbbc9a1cfad3a5d7b2f1155d29367e318c8a82e1e0aa236b8442838e3deeb9f7
+455923cd769d28c1f780c0d3bffc275e0242ec975d2beb7f6bb5222b2cdd196e4ec94452050a76
+a4aa6352633cd58f461fd646f23758e343b5a386927b66ac6ef1acc84839f8bcca9f9f93f18cb4
+c6bbc663a951dd5211acd684ef945c10f156b5b6e1c182a7a580b3966716c334ddd9f78a404873
+a738ab6ccf8a335f1f6dc830d7d74e021bbca95d260b34d1933177e5ead9c2793d264c94e8bb27
+4b9712afb7862bbd8f74b4cce27cac9f29c086bb30162820a229e6d5c83410a8b876fad5b8a028
+abc067885b5cec60995550d35f60afd1da93e3dc14c42decd2b0800706a222e9e4b7d7bba9646f
+6a3ef9489dfb011045a6444cb599c62dcae4b11de7d8d98f8e58a9a4feba0e5f7301b795f4085b
+aa4a7085c5a438d0b784b21186787abf88b455f1e2ef19fbbb4501d5c69c22b219737aa5ceca0d
+0475bb6916685534448816d2791a31544769ff1152c2f2cf4c7cd3f64c6830522219349254d11e
+6ff2056a341648e9caf2fc5c6f48a8713448b4a0a7bf4f250df1f9ab9db798e0c5d2cad0116608
+a0a6190d8fa4f8e67f705d8dfc7cd8be652b13ec24beb159f97d22997094e38e90fe6e9f3d2a07
+ac92f1648c78e6ca7452481fb78dfefdb4399c62986b652e08ca4a9a4966cbbb572c4b2c8bedb9
+285372904836abcea90e91ee6fe8dbe8fcf718f4e0ce97b29be634db1f19b541e003409442a59e
+320cd38789b76eb79e35acb1e09f5ac2eee068664a0f505c61c07da5bbf439acd52feb4caac79f
+f05756472aada68f6aad5a1b760468859d9297e3ac4ceaf7830c09d3562c012d48cf7da5f93d79
+42a15fd76be4e90cb1a966503d32dd2fc39c1cd01c629b600ba6463288466ebf44a4df63fe2040
+67d6a39719ab32b5073d4bdd022933b5bb5652510919af2f90863be9f08dc507609487ebd7b796
+a3f0b029e13492cd0a1dc002d85b8da0d2ddf319f7e732ed40a87c984340976292119ab947b5f5
+b9e5e31e6023e22e6ef0d04bb9d9cbb7de56a1626c5925847300a6dbeed495b18deeb815807010
+52e4b37d9e0b346aa8a55621bf5dfe3bd1cbf2051e62ab1e1da21387b5f38c119934ffab0e8158
+107bc33f36a537996faf01870b85d5da02977ba62fb8e5d4878e1be660a6414c9084a3a5f05a4a
+2c3c1f311a589ba7afc5418e3b480c92f91033ea61d0a6a1f9e209226f2cab2d9c10e2b54f22e9
+a730ab8d48548cd28c3dab415b03a59345bdfa9656cbdf48363eb233dead8ed309268a629bbc3c
+6e2d85eab15f3b769afef377e4602fee3efe33401eba124aa4d4593c5356214c59db31702f44d3
+3f89196e09e6e2215687c448c9615c69d7163b2867252de9771c9ee8a39587bb374d1b705d61c4
+2da4a8a7ed8ebd24d1062d377fb37fd84d5ec3eac25d5d39bdc91f7c820b9fe806984bcfd3c375
+3a607650a6ee4460a24906f75b38f2c442a65909bb70e7383f9e90a06f13fa2acf0a37e59a3118
+5b6f9437e741571dbefb518dd564140aab4c91d37e6435ab9b2b376bf6522f90b5660ccd1d7e8b
+82dc3a41d34e2c39cdfa05f1e4a7ebdd3586e69c6ccc4847e086052dc7d6cd4d8302c34f4f0402
+daf9549bdd83c24c44a68cc2e0c2635686c6e49ed8bd5675749650a79e40588f4315fdb9c187fa
+7b4956151b7123f36937b06fd147eb8d51a8eeac5461441d24afbadc7922cfc237823efff1a3e7
+42b336e84702189c648ab7078d6097d8fd5f3baec947d63912156478662aeda72a501c747a325d
+1227cd4093ffe9a931367dde46d65857290ade9dc3d8eb73e7149dacc34c08faa51f9fa39e0c13
+d14be58999496dfde61566e68f83135a0e43cab3cc6395217a0845423210cb032c63d56bae6877
+3991e91f186b198105f165723e08f6db39e889ef3f944d339886c0c6ed8e41c20c0743864a50d3
+7c281abf47fba6d08728aa21a833f22aead0bc38d211caf58d44d01e10c2da4065a3082e562e82
+e3f1def28b5fbab1e93cc3716256b98ce87e4dde9e93622e5ddce60981e89ad0d70d0fa8b1638f
+4c12ee82a601073f84ccd47b631781ef34da22b5cd35023f23c6fff02973f993d7457efe579da6
+4d7110867d6fabe6b41b97e9e711369232f98cac9975d56d69cfc98530e76ecfa380311854170f
+98cc43596a3d4019d08c25e59dbc3eb850e026cd484644353c125e38f199b22ccf0a502d675d5e
+0be2a4df28ea88c3ca6b939b4b19e81ab728d3e44648830f0ccaac81f705d098c127f07f56ca85
+50ceb827722d046ce419a2504d8d6740cf9ccb5d079f1086dff76bcef4bd20e854eed00bce0858
+522818c8ebae755857d51961a9c61ab5367445b621562c645664f6df9f63a21246ca26d21aeb97
+ab2b271003d5734719358b16d2af5cbc1799c88b899e3c964c453e53de23d02bd3137cc0c1f074
+70d8ffea99d6a27e835ac56c977c149dfd13de3c0c328f8edd67c1f95953b9892e0147a245ee0d
+4e5912c7eba0b810c0667b17b545543b0662d53be35c26192356522fd7db85df65e5db4d6573b6
+c0c0f5da3747e6fd6c4a041525f7e48b56ae420995938a2229c967e98c8256c28f3a99b0739f75
+f0f1d250db34ecd7abcf25b86e6b94de40d033d99710fa654fafc2adf0118f750a07aea2c94f20
+5cbd091eb2a3bbbff77253122f179395e088c6b7a9f06ad421055622a1cc0538e8b3f03c4dec14
+746a49b2a19bb161ef7d5da64a4562e3a0ad91e4ad5a052d74c1473febc4f186cd6b73d48a895e
+8bbba44657d00663d5e76686f65a7ddc45ab8194be9fcd289e170994d8f17d4847080ec3f0fc36
+f811035bde3970e330f1b654034faf87b01b9981330b3513c2f32e13a280b52c92449525bd879f
+684edc107a40c02da468ede54c9bf7ae72d4c314563e55d9d19496d0f80472b2f3c8398700bee6
+42314f87fcee7e0fb9e4500fc980e0a9f755c71cd9afe4b3946aa06d2ae458ea77080c3308f65b
+fa253674be7182dea45a8d2c029a570cb3914f7c7cd0cf31f9b537b4f2f7cf918c5e82c6ab36f6
+5ac444ce935e1d14f413c2c005ce388ef8175d7c8e7bfd68640c650385b646fd00dbdfbb9e0ec8
+3d93f7ddd486a358a8493a4327d11568d3145b52cfbd0bd5b4d7def679906fe1297a16908e16b9
+de0a13986d5ebf4f829c4de8eeab729480c1372c0b85c462d02d8e6bb0c45fb26e4d82f0152eea
+9b745e1c20e478ea50110efdc5bf0164a678ecf71278fb2bf0c8a53a99ec0f46029eaff9229108
+234fa1624b5e33f9272a232f64acd955839b942f8f8cd3f3e3871a443f685149bc5ad0083f6baf
+20c14025309173788aab5568160b31e7f7ab6f10f4033345656fe958613d626e8ab7091aae62e2
+150d7f854d5740f601c0756b4d04a2f4ced1f833042b4ea609a051defe8aed847795cacc657c5d
+de3331323d5f21b24154b3b2c991e3da5de77d00a4577ccc862f035c10f2c073f85b97fb489a5d
+5a17d84d9ca133a018a22788ef86afd7c1c8952eadc6cf5139605b19df95546e90a839440d56ea
+29625d57eba80472486cae74bd099198ab8619cbb6fcd652774b0a97806f5f83f6e8a109eeca85
+cc7bfd19ae0cf27336e00d98d130f932be9752cbb97a14a44fc6407b286744ff893a26ede2d28c
+6d5a2c2369388cd6a23bf8e102d7014b3944afea96cbe03735db0e6e4922d4c5b2b6add56d317f
+3532fc50a410cf19be859075abe70ed195996f9b9afc7b1f3b1a5d1602fc6d55d5171ccc345e28
+040625e4fabb286990116ff9dfdbbbd193d503d5ff027b0f4a3b124f2e0a1e428379ac6fecfa31
+3fd135a6f38da32b37b3d6b877e5148b55aa40567b78d69bfc59681acf8c871507eb03518650ee
+ac7270883e7003ab9ca8a2e531516c309c31f67a059349b0f603f584c6d91770ded8a825c6f759
+cb3128bb928cb1e671c1684cfa153a41e6e775ebdf54f25d11865ad5972e8bf3193fa4044fa618
+bfb88b621420c86a5a30b4716feaa63197c6081bb1f324605d018e8c63753fab6f972670cbaa9a
+4946b9c20fa42c6e52c9751654a3cd885fd9efe11600771861ae0d026fe0dbe642b073c91036ae
+eecfaa08a7d85983eb13828c3903c532c0829802ff8b45e64e39079f65a5b84ff91b65688eb31e
+6d5fc58cadc44319885bda8d78db2aab9fc4a268e3397d12d51ca0ffc79929344f97a6201c01a1
+83d2c0c2702049048205649b91a784c7095b8630b00c1ee0af742945873049981540863fe38a4e
+57cfc8647c85c069296284599f169506c9df019471e0ca8fbc9abf7d1af1dcec4802e72bfb1d16
+138585e451918e0c421966a52ac29c21aa3822870959543691460c52ee43517b8588c365888921
+e4560d3e28f72358325197f09baea07fccf9d10b238659be645e0bcdd5e76534b21b52941a1e48
+267faae6abd43149987eb5385b44a422c0d6eb37c818542c3553452c97e016c26d38a4c0b53ae8
+b156167a5e11b861b44bc488bb2bb0cc652e3a1d12e616a502d1fcf31bfdcead55e2fdffc121ce
+85f525ba491feb547a3d16d85f65ad30e430dca5c603685abe8484d4c4144f91c5595a3fda9351
+e17f00eeccfcdb2e0465566192b23a9a78c14d62fdb3b1963c780f6855dd73382089094e921ce0
+9784e1f5408c620f6481d300d9fa6f8c23876a49281b0d425090497b767614696424dcecad04f0
+767bb7601b99dd3bc5cc14d2dd77c09101fbd3b6e725e5c68ba66a5a371fd6f3ca6351ef075645
+a3c03492f7fbfa225a5f3e01b962177026d94e845953d5781064633edc41fcfed874e011304723
+a52fe8ebe5d6efc5e69b9edf735067ba2d3ef221ee6244034df2469afb6056dba877ca9850d4e2
+0ce756a79a38e74b356019de03ca6651e54d1523e12ba9d9dd8e44dae7a920eba8784607fd0eae
+b0b456bad6e739e264aa0a3f4d5cc5584e072cfc8e0a2b949b4102d14fe3bbcd7ded2405718b0a
+7cd41deff91bd415340d6de94797c53cd734d14a11be9fd9de57cc35175f24913e96f95315ad3c
+66ee102176e59a3b669c0b992d1b6c3cc131b33119eca4fae72f7553cb977dcffbd5ea29728ac5
+a645eaab33042a0ad86e8b28fbdf79325e28c3801cd0f9d8a2b563aaebcebfc6540a3ea351caa6
+01ba8e5c5bfed770d61d7366f96d6bcde2db981b51e38ba35237ead55fa9c1cc2b3381131c1dbb
+39ddd7229d06e4b9d203d066666c8ad6aaa1a6df0d346f843205c41a95f72df3027c9e6486a008
+8f8f8e7c9ef820e2e80766fc706c4df71ba5801863b29a917a16abcd824d9a94c9081208685f8a
+4398004d8afa25087ba3fc81dceed46b7d6fc92d3b9557514899c5c97114ed722616b477ccfe4f
+4e1faba32e6a24a091a7a1067628ecc8c421f8a967c6e0136a9c23ef642100eb91c300975d6dc2
+c09da077e24fed0aeaf2876b91d0db63c4e347afd558f61344eafd38df995bd98fcb720ce19023
+c26e0b1157e299e18d13fc7715bc1141d449f05fc6bf234ab5af157696a354495e45a818f41a00
+7e601b49500e7554695a4c21c8f6fb67d7b81379f6d3abff7b059f277e48c0291852c6af3e9d41
+2526e6b23653e0283af4ff8f06503ef135f552270f04d735cc21fbaa059025e7e32cc7f03bdc40
+6a167be87ce1442f285aba9aab9f4ff91daed0f04eadcc8e98a6ef670263a76e5b77baf65f979e
+202658c06d0deaa83aeb577e4872a916a87b8aad9e9c9b22630d3b3b95b790f11f83bc6a52497a
+7c03264d70f55b6ee2ecf4f5af13d45df4bcefc85437ad3d9b78e565e3dadc353e972fc21ba6f8
+ce701cb9c1aae65b2ffd89d65075bd6a5ae8f195d13165969e08c20a6143efa43a31963e81805b
+584f93e1957713065d371abeef4ade6c3c024f37bcb2cc00895252332325359e6f7425665f46bf
+49ed14cbdd14a659876670d962d36aab38e75c47db93978cc7c30e5e33185c437cfc260caa8c3a
+f8a0fe39d955fe41a89344db01f0f33632b571832eff64ed70de8b5dcf90e73e908b274441d7e3
+4e14381c6a88bf71db27038b3037bcd5eb5a4a1c9b6067d2874b898c95dee5b114c10528dd3cd0
+4d4127190405f89ad7461b66eac5bb976c6eb433a43db8847ab105a9d6e004c1d08e17ecc40286
+2aeba56fa63297c5dab64a0f3dba016a5af5c761de36c9bdf0b375c0bd6fd3c0fa3787e362103c
+3f96d6d1bca0fe0b3fa33c034f472204cef2949742fa5b973d21b8af8e7c1ede70cb40860f7a58
+ac12a7709be24ba724166770215440b0dd64dbe6af369ec9fc0d82e3c7a597884e4330109ab763
+1b8f8a62f0ce7dc17c9919d55bd997497b66e4089b640ada46e454b4cd90a45a5805eda36ec5db
+69ca53cd3380d2f59c9cc4c6d52139cc33324161adabcf2eb44cfce47ba893bd4a53d4480118c1
+ba64436d3771ded3182b2de8306237012aea5d5a2995abcbc097e7535e259053c58c8de2a6c7c8
+d21ad6feec5907c2f6783541c68d00be43776a8e766d72a8fa8123d819d38f1f53f36bd48adcc6
+f7a1455cc87453f96e550903df9b819196a27061facc772b773dbd1444c37d3136a0d3158d79e9
+8a70e8e030dbaa42c202db2c0f8b03687f3d48b0f1783124024a5ebc0433990b1591459766cbea
+adebafa313226d839697f97e14cad664856368583b3e2e79609cac4c81afe602dd4200cfa43fda
+4f1e48d68b13f27533ab9f3fd05a0143378b81d7e5bc77eb8829d3d4e896af1c31ae42d39bc60f
+687306a10107727c8fc2fb98ad61af9b7808b6afccd125519cc4f98828e53ac23388ffa188e885
+c64a97439cabfeeaca48453cf4c6ac118ff667c21300d1c1ed5fef10e03f22e69e36248e476519
+a677fd224e37ac95fa3d9aeea5b2482da91aec2f5e7a2b57a84ec7ec8699fc6581757cfc8ed6ba
+b56242725f615304b3cc39c20e8dd67136f864ad32605b0ea9ab0d3662bb1ec7e317684a5a6afd
+8c3e83358db1392bdfb53dcb2d1624ba8772f701a3626967c0a543a4b01d70aadea4d1c2c86383
+c6eb9a722a6c833c0c5f7e92efd67ff6bb9fc72a9933a446ac965c26c72ab279c5755890d21a9d
+d9f3862582bdb1d9ccd1963a21bacd4be17d03819ab523f4473b20a87f120dcef914c72144e350
+ac33a94859de19fc1c45816ba504646b8b53410dedf6f2b1dd9b2f0b2749013aeba319bc7d2e1a
+dc99cbcff5d5ca41baf982ab06c3741fdde91b5ae8601be0a690a8848d30eb1727351734daa8ec
+8fc416bb425309b1232d290ad42ab8d97062812696531e1a5f6f87844f9ad9fe0cc660a7c4bb1f
+7c2d37ac95214fe2cb4537f763691698dfc6cb42aee39ca3e37910a5caa4bbc93b20d756593622
+3f79d777d14971397338d791989bdd842a25eb4747a45fb3d0d853000205301a799d0f1a597a34
+fad9c47ba0c27a82251b4d460f1de01fd0066bef08e4e6139412f5f7b46ca9c6fc7b5e1bff8f5a
+24498699cc168b419278a41f5eb1845b41a298cda7e237d3b149ebc1ebb02c33433c0cc8043bee
+875475cc389dfdb141fa31a67c9b97f2bd9afcdcbd16b0682b3da7c3fe91ce83fa0eee07e155db
+bafa26ff706798c07bc149d963c31bd8b3d9736a21d45d5d7761f6d93111a10b978b32a00b6593
+4ad2e4df3c2979ce6179aaa50a28348d3fd1743d482c16a2538eaaa17f6894fea19a21411ac73f
+f779f355ae9fca182a55d43f1080a60721ec087738c87987c4699e24c19172afdf0461ef5d7582
+0f2957bf75b1b396bf2a5462c7be537e67d28ddeb130863434670c75b36878888a430846e1f656
+5c9f0f529ad4e5d2386dc61f9fb0f4782a802c853cf5830763f5b9df5d77c5c3fef77c14fa64b9
+66573237b911aa353738e3ce2683d5a4612ddce6c8f50cd2c0b11912b7b09cb60590ea9b25dad4
+1363a82751aff5a9da8e1fb9643a84f3701b518b059e935a3199685c4bf2afa07980ad93fcc6e7
+733a7c1cdb6d9ea9756eb985041297452d74381a609bb8c3f9cc4c7b9ad09e57753602e856b551
+1cda7b0c9a5e0fbab6c9ef7d7e8d6751760312ba04d771974ce5b6c18d9de0d4bf76d5e5b6cd7c
+3706f94693215165881bf682231eb90cb99794177468d89877475bd1510e117d5f845f26fa3037
+62c92c2ced4c73a82afeedb275f48fb2cbbee350511004a58efd38e7002e91260e40f0792b73db
+c2158d542146aac2b860479bf6046c7e0e4edc26090205846fc8e333cc60a4aa3990290508b400
+fb02f09560be4f200d272c713ba3b615e2b40b9552cd70a67a098edf6f1bc4ea86732f1fcc762f
+513a1a004d39c1dd6d8d065024ad72b147c850945b7bfb29e830d4ef2e84d694422f1c89bc34ee
+502aca300df3c5a3e0ff8359668b11ea33ce14ef62cca8e2dfb8e5ab68d96a9a2552bf53af81e7
+8c84d96f3b1eda14e19ac07e75e3d3e5454200592a259bc950ccb398dc20862141083a5190c1b2
+cb0aa0d8d3e8a5a3b21004fd002040c4b3ea35de14ccc1ccd679d99308409a138c1ec129a71a1b
+b1443d1754f4763765b6409e8280e25b5965f444cbb2a6b78bf8541250b992e39d0a4c14ed92c7
+b9ca642ec4002946f593ae24cc194f41357a86b418c8451b342860441b9d2e33c7f8a81ecfc0e5
+630d23ee1fe752b2536ca59253c97aa18712f73f2b0335eeb0c2a26cbd98eedc669e9388314277
+18070324999284196cdbae8f16946b2bbf2b9f2a8e0a59284473831de3315a2dc0ae872b1036a8
+040d9c2a0c77a6c0c473c293ab7e19837fd227b352e8bf1bc817c76412f1d6abd47d809e989b3b
+2f89285d2693824df3191a6d1bc8c9853f2bf81b8c96607a02b31d23d7495a590cf3f96d7328c4
+fd74452dc16c2818512abf981c423d146e9d7a46bf2ef32a98dda4f6695f42532fabb8abba65de
+15bf69090b724a247fcdfefd6f1a83cc35a049d3324bd39816f4ee13a5a38da73a3c3fb031daf9
+bf78fde0f8f6bdd0e897a3b24e090b54a955b232b2258e5f2bfbfbe13db81f6abd243d73e3ff7d
+5d21527541ce6258732e85baddc7e56dc1ae4b2bdead6d8de14b406a7234ab0c0fb1b6f129a787
+7adb864cfe9abef498ea89232ee6639c0cea4dbd515a7a09aafbe65d04ec923e1200fcce3a2f68
+4c07f202273eb6a93f7ae0771e7115385296132be25b258f67273c5a0f28f98627abf77751b786
+0e123e4a4e70422114eafe03c2606f854588ef418312650f11393ea15bfa6337b955355a183573
+948398e4438b3e13fc83a36f2d86cca04e6787f6a0b29bfbb9aba924f37f5174e3ee892d16102d
+37b14d7743d9725ac7367217425cf6263f30097ef995d81458db1357305c6044d6e490d9631e9e
+e456db83af1d454176174c786a03a7771b02c10daa800cfa6819f878c871f0b3230e5aeb87d8e9
+b5d0e701fc2dd78a2ef5f9e3f0e060eeafc7ebeb813d13d4d77f1130256ceda94dd73b6e7b423d
+7f4c0c55f3491bbf6153b106b1316b9eb2ce72b263f05fda150b748d74b05f238982702f9564fb
+43259e9fd1f77d753f7a9bee8d81b2ea2d5babfa686d76582857a1a2338a5f8c2733728fdd4adf
+fcc90331d2670c260111b76369299e8f79a9570d277107c81fbd22faf23d821471f8359f13980f
+282516b7800ba8ecbac26e646e401a4d7a644fc3851749c5d19a915fb046bc40de6256a24184d6
+66de6f54e6855060071896eea3338fbea7771f129a449e5bbb498f5edf7dfb723d4838d670b76a
+e2842b726e757d534c24ebc471588ea38760f07b59c9af9649132871a23ce328acfee7f583f7ff
+0486e07187a3d4942aaa9e6a38c61543299873ae9c902dc5777ef58d396b5feb718509da30302c
+a268a9fe75e8343ea5f4da3a39445369280cfca5442939a61f82f24b15bfc71d2e1b2880df0117
+3232527227875329ab6069618cde196f153e7ec3b1dc5fa627ed4f49a43550d02cdd80cfc131d8
+6dfd6ef64530f16be3c08b2fe804ba2c8b8ef512bac05420f7809507cdc6aedbfa690c85a1bee6
+f424799dd0407f40e90051ce3d6b1020719e059187a78047533060ed3426bb7c314b179b608fdb
+19f181e4cf616e0eb850c40885f2e1d9c5afa60dd6480166d7b227b731c8491237112df20561ef
+85e4a3d2074bf8ba61da1e50699e9f9aba612c8a9a536cfaf7c9137b08aeee41148f96118a43a9
+01722f64a6457937eb18f9733fc353987b8e1fb9da5ec6c7229dad8d045654bcf4426f7148ef19
+42cd42954a8e5e5767ddd899f178f6f2443b93be25d5d61b9c06e68d653ba56f1506a88f9439a8
+96b3f604880099548ab0dbc39b26237dd1bbf9c1858716d858b94377708b44d800b95f77ba4f63
+577d1758719e208c1d4757e53eec9ad4e1919e197b4507d1d43355c142e91c3d4d80064fa7fd5a
+85d7c08f43cdb63e507726b4378853d6ad68ecc29592eef5a8b72869a2164552ae622f3f02dfa6
+cc2b5452898943fb90521daee4b1679df0d385b9ff15c9ac6c120b30626415ed3415d06608b8b1
+82f3efd579a539771a2af421119c43a5444f187b55fb3b8668eafbcb63b919a2e2152aaa0d6261
+3c37ca5002c6daea891411cb46d58d815d7f231678185a0ea2b59ceb1030a8a9959f3426a66635
+2ce86ddb34220f43b9f0695747f65b5c7d0c0bdaf97f76a67c396f24f5c3d277a375744310a9f0
+9dbe9f4501739523f301d94e6519029352ff5c1cced0d6dd89af38c49d8fdfadbfc0baf374d259
+404ce7bfd2bf94a09a02e3463ab9c6d975190944acde85894ca4537a35ae86e26af1bd5e5bb7c7
+d24e671bd182153a5022047bd8c138016aa85f3b7b62bfdbc06ae4dbe5e37528d6c6432b3db333
+a1347a09838c17b5de1b2f9570c33e7580978d48effc18fa8e0fec834076990e0d4b8abaa2c336
+40801153c5ffc858524015d49008574cf40c060b751c67395e8d39952b5514463241e8aca46f92
+701b889780db90362ca74b5d13c5f9d3362a0b53d2dbaac2c54836e4e42422aa713a20a5124ee3
+6b353631a3933a5bbe368b0c4fd93aac08fdbdd55759778a0b7ff59a185e2f9162c0ab4ce98bd3
+7fdc7a85dddcddc3d5eba60201668eda23e041e6920b10912d251171fd3fa5bdbeae378e996d03
+9c7b07bc4aca72e81625f6f816a2bb469d2458518988aaddceb796926d796673c030554e704bb8
+84ea1888b3862d67168d3b4f8963ef3aa7ce90d50fd2267196fd48d9da3048bc21a6457ab6fd75
+4af570d7370bc65aae9b7d5de59a228125b9b0223c39bfd4b8989cb5237672c8b2b9400eeb970c
+0d0f83028c8749af957758845c53e7f949bd0e3c4a5b6f8f564931b9266e4e5f4e658d7baaf8e7
+c6bf1625e260a4a0cab102e9f1c309be78080641d16401d3b96ea6a1bad182bb67c081ce6112de
+8aaf15de79aff4a82504a483e4aced4d76ef0328b7444abe74a15073abcbdecc42dda03e97a34a
+a7ad996e6357a8b6fb9279bff5d37c7a141d6aa05cd423836a596b5d431c5e87383c0592fda24c
+36c577675464183c9a8564d46bb5850b90238f6d6933a41c9ae06382131e4d4714e23b6016dce3
+ee6d953c753a9984eff622be973087e57e1d8bd2a87924665ce31512b579db865795a1c38954bb
+1ea92869a81d8dc6a212d4402e6742ee9a23a4a3040e48095fd56a826650650a1b62f577e15a26
+7d9468fa41ae494fc7809d93318fffc0d27727d4b2f13d100a437bd00ca81d5597506b34f4416a
+472ac1eae67a8a68ebaab789f7600505441f797f2330927c06207480cb4f4b378ad4f6df79e815
+ecbaf4fdd7e616b12caced04f143cbf5d64bbbf0fbb1afba9d851ee90a88dafd24352f67c747ba
+7a807e635c86fcaa3ae1dc93276bdf6a0cc2902a888d9c73132d3bd77710fc61246a9d54ef5123
+58ecff5d21fe7bd84f89b8bcf07b7c9cce6786dd822c9cc1ef02f9683bdc69415d8fe57f6c9e36
+0f6a178fc32f34724a1c95d07241c7de5f269b01fafee2e9408dc10cd2c7f50d6f174e928d8957
+754f4b68e12a93807385893c817095dcfbaf7af55b94d19e7ec3581bae7119e878b269eb62d4d7
+3c8c1b7c5c6ecbf575c8b55a3d6ada0aa27e30c04ee6b7f67e7bb073c2d561b9da707a6172cd3c
+db63cac1f4bb4d1100c775052f9c3f9107d54ccba8b08ec6f1579f6481699154093c4b3e8ba17b
+c998502d2cc886c5c81822057487faf00e266765dd99a6a0140f0eccbfffb8c99981d4e4112c2f
+56c8cf4e76116cef820f1edbe4de2c0b7c8957d2970ba863ec865eb1bf4ee7cc13683d8aa834bd
+8fbf048781a91d19d33388153dbd86782ff7732745956878465c16865d9c99a4948819a1a73b03
+b83c79c3aa5f688e89a26bab6891c09b66fd5febb3c815c8e7c1877c9e1d2f8f4666223e50935b
+3d242279acfaf44d114dc42b1dce479783ceb30e3c6c91f222226f15df7e602230ab50e8de8a54
+8578aa767be62e0da26b9df6be4a0740036be511360426b47bacee5e60523bc0dfd287efd1c60f
+b3da1ef1f1823ee28a657d653cbf045dcc51a7d390d065876f1faa289944b1972aae9c7a467069
+8ff6881673c66686d227b19d034385397d5b9992862791052010cb5b289cdabc141a725a2e19e4
+b42a54d2f2c9902b06187ca5bdc576066a83b11862f515e107e552e5357a2626cf75feaa2a02fc
+674e29b09378a5129bdba5bbe36ac862d5861407007081326ec7d9f70f471ff00cf1e0c1f0724b
+40bb19e0fd7c25002df0748329b45644e63701bb1e9fd5c85638318179162f51e34e0f9686ebd4
+d9f6b713b890974e09c2757a1e4b25cc5f95b02dff03b8cb9f2ea31dedf932c2bdb7859b10f639
+4b99e0e7cfafb5a480595da398f012cfdcb09b1bb96f64545f462baaead5f15b817d749570aae6
+35d6d81efaee55e1b037cf5288177086106953b29fdb12c8caeeb4fb0a96ec86a50de0e547bb06
+a0b361fba5339c6ebe9aca816f07a549ca4ee3b8bb31d3ba3e7a98af59e4e2e68ead79908ae2e0
+746bc6c2eda89582131f2a8213c38d9d7d65
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 8 9 354 211
+%%EndPageSetup
+q 8 9 346 202 rectclip q
+0 g
+0.8 w
+0 J
+0 j
+[] 0.0 d
+4 M q 1 0 0 -1 0 216 cm
+38 78 m 111.516 182 l S Q
+q 1 0 0 -1 0 216 cm
+139.988 153.84 m 228.777 154.266 l S Q
+q 1 0 0 -1 0 216 cm
+169.5 107.027 m 229.332 113.469 l S Q
+q 1 0 0 -1 0 216 cm
+169.43 100.473 m 229.332 93.641 l S Q
+q 1 0 0 -1 0 216 cm
+138 52 m 229.004 52.078 l S Q
+q 1 0 0 -1 0 216 cm
+140 19 m 229.004 18.496 l S Q
+q 1 0 0 -1 0 216 cm
+139.988 153.84 m 38.906 78.91 l S Q
+q 1 0 0 -1 0 216 cm
+113.527 97.328 m 38.906 78.91 l S Q
+q 1 0 0 -1 0 216 cm
+140.062 52.18 m 38.906 78.91 l S Q
+q 1 0 0 -1 0 216 cm
+140 19 m 38.906 78.91 l S Q
+1 0.737255 0.411765 rg
+14.906 144.09 m 62.906 144.09 l 66.23 144.09 68.906 141.41 68.906 
+138.09 c 68.906 136.09 l 68.906 132.766 66.23 130.09 62.906 130.09 c 
+14.906 130.09 l 11.586 130.09 8.906 132.766 8.906 136.09 c 8.906 138.09 
+l 8.906 141.41 11.586 144.09 14.906 144.09 c h
+14.906 144.09 m f
+0.964706 0.498039 0 rg
+1 j
+q 1 0 0 -1 0 216 cm
+14.906 71.91 m 62.906 71.91 l 66.23 71.91 68.906 74.59 68.906 77.91 c 
+68.906 79.91 l 68.906 83.234 66.23 85.91 62.906 85.91 c 14.906 85.91 l 
+11.586 85.91 8.906 83.234 8.906 79.91 c 8.906 77.91 l 8.906 74.59 
+11.586 71.91 14.906 71.91 c h
+14.906 71.91 m S Q
+0 g
+BT
+8 0 0 8 37.8 134.287988 Tm
+/f-0-0 1 Tf
+<01>Tj
+ET
+1 0.737255 0.411765 rg
+116 204 m 164 204 l 167.324 204 170 201.324 170 198 c 170 196 l 170 
+192.676 167.324 190 164 190 c 116 190 l 112.676 190 110 192.676 110 196 
+c 110 198 l 110 201.324 112.676 204 116 204 c h
+116 204 m f
+0.964706 0.498039 0 rg
+q 1 0 0 -1 0 216 cm
+116 12 m 164 12 l 167.324 12 170 14.676 170 18 c 170 20 l 170 23.324 
+167.324 26 164 26 c 116 26 l 112.676 26 110 23.324 110 20 c 110 18 l 
+110 14.676 112.676 12 116 12 c h
+116 12 m S Q
+0 g
+BT
+8 0 0 8 123.120117 194.96001 Tm
+/f-0-0 1 Tf
+[<02>-1<0304>-1<0305>1<03>-1<0607>]TJ
+ET
+1 0.737255 0.411765 rg
+116.062 170.82 m 164.062 170.82 l 167.387 170.82 170.062 168.145 
+170.062 164.82 c 170.062 162.82 l 170.062 159.496 167.387 156.82 
+164.062 156.82 c 116.062 156.82 l 112.738 156.82 110.062 159.496 
+110.062 162.82 c 110.062 164.82 l 110.062 168.145 112.738 170.82 
+116.062 170.82 c h
+116.062 170.82 m f
+0.964706 0.498039 0 rg
+q 1 0 0 -1 0 216 cm
+116.062 45.18 m 164.062 45.18 l 167.387 45.18 170.062 47.855 170.062 
+51.18 c 170.062 53.18 l 170.062 56.504 167.387 59.18 164.062 59.18 c 
+116.062 59.18 l 112.738 59.18 110.062 56.504 110.062 53.18 c 110.062 
+51.18 l 110.062 47.855 112.738 45.18 116.062 45.18 c h
+116.062 45.18 m S Q
+0 g
+BT
+8 0 0 8 121.984375 162 Tm
+/f-0-0 1 Tf
+[<0608>-1<030908>-1<02>-1<0a07>]TJ
+ET
+1 0.737255 0.411765 rg
+115.91 119.16 m 163.91 119.16 l 167.234 119.16 169.91 116.484 169.91 
+113.16 c 169.91 111.16 l 169.91 107.836 167.234 105.16 163.91 105.16 c 
+115.91 105.16 l 112.586 105.16 109.91 107.836 109.91 111.16 c 109.91 
+113.16 l 109.91 116.484 112.586 119.16 115.91 119.16 c h
+115.91 119.16 m f
+0.964706 0.498039 0 rg
+q 1 0 0 -1 0 216 cm
+115.91 96.84 m 163.91 96.84 l 167.234 96.84 169.91 99.516 169.91 102.84 
+c 169.91 104.84 l 169.91 108.164 167.234 110.84 163.91 110.84 c 115.91 
+110.84 l 112.586 110.84 109.91 108.164 109.91 104.84 c 109.91 102.84 l 
+109.91 99.516 112.586 96.84 115.91 96.84 c h
+115.91 96.84 m S Q
+0 g
+BT
+8 0 0 8 115.523438 110 Tm
+/f-0-0 1 Tf
+[<0b>-1<080a02>-1<08>-1<0c0d>-1<0e>-1<0f08051011>]TJ
+ET
+1 0.737255 0.411765 rg
+115.988 69.16 m 163.988 69.16 l 167.312 69.16 169.988 66.484 169.988 
+63.16 c 169.988 61.16 l 169.988 57.836 167.312 55.16 163.988 55.16 c 
+115.988 55.16 l 112.664 55.16 109.988 57.836 109.988 61.16 c 109.988 
+63.16 l 109.988 66.484 112.664 69.16 115.988 69.16 c h
+115.988 69.16 m f
+0.964706 0.498039 0 rg
+q 1 0 0 -1 0 216 cm
+115.988 146.84 m 163.988 146.84 l 167.312 146.84 169.988 149.516 
+169.988 152.84 c 169.988 154.84 l 169.988 158.164 167.312 160.84 
+163.988 160.84 c 115.988 160.84 l 112.664 160.84 109.988 158.164 
+109.988 154.84 c 109.988 152.84 l 109.988 149.516 112.664 146.84 
+115.988 146.84 c h
+115.988 146.84 m S Q
+0 g
+BT
+8 0 0 8 120.648438 60 Tm
+/f-0-0 1 Tf
+[<12>-1<080505>1<0d>-1<0e>-1<0f>1<08>-1<05>1<10>-1<11>]TJ
+ET
+0.470588 0.733333 1 rg
+229.332 141.43 124 -24 re f
+0.117647 0.431373 0.588235 rg
+q 1 0 0 -1 0 216 cm
+229.332 74.57 124 24 re S Q
+0 g
+BT
+8 0 0 8 265.767993 131.743994 Tm
+/f-0-0 1 Tf
+[<100f1104>-1<05>1<13>-1<12>-1<080908>-1<1402>]TJ
+ET
+BT
+6.4 0 0 6.4 232.083618 123.395215 Tm
+/f-1-0 1 Tf
+[<01>-1<02>-1<0304>-1<05>-1<0604>-1<07>-1<08>-1<09070a>-1<0b0c>1<0d0203>-1<04>-1<0e>-1<07>-1<0f>-1<09>1<06>-1<10
+07>-1<0b0c>1<0d>1<0b0a>-1<11>-1<100712>-1<06>-1<04>-1<13>]TJ
+ET
+0.470588 0.733333 1 rg
+229.004 209.852 124 -24 re f
+0.117647 0.431373 0.588235 rg
+q 1 0 0 -1 0 216 cm
+229.004 6.148 124 24 re S Q
+0 g
+BT
+8 0 0 8 275.887988 200.168018 Tm
+/f-0-0 1 Tf
+[<0b>-1<080a02>-1<0f>1<12>-1<08>-1<11>]TJ
+ET
+BT
+6.4 0 0 6.4 255.070801 191.819238 Tm
+/f-1-0 1 Tf
+[<01>-1<02>-1<0304>-1<0e>-1<07>-1<0f>-1<09>1<06>-1<1007>-1<0b0c>1<0d0b
+0a11>-1<1007>-1<1206>-1<04>-1<13>]TJ
+ET
+0.470588 0.733333 1 rg
+229.004 175.867 124 -24 re f
+0.117647 0.431373 0.588235 rg
+q 1 0 0 -1 0 216 cm
+229.004 40.133 124 24 re S Q
+0 g
+BT
+8 0 0 8 282.122363 166.183984 Tm
+/f-0-0 1 Tf
+[<12>-1<080505>1<11>]TJ
+ET
+BT
+6.4 0 0 6.4 256.133301 157.835205 Tm
+/f-1-0 1 Tf
+[<01>-1<02>-1<0304>-1<14>-1<07>-1<1515>-1<0b0c0d>1<02>-1<0304>-1<14>-1<16>-1<0f>-1<02
+07>-1<0f>-1<0b13>]TJ
+ET
+0.470588 0.733333 1 rg
+229.332 107.852 124 -24 re f
+0.117647 0.431373 0.588235 rg
+q 1 0 0 -1 0 216 cm
+229.332 108.148 124 24 re S Q
+0 g
+BT
+8 0 0 8 276.439868 98.168018 Tm
+/f-0-0 1 Tf
+[<0b>-1<08050312>-1<0f>1<02>-1<07>]TJ
+ET
+BT
+6.4 0 0 6.4 232.083618 89.819238 Tm
+/f-1-0 1 Tf
+[<01>-1<02>-1<0304>-1<05>-1<0604>-1<07>-1<08>-1<09070a>-1<0b0c>1<0d0203>-1<04>-1<0e>-1<07>-1<0f>-1<09>1<06>-1<10
+07>-1<0b0c>1<0d>1<0b0a>-1<11>-1<100712>-1<06>-1<04>-1<13>]TJ
+ET
+0.470588 0.733333 1 rg
+228.777 73.438 124 -24 re f
+0.117647 0.431373 0.588235 rg
+q 1 0 0 -1 0 216 cm
+228.777 142.562 124 24 re S Q
+0 g
+BT
+8 0 0 8 278.997363 63.752002 Tm
+/f-0-0 1 Tf
+[<11>-1<02>-1<0a>1<08>-1<11>-1<11>]TJ
+ET
+BT
+6.4 0 0 6.4 235.087988 55.403223 Tm
+/f-1-0 1 Tf
+[<01>-1<02>-1<0304>-1<05>-1<0604>-1<07>-1<08>-1<09070a>-1<0b0c>1<0d0203>-1<04>-1<14>-1<07
+15>-1<15>-1<0b0c>1<0d09>1<07>-1<020b16>-1<0f>-1<08>-1<06>-1<170713>]TJ
+ET
+0.470588 0.733333 1 rg
+58 34 124 -24 re f
+0.117647 0.431373 0.588235 rg
+q 1 0 0 -1 0 216 cm
+58 182 124 24 re S Q
+0 g
+BT
+8 0 0 8 111.789378 24.315576 Tm
+/f-0-0 1 Tf
+[<02>-1<0f>1<0908>]TJ
+ET
+BT
+6.4 0 0 6.4 89.22844 15.966797 Tm
+/f-1-0 1 Tf
+[<01>-1<02>-1<0304>-1<05>-1<0604>-1<07>-1<08>-1<09070a>-1<0b0c>1<0d180c
+0d>1<18>-1<13>]TJ
+ET
+Q Q
+showpage
+%%Trailer
+count op_count sub {pop} repeat
+countdictstack dict_count sub {end} repeat
+cairo_eps_state restore
+%%EOF

Copied: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/figs/hdf5layout.svg (from rev 18637, short/3D/PyLith/trunk/doc/userguide/runpylith/figs/hdf5layout.svg)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/figs/hdf5layout.svg	                        (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/figs/hdf5layout.svg	2011-06-15 22:30:12 UTC (rev 18638)
@@ -0,0 +1,567 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="450"
+   height="270"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.1 r9760"
+   version="1.0"
+   sodipodi:docname="hdf5layout.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="/home/brad/pubs/presentations/CIG/diagrams/workflow.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend"
+       style="overflow:visible">
+      <path
+         id="path3450"
+         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Mend"
+       style="overflow:visible">
+      <path
+         id="path3456"
+         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="scale(-0.6,-0.6)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Mend"
+       style="overflow:visible">
+      <path
+         id="path3438"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Lend"
+       style="overflow:visible">
+      <path
+         id="path3432"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective10" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10000"
+     objecttolerance="10000"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.368022"
+     inkscape:cx="225"
+     inkscape:cy="135"
+     inkscape:document-units="pt"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:object-nodes="true"
+     inkscape:object-paths="true"
+     inkscape:snap-bbox="true"
+     inkscape:bbox-paths="true"
+     inkscape:bbox-nodes="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="1138"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1"
+     units="in">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2383"
+       visible="true"
+       enabled="true"
+       empspacing="5"
+       snapvisiblegridlinesonly="true"
+       units="pt"
+       spacingx="2pt"
+       spacingy="2pt" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="connections"
+     style="display:inline"
+     transform="translate(0,-495)">
+    <g
+       inkscape:groupmode="layer"
+       id="layer1"
+       inkscape:label="labels"
+       style="display:inline">
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 47.5,97.5 91.89655,130"
+         id="path3475"
+         inkscape:connector-type="polyline"
+         inkscape:connector-curvature="0"
+         inkscape:connection-end="#g3443"
+         inkscape:connection-end-point="d4"
+         transform="translate(0,495)" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 174.9868,192.29999 110.98607,0.53258"
+         id="path3469"
+         inkscape:connector-type="polyline"
+         inkscape:connector-curvature="0"
+         inkscape:connection-start="#g3403"
+         inkscape:connection-start-point="d4"
+         inkscape:connection-end="#g3436"
+         inkscape:connection-end-point="d4"
+         transform="translate(0,495)" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 211.87668,133.78369 74.78604,8.05424"
+         id="path3467"
+         inkscape:connector-type="polyline"
+         inkscape:connector-curvature="0"
+         inkscape:connection-start="#g3398"
+         inkscape:connection-start-point="d4"
+         inkscape:connection-end="#g3429"
+         inkscape:connection-end-point="d4"
+         transform="translate(0,495)" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 211.78514,125.59201 74.87758,-8.53923"
+         id="path3463"
+         inkscape:connector-type="polyline"
+         inkscape:connector-curvature="0"
+         inkscape:connection-start="#g3398"
+         inkscape:connection-start-point="d4"
+         inkscape:connection-end="#g3422"
+         inkscape:connection-end-point="d4"
+         transform="translate(0,495)" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 172.5,65 113.75607,0.09784"
+         id="path3461"
+         inkscape:connector-type="polyline"
+         inkscape:connector-curvature="0"
+         inkscape:connection-end="#g3415"
+         inkscape:connection-end-point="d4"
+         transform="translate(0,495)" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="M 175,23.75 286.25607,23.121945"
+         id="path3459"
+         inkscape:connector-type="polyline"
+         inkscape:connector-curvature="0"
+         inkscape:connection-start="#g3388"
+         inkscape:connection-start-point="d4"
+         inkscape:connection-end="#g3408"
+         inkscape:connection-end-point="d4"
+         transform="translate(0,495)" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="M 174.9868,192.29999 48.63501,98.640015"
+         id="path3457"
+         inkscape:connector-type="polyline"
+         inkscape:connector-curvature="0"
+         inkscape:connection-start="#g3403"
+         inkscape:connection-start-point="d4"
+         inkscape:connection-end="#g3383"
+         inkscape:connection-end-point="d4"
+         transform="translate(0,495)" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="M 141.90808,121.66057 48.63501,98.640015"
+         id="path3455"
+         inkscape:connector-type="polyline"
+         inkscape:connector-curvature="0"
+         inkscape:connection-start="#g3398"
+         inkscape:connection-start-point="d4"
+         inkscape:connection-end="#g3383"
+         inkscape:connection-end-point="d4"
+         transform="translate(0,495)" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="M 175.0768,65.224976 48.63501,98.640015"
+         id="path3453"
+         inkscape:connector-type="polyline"
+         inkscape:connector-curvature="0"
+         inkscape:connection-start="#g3393"
+         inkscape:connection-start-point="d4"
+         inkscape:connection-end="#g3383"
+         inkscape:connection-end-point="d4"
+         transform="translate(0,495)" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="M 175,23.75 48.63501,98.640015"
+         id="path3451"
+         inkscape:connector-type="polyline"
+         inkscape:connector-curvature="0"
+         inkscape:connection-start="#g3388"
+         inkscape:connection-start-point="d4"
+         inkscape:connection-end="#g3383"
+         inkscape:connection-end-point="d4"
+         transform="translate(0,495)" />
+      <g
+         id="g3383">
+        <use
+           height="270"
+           width="337.5"
+           transform="translate(-126.36499,74.890015)"
+           id="use3215"
+           xlink:href="#use3213"
+           y="0"
+           x="0" />
+        <text
+           sodipodi:linespacing="125%"
+           id="text3074"
+           y="597.14001"
+           x="48.636719"
+           style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L Bold"
+           xml:space="preserve"><tspan
+             y="597.14001"
+             x="48.636719"
+             id="tspan3076"
+             sodipodi:role="line">/</tspan></text>
+      </g>
+      <g
+         id="g3388">
+        <use
+           height="270"
+           width="337.5"
+           transform="translate(-0.0768046,-41.474976)"
+           id="use3213"
+           xlink:href="#use3211"
+           y="0"
+           x="0" />
+        <text
+           sodipodi:linespacing="125%"
+           id="text3078"
+           y="521.29999"
+           x="175.02319"
+           style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L Bold"
+           xml:space="preserve"><tspan
+             y="521.29999"
+             x="175.02319"
+             id="tspan3080"
+             sodipodi:role="line">topology</tspan></text>
+      </g>
+      <g
+         id="g3393">
+        <use
+           height="270"
+           width="337.5"
+           transform="translate(0.1899943,-64.575012)"
+           id="use3211"
+           xlink:href="#rect3191"
+           y="0"
+           x="0" />
+        <text
+           sodipodi:linespacing="125%"
+           id="text3082"
+           y="562.5"
+           x="175"
+           style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L Bold"
+           xml:space="preserve"><tspan
+             y="562.5"
+             x="175"
+             id="tspan3084"
+             sodipodi:role="line">geometry</tspan></text>
+      </g>
+      <g
+         id="g3398">
+        <rect
+           ry="7.5"
+           y="616.04999"
+           x="137.38681"
+           height="17.5"
+           width="75"
+           id="rect3191"
+           style="fill:#ffbc69;fill-opacity:1;stroke:#f67f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+        <text
+           sodipodi:linespacing="125%"
+           id="text3086"
+           y="627.5"
+           x="175"
+           style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L Bold"
+           xml:space="preserve"><tspan
+             y="627.5"
+             x="175"
+             id="tspan3088"
+             sodipodi:role="line">vertex_fields</tspan></text>
+      </g>
+      <g
+         id="g3403">
+        <use
+           height="270"
+           width="450"
+           transform="translate(0.0999905,62.5)"
+           id="use3373"
+           xlink:href="#rect3191"
+           y="0"
+           x="0" />
+        <text
+           sodipodi:linespacing="125%"
+           id="text3090"
+           y="690"
+           x="175"
+           style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L Bold"
+           xml:space="preserve"><tspan
+             y="690"
+             x="175"
+             id="tspan3092"
+             sodipodi:role="line">cell_fields</tspan></text>
+      </g>
+      <g
+         id="g3422">
+        <rect
+           y="588.21448"
+           x="286.66272"
+           height="30"
+           width="155"
+           id="rect3197"
+           style="fill:#78bbff;fill-opacity:1;stroke:#1e6e96;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+        <text
+           sodipodi:linespacing="125%"
+           id="text3106"
+           y="600.32001"
+           x="364.18265"
+           style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L Bold"
+           xml:space="preserve"><tspan
+             y="600.32001"
+             x="364.18265"
+             id="tspan3108"
+             sodipodi:role="line">displacement</tspan></text>
+        <text
+           sodipodi:linespacing="125%"
+           id="text3122-1"
+           y="610.75598"
+           x="364.18265"
+           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
+           xml:space="preserve"><tspan
+             style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
+             y="610.75598"
+             x="364.18265"
+             id="tspan3124-2"
+             sodipodi:role="line">(numTimeSteps, numVertices, spaceDim)</tspan></text>
+      </g>
+      <g
+         id="g3408">
+        <rect
+           y="502.68445"
+           x="286.25607"
+           height="30"
+           width="155"
+           id="rect3197-1"
+           style="fill:#78bbff;fill-opacity:1;stroke:#1e6e96;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline" />
+        <text
+           sodipodi:linespacing="125%"
+           id="text3106-9"
+           y="514.78998"
+           x="363.776"
+           style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L Bold"
+           xml:space="preserve"><tspan
+             y="514.78998"
+             x="363.776"
+             id="tspan3108-5"
+             sodipodi:role="line">vertices</tspan></text>
+        <text
+           sodipodi:linespacing="125%"
+           id="text3122-1-7"
+           y="525.22595"
+           x="363.776"
+           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
+           xml:space="preserve"><tspan
+             style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
+             y="525.22595"
+             x="363.776"
+             id="tspan3124-2-4"
+             sodipodi:role="line">(numVertices, spaceDim)</tspan></text>
+      </g>
+      <g
+         id="g3415">
+        <rect
+           y="545.16449"
+           x="286.25607"
+           height="30"
+           width="155"
+           id="rect3197-1-8"
+           style="fill:#78bbff;fill-opacity:1;stroke:#1e6e96;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline" />
+        <text
+           sodipodi:linespacing="125%"
+           id="text3106-9-1"
+           y="557.27002"
+           x="363.776"
+           style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L Bold"
+           xml:space="preserve"><tspan
+             y="557.27002"
+             x="363.776"
+             id="tspan3108-5-0"
+             sodipodi:role="line">cells</tspan></text>
+        <text
+           sodipodi:linespacing="125%"
+           id="text3122-1-7-7"
+           y="567.70599"
+           x="363.776"
+           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
+           xml:space="preserve"><tspan
+             style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
+             y="567.70599"
+             x="363.776"
+             id="tspan3124-2-4-6"
+             sodipodi:role="line">(numCells, numCorners)</tspan></text>
+      </g>
+      <g
+         id="g3429">
+        <rect
+           y="630.18445"
+           x="286.66272"
+           height="30"
+           width="155"
+           id="rect3197-13"
+           style="fill:#78bbff;fill-opacity:1;stroke:#1e6e96;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline" />
+        <text
+           sodipodi:linespacing="125%"
+           id="text3106-0"
+           y="642.28998"
+           x="364.18265"
+           style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L Bold"
+           xml:space="preserve"><tspan
+             y="642.28998"
+             x="364.18265"
+             id="tspan3108-9"
+             sodipodi:role="line">velocity</tspan></text>
+        <text
+           sodipodi:linespacing="125%"
+           id="text3122-1-9"
+           y="652.72595"
+           x="364.18265"
+           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
+           xml:space="preserve"><tspan
+             style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
+             y="652.72595"
+             x="364.18265"
+             id="tspan3124-2-1"
+             sodipodi:role="line">(numTimeSteps, numVertices, spaceDim)</tspan></text>
+      </g>
+      <g
+         id="g3436">
+        <rect
+           y="673.20447"
+           x="285.97287"
+           height="30"
+           width="155"
+           id="rect3197-13-8"
+           style="fill:#78bbff;fill-opacity:1;stroke:#1e6e96;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline" />
+        <text
+           sodipodi:linespacing="125%"
+           id="text3106-0-7"
+           y="685.31"
+           x="363.4928"
+           style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L Bold"
+           xml:space="preserve"><tspan
+             y="685.31"
+             x="363.4928"
+             id="tspan3108-9-0"
+             sodipodi:role="line">stress</tspan></text>
+        <text
+           sodipodi:linespacing="125%"
+           id="text3122-1-9-5"
+           y="695.74597"
+           x="363.4928"
+           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
+           xml:space="preserve"><tspan
+             style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
+             y="695.74597"
+             x="363.4928"
+             id="tspan3124-2-1-1"
+             sodipodi:role="line">(numTimeSteps, numCells, tensorSize)</tspan></text>
+      </g>
+      <g
+         id="g3443"
+         transform="translate(-214.43616,7.3355103)">
+        <rect
+           y="715.16449"
+           x="286.93616"
+           height="30"
+           width="155"
+           id="rect3197-13-8-3"
+           style="fill:#78bbff;fill-opacity:1;stroke:#1e6e96;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline" />
+        <text
+           sodipodi:linespacing="125%"
+           id="text3106-0-7-4"
+           y="727.27002"
+           x="364.45609"
+           style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L Bold"
+           xml:space="preserve"><tspan
+             y="727.27002"
+             x="364.45609"
+             id="tspan3108-9-0-6"
+             sodipodi:role="line">time</tspan></text>
+        <text
+           sodipodi:linespacing="125%"
+           id="text3122-1-9-5-1"
+           y="737.70599"
+           x="364.45609"
+           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
+           xml:space="preserve"><tspan
+             style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
+             y="737.70599"
+             x="364.45609"
+             id="tspan3124-2-1-1-5"
+             sodipodi:role="line">(numTimeSteps, 1, 1)</tspan></text>
+      </g>
+    </g>
+  </g>
+</svg>

Copied: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/figs/refinement2x.eps (from rev 18637, short/3D/PyLith/trunk/doc/userguide/runpylith/figs/refinement2x.eps)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/figs/refinement2x.eps	                        (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/figs/refinement2x.eps	2011-06-15 22:30:12 UTC (rev 18638)
@@ -0,0 +1,390 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.10.2 (http://cairographics.org)
+%%CreationDate: Sat Jun  4 20:24:32 2011
+%%Pages: 1
+%%BoundingBox: 0 0 242 194
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%EndComments
+%%BeginProlog
+/cairo_eps_state save def
+/dict_count countdictstack def
+/op_count count 1 sub def
+userdict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+      0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+    { globaldict begin /?pdfmark /pop load def /pdfmark
+    /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+  {
+    dup
+    type /stringtype eq
+    { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+  } forall
+  currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+    cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+      { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+      /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+      /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+      cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 0 242 194
+%%EndPageSetup
+q 0 0 242 194 rectclip q
+0.117647 0.431373 0.588235 rg
+1.5 w
+0 J
+1 j
+[] 0.0 d
+4 M q 1 0 0 -1 0 194 cm
+42 4 m 2 84 l 82 44 l 42 4 l S Q
+0.380392 0.00392157 0.686275 rg
+1 w
+q 1 0 0 -1 0 194 cm
+22 44 m 42 64 l 62 24 l 22 44 l S Q
+0.117647 0.431373 0.588235 rg
+1.5 w
+q 1 0 0 -1 0 194 cm
+2 184 m 90 184 l 82 104 l 22 120 l h
+2 184 m S Q
+0.380392 0.00392157 0.686275 rg
+0.8 w
+0 j
+q 1 0 0 -1 0 194 cm
+12 152 m 86 144 l S Q
+q 1 0 0 -1 0 194 cm
+52 112 m 48 184 l S Q
+0.117647 0.431373 0.588235 rg
+1.5 w
+1 j
+q 1 0 0 -1 0 194 cm
+179.996 2 m 139.996 62 l 187.996 92 l 179.996 2 l 219.996 52 l 187.996 
+92 l S Q
+0 j
+[ 3 3] 0 d
+q 1 0 0 -1 0 194 cm
+139.996 62 m 219.996 52 l S Q
+0.380392 0.00392157 0.686275 rg
+1 w
+1 j
+[ 3 1] 0 d
+q 1 0 0 -1 0 194 cm
+163.996 76 m 205.996 70 l 181.996 56 l 161.996 76 l S Q
+[ 3 1] 0 d
+q 1 0 0 -1 0 194 cm
+159.996 32 m 181.996 56 l 197.996 24 l 159.996 32 l S Q
+[] 0.0 d
+q 1 0 0 -1 0 194 cm
+183.996 48 m 205.996 70 l 197.996 24 l 183.996 48 l S Q
+q 1 0 0 -1 0 194 cm
+161.996 76 m 183.996 48 l 159.996 32 l 161.996 76 l S Q
+0 j
+[ 3 1] 0 d
+q 1 0 0 -1 0 194 cm
+183.996 48 m 181.996 56 l S Q
+0.117647 0.431373 0.588235 rg
+1.5 w
+1 j
+[] 0.0 d
+q 1 0 0 -1 0 194 cm
+149.996 142 60 50 re S Q
+0 j
+q 1 0 0 -1 0 194 cm
+149.996 142 m 179.996 122 l 239.996 122 l 239.996 172 l 209.996 192 l S Q
+q 1 0 0 -1 0 194 cm
+209.996 142 m 239.996 122 l S Q
+[ 4.5 1.5] 0 d
+q 1 0 0 -1 0 194 cm
+179.996 122 m 179.996 172 l 239.996 172 l S Q
+[ 4.5 1.5] 0 d
+q 1 0 0 -1 0 194 cm
+179.996 172 m 149.996 192 l S Q
+0.380392 0.00392157 0.686275 rg
+1 w
+[] 0.0 d
+q 1 0 0 -1 0 194 cm
+149.996 166 m 209.996 166 l 239.996 146 l S Q
+[ 3 1] 0 d
+q 1 0 0 -1 0 194 cm
+239.996 146 m 179.996 146 l 149.996 166 l S Q
+[ 3 1] 0 d
+q 1 0 0 -1 0 194 cm
+209.996 122 m 209.996 172 l 179.996 192 l S Q
+[ 3 1] 0 d
+q 1 0 0 -1 0 194 cm
+163.996 132 m 163.996 182 l 223.996 182 l S Q
+[] 0.0 d
+q 1 0 0 -1 0 194 cm
+223.996 182 m 223.996 132 l 163.996 132 l S Q
+q 1 0 0 -1 0 194 cm
+209.996 122 m 179.996 142 l 179.996 192 l S Q
+[ 3 1] 0 d
+q 1 0 0 -1 0 194 cm
+163.996 156 m 223.996 156 l S Q
+[ 3 1] 0 d
+q 1 0 0 -1 0 194 cm
+209.996 146 m 179.996 166 l S Q
+0.964706 0.498039 0 rg
+44 190 m 44 188.895 43.105 188 42 188 c 40.895 188 40 188.895 40 190 c 
+40 191.105 40.895 192 42 192 c 43.062 192 43.941 191.168 43.996 190.105 
+c 42 190 l h
+44 190 m f
+44 190 m 44 188.895 43.105 188 42 188 c 40.895 188 40 188.895 40 190 c 
+40 191.105 40.895 192 42 192 c 43.062 192 43.941 191.168 43.996 190.105 
+c 42 190 l h
+44 190 m f
+84 150 m 84 148.895 83.105 148 82 148 c 80.895 148 80 148.895 80 150 c 
+80 151.105 80.895 152 82 152 c 83.062 152 83.941 151.168 83.996 150.105 
+c 82 150 l h
+84 150 m f
+4 110 m 4 108.895 3.105 108 2 108 c 0.895 108 0 108.895 0 110 c 0 
+111.105 0.895 112 2 112 c 3.062 112 3.941 111.168 3.996 110.105 c 2 110 
+l h
+4 110 m f
+0.376471 0.8 0.054902 rg
+24 150 m 24 148.895 23.105 148 22 148 c 20.895 148 20 148.895 20 150 c 
+20 151.105 20.895 152 22 152 c 23.062 152 23.941 151.168 23.996 150.105 
+c 22 150 l h
+24 150 m f
+44 130 m 44 128.895 43.105 128 42 128 c 40.895 128 40 128.895 40 130 c 
+40 131.105 40.895 132 42 132 c 43.062 132 43.941 131.168 43.996 130.105 
+c 42 130 l h
+44 130 m f
+64 170 m 64 168.895 63.105 168 62 168 c 60.895 168 60 168.895 60 170 c 
+60 171.105 60.895 172 62 172 c 63.062 172 63.941 171.168 63.996 170.105 
+c 62 170 l h
+64 170 m f
+0.964706 0.498039 0 rg
+24 74 m 24 72.895 23.105 72 22 72 c 20.895 72 20 72.895 20 74 c 20 
+75.105 20.895 76 22 76 c 23.062 76 23.941 75.168 23.996 74.105 c 22 74 
+l h
+24 74 m f
+84.004 89.895 m 84.004 88.789 83.105 87.895 82.004 87.895 c 80.898 
+87.895 80.004 88.789 80.004 89.895 c 80.004 91 80.898 91.895 82.004 
+91.895 c 83.066 91.895 83.945 91.062 84 90 c 82.004 89.895 l h
+84.004 89.895 m f
+92 10 m 92 8.895 91.105 8 90 8 c 88.895 8 88 8.895 88 10 c 88 11.105 
+88.895 12 90 12 c 91.062 12 91.941 11.168 91.996 10.105 c 90 10 l h
+92 10 m f
+4 10 m 4 8.895 3.105 8 2 8 c 0.895 8 0 8.895 0 10 c 0 11.105 0.895 12 2 
+12 c 3.062 12 3.941 11.168 3.996 10.105 c 2 10 l h
+4 10 m f
+0.376471 0.8 0.054902 rg
+54 82 m 54 80.895 53.105 80 52 80 c 50.895 80 50 80.895 50 82 c 50 
+83.105 50.895 84 52 84 c 53.086 84 53.977 83.133 54 82.047 c f
+88 50 m 88 48.895 87.105 48 86 48 c 84.895 48 84 48.895 84 50 c 84 
+51.105 84.895 52 86 52 c 87.062 52 87.941 51.168 87.996 50.105 c 86 50 
+l h
+88 50 m f
+52 46 m 52 44.895 51.105 44 50 44 c 48.895 44 48 44.895 48 46 c 48 
+47.105 48.895 48 50 48 c 51.062 48 51.941 47.168 51.996 46.105 c 50 46 
+l h
+52 46 m f
+14 42 m 14 40.895 13.105 40 12 40 c 10.895 40 10 40.895 10 42 c 10 
+43.105 10.895 44 12 44 c 13.094 44 13.984 43.121 14 42.031 c 12 42 l h
+14 42 m f
+50 10 m 50 8.895 49.105 8 48 8 c 46.895 8 46 8.895 46 10 c 46 11.105 
+46.895 12 48 12 c 49.062 12 49.941 11.168 49.996 10.105 c 48 10 l h
+50 10 m f
+0.964706 0.498039 0 rg
+142 131.895 m 142 130.789 141.105 129.895 140 129.895 c 138.895 129.895 
+138 130.789 138 131.895 c 138 133 138.895 133.895 140 133.895 c 141.062 
+133.895 141.941 133.062 141.996 132 c 140 131.895 l h
+142 131.895 m f
+181.996 192 m 181.996 190.895 181.102 190 179.996 190 c 178.895 190 
+177.996 190.895 177.996 192 c 177.996 193.105 178.895 194 179.996 194 c 
+181.062 194 181.938 193.168 181.996 192.105 c 179.996 192 l h
+181.996 192 m f
+221.996 142 m 221.996 140.895 221.102 140 219.996 140 c 218.895 140 
+217.996 140.895 217.996 142 c 217.996 143.105 218.895 144 219.996 144 c 
+221.062 144 221.938 143.168 221.996 142.105 c 219.996 142 l h
+221.996 142 m f
+189.996 102 m 189.996 100.895 189.102 100 187.996 100 c 186.895 100 
+185.996 100.895 185.996 102 c 185.996 103.105 186.895 104 187.996 104 c 
+189.062 104 189.938 103.168 189.996 102.105 c 187.996 102 l h
+189.996 102 m f
+0.376471 0.8 0.054902 rg
+161.996 162 m 161.996 160.895 161.102 160 159.996 160 c 158.895 160 
+157.996 160.895 157.996 162 c 157.996 163.105 158.895 164 159.996 164 c 
+161.062 164 161.938 163.168 161.996 162.105 c 159.996 162 l h
+161.996 162 m f
+199.996 170 m 199.996 168.895 199.102 168 197.996 168 c 196.895 168 
+195.996 168.895 195.996 170 c 195.996 171.105 196.895 172 197.996 172 c 
+199.062 172 199.938 171.168 199.996 170.105 c 197.996 170 l h
+199.996 170 m f
+207.996 124 m 207.996 122.895 207.102 122 205.996 122 c 204.895 122 
+203.996 122.895 203.996 124 c 203.996 125.105 204.895 126 205.996 126 c 
+207.062 126 207.938 125.168 207.996 124.105 c 205.996 124 l h
+207.996 124 m f
+163.996 118 m 163.996 116.895 163.102 116 161.996 116 c 160.895 116 
+159.996 116.895 159.996 118 c 159.996 119.105 160.895 120 161.996 120 c 
+163.062 120 163.938 119.168 163.996 118.105 c 161.996 118 l h
+163.996 118 m f
+183.996 138 m 183.996 136.895 183.102 136 181.996 136 c 180.895 136 
+179.996 136.895 179.996 138 c 179.996 139.105 180.895 140 181.996 140 c 
+183.062 140 183.938 139.168 183.996 138.105 c 181.996 138 l h
+183.996 138 m f
+186 145.895 m 186 144.789 185.105 143.895 184 143.895 c 182.895 143.895 
+182 144.789 182 145.895 c 182 147 182.895 147.895 184 147.895 c 185.062 
+147.895 185.941 147.062 185.996 146 c 184 145.895 l h
+186 145.895 m f
+0.964706 0.498039 0 rg
+181.996 72 m 181.996 70.895 181.102 70 179.996 70 c 178.895 70 177.996 
+70.895 177.996 72 c 177.996 73.105 178.895 74 179.996 74 c 181.062 74 
+181.938 73.168 181.996 72.105 c 179.996 72 l h
+181.996 72 m f
+242 71.895 m 242 70.789 241.105 69.895 240 69.895 c 238.895 69.895 238 
+70.789 238 71.895 c 238 73 238.895 73.895 240 73.895 c 241.062 73.895 
+241.941 73.062 241.996 72 c 240 71.895 l h
+242 71.895 m f
+242 71.895 m 242 70.789 241.105 69.895 240 69.895 c 238.895 69.895 238 
+70.789 238 71.895 c 238 73 238.895 73.895 240 73.895 c 241.062 73.895 
+241.941 73.062 241.996 72 c 240 71.895 l h
+242 71.895 m f
+241.996 22 m 241.996 20.895 241.102 20 239.996 20 c 238.895 20 237.996 
+20.895 237.996 22 c 237.996 23.105 238.895 24 239.996 24 c 241.062 24 
+241.938 23.168 241.996 22.105 c 239.996 22 l h
+241.996 22 m f
+151.996 2 m 151.996 0.895 151.102 0 149.996 0 c 148.895 0 147.996 0.895 
+147.996 2 c 147.996 3.105 148.895 4 149.996 4 c 151.062 4 151.938 3.168 
+151.996 2.105 c 149.996 2 l h
+151.996 2 m f
+182 21.895 m 182 20.789 181.105 19.895 180 19.895 c 178.895 19.895 178 
+20.789 178 21.895 c 178 23 178.895 23.895 180 23.895 c 181.062 23.895 
+181.941 23.062 181.996 22 c 180 21.895 l h
+182 21.895 m f
+211.996 2 m 211.996 0.895 211.102 0 209.996 0 c 208.895 0 207.996 0.895 
+207.996 2 c 207.996 3.105 208.895 4 209.996 4 c 211.062 4 211.938 3.168 
+211.996 2.105 c 209.996 2 l h
+211.996 2 m f
+211.996 52 m 211.996 50.895 211.102 50 209.996 50 c 208.895 50 207.996 
+50.895 207.996 52 c 207.996 53.105 208.895 54 209.996 54 c 211.062 54 
+211.938 53.168 211.996 52.105 c 209.996 52 l h
+211.996 52 m f
+211.996 52 m 211.996 50.895 211.102 50 209.996 50 c 208.895 50 207.996 
+50.895 207.996 52 c 207.996 53.105 208.895 54 209.996 54 c 211.062 54 
+211.938 53.168 211.996 52.105 c 209.996 52 l h
+211.996 52 m f
+151.996 52 m 151.996 50.895 151.102 50 149.996 50 c 148.895 50 147.996 
+50.895 147.996 52 c 147.996 53.105 148.895 54 149.996 54 c 151.062 54 
+151.938 53.168 151.996 52.105 c 149.996 52 l h
+151.996 52 m f
+0.376471 0.8 0.054902 rg
+165.996 62 m 165.996 60.895 165.102 60 163.996 60 c 162.895 60 161.996 
+60.895 161.996 62 c 161.996 63.105 162.895 64 163.996 64 c 165.062 64 
+165.938 63.168 165.996 62.105 c 163.996 62 l h
+165.996 62 m f
+211.996 72 m 211.996 70.895 211.102 70 209.996 70 c 208.895 70 207.996 
+70.895 207.996 72 c 207.996 73.105 208.895 74 209.996 74 c 211.062 74 
+211.938 73.168 211.996 72.105 c 209.996 72 l h
+211.996 72 m f
+225.996 62 m 225.996 60.895 225.102 60 223.996 60 c 222.895 60 221.996 
+60.895 221.996 62 c 221.996 63.105 222.895 64 223.996 64 c 225.062 64 
+225.938 63.168 225.996 62.105 c 223.996 62 l h
+225.996 62 m f
+181.996 52 m 181.996 50.895 181.102 50 179.996 50 c 178.895 50 177.996 
+50.895 177.996 52 c 177.996 53.105 178.895 54 179.996 54 c 181.062 54 
+181.938 53.168 181.996 52.105 c 179.996 52 l h
+181.996 52 m f
+197.996 62 m 197.996 60.895 197.102 60 195.996 60 c 194.895 60 193.996 
+60.895 193.996 62 c 193.996 63.105 194.895 64 195.996 64 c 197.062 64 
+197.938 63.168 197.996 62.105 c 195.996 62 l h
+197.996 62 m f
+225.996 38 m 225.996 36.895 225.102 36 223.996 36 c 222.895 36 221.996 
+36.895 221.996 38 c 221.996 39.105 222.895 40 223.996 40 c 225.062 40 
+225.938 39.168 225.996 38.105 c 223.996 38 l h
+225.996 38 m f
+242 47.895 m 242 46.789 241.105 45.895 240 45.895 c 238.895 45.895 238 
+46.789 238 47.895 c 238 49 238.895 49.895 240 49.895 c 241.062 49.895 
+241.941 49.062 241.996 48 c 240 47.895 l h
+242 47.895 m f
+225.996 12 m 225.996 10.895 225.102 10 223.996 10 c 222.895 10 221.996 
+10.895 221.996 12 c 221.996 13.105 222.895 14 223.996 14 c 225.062 14 
+225.938 13.168 225.996 12.105 c 223.996 12 l h
+225.996 12 m f
+211.996 28 m 211.996 26.895 211.102 26 209.996 26 c 208.895 26 207.996 
+26.895 207.996 28 c 207.996 29.105 208.895 30 209.996 30 c 211.062 30 
+211.938 29.168 211.996 28.105 c 209.996 28 l h
+211.996 28 m f
+181.996 2 m 181.996 0.895 181.102 0 179.996 0 c 178.895 0 177.996 0.895 
+177.996 2 c 177.996 3.105 178.895 4 179.996 4 c 181.062 4 181.938 3.168 
+181.996 2.105 c 179.996 2 l h
+181.996 2 m f
+195.996 38 m 195.996 36.895 195.102 36 193.996 36 c 192.895 36 191.996 
+36.895 191.996 38 c 191.996 39.105 192.895 40 193.996 40 c 195.062 40 
+195.938 39.168 195.996 38.105 c 193.996 38 l h
+195.996 38 m f
+151.996 28 m 151.996 26.895 151.102 26 149.996 26 c 148.895 26 147.996 
+26.895 147.996 28 c 147.996 29.105 148.895 30 149.996 30 c 151.062 30 
+151.938 29.168 151.996 28.105 c 149.996 28 l h
+151.996 28 m f
+165.996 12 m 165.996 10.895 165.102 10 163.996 10 c 162.895 10 161.996 
+10.895 161.996 12 c 161.996 13.105 162.895 14 163.996 14 c 165.062 14 
+165.938 13.168 165.996 12.105 c 163.996 12 l h
+165.996 12 m f
+165.996 38 m 165.996 36.895 165.102 36 163.996 36 c 162.895 36 161.996 
+36.895 161.996 38 c 161.996 39.105 162.895 40 163.996 40 c 165.062 40 
+165.938 39.168 165.996 38.105 c 163.996 38 l h
+165.996 38 m f
+182 47.895 m 182 46.789 181.105 45.895 180 45.895 c 178.895 45.895 178 
+46.789 178 47.895 c 178 49 178.895 49.895 180 49.895 c 181.062 49.895 
+181.941 49.062 181.996 48 c 180 47.895 l h
+182 47.895 m f
+181.996 28 m 181.996 26.895 181.102 26 179.996 26 c 178.895 26 177.996 
+26.895 177.996 28 c 177.996 29.105 178.895 30 179.996 30 c 181.062 30 
+181.938 29.168 181.996 28.105 c 179.996 28 l h
+181.996 28 m f
+212 47.895 m 212 46.789 211.105 45.895 210 45.895 c 208.895 45.895 208 
+46.789 208 47.895 c 208 49 208.895 49.895 210 49.895 c 211.062 49.895 
+211.941 49.062 211.996 48 c 210 47.895 l h
+212 47.895 m f
+211.996 22 m 211.996 20.895 211.102 20 209.996 20 c 208.895 20 207.996 
+20.895 207.996 22 c 207.996 23.105 208.895 24 209.996 24 c 211.062 24 
+211.938 23.168 211.996 22.105 c 209.996 22 l h
+211.996 22 m f
+197.996 12 m 197.996 10.895 197.102 10 195.996 10 c 194.895 10 193.996 
+10.895 193.996 12 c 193.996 13.105 194.895 14 195.996 14 c 197.062 14 
+197.938 13.168 197.996 12.105 c 195.996 12 l h
+197.996 12 m f
+Q Q
+showpage
+%%Trailer
+count op_count sub {pop} repeat
+countdictstack dict_count sub {end} repeat
+cairo_eps_state restore
+%%EOF

Copied: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/figs/refinement2x.svg (from rev 18637, short/3D/PyLith/trunk/doc/userguide/runpylith/figs/refinement2x.svg)
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/figs/refinement2x.svg	                        (rev 0)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/figs/refinement2x.svg	2011-06-15 22:30:12 UTC (rev 18638)
@@ -0,0 +1,936 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="337.5"
+   height="270"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.1 r9760"
+   version="1.0"
+   sodipodi:docname="refinement2x.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="/home/brad/pubs/presentations/CIG/diagrams/workflow.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend"
+       style="overflow:visible">
+      <path
+         id="path3450"
+         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Mend"
+       style="overflow:visible">
+      <path
+         id="path3456"
+         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="scale(-0.6,-0.6)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Mend"
+       style="overflow:visible">
+      <path
+         id="path3438"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Lend"
+       style="overflow:visible">
+      <path
+         id="path3432"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective10" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10000"
+     objecttolerance="10000"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.81212121"
+     inkscape:cx="303.16713"
+     inkscape:cy="67.58551"
+     inkscape:document-units="pt"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:object-nodes="true"
+     inkscape:object-paths="true"
+     inkscape:snap-bbox="true"
+     inkscape:bbox-paths="true"
+     inkscape:bbox-nodes="true"
+     inkscape:window-width="1207"
+     inkscape:window-height="853"
+     inkscape:window-x="65"
+     inkscape:window-y="65"
+     inkscape:window-maximized="0"
+     units="in">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2383"
+       visible="true"
+       enabled="true"
+       empspacing="5"
+       snapvisiblegridlinesonly="true"
+       units="pt"
+       spacingx="2pt"
+       spacingy="2pt" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="connections"
+     style="display:inline"
+     transform="translate(0,-495)">
+    <g
+       inkscape:groupmode="layer"
+       id="layer5"
+       inkscape:label="cells"
+       style="display:inline">
+      <path
+         style="fill:none;stroke:#1e6e96;stroke-width:1.875;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 62.5,7.5 -50,100 100,-50 -50,-50"
+         id="path3142"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccc"
+         transform="translate(0,495)" />
+      <path
+         style="fill:none;stroke:#6101af;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 37.5,57.5 25,25 25,-50 -50,25"
+         id="path3146"
+         inkscape:connector-curvature="0"
+         transform="translate(0,495)" />
+      <path
+         sodipodi:nodetypes="ccccc"
+         inkscape:connector-curvature="0"
+         id="path4028"
+         d="m 12.5,727.5 110,0 -10,-100 -75,20 z"
+         style="fill:none;stroke:#1e6e96;stroke-width:1.875;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         style="fill:none;stroke:#6101af;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 25,192.5 92.5,-10"
+         id="path4040"
+         inkscape:connector-curvature="0"
+         transform="translate(0,495)"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="fill:none;stroke:#6101af;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 75,142.5 -5,90"
+         id="path4042"
+         inkscape:connector-curvature="0"
+         transform="translate(0,495)"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="fill:none;stroke:#1e6e96;stroke-width:1.875;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 234.99652,500 -50,75 60,37.5 -10,-112.5 50,62.5 -40,50"
+         id="path4058"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccccc" />
+      <path
+         style="fill:none;stroke:#1e6e96;stroke-width:1.875;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.75, 3.75;stroke-dashoffset:0"
+         d="m 184.99652,575 100,-12.5"
+         id="path4066"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cc" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4076"
+         d="m 214.99652,592.5 52.5,-7.5 -30,-17.5 -25,25"
+         style="fill:none;stroke:#6101af;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.75, 1.25;stroke-dashoffset:0"
+         sodipodi:nodetypes="cccc" />
+      <path
+         sodipodi:nodetypes="cccc"
+         style="fill:none;stroke:#6101af;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.75, 1.25;stroke-dashoffset:0"
+         d="m 209.99652,537.5 27.5,30 20,-40 -47.5,10"
+         id="path4078"
+         inkscape:connector-curvature="0" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4080"
+         d="m 239.99652,557.5 27.5,27.5 -10,-57.5 -17.5,30"
+         style="fill:none;stroke:#6101af;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         sodipodi:nodetypes="cccc" />
+      <path
+         sodipodi:nodetypes="cccc"
+         style="fill:none;stroke:#6101af;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         d="m 212.49652,592.5 27.5,-35 -30,-20 2.5,55"
+         id="path4082"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#6101af;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.75, 1.25;stroke-dashoffset:0"
+         d="m 239.99652,557.5 -2.5,10"
+         id="path4084"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#1e6e96;stroke-width:1.875;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 197.49652,737.5 75,0 0,-62.5 -75,0 z"
+         id="path4098"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccc" />
+      <path
+         style="fill:none;stroke:#1e6e96;stroke-width:1.875;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 197.49652,675 37.5,-25 75,0 0,62.5 -37.5,25"
+         id="path4102"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#1e6e96;stroke-width:1.875;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 272.49652,675 37.5,-25"
+         id="path4104"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#1e6e96;stroke-width:1.875;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:5.625, 1.875;stroke-dashoffset:0"
+         d="m 234.99652,650 0,62.5 75,0"
+         id="path4106"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#1e6e96;stroke-width:1.875;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:5.625, 1.875;stroke-dashoffset:0"
+         d="m 234.99652,712.5 -37.5,25"
+         id="path4108"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#6101af;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 197.49652,705 75,0 37.5,-25"
+         id="path4110"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#6101af;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.75, 1.25;stroke-dashoffset:0"
+         d="m 309.99652,680 -75,0 -37.5,25"
+         id="path4112"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#6101af;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.75, 1.25;stroke-dashoffset:0"
+         d="m 272.49652,650 0,62.5 -37.5,25"
+         id="path4114"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#6101af;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.75, 1.25;stroke-dashoffset:0"
+         d="m 214.99652,662.5 0,62.5 75,0"
+         id="path4118"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#6101af;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 289.99652,725 0,-62.5 -75,0"
+         id="path4120"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#6101af;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 272.49652,650 -37.5,25 0,62.5"
+         id="path4122"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#6101af;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.75, 1.25;stroke-dashoffset:0"
+         d="m 214.99652,692.5 75,0"
+         id="path4124"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:none;stroke:#6101af;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3.75, 1.25;stroke-dashoffset:0"
+         d="m 272.49652,680 -37.5,25"
+         id="path4126"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       inkscape:groupmode="layer"
+       id="layer1"
+       inkscape:label="nodes"
+       style="display:inline">
+      <path
+         sodipodi:type="arc"
+         style="fill:#f67f00;stroke:none;display:inline"
+         id="path3150"
+         sodipodi:cx="25"
+         sodipodi:cy="5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 27.5,5 a 2.5,2.5 0 1 1 -0.0035,-0.1317976 L 25,5 z"
+         transform="translate(37.5,497.5)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(37.5,497.5)"
+         d="m 27.5,5 a 2.5,2.5 0 1 1 -0.0035,-0.1317976 L 25,5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="5"
+         sodipodi:cx="25"
+         id="path3990"
+         style="fill:#f67f00;stroke:none;display:inline"
+         sodipodi:type="arc" />
+      <use
+         x="0"
+         y="0"
+         xlink:href="#path3990"
+         id="use3992"
+         transform="translate(50,50)"
+         width="495"
+         height="270" />
+      <use
+         x="0"
+         y="0"
+         xlink:href="#use3992"
+         id="use3994"
+         transform="translate(-100,50)"
+         width="495"
+         height="270" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#60cc0e;stroke:none"
+         id="path3998"
+         sodipodi:cx="27.5"
+         sodipodi:cy="67.5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         transform="translate(10,485)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(35,510)"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="67.5"
+         sodipodi:cx="27.5"
+         id="path4000"
+         style="fill:#60cc0e;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(60,460)"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="67.5"
+         sodipodi:cx="27.5"
+         id="path4004"
+         style="fill:#60cc0e;stroke:none"
+         sodipodi:type="arc" />
+      <use
+         x="0"
+         y="0"
+         xlink:href="#use3994"
+         id="use4030"
+         transform="translate(25,45)"
+         width="495"
+         height="270" />
+      <use
+         height="270"
+         width="495"
+         transform="translate(100.00348,25.131798)"
+         id="use4032"
+         xlink:href="#use3994"
+         y="0"
+         x="0" />
+      <use
+         x="0"
+         y="0"
+         xlink:href="#use3994"
+         id="use4034"
+         transform="translate(110,125)"
+         width="495"
+         height="270" />
+      <use
+         height="270"
+         width="495"
+         transform="translate(0,125)"
+         id="use4036"
+         xlink:href="#use3994"
+         y="0"
+         x="0" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#60cc0e;stroke:none"
+         id="path4046"
+         sodipodi:cx="27.5"
+         sodipodi:cy="67.5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -6.42e-4,-0.05665"
+         transform="translate(47.5,570)"
+         sodipodi:start="0"
+         sodipodi:end="6.2605245"
+         sodipodi:open="true"
+         inkscape:transform-center-y="2.5" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(90,610)"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="67.5"
+         sodipodi:cx="27.5"
+         id="path4048"
+         style="fill:#60cc0e;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#60cc0e;stroke:none"
+         id="path4050"
+         sodipodi:cx="27.5"
+         sodipodi:cy="67.5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         transform="translate(45,615)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2681659"
+         sodipodi:start="0"
+         transform="translate(-2.5,620)"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -2.82e-4,-0.03755 L 27.5,67.5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="67.5"
+         sodipodi:cx="27.5"
+         id="path4052"
+         style="fill:#60cc0e;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#60cc0e;stroke:none"
+         id="path4054"
+         sodipodi:cx="27.5"
+         sodipodi:cy="67.5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         transform="translate(42.5,660)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#f67f00;stroke:none;display:inline"
+         id="path4068"
+         sodipodi:cx="25"
+         sodipodi:cy="5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 27.5,5 a 2.5,2.5 0 1 1 -0.0035,-0.1317976 L 25,5 z"
+         transform="translate(160,570.1318)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(209.99652,495)"
+         d="m 27.5,5 a 2.5,2.5 0 1 1 -0.0035,-0.1317976 L 25,5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="5"
+         sodipodi:cx="25"
+         id="path4070"
+         style="fill:#f67f00;stroke:none;display:inline"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#f67f00;stroke:none;display:inline"
+         id="path4072"
+         sodipodi:cx="25"
+         sodipodi:cy="5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 27.5,5 a 2.5,2.5 0 1 1 -0.0035,-0.1317976 L 25,5 z"
+         transform="translate(259.99652,557.5)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(219.99652,607.5)"
+         d="m 27.5,5 a 2.5,2.5 0 1 1 -0.0035,-0.1317976 L 25,5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="5"
+         sodipodi:cx="25"
+         id="path4074"
+         style="fill:#f67f00;stroke:none;display:inline"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#60cc0e;stroke:none"
+         id="path4086"
+         sodipodi:cx="27.5"
+         sodipodi:cy="67.5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         transform="translate(182.49652,470)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(229.99652,460)"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="67.5"
+         sodipodi:cx="27.5"
+         id="path4088"
+         style="fill:#60cc0e;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#60cc0e;stroke:none"
+         id="path4090"
+         sodipodi:cx="27.5"
+         sodipodi:cy="67.5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         transform="translate(239.99652,517.5)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(184.99652,525)"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="67.5"
+         sodipodi:cx="27.5"
+         id="path4092"
+         style="fill:#60cc0e;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#60cc0e;stroke:none"
+         id="path4094"
+         sodipodi:cx="27.5"
+         sodipodi:cy="67.5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         transform="translate(209.99652,500)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(212.5,490.1318)"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="67.5"
+         sodipodi:cx="27.5"
+         id="path4096"
+         style="fill:#60cc0e;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#f67f00;stroke:none;display:inline"
+         id="path4128"
+         sodipodi:cx="25"
+         sodipodi:cy="5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 27.5,5 a 2.5,2.5 0 1 1 -0.0035,-0.1317976 L 25,5 z"
+         transform="translate(209.99652,645)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(285,645.1318)"
+         d="m 27.5,5 a 2.5,2.5 0 1 1 -0.0035,-0.1317976 L 25,5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="5"
+         sodipodi:cx="25"
+         id="path4130"
+         style="fill:#f67f00;stroke:none;display:inline"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#f67f00;stroke:none;display:inline"
+         id="path4132"
+         sodipodi:cx="25"
+         sodipodi:cy="5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 27.5,5 a 2.5,2.5 0 1 1 -0.0035,-0.1317976 L 25,5 z"
+         transform="translate(285,645.1318)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(284.99652,707.5)"
+         d="m 27.5,5 a 2.5,2.5 0 1 1 -0.0035,-0.1317976 L 25,5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="5"
+         sodipodi:cx="25"
+         id="path4134"
+         style="fill:#f67f00;stroke:none;display:inline"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#f67f00;stroke:none;display:inline"
+         id="path4136"
+         sodipodi:cx="25"
+         sodipodi:cy="5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 27.5,5 a 2.5,2.5 0 1 1 -0.0035,-0.1317976 L 25,5 z"
+         transform="translate(172.49652,732.5)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(210,707.6318)"
+         d="m 27.5,5 a 2.5,2.5 0 1 1 -0.0035,-0.1317976 L 25,5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="5"
+         sodipodi:cx="25"
+         id="path4138"
+         style="fill:#f67f00;stroke:none;display:inline"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#f67f00;stroke:none;display:inline"
+         id="path4140"
+         sodipodi:cx="25"
+         sodipodi:cy="5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 27.5,5 a 2.5,2.5 0 1 1 -0.0035,-0.1317976 L 25,5 z"
+         transform="translate(247.49652,732.5)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(247.49652,670)"
+         d="m 27.5,5 a 2.5,2.5 0 1 1 -0.0035,-0.1317976 L 25,5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="5"
+         sodipodi:cx="25"
+         id="path4142"
+         style="fill:#f67f00;stroke:none;display:inline"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#f67f00;stroke:none;display:inline"
+         id="path4144"
+         sodipodi:cx="25"
+         sodipodi:cy="5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 27.5,5 a 2.5,2.5 0 1 1 -0.0035,-0.1317976 L 25,5 z"
+         transform="translate(247.49652,670)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(172.49652,670)"
+         d="m 27.5,5 a 2.5,2.5 0 1 1 -0.0035,-0.1317976 L 25,5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="5"
+         sodipodi:cx="25"
+         id="path4146"
+         style="fill:#f67f00;stroke:none;display:inline"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#60cc0e;stroke:none"
+         id="path4148"
+         sodipodi:cx="27.5"
+         sodipodi:cy="67.5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         transform="translate(187.49652,595)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(244.99652,582.5)"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="67.5"
+         sodipodi:cx="27.5"
+         id="path4150"
+         style="fill:#60cc0e;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#60cc0e;stroke:none"
+         id="path4152"
+         sodipodi:cx="27.5"
+         sodipodi:cy="67.5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         transform="translate(262.49652,595)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(207.49652,607.5)"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="67.5"
+         sodipodi:cx="27.5"
+         id="path4154"
+         style="fill:#60cc0e;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#60cc0e;stroke:none"
+         id="path4156"
+         sodipodi:cx="27.5"
+         sodipodi:cy="67.5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         transform="translate(227.49652,595)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(262.49652,625)"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="67.5"
+         sodipodi:cx="27.5"
+         id="path4158"
+         style="fill:#60cc0e;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#60cc0e;stroke:none"
+         id="path4160"
+         sodipodi:cx="27.5"
+         sodipodi:cy="67.5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         transform="translate(282.5,612.6318)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(262.49652,657.5)"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="67.5"
+         sodipodi:cx="27.5"
+         id="path4162"
+         style="fill:#60cc0e;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#60cc0e;stroke:none"
+         id="path4164"
+         sodipodi:cx="27.5"
+         sodipodi:cy="67.5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         transform="translate(244.99652,637.5)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(207.49652,670)"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="67.5"
+         sodipodi:cx="27.5"
+         id="path4166"
+         style="fill:#60cc0e;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#60cc0e;stroke:none"
+         id="path4168"
+         sodipodi:cx="27.5"
+         sodipodi:cy="67.5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         transform="translate(224.99652,625)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(169.99652,637.5)"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="67.5"
+         sodipodi:cx="27.5"
+         id="path4170"
+         style="fill:#60cc0e;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#60cc0e;stroke:none"
+         id="path4172"
+         sodipodi:cx="27.5"
+         sodipodi:cy="67.5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         transform="translate(187.49652,657.5)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(187.49652,625)"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="67.5"
+         sodipodi:cx="27.5"
+         id="path4174"
+         style="fill:#60cc0e;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#60cc0e;stroke:none"
+         id="path4176"
+         sodipodi:cx="27.5"
+         sodipodi:cy="67.5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         transform="translate(207.5,612.6318)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(207.49652,637.5)"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="67.5"
+         sodipodi:cx="27.5"
+         id="path4178"
+         style="fill:#60cc0e;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#60cc0e;stroke:none"
+         id="path4180"
+         sodipodi:cx="27.5"
+         sodipodi:cy="67.5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         transform="translate(245,612.6318)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+      <path
+         sodipodi:end="6.2304418"
+         sodipodi:start="0"
+         transform="translate(244.99652,645)"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="67.5"
+         sodipodi:cx="27.5"
+         id="path4182"
+         style="fill:#60cc0e;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:type="arc"
+         style="fill:#60cc0e;stroke:none"
+         id="path4184"
+         sodipodi:cx="27.5"
+         sodipodi:cy="67.5"
+         sodipodi:rx="2.5"
+         sodipodi:ry="2.5"
+         d="m 30,67.5 a 2.5,2.5 0 1 1 -0.0035,-0.131798 L 27.5,67.5 z"
+         transform="translate(227.49652,657.5)"
+         sodipodi:start="0"
+         sodipodi:end="6.2304418" />
+    </g>
+  </g>
+</svg>

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/runpylith.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/runpylith.lyx	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/runpylith/runpylith.lyx	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,5 +1,5 @@
-#LyX 1.6.4 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
 \begin_document
 \begin_header
 \textclass book
@@ -7,18 +7,26 @@
 
 \end_preamble
 \use_default_options false
+\maintain_unincluded_children false
 \language english
+\language_package default
 \inputencoding latin1
+\fontencoding global
 \font_roman default
 \font_sans default
 \font_typewriter default
 \font_default_family default
+\use_non_tex_fonts false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
 
 \graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
 \paperfontsize default
 \spacing single
 \use_hyperref false
@@ -26,9 +34,18 @@
 \use_geometry true
 \use_amsmath 1
 \use_esint 0
+\use_mhchem 1
+\use_mathdots 1
 \cite_engine basic
 \use_bibtopic false
+\use_indices false
 \paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
 \leftmargin 1in
 \topmargin 1in
 \rightmargin 1in
@@ -36,15 +53,16 @@
 \secnumdepth 3
 \tocdepth 3
 \paragraph_separation indent
-\defskip medskip
+\paragraph_indentation default
 \quotes_language english
 \papercolumns 1
 \papersides 2
 \paperpagestyle default
 \tracking_changes false
 \output_changes false
-\author "" 
-\author "" 
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
 \end_header
 
 \begin_body
@@ -268,7 +286,7 @@
 
 \begin_inset Tabular
 <lyxtabular version="3" rows="5" columns="2">
-<features>
+<features tabularvalignment="middle">
 <column alignment="left" valignment="top" width="0.9in">
 <column alignment="left" valignment="top" width="4in">
 <row>
@@ -814,7 +832,7 @@
 
 \begin_layout Standard
 Geometrical and topological information for the finite element mesh may
- be provided by exporting an EXODUS format file from CUBIT, by exporting
+ be provided by exporting an Exodus II format file from CUBIT, by exporting
  a GMV file and an accompanying Pset file from LaGriT, or by specifying
  the information in PyLith mesh ASCII format.
  See Chapter 
@@ -1104,6 +1122,11 @@
 distributor Handles distribution of the mesh among processors.
 \end_layout
 
+\begin_layout Description
+refiner Perform global uniform mesh refinement after distribution among
+ processors (default is False).
+\end_layout
+
 \begin_layout Standard
 Reordering the mesh so that vertices and cells connected topologically also
  reside close together in memory improves overall performance and can improve
@@ -1278,6 +1301,93 @@
 ParMETIS is not included in the PyLith binaries due to licensing issues.
 \end_layout
 
+\begin_layout Subsubsection
+Refiner
+\end_layout
+
+\begin_layout Standard
+The refiner is used to decrease node spacing by a factor of two by subdividing
+ each cell.
+ In a 2-D triangular mesh a node is inserted at the midpoint of each edge,
+ splitting each cell into four cells (see Figure 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:uniform:refinement:2x"
+
+\end_inset
+
+).
+ In a 2-D quadrilateral mesh a node is inserted at the midpoint of each
+ edge and at the centroid of the cell, splitting each cell into four cells.
+ In a 3-D tetrahedral mesh a node is inserted at the midpoint of each edge,
+ splitting each cell into eight cells.
+ In a 3-D hexahedral mesh a node is inserted at the midpoint of each edge,
+ the centroid of each face, and at the centroid of the cell, splitting each
+ cell into eight cells.
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\noindent
+\align center
+\begin_inset Graphics
+	filename figs/refinement2x.eps
+	scale 125
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+Global uniform mesh refinement of 2-D and 3-D linear cells.
+ The blue lines and orange circles identify the edges and vertices in the
+ original cells.
+ The purple lines and green circles identify the new edges and vertices
+ added to the original cells to refine the mesh by a factor of two.
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:uniform:refinement:2x"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Refinement occurs after distribution of the mesh among processors.
+ This allows one to run much larger simulations by (1) permitting the mesh
+ generator to construct a mesh with a node spacing twice as large as that
+ needed in the simulation and (2) operations performed in serial during
+ the simulation setup phase, such as, adjusting the topology to insert cohesive
+ cells and distribution of the mesh among processors uses this much smaller
+ coarse mesh.
+ For 2-D problems the global mesh refinement increases the maximum problem
+ size by a factor of four, and for 3-D problems it increases the maximum
+ problem size by a factor of eight.
+\end_layout
+
 \begin_layout Subsection
 Problem Specification (
 \family typewriter
@@ -1493,9 +1603,23 @@
 \end_layout
 
 \begin_layout Standard
-PyLith relies on PETSc for the linear algebra computations, including linear
- Krylov subspace solvers and nonlinear solvers.
- PETSc options can be set in 
+In quasti-static problems with implicit time-stepping, PyLith relies on
+ PETSc for the linear algebra computations, including linear Krylov subspace
+ solvers and nonlinear solvers.
+ For dynamic problems, lumping the mass matrix and using explicit time-stepping
+ is much more efficient; this permits solving the linear system with a trivial
+ solver so we do not use a PETSc solver in this case (see Section 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:solvers"
+
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Standard
+PETSc options can be set in 
 \family typewriter
 .cfg
 \family default
@@ -1504,7 +1628,7 @@
 [pylithapp.petsc]
 \family default
 .
- The ones of primary interest in the case of PyLith are shown in Table
+ The options of primary interest in the case of PyLith are shown in Table
 \begin_inset space ~
 \end_inset
 
@@ -1526,9 +1650,10 @@
 \end_inset
 
 .
- In many quasi-static or dynamic elasticity simulations, runtime can be
- reduced by replacing the Jacobi preconditioner with additive Schwarz with
- Gram-Schmidt orthogonalization (see Table
+ A very wide range of elasticity problems in quasi-static simulations can
+ be solved with reasonable runtimes by replacing the default Jacobi precondition
+er with the Additive Schwarz Method (ASM) using Incomplete LU (ILU) factorizatio
+n by default (see Table
 \begin_inset space ~
 \end_inset
 
@@ -1540,9 +1665,90 @@
 \end_inset
 
 ).
+ A more advanced set of solver settings that may provide better performance
+ in many elasticity problems are given in Table 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "tab:petsc:options:advanced"
+
+\end_inset
+
+.
+ These settings are limited to problems where we store the stiffness matrix
+ as a nonsymmetric sparse matrix and require additional settings for the
+ formulation,
 \end_layout
 
+\begin_layout LyX-Code
+[pylithapp.timedependent.formulation]
+\end_layout
+
+\begin_layout LyX-Code
+split_fields = True
+\end_layout
+
+\begin_layout LyX-Code
+use_custom_constraint_pc = True ; Use only if problem contains a fault
+\end_layout
+
+\begin_layout LyX-Code
+matrix_type = aij
+\end_layout
+
+\begin_layout Quote
+
+\series bold
+\color red
+Warning:
+\color inherit
+ 
+\series default
+\color none
+These settings are only available if you build PETSc with Fortran enabled
+ and the ML package.
+ These features are included in the PyLith binary packages.
+\end_layout
+
+\begin_layout Quote
+
+\series bold
+\color red
+Warning:
+\color inherit
+ 
+\series default
+\color none
+The split fields and algebraic multigrid preconditioning currently fails
+ in problems with a nonzero null space.
+ This most often occurs when a problem contains multiple faults that extend
+ through the entire domain and create subdomains without any Dirichlet boundary
+ conditions.
+ The current workaround is to use the 
+\color inherit
+Additive Schwarz 
+\color none
+preconditioner without split fields.
+ See Section 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:Troubleshooting"
+
+\end_inset
+
+ for the error message encountered in this situation.
+ 
+\end_layout
+
 \begin_layout Standard
+These more advanced settings allow each component of displacement, as well
+ as Lagrange multipliers for fault tractions, to be preconditioned separately.
+ This usually results in a much stronger preconditioner.
+ In simulations with fault slip, the degrees of freedom associated with
+ the Lagrange multipliers should be preconditioned with a custom preconditioner
+ that uses a diagonal approximation of the Schur complement.
+\end_layout
+
+\begin_layout Standard
 \noindent
 \align center
 \begin_inset Float table
@@ -1569,8 +1775,8 @@
 
 
 \begin_inset Tabular
-<lyxtabular version="3" rows="6" columns="3">
-<features>
+<lyxtabular version="3" rows="10" columns="3">
+<features tabularvalignment="middle">
 <column alignment="left" valignment="top" width="1.2in">
 <column alignment="center" valignment="middle" width="0.6in">
 <column alignment="left" valignment="top" width="3.8in">
@@ -1658,6 +1864,8 @@
 \begin_inset Text
 
 \begin_layout Plain Layout
+
+\shape italic
 false
 \end_layout
 
@@ -1689,6 +1897,8 @@
 \begin_inset Text
 
 \begin_layout Plain Layout
+
+\shape italic
 false
 \end_layout
 
@@ -1739,18 +1949,117 @@
 </cell>
 </row>
 <row>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
 \begin_inset Text
 
 \begin_layout Plain Layout
 
 \family typewriter
+snes_monitor
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\shape italic
+false
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Dump residual norm to stdout for each nonlinear solve iteration.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+snes_view
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\shape italic
+false
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Print nonlinear solver parameters.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+snes_rtol
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\shape italic
+1.0e-5
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Convergence tolerance for relative decrease in residual norm.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
 pc_type
 \end_layout
 
 \end_inset
 </cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
 \begin_inset Text
 
 \begin_layout Plain Layout
@@ -1761,18 +2070,68 @@
 
 \end_inset
 </cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
 \begin_inset Text
 
 \begin_layout Plain Layout
-Set preconditioner type to block Jacobi.
- See PETSc documentation for a list of all preconditioner types.
+Set preconditioner type.
+ See 
+\begin_inset CommandInset href
+LatexCommand href
+name "PETSc documentation"
+target "http://www.mcs.anl.gov/petsc/petsc-as/documentation/linearsolvertable.html"
+
+\end_inset
+
+ for a list of all preconditioner types.
  
 \end_layout
 
 \end_inset
 </cell>
 </row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+ksp_type
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\shape italic
+gmres
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Set linear solver type.
+ See 
+\begin_inset CommandInset href
+LatexCommand href
+name "PETSc documentation"
+target "http://www.mcs.anl.gov/petsc/petsc-as/documentation/linearsolvertable.html"
+
+\end_inset
+
+ for a list of all solver types.
+\end_layout
+
+\end_inset
+</cell>
+</row>
 </lyxtabular>
 
 \end_inset
@@ -1800,16 +2159,16 @@
 
 \end_inset
 
-PETSc options that often result in improved performance in quasi-static
- and dynamic elasticity problems.
+PETSc options that provide moderate performance in a wide range of quasi-static
+ elasticity problems.
 \end_layout
 
 \end_inset
 
 
 \begin_inset Tabular
-<lyxtabular version="3" rows="9" columns="3">
-<features>
+<lyxtabular version="3" rows="13" columns="3">
+<features tabularvalignment="middle">
 <column alignment="left" valignment="top" width="2in">
 <column alignment="center" valignment="middle" width="0.75in">
 <column alignment="left" valignment="top" width="3in">
@@ -1886,7 +2245,38 @@
 \begin_inset Text
 
 \begin_layout Plain Layout
+ksp_type
+\end_layout
 
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\shape italic
+gmres
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+GMRES method from Saad and Schultz.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
 \family typewriter
 sub_pc_factor_shift_type
 \end_layout
@@ -1908,7 +2298,7 @@
 \begin_inset Text
 
 \begin_layout Plain Layout
-Turn on nonzero shifting.
+Turn on nonzero shifting for factorization.
 \end_layout
 
 \end_inset
@@ -1941,7 +2331,7 @@
 \begin_inset Text
 
 \begin_layout Plain Layout
-Maximum number of iterations.
+Maximum number of iterations permitted in linear solve.
  Depends on problem size.
 \end_layout
 
@@ -1964,6 +2354,8 @@
 \begin_inset Text
 
 \begin_layout Plain Layout
+
+\shape italic
 50
 \end_layout
 
@@ -2006,7 +2398,7 @@
 \begin_inset Text
 
 \begin_layout Plain Layout
-Convergence tolerance for relative decrease in residual norm.
+Linear solve convergence tolerance for relative decrease in residual norm.
 \end_layout
 
 \end_inset
@@ -2017,6 +2409,8 @@
 \begin_inset Text
 
 \begin_layout Plain Layout
+
+\family typewriter
 ksp_atol
 \end_layout
 
@@ -2027,8 +2421,9 @@
 
 \begin_layout Plain Layout
 
+\shape italic
 \emph on
-1.0e-15
+1.0e-12
 \end_layout
 
 \end_inset
@@ -2037,7 +2432,7 @@
 \begin_inset Text
 
 \begin_layout Plain Layout
-Convergence tolerance for absolute value in residual norm.
+Linear solve convergence tolerance for absolute value of residual norm.
 \end_layout
 
 \end_inset
@@ -2077,6 +2472,107 @@
 </cell>
 </row>
 <row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+snes_max_it
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\shape italic
+100
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Maximum number of iterations permitted in nonlinear solve.
+ Depends on how nonlinear the problem is.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+snes_rtol
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\shape italic
+1.0e-08
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Nonlinear solve convergence tolerance for relative decrease in residual
+ norm.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+snes_atol
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\shape italic
+1.0e-12
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Nonlinear solve convergence tolerance for absolute value of residual norm.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
 \begin_inset Text
 
@@ -2121,6 +2617,254 @@
 
 \end_layout
 
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Float table
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Caption
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "tab:petsc:options:advanced"
+
+\end_inset
+
+PETSc options used with split fields algebraic multigrid preconditioning
+ that often provide improved performance in quasi-static elasticity problems.
+ N is the dimension of the problem.
+ For simulations with faults, the number of split fields is N+1.
+\end_layout
+
+\end_inset
+
+
+\begin_inset Tabular
+<lyxtabular version="3" rows="6" columns="3">
+<features tabularvalignment="middle">
+<column alignment="left" valignment="top" width="2in">
+<column alignment="center" valignment="middle" width="0.75in">
+<column alignment="left" valignment="top" width="3in">
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Property
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Value
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\series bold
+Description
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+fs_pc_type
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\shape italic
+field_split
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Precondition fields separately.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell multicolumn="1" alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+fs_pc_fieldsplit_real_diagonal
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Use diagonal blocks from the true operator, rather than the preconditioner.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+fs_pc_fieldsplit_type
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\shape italic
+multiplicative
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Apply each field preconditioning in sequence, which is stronger than all-at-once
+ (additive).
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+fs_fieldsplit_X_pc_type
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\shape italic
+ml
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Multilevel algebraic multigrid preconditioning using Trilinos/ML via PETSc.
+ X=0,1,2, ..., N+1.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\family typewriter
+fs_fieldsplit_X_ksp_type
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\shape italic
+jacobi
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+Jacobi is sometimes the best option for fault preconditioning, however we
+ often use ML, X=0,1,2,...,N+1
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
 \begin_layout Section
 Time-Dependent Problem
 \end_layout
@@ -2259,8 +3003,7 @@
 \begin_layout Description
 split_fields Split solution field into a displacement portion (fields 0..ndim-1)
  and a Lagrange multiplier portion (field ndim) to permit application of
- sophisticated PETSc preconditioners (default is false; for expert users
- only).
+ sophisticated PETSc preconditioners (default is false).
 \end_layout
 
 \begin_layout Standard
@@ -2289,7 +3032,7 @@
 \end_layout
 
 \begin_layout LyX-Code
-matrix_type = sbaij ; Non-symmetric sparse matrix is aij
+matrix_type = sbaij ; To use a non-symmetric sparse matrix, set it to aij
 \end_layout
 
 \begin_layout LyX-Code
@@ -2297,6 +3040,81 @@
 \end_layout
 
 \begin_layout Subsection
+Numerical Damping in Explicit Time Stepping
+\end_layout
+
+\begin_layout Standard
+In explicit time-stepping formulations for elasticity, boundary conditions
+ and fault slip can excite short waveform elastic waves that are not accurately
+ resolved by the discretization.
+ We use numerical damping via an artificial viscosity
+\begin_inset CommandInset citation
+LatexCommand cite
+key "Knopoff:Ni:2001,Day:Ely:2002"
+
+\end_inset
+
+ to reduce these high frequency oscillations.
+ In computing the strains for the elasticity term in equation 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "eq:elasticity:integral:dynamic:t"
+
+\end_inset
+
+, we use an adjusted displacement rather than the actual displacement, where
+ 
+\begin_inset Formula 
+\begin{equation}
+\vec{u}^{adj}(t)=\vec{u}(t)+\eta^{*}\Delta t\vec{\dot{u}}(t),
+\end{equation}
+
+\end_inset
+
+
+\begin_inset Formula $\vec{u}^{adj}(t)$
+\end_inset
+
+ is the adjusted displacement at time t, 
+\begin_inset Formula $\vec{u}(t)$
+\end_inset
+
+is the original displacement at time (t), 
+\begin_inset Formula $\eta^{*}$
+\end_inset
+
+is the normalized artificial viscosity, 
+\begin_inset Formula $\Delta t$
+\end_inset
+
+ is the time step, and 
+\begin_inset Formula $\vec{\dot{u}}(t)$
+\end_inset
+
+ is the velocity at time 
+\begin_inset Formula $t$
+\end_inset
+
+.
+ The default value for the normalized artificial viscosity is 0.1.
+ We have found values in the range 0.1-0.4 sufficiently suppress numerical
+ noise while not excessively reducing the peak velocity.
+ An example of setting the normalized artificial viscosity in a 
+\family typewriter
+.cfg
+\family default
+ file is
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.timedependent.formulation]
+\end_layout
+
+\begin_layout LyX-Code
+norm_viscosity = 0.2
+\end_layout
+
+\begin_layout Subsection
 \begin_inset CommandInset label
 LatexCommand label
 name "sec:solvers"
@@ -2313,7 +3131,8 @@
 ve models and kinematic fault ruptures.
  The nonlinear solver, SolverNonlinear, corresponds to the PETSc SNES solver
  and is used in nonlinear problems with nonlinear viscoelastic or elastoplastic
- bulk constitutive models or dynamic fault ruptures.
+ bulk constitutive models, dynamic fault ruptures, or problems involving
+ finite strain (small strain formulation).
  The lumped solver (SolverLumped) is a specialized solver used with the
  lumped system Jacobian matrix.
  The options for the PETSc KSP and SNES solvers are set via the top-level
@@ -3293,20 +4112,23 @@
 \end_layout
 
 \begin_layout Standard
-PyLith currently supports output to VTK files, which can be imported directly
- into a number of visualization tools, such as ParaView, Visit, and MayaVi.
+PyLith currently supports output to VTK and HDF5/Xdmf files, which can be
+ imported directly into a number of visualization tools, such as ParaView,
+ Visit, and MayaVi.
+ The HDF5 files can also be directly accessed via Matlab and PyTables.
  PyLith 1.1 significantly expanded the information available for output,
  including fault information and state variables.
  Output of solution information for the domain, faults, materials, and boundary
  conditions is controlled by an output manager for each module.
  This allows the user to tailor the output to the problem.
- By default PyLith will write a number of VTK files: one VTK file for the
- solution over the entire domain, two VTK files for each fault, and two
- VTK files for each material.
- One of the files for each fault and material includes diagnostic  information.
- For a fault the fields include the final slip, the slip initiation  time,
- and the fault normal vector.
- For a material the fields include the density and the elastic constants.
+ By default PyLith will write a number of files.
+ Diagnostic information for each fault and material is written into a separate
+ file as are the solution and state variables for the domain, each fault,
+ and each material.
+ For a fault the diagnostic fields include the final slip, the slip initiation
+ time, and the fault normal vector.
+ For a material the diagnostic fields include the density and the elastic
+ constants.
  Additional diagnostic information can be included by setting the appropriate
  output parameters.
  See Chapters 
@@ -3325,13 +4147,17 @@
 
  for more information on the available fields and the next section for output
  parameters.
- The second file for each fault and material includes solution information
+ The other files for each fault and material include solution information
  at each time step where output was requested (also customizable by the
  user).
  For a fault the solution information includes the slip and the change in
  tractions on the fault surface.
  For a material the solution information includes the total strain and stress.
  For some materials fields for additional state variables may be available.
+ For output via VTK files, each time step is written to a separate file,
+ whereas for HDF5 files all of the time steps for a given domain, fault,
+ or material are written into the same file.
+ A single Xdmf metadata file is created for each HDF5 file.
 \end_layout
 
 \begin_layout Subsection
@@ -3383,7 +4209,7 @@
 \end_layout
 
 \begin_layout Description
-writer Writer for data (currently limited to VTK writer).
+writer Writer for data (VTK writer or HDF5 writer).
 \end_layout
 
 \begin_layout Description
@@ -3561,11 +4387,11 @@
 \end_layout
 
 \begin_layout Subsubsection
-VTKWriter Parameters
+DataWriterVTK Parameters
 \end_layout
 
 \begin_layout Standard
-The parameters for the VTKWriter are:
+The parameters for the VTK writer are:
 \end_layout
 
 \begin_layout Description
@@ -3584,8 +4410,326 @@
  1.0 s).
 \end_layout
 
+\begin_layout Subsection
+HDF5/Xdmf Output
+\end_layout
+
+\begin_layout Standard
+HDF5 files provide a flexible framework for storing simulation data with
+ datasets in groups logically organized in a tree structure analogous to
+ files in directories.
+ HDF5 output offers parallel, multi-dimensional array output in binary files,
+ so it is much faster and more convenient than the VTK output which uses
+ ASCII files and separate files for each time step.
+ Standards for organizing datasets and groups in HDF5 files do not exist
+ for general finite-element software in geodynamics.
+ Consequently, PyLith uses its own simple layout show in Figure 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:hdf5:layout"
+
+\end_inset
+
+.
+ In order for visualization tools, such as ParaView, to determine which
+ datasets to read and where to find them in the hierarchy of groups within
+ the HDF5 file, we create an Xdmf (eXtensible Data Model and Format, 
+\begin_inset Flex URL
+status open
+
+\begin_layout Plain Layout
+
+www.xdmf.org
+\end_layout
+
+\end_inset
+
+) metadata file that provides this information.
+ This file is written when PyLith closes the HDF5 file at the end of the
+ simulation.
+ In order to visualize the datasets in an HDF5 file, one simply opens the
+ corresponding Xdmf file (the extension is 
+\family typewriter
+.xmf
+\family default
+) in ParaView or Visit.
+ The Xdmf file contains the relative path to the HDF5 file so the files
+ can be moved but must be located together in the same directory.
+ 
+\end_layout
+
+\begin_layout Quote
+
+\series bold
+\color red
+Note:
+\color inherit
+ 
+\series default
+The Xdmf format supports representation of two- and three-dimensional coordinate
+s of points, scalar vector field types, and three-dimensional vector and
+ tensor vector field types but not two-dimensional vector or tensor vector
+ field types.
+ As a result, we separate the components of two-dimensional vector and tensor
+ vector field objects and add the component as a suffix to the name of the
+ field.
+ The vector can be reconstructed within ParaView using the Calculator (see
+ Section 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:Tutorial-Subduction"
+
+\end_inset
+
+ for an example).
+ Accessing the datasets in the HDF5 files using tools such as PyTables with
+ visualization through MayaVi circumvents this problem, but requires writing
+ Python scripts and a deeper knowledge of the visualization interface.
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\noindent
+\align center
+\begin_inset Graphics
+	filename figs/hdf5layout.eps
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+Layout of PyLith HDF5 file.
+ The orange rectangles with rounded corners identify the groups and the
+ blue rectangles with sharp corners identify the datasets.
+ The dimensions of the data sets are shown in parentheses.
+ Most HDF5 files will contain either 
+\family typewriter
+vertex_fields
+\family default
+ or 
+\family typewriter
+cell_fields
+\family default
+ but not both.
+ 
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:hdf5:layout"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+HDF5 files do not contain self-correcting features that allow a file to
+ be read if part of a dataset is corrupted.
+ This type of error can occur if a job terminates abnormally in the middle
+ or at the end of a simulation on a large cluster or other parallel machine.
+ Fortunately, HDF5 also offers the ability to store datasets in external
+ binary files with the locations specified by links in the HDF5 file.
+ Note that the use of external data files results in one data file per dataset
+ in addition to the HDF5 and Xdmf files.
+ The external data files use the name of the HDF5 file with the dataset
+ name added to the prefix and the 
+\family typewriter
+.h5
+\family default
+ suffix replaced by 
+\family typewriter
+.dat
+\family default
+).
+ The HDF5 files include relative paths to the external data files, so these
+ files can also be moved, but they, too, must be kept together in the same
+ directory.
+ This provides a more robust method of output because one can generate an
+ HDF5 file associated with the uncorrupted portions of the external data
+ files should an error occur.
+ Currently, PyLith does not include a utility to do this, but we plan to
+ add one in a future release.
+ Thus, there are two options when writing PyLith output to HDF5 files: (1)
+ including the datasets directly in the HDF5 files themselves or (2) storing
+ the datasets in external binary files with just metadata in the HDF5 files.
+ Both methods provide similar performance because they will use MPI I/O
+ if it is available.
+ 
+\end_layout
+
+\begin_layout Quote
+
+\series bold
+\color red
+Warning:
+\color inherit
+ 
+\series default
+Storing the datasets within the HDF5 file in a parallel simulation requires
+ that the HDF5 library be configured with the 
+\family typewriter
+--enable-parallel
+\family default
+ option.
+ 
+\color none
+The binary PyLith packages include this feature and it is a default setting
+ in building HDF5 via the PyLith Installer.
+\end_layout
+
+\begin_layout Standard
+Accessing the datasets for additional analysis or visualization is identical
+ in the two methods because the use of external data files is completely
+ transparent to the user except for the presence of the additional files.
+\end_layout
+
+\begin_layout Subsubsection
+HDF5 utilities
+\end_layout
+
+\begin_layout Standard
+HDF5 includes several utilities for examining the contents of HDF5 files.
+ 
+\family typewriter
+h5dump
+\family default
+ is very handy for displaying the hierarchy, dimensions of datasets, attributes,
+ and even the dataset values.
+ 
+\end_layout
+
+\begin_layout Quote
+Dump the entire HDF5 file to stdout (not practical or useful for large files):
+\end_layout
+
+\begin_deeper
+\begin_layout LyX-Code
+h5dump mydata.h5
+\end_layout
+
+\end_deeper
+\begin_layout Quote
+Dump the hierarchy of an HDF5 file to stdout:
+\end_layout
+
+\begin_deeper
+\begin_layout LyX-Code
+h5dump -n mydata.h5
+\end_layout
+
+\end_deeper
+\begin_layout Quote
+Dump the hierarchy with dataset dimensions and attributes to stdout:
+\end_layout
+
+\begin_deeper
+\begin_layout LyX-Code
+h5dump -H mydata.h5
+\end_layout
+
+\end_deeper
+\begin_layout Quote
+Dump dataset 'vertices' in group '/geometry' to stdout:
+\end_layout
+
+\begin_deeper
+\begin_layout LyX-Code
+h5dump -d /geometry/vertices mydata.h5
+\end_layout
+
+\end_deeper
+\begin_layout Subsubsection
+DataWriterHDF5 Parameters
+\end_layout
+
+\begin_layout Standard
+This HDF5 writer stores the datasets inside the HDF5 file and the parameters
+ are:
+\end_layout
+
+\begin_layout Description
+filename Name of HDF5 file (the Xdmf filename is generated from the same
+ prefix).
+\end_layout
+
+\begin_layout Subsubsection
+DataWriterHDF5Ext Parameters
+\end_layout
+
+\begin_layout Standard
+This HDF5 writer stores the datasets using external data files (a more robust
+ method for parallel runs) and the parameters are:
+\end_layout
+
+\begin_layout Description
+filename Name of HDF5 file (the external dataset filenames and the Xdmf
+ filename are generated from the same prefix).
+\end_layout
+
+\begin_layout Standard
+An example of changing the writer from the default VTK writer to the HDF5
+ writer with external datasets for output over the domain in a 
+\family typewriter
+.cfg
+\family default
+ file is
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.timedependent.domain.output]
+\end_layout
+
+\begin_layout LyX-Code
+output_freq = time_step
+\end_layout
+
+\begin_layout LyX-Code
+time_step = 1.0*yr
+\end_layout
+
+\begin_layout LyX-Code
+cell_data_fields = [displacement,velocity]
+\end_layout
+
+\begin_layout LyX-Code
+writer = pylith.meshio.DataWriterHDF5ExtMesh
+\end_layout
+
+\begin_layout LyX-Code
+writer.filename = dislocation.h5
+\end_layout
+
 \begin_layout Section
 Tips and Hints
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Tips:Hints"
+
+\end_inset
+
+
 \end_layout
 
 \begin_layout Subsection
@@ -3670,6 +4814,13 @@
 
 \begin_layout Subsection
 Troubleshooting
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Troubleshooting"
+
+\end_inset
+
+
 \end_layout
 
 \begin_layout Itemize
@@ -3751,19 +4902,19 @@
 \end_layout
 
 \begin_layout Quote
-This error occurs when trying to use the 32-bit linux binary on 64-bit linux
- systems.
+This error occurs when trying to use the 32-bit linux binary on some 64-bit
+ linux systems.
  One of the Python packages PyLith uses does not know how to determine the
  system architecture at runtime.
  The workaround is:
 \end_layout
 
 \begin_layout Enumerate
-Go to the lib/python2.5/site-packages directory.
+Go to the lib/python2.6/site-packages directory.
 \end_layout
 
 \begin_layout Enumerate
-Unzip merlin-1.7-py2.5.egg (if it is a file and not a directory).
+Unzip merlin-1.7-py2.6.egg (if it is a file and not a directory).
 \end_layout
 
 \begin_layout Enumerate
@@ -3776,11 +4927,48 @@
 \end_layout
 
 \begin_layout Enumerate
-If merlin-1.7-py2.5.egg is a file, rezip merlin.
- Go to the site-packages directory and enter "zip -r merlin-1.7-py2.5.egg merlin".
+If merlin-1.7-py2.6.egg is a file, rezip merlin.
+ Go to the site-packages directory and enter "zip -r merlin-1.7-py2.6.egg merlin".
 \end_layout
 
 \begin_layout Itemize
+
+\family typewriter
+-- Solving equations.
+\begin_inset Newline newline
+\end_inset
+
+[0]PETSC ERROR: ---------------- Error Message -------------------------------
+ 
+\begin_inset Newline newline
+\end_inset
+
+[0]PETSC ERROR: Detected zero pivot in LU factorization
+\begin_inset Newline newline
+\end_inset
+
+ see http://www.mcs.anl.gov/petsc/petsc-as/documentation/faq.html#ZeroPivot!
+\end_layout
+
+\begin_layout Quote
+This usually occurs when the null space of the system Jacobian is nonzero,
+ such as the case of a problem without Dirichlet boundary conditions on
+ any boundary.
+ If this arises when using the split fields and algebraic multigrid precondition
+ing and no additional Dirichlet boundary conditions are desired, then the
+ workaround is to revert to using the Additive Schwarz preconditioning without
+ split fields as discussed in Section 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:petsc:options"
+
+\end_inset
+
+.
+ 
+\end_layout
+
+\begin_layout Itemize
 PyLith crashes with a bus error.
 \end_layout
 

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/3dhex8.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/3dhex8.lyx	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/3dhex8.lyx	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,5 +1,5 @@
-#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
 \begin_document
 \begin_header
 \textclass book
@@ -7,18 +7,26 @@
 
 \end_preamble
 \use_default_options false
+\maintain_unincluded_children false
 \language english
+\language_package default
 \inputencoding latin1
+\fontencoding global
 \font_roman default
 \font_sans default
 \font_typewriter default
 \font_default_family default
+\use_non_tex_fonts false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
 
 \graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
 \paperfontsize default
 \spacing single
 \use_hyperref false
@@ -26,9 +34,18 @@
 \use_geometry true
 \use_amsmath 0
 \use_esint 0
+\use_mhchem 1
+\use_mathdots 1
 \cite_engine basic
 \use_bibtopic false
+\use_indices false
 \paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
 \leftmargin 1in
 \topmargin 1in
 \rightmargin 1in
@@ -36,15 +53,16 @@
 \secnumdepth 3
 \tocdepth 3
 \paragraph_separation indent
-\defskip medskip
+\paragraph_indentation default
 \quotes_language english
 \papercolumns 1
 \papersides 1
 \paperpagestyle default
 \tracking_changes false
 \output_changes false
-\author "" 
-\author "" 
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
 \end_header
 
 \begin_body
@@ -84,6 +102,10 @@
 \end_layout
 
 \begin_layout Itemize
+HDF5 output
+\end_layout
+
+\begin_layout Itemize
 Dirichlet displacement and velocity boundary conditions
 \end_layout
 
@@ -415,10 +437,14 @@
 
 \begin_layout LyX-Code
 reader = pylith.meshio.MeshIOCubit
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
- 
+
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -440,10 +466,14 @@
 
 \begin_layout LyX-Code
 materials = [upper_crust,lower_crust]
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
 
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -468,10 +498,14 @@
 
 \begin_layout LyX-Code
 quadrature.cell.dimension = 3
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
- 
+
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -515,7 +549,7 @@
 ElasticIsotropic3D
 \family default
  material type for both materials.
- This behavior will be overriden by example-specific
+ This behavior will be overridden by example-specific
 \family typewriter
 .cfg
 \family default

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/friction/friction.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/friction/friction.lyx	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/friction/friction.lyx	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,5 +1,5 @@
-#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
 \begin_document
 \begin_header
 \textclass book
@@ -7,18 +7,26 @@
 
 \end_preamble
 \use_default_options false
+\maintain_unincluded_children false
 \language english
+\language_package default
 \inputencoding latin1
+\fontencoding global
 \font_roman default
 \font_sans default
 \font_typewriter default
 \font_default_family default
+\use_non_tex_fonts false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
 
 \graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
 \paperfontsize default
 \spacing single
 \use_hyperref false
@@ -26,9 +34,18 @@
 \use_geometry true
 \use_amsmath 0
 \use_esint 0
+\use_mhchem 1
+\use_mathdots 1
 \cite_engine basic
 \use_bibtopic false
+\use_indices false
 \paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
 \leftmargin 1in
 \topmargin 1in
 \rightmargin 1in
@@ -36,15 +53,16 @@
 \secnumdepth 3
 \tocdepth 3
 \paragraph_separation indent
-\defskip medskip
+\paragraph_indentation default
 \quotes_language english
 \papercolumns 1
 \papersides 1
 \paperpagestyle default
 \tracking_changes false
 \output_changes false
-\author "" 
-\author "" 
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
 \end_header
 
 \begin_body
@@ -228,10 +246,14 @@
 
 \begin_layout LyX-Code
 fault = pylith.faults.FaultCohesiveDyn
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
 
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -387,6 +409,7 @@
 \align center
 \begin_inset Graphics
 	filename figs/step10-fault-traction-slip.jpg
+	lyxscale 50
 	width 10cm
 
 \end_inset
@@ -539,6 +562,7 @@
 \align center
 \begin_inset Graphics
 	filename figs/step11-fault-traction-slip.jpg
+	lyxscale 50
 	width 10cm
 
 \end_inset
@@ -666,10 +690,14 @@
 
 \begin_layout LyX-Code
 db_rate.data = [0.0*cm/year,1.0*cm/year,0.0*year]
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
 
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -773,6 +801,7 @@
 \align center
 \begin_inset Graphics
 	filename figs/step12-displ-t200.jpg
+	lyxscale 50
 	width 10cm
 
 \end_inset
@@ -929,6 +958,7 @@
 \align center
 \begin_inset Graphics
 	filename figs/step13-displ-t200.jpg
+	lyxscale 50
 	width 10cm
 
 \end_inset
@@ -1123,6 +1153,7 @@
 \align center
 \begin_inset Graphics
 	filename figs/step14-displ-t200.jpg
+	lyxscale 50
 	width 10cm
 
 \end_inset

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/gravity/gravity.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/gravity/gravity.lyx	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/gravity/gravity.lyx	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,5 +1,5 @@
-#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
 \begin_document
 \begin_header
 \textclass book
@@ -7,18 +7,26 @@
 
 \end_preamble
 \use_default_options false
+\maintain_unincluded_children false
 \language english
+\language_package default
 \inputencoding latin1
+\fontencoding global
 \font_roman default
 \font_sans default
 \font_typewriter default
 \font_default_family default
+\use_non_tex_fonts false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
 
 \graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
 \paperfontsize default
 \spacing single
 \use_hyperref false
@@ -26,9 +34,18 @@
 \use_geometry true
 \use_amsmath 0
 \use_esint 0
+\use_mhchem 1
+\use_mathdots 1
 \cite_engine basic
 \use_bibtopic false
+\use_indices false
 \paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
 \leftmargin 1in
 \topmargin 1in
 \rightmargin 1in
@@ -36,15 +53,16 @@
 \secnumdepth 3
 \tocdepth 3
 \paragraph_separation indent
-\defskip medskip
+\paragraph_indentation default
 \quotes_language english
 \papercolumns 1
 \papersides 1
 \paperpagestyle default
 \tracking_changes false
 \output_changes false
-\author "" 
-\author "" 
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
 \end_header
 
 \begin_body
@@ -153,8 +171,10 @@
  zero.
  Because all of the materials in the example have the same density, the
  elastic solution for loading via gravitational body forces is
-\begin_inset Formula \begin{equation}
-\sigma_{zz}=\rho gh;\:\sigma_{xx}=\sigma_{yy}=\frac{\nu\rho gh}{1-\nu}\:.\label{eq:1-1}\end{equation}
+\begin_inset Formula 
+\begin{equation}
+\sigma_{zz}=\rho gh;\:\sigma_{xx}=\sigma_{yy}=\frac{\nu\rho gh}{1-\nu}\:.\label{eq:1-1}
+\end{equation}
 
 \end_inset
 
@@ -204,10 +224,14 @@
 
 \begin_layout LyX-Code
 time_step = pylith.problems.TimeStepAdapt
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
 
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -340,6 +364,7 @@
 \align center
 \begin_inset Graphics
 	filename figs/step15-displ-t200.jpg
+	lyxscale 50
 	width 10cm
 
 \end_inset
@@ -451,10 +476,14 @@
 
 \begin_layout LyX-Code
 db_initial_stress.query_type = linear
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
 
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -517,6 +546,7 @@
 \align center
 \begin_inset Graphics
 	filename figs/step16-stress_xx-t200.jpg
+	lyxscale 50
 	width 10cm
 
 \end_inset
@@ -661,6 +691,7 @@
 \align center
 \begin_inset Graphics
 	filename figs/step17-displ-t200.jpg
+	lyxscale 50
 	width 10cm
 
 \end_inset

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/quasistatic/quasistatic.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/quasistatic/quasistatic.lyx	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/quasistatic/quasistatic.lyx	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,5 +1,5 @@
-#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
 \begin_document
 \begin_header
 \textclass book
@@ -7,18 +7,26 @@
 
 \end_preamble
 \use_default_options false
+\maintain_unincluded_children false
 \language english
+\language_package default
 \inputencoding latin1
+\fontencoding global
 \font_roman default
 \font_sans default
 \font_typewriter default
 \font_default_family default
+\use_non_tex_fonts false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
 
 \graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
 \paperfontsize default
 \spacing single
 \use_hyperref false
@@ -26,9 +34,18 @@
 \use_geometry true
 \use_amsmath 0
 \use_esint 0
+\use_mhchem 1
+\use_mathdots 1
 \cite_engine basic
 \use_bibtopic false
+\use_indices false
 \paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
 \leftmargin 1in
 \topmargin 1in
 \rightmargin 1in
@@ -36,15 +53,16 @@
 \secnumdepth 3
 \tocdepth 3
 \paragraph_separation indent
-\defskip medskip
+\paragraph_indentation default
 \quotes_language english
 \papercolumns 1
 \papersides 1
 \paperpagestyle default
 \tracking_changes false
 \output_changes false
-\author "" 
-\author "" 
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
 \end_header
 
 \begin_body
@@ -72,6 +90,10 @@
 \end_layout
 
 \begin_layout Itemize
+HDF5 output
+\end_layout
+
+\begin_layout Itemize
 Output of velocity field
 \end_layout
 
@@ -134,6 +156,8 @@
  Some of the examples also demonstrate the usage of the nonlinear solver,
  which is required by the nonlinear rheologies (power-law viscoelastic and
  Drucker-Prager elastoplastic).
+ Some of the examples also demonstrate the usage of HDF5 output, which is
+ an alternative to the default VTK output.
  All of the examples are contained in the directory 
 \family typewriter
 examples/3d/hex8
@@ -256,10 +280,14 @@
 
 \begin_layout LyX-Code
 materials.lower_crust = pylith.materials.MaxwellIsotropic3D
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
 
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -387,10 +415,14 @@
 
 \begin_layout LyX-Code
 db_rate.data = [0.0*cm/year,1.0*cm/year,0.0*year]
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
 
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -491,10 +523,14 @@
 
 \begin_layout LyX-Code
 writer.time_constant = 1.0*year
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
 
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -580,6 +616,7 @@
 \align center
 \begin_inset Graphics
 	filename figs/step04-displ-t200.jpg
+	lyxscale 50
 	width 10cm
 
 \end_inset
@@ -696,6 +733,14 @@
 
 \begin_layout LyX-Code
 db_initial.data = [0.0*MPa,0.0*MPa,-1.0*MPa]
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -743,6 +788,14 @@
 
 \begin_layout LyX-Code
 label = face_xneg
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -763,6 +816,14 @@
 
 \begin_layout LyX-Code
 db_initial.data = [0.0*cm,-0.5*cm]
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -815,6 +876,7 @@
 \align center
 \begin_inset Graphics
 	filename figs/step05-displ-t40.jpg
+	lyxscale 50
 	width 10cm
 
 \end_inset
@@ -862,7 +924,7 @@
  The upper (locked) portion of the fault has 4 m of left-lateral slip every
  200 years, while the lower (creeping) portion of the fault slips at a steady
  rate of 2 cm/year.
- The problem bears some similarity to the strike-slip fault model of Savange
+ The problem bears some similarity to the strike-slip fault model of Savage
  and Prescott 
 \begin_inset CommandInset citation
 LatexCommand cite
@@ -918,10 +980,14 @@
 
 \begin_layout LyX-Code
 time_step = pylith.problems.TimeStepAdapt
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
 
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -949,6 +1015,194 @@
 \end_layout
 
 \begin_layout Standard
+In this example and the remainder of the examples in this section, we also
+ make use of HDF5 output rather than the default VTK output.
+ HDF5 output is a new feature beginning with PyLith version 1.6, and it is
+ much more efficient with the additional advantage that multiple time steps
+ can be contained in a single file.
+ PyLith also produces Xdmf files describing the contents of the HDF5 files,
+ which allows the files to be read easily by applications such as ParaView.
+ Since VTK output is still the default, we must change the value from the
+ default.
+ Also note that the filename suffix is 
+\family typewriter
+.h5
+\family default
+:
+\end_layout
+
+\begin_layout LyX-Code
+# Give basename for output of solution over domain.
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.problem.formulation.output.domain]
+\end_layout
+
+\begin_layout LyX-Code
+# We specify that output occurs in terms of a given time frequency, and
+\end_layout
+
+\begin_layout LyX-Code
+# ask for output every 50 years.
+\end_layout
+
+\begin_layout LyX-Code
+output_freq = time_step
+\end_layout
+
+\begin_layout LyX-Code
+time_step = 50.0*year
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Newline newline
+\end_inset
+
+
+\end_layout
+
+\begin_layout LyX-Code
+# We are using HDF5 output so we must change the default writer.
+\end_layout
+
+\begin_layout LyX-Code
+writer = pylith.meshio.DataWriterHDF5Mesh
+\end_layout
+
+\begin_layout LyX-Code
+writer.filename = output/step06.h5  
+\end_layout
+
+\begin_layout Standard
+Note that we no longer need the 
+\family typewriter
+writer.time_format
+\family default
+ or 
+\family typewriter
+writer.time_constant
+\family default
+ properties, since all time steps are contained in a single file.
+ The HDF5 writer does not have these properties, so if we attempt to define
+ them an error will result.
+\end_layout
+
+\begin_layout Standard
+We also set the writer for other output as well, since it is not the default.
+ For subdomain output we use:
+\end_layout
+
+\begin_layout LyX-Code
+# Give basename for output of solution over ground surface.
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.problem.formulation.output.subdomain]
+\end_layout
+
+\begin_layout LyX-Code
+# Name of nodeset for ground surface.
+\end_layout
+
+\begin_layout LyX-Code
+label = face_zpos
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Newline newline
+\end_inset
+
+
+\end_layout
+
+\begin_layout LyX-Code
+# We keep the default output frequency behavior (skip every n steps), and
+\end_layout
+
+\begin_layout LyX-Code
+# ask to skip 0 steps between output, so that we get output every time step.
+\end_layout
+
+\begin_layout LyX-Code
+# We again switch the writer to produce HDF5 output.
+\end_layout
+
+\begin_layout LyX-Code
+# Note that we specifically ask for a submesh writer.
+\end_layout
+
+\begin_layout LyX-Code
+skip = 0
+\end_layout
+
+\begin_layout LyX-Code
+writer = pylith.meshio.DataWriterHDF5SubMesh
+\end_layout
+
+\begin_layout LyX-Code
+writer.filename = output/step06-groundsurf.h5  
+\end_layout
+
+\begin_layout Standard
+For fault output we use:
+\end_layout
+
+\begin_layout LyX-Code
+# Give basename for fault rupture output.
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.problem.interfaces.fault.output]
+\end_layout
+
+\begin_layout LyX-Code
+# We keep the default output frequency behavior (skip every n steps), and
+\end_layout
+
+\begin_layout LyX-Code
+# ask to skip 0 steps between output, so that we get output every time step.
+\end_layout
+
+\begin_layout LyX-Code
+# We again switch the writer to produce HDF5 output.
+\end_layout
+
+\begin_layout LyX-Code
+# Note that we specifically ask for a subsubmesh writer.
+\end_layout
+
+\begin_layout LyX-Code
+skip = 0
+\end_layout
+
+\begin_layout LyX-Code
+writer = pylith.meshio.DataWriterHDF5SubSubMesh
+\end_layout
+
+\begin_layout LyX-Code
+writer.filename = output/step06-fault.h5
+\end_layout
+
+\begin_layout Standard
+Note the usage of 
+\family typewriter
+pylith.meshio.DataWriterHDF5SubMesh
+\family default
+ for subdomain output and
+\family typewriter
+
+\begin_inset Newline newline
+\end_inset
+
+pylith.meshio.DataWriterHDF5SubSubMesh
+\family default
+ for fault output.
+\end_layout
+
+\begin_layout Standard
 Due to the simplicity of the boundary conditions, we are able to use the
  default 
 \family typewriter
@@ -1031,10 +1285,14 @@
 
 \begin_layout LyX-Code
 slip_time.iohandler.filename = spatialdb/sliptime.spatialdb
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
 
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -1051,10 +1309,14 @@
 
 \begin_layout LyX-Code
 slip_time.iohandler.filename = spatialdb/sliptime.spatialdb
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
 
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -1146,13 +1408,13 @@
 \begin_layout Standard
 This additional information will be contained in file 
 \family typewriter
-step06-fault_info.vtk
+step06-fault_info.
 \family default
-.
+h5.
  It will contain final slip information for each earthquake source along
  with slip time information.
- When we have run the simulation, the output VTK files will be contained
- in 
+ When we have run the simulation, the output HDF5 and Xdmf files will be
+ contained in 
 \family typewriter
 examples/3d/hex8/output
 \family default
@@ -1161,6 +1423,11 @@
 step06
 \family default
 ).
+ To open the files in ParaView, the Xdmf (
+\family typewriter
+.xmf
+\family default
+) files should be opened, as these files describe the HDF5 data structure.
  Results using ParaView are shown in Figure 
 \begin_inset CommandInset ref
 LatexCommand ref
@@ -1178,6 +1445,7 @@
 \align center
 \begin_inset Graphics
 	filename figs/step06-displ-t300.jpg
+	lyxscale 50
 	width 10cm
 
 \end_inset
@@ -1278,10 +1546,14 @@
 
 \begin_layout LyX-Code
 db_rate.data = [0.0*cm/year,1.0*cm/year,0.0*year]
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
 
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -1338,10 +1610,10 @@
 \end_layout
 
 \begin_layout LyX-Code
-# Give basename for VTK domain output of solution over domain.
-\end_layout
+# Give basename for output of solution over domain.
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
 [pylithapp.problem.formulation.output.domain]
 \end_layout
 
@@ -1351,22 +1623,13 @@
 
 \begin_layout LyX-Code
 # ask for output every 50 years.
- The time stamps of the output files are
 \end_layout
 
 \begin_layout LyX-Code
-# in years (rather than the default of seconds), and we give a format for
-\end_layout
-
-\begin_layout LyX-Code
-# the time stamp.
-\end_layout
-
-\begin_layout LyX-Code
 # We also request velocity output in addition to displacements.
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
 vertex_data_fields = [displacement,velocity]
 \end_layout
 
@@ -1376,26 +1639,38 @@
 
 \begin_layout LyX-Code
 time_step = 50.0*year
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
-writer.filename = output/step07.vtk
+
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
-writer.time_format = %04.0f
+# We are using HDF5 output so we must change the default writer.
 \end_layout
 
 \begin_layout LyX-Code
-writer.time_constant = 1.0*year
+writer = pylith.meshio.DataWriterHDF5Mesh
 \end_layout
 
 \begin_layout LyX-Code
+writer.filename = output/step07.h5
+\begin_inset Newline newline
+\end_inset
 
+
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
-# Give basename for VTK domain output of solution over ground surface.
+# Give basename for output of solution over ground surface.
 \end_layout
 
 \begin_layout LyX-Code
@@ -1408,6 +1683,14 @@
 
 \begin_layout LyX-Code
 label = face_zpos
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -1428,23 +1711,35 @@
 
 \begin_layout LyX-Code
 skip = 0
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
-writer.filename = output/step07-groundsurf.vtk
+# We again switch the writer to produce HDF5 output.
 \end_layout
 
 \begin_layout LyX-Code
-writer.time_format = %04.0f
+# Note that we specifically ask for a submesh writer.
 \end_layout
 
 \begin_layout LyX-Code
-writer.time_constant = 1.0*year
+writer = pylith.meshio.DataWriterHDF5SubMesh
 \end_layout
 
+\begin_layout LyX-Code
+writer.filename = output/step07-groundsurf.h5
+\end_layout
+
 \begin_layout Standard
-When we have run the simulation, the output VTK files will be contained
- in 
+When we have run the simulation, the output HDF5 and Xdmf files will be
+ contained in 
 \family typewriter
 examples/3d/hex8/output
 \family default
@@ -1453,6 +1748,19 @@
 step07
 \family default
 ).
+ As for example 
+\family typewriter
+step06
+\family default
+, make sure to open the 
+\family typewriter
+.xmf
+\family default
+ files rather than the 
+\family typewriter
+.h5
+\family default
+ files.
  Results using ParaView are shown in Figure 
 \begin_inset CommandInset ref
 LatexCommand ref
@@ -1470,6 +1778,7 @@
 \align center
 \begin_inset Graphics
 	filename figs/step07-displ-vel-t300.jpg
+	lyxscale 50
 	width 10cm
 
 \end_inset
@@ -1841,8 +2150,8 @@
 \end_layout
 
 \begin_layout Standard
-When we have run the simulation, the output VTK files will be contained
- in 
+When we have run the simulation, the output HDF5 and Xdmf files will be
+ contained in 
 \family typewriter
 examples/3d/hex8/output
 \family default
@@ -1868,6 +2177,7 @@
 \align center
 \begin_inset Graphics
 	filename figs/step08-strain-displ-t150.jpg
+	lyxscale 50
 	width 10cm
 
 \end_inset
@@ -1880,16 +2190,16 @@
  for example step08 at t = 150 years visualized using ParaView.
  For this visualization, we loaded both the 
 \family typewriter
-step08-lower_crust_txxxx.vtk
+step08-lower_crust.xmf
 \family default
  and 
 \family typewriter
-step08-upper_crust_txxxx.vtk
+step08-upper_crust.xmf
 \family default
  files to contour the strain field, and superimposed on it the displacement
  field vectors from 
 \family typewriter
-step08_txxxx.vtk
+step08.xmf
 \family default
 .
 \begin_inset CommandInset label
@@ -2107,8 +2417,8 @@
 \end_layout
 
 \begin_layout Standard
-When we have run the simulation, the output VTK files will be contained
- in 
+When we have run the simulation, the output HDF5 and Xdmf files will be
+ contained in 
 \family typewriter
 examples/3d/hex8/output
 \family default
@@ -2134,6 +2444,7 @@
 \align center
 \begin_inset Graphics
 	filename figs/step08-strain-displ-t150.jpg
+	lyxscale 50
 	width 10cm
 
 \end_inset
@@ -2146,16 +2457,16 @@
  for example step09 at t = 150 years visualized using ParaView.
  For this visualization, we loaded both the 
 \family typewriter
-step09-lower_crust_txxxx.vtk
+step09-lower_crust.xmf
 \family default
  and 
 \family typewriter
-step09-upper_crust_txxxx.vtk
+step09-upper_crust.xmf
 \family default
  files to contour the strain field, and superimposed on it the displacement
  field vectors from 
 \family typewriter
-step09_txxxx.vtk
+step09.xmf
 \family default
 .
 \begin_inset CommandInset label

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/static/static.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/static/static.lyx	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dhex8/static/static.lyx	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,5 +1,5 @@
-#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
 \begin_document
 \begin_header
 \textclass book
@@ -7,18 +7,26 @@
 
 \end_preamble
 \use_default_options false
+\maintain_unincluded_children false
 \language english
+\language_package default
 \inputencoding latin1
+\fontencoding global
 \font_roman default
 \font_sans default
 \font_typewriter default
 \font_default_family default
+\use_non_tex_fonts false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
 
 \graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
 \paperfontsize default
 \spacing single
 \use_hyperref false
@@ -26,9 +34,18 @@
 \use_geometry true
 \use_amsmath 0
 \use_esint 0
+\use_mhchem 1
+\use_mathdots 1
 \cite_engine basic
 \use_bibtopic false
+\use_indices false
 \paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
 \leftmargin 1in
 \topmargin 1in
 \rightmargin 1in
@@ -36,15 +53,16 @@
 \secnumdepth 3
 \tocdepth 3
 \paragraph_separation indent
-\defskip medskip
+\paragraph_indentation default
 \quotes_language english
 \papercolumns 1
 \papersides 1
 \paperpagestyle default
 \tracking_changes false
 \output_changes false
-\author "" 
-\author "" 
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
 \end_header
 
 \begin_body
@@ -278,10 +296,14 @@
 
 \begin_layout LyX-Code
 db_initial.iohandler.filename = spatialdb/fixeddisp_axial_shear.spatialdb
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
 
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -493,10 +515,14 @@
 
 \begin_layout LyX-Code
 db_initial.iohandler.filename = spatialdb/tractions_axial_shear.spatialdb
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
 
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -575,6 +601,7 @@
 \align center
 \begin_inset Graphics
 	filename figs/step02-displ.jpg
+	lyxscale 50
 	width 10cm
 
 \end_inset
@@ -688,10 +715,14 @@
 
 \begin_layout LyX-Code
 label = fault
-\end_layout
+\begin_inset Newline newline
+\end_inset
 
-\begin_layout LyX-Code
 
+\begin_inset Newline newline
+\end_inset
+
+
 \end_layout
 
 \begin_layout LyX-Code
@@ -803,6 +834,7 @@
 \align center
 \begin_inset Graphics
 	filename figs/step03-displ.jpg
+	lyxscale 50
 	width 10cm
 
 \end_inset

Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dtet4/3dtet4.lyx
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dtet4/3dtet4.lyx	2011-06-15 22:14:28 UTC (rev 18637)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/userguide/tutorials/3dtet4/3dtet4.lyx	2011-06-15 22:30:12 UTC (rev 18638)
@@ -1,5 +1,5 @@
-#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
 \begin_document
 \begin_header
 \textclass book
@@ -7,18 +7,26 @@
 
 \end_preamble
 \use_default_options false
+\maintain_unincluded_children false
 \language english
+\language_package default
 \inputencoding latin1
+\fontencoding global
 \font_roman default
 \font_sans default
 \font_typewriter default
 \font_default_family default
+\use_non_tex_fonts false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
 
 \graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
 \paperfontsize default
 \spacing single
 \use_hyperref false
@@ -26,9 +34,18 @@
 \use_geometry true
 \use_amsmath 0
 \use_esint 0
+\use_mhchem 1
+\use_mathdots 1
 \cite_engine basic
 \use_bibtopic false
+\use_indices false
 \paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
 \leftmargin 1in
 \topmargin 1in
 \rightmargin 1in
@@ -36,15 +53,16 @@
 \secnumdepth 3
 \tocdepth 3
 \paragraph_separation indent
-\defskip medskip
+\paragraph_indentation default
 \quotes_language english
 \papercolumns 1
 \papersides 1
 \paperpagestyle default
 \tracking_changes false
 \output_changes false
-\author "" 
-\author "" 
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
 \end_header
 
 \begin_body
@@ -107,6 +125,14 @@
 ZeroDispDB spatial database