[cig-commits] r22094 - in short/3D/PyLith/trunk/doc/userguide: . install intro runpylith tutorials/3dhex8/gravity tutorials/3dhex8/quasistatic tutorials/3dhex8/surfload

brad at geodynamics.org brad at geodynamics.org
Fri May 17 13:09:06 PDT 2013


Author: brad
Date: 2013-05-17 13:09:06 -0700 (Fri, 17 May 2013)
New Revision: 22094

Modified:
   short/3D/PyLith/trunk/doc/userguide/components.lyx
   short/3D/PyLith/trunk/doc/userguide/glossary.lyx
   short/3D/PyLith/trunk/doc/userguide/install/install.lyx
   short/3D/PyLith/trunk/doc/userguide/intro/intro.lyx
   short/3D/PyLith/trunk/doc/userguide/preface.lyx
   short/3D/PyLith/trunk/doc/userguide/runpylith/runpylith.lyx
   short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/gravity/gravity.lyx
   short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/quasistatic/quasistatic.lyx
   short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/surfload/surfload.lyx
   short/3D/PyLith/trunk/doc/userguide/userguide.lyx
Log:
Updates for v2.0.0. Sieve -> DMPlex. Removal of templates.

Modified: short/3D/PyLith/trunk/doc/userguide/components.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/components.lyx	2013-05-17 19:23:05 UTC (rev 22093)
+++ short/3D/PyLith/trunk/doc/userguide/components.lyx	2013-05-17 20:09:06 UTC (rev 22094)
@@ -313,18 +313,6 @@
 \begin_layout Description
 
 \family typewriter
-MemoryLogger pylith.perf.MemoryLogger
-\family default
-
-\begin_inset Newline newline
-\end_inset
-
-Memory model logger for reporting memory use by Sieve.
-\end_layout
-
-\begin_layout Description
-
-\family typewriter
 VTKDataReader pylith.utils.VTKDataReader
 \family default
 
@@ -966,30 +954,18 @@
 \begin_layout Description
 
 \family typewriter
-OutputManagerMesh pylith.meshio.OutputManagerMesh
+OutputManager pylith.meshio.OutputManager
 \family default
 
 \begin_inset Newline newline
 \end_inset
 
-Output manager for mesh information and data.
+General output manager for mesh information and data.
 \end_layout
 
 \begin_layout Description
 
 \family typewriter
-OutputManagerSubMesh pylith.meshio.OutputManagerSubMesh
-\family default
-
-\begin_inset Newline newline
-\end_inset
-
-Output manager for submesh information and data.
-\end_layout
-
-\begin_layout Description
-
-\family typewriter
 OutputSoln pylith.meshio.OutputSoln
 \family default
 
@@ -1126,162 +1102,64 @@
 \begin_layout Description
 
 \family typewriter
-DataWriterVTKMesh pylith.meshio.DataWriterVTKMesh
+DataWriterVTK pylith.meshio.DataWriterVTK
 \family default
 
 \begin_inset Newline newline
 \end_inset
 
-Writer for output to VTK files with mesh information.
+Writer for output to VTK files.
 \end_layout
 
 \begin_layout Description
 
 \family typewriter
-DataWriterVTKSubMesh pylith.meshio.DataWriterVTKSubMesh
+DataWriterHDF5 pylith.meshio.DataWriterHDF5
 \family default
 
 \begin_inset Newline newline
 \end_inset
 
-Writer for output to VTK files with mesh information over a submesh.
+Writer for output to HDF5 files.
 \end_layout
 
 \begin_layout Description
 
 \family typewriter
-DataWriterVTKSubSubMesh pylith.meshio.DataWriterVTKSubSubMesh
+DataWriterHDF5Ext pylith.meshio.DataWriterHDF5Ext
 \family default
 
 \begin_inset Newline newline
 \end_inset
 
-Writer for output to VTK files with submesh information over a submesh.
-\end_layout
-
-\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
+Writer for output to HDF5 files with datasets written
  to external raw binary files.
 \end_layout
 
 \begin_layout Description
 
 \family typewriter
-DataWriterHDF5ExtSubMesh pylith.meshio.DataWriterHDF5ExtSubMesh
+CellFilterAvg pylith.meshio.CellFilterAvg
 \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.
+Filter that averages information over quadrature points of cells.
 \end_layout
 
 \begin_layout Description
 
 \family typewriter
-DataWriterHDF5SubSubMesh pylith.meshio.DataWriterHDF5SubSubMesh
+VertexFilterVecNorm pylith.meshio.VertexFilterVecNorm
 \family default
 
 \begin_inset Newline newline
 \end_inset
 
-Writer for output to HDF5 files with submesh information over a submesh.
+Filter that computes magnitude of vectors for vertex fields.
 \end_layout
 
-\begin_layout Description
-
-\family typewriter
-CellFilterAvgMesh pylith.meshio.CellFilterAvgMesh
-\family default
-
-\begin_inset Newline newline
-\end_inset
-
-Filter that averages information over quadrature points of mesh cells.
-\end_layout
-
-\begin_layout Description
-
-\family typewriter
-CellFilterAvgSubMesh pylith.meshio.CellFilterAvgSubMesh
-\family default
-
-\begin_inset Newline newline
-\end_inset
-
-Filter that averages information over quadrature points of submesh cells.
-\end_layout
-
-\begin_layout Description
-
-\family typewriter
-VertexFilterVecNormMesh pylith.meshio.VertexFilterVecNormMesh
-\family default
-
-\begin_inset Newline newline
-\end_inset
-
-Filter that computes magnitude of vectors for vertex field over mesh.
-\end_layout
-
-\begin_layout Description
-
-\family typewriter
-VertexFilterVecNormSubMesh pylith.meshio.VertexFilterVecNormSubMesh
-\family default
-
-\begin_inset Newline newline
-\end_inset
-
-Filter that computes magnitude of vectors for vertex field over submesh.
-\end_layout
-
 \begin_layout Section
 Spatialdata Components
 \end_layout

Modified: short/3D/PyLith/trunk/doc/userguide/glossary.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/glossary.lyx	2013-05-17 19:23:05 UTC (rev 22093)
+++ short/3D/PyLith/trunk/doc/userguide/glossary.lyx	2013-05-17 20:09:06 UTC (rev 22094)
@@ -93,25 +93,23 @@
 \end_layout
 
 \begin_layout Section
-Sieve
+DMPlex
 \end_layout
 
 \begin_layout Description
-sieve The sieve construction is a representation of the topology of the
+DMPlex The plex construction is a representation of the topology of the
  finite element mesh based upon a covering relation.
  For example, segments are covered by their endpoints, faces by their bounding
  edges, etc.
- Geometry is absent from the sieve, and is represented instead by a coordinate
- section.
- Sieves can also be understood as directed acyclic graphs, where we call
+ Geometry is absent from the plex, and is represented instead by a 
+ field with the coordinates of the vertices.
+ Meshes can also be understood as directed acyclic graphs, where we call
  the constituents points and arrows.
 \end_layout
 
 \begin_layout Description
 mesh A finite element mesh, used to partition space and provide support
  for the basis functions.
- It consists of a sieve and bundle of sections, including the coordinate
- section.
 \end_layout
 
 \begin_layout Description
@@ -135,15 +133,10 @@
 \end_layout
 
 \begin_layout Description
-section These objects associate data to points in a sieve, which is equivalent
- to associating data to entities in a mesh.
- Like sieves, sections can also be understood as DAGs, with the points replaced
- by arrays of data and the arrows reversed.
- Sections may also be vectors, but are not limited to this.
- We use them to represent not only solution fields, but material property
- markers and boundary conditions.
- Sections must have restrict and update methods, which are allowable between
- any two points path-connected in the DAG.
+section These objects associate values in vectors to points (vertices, 
+ edges, faces, and cells) in a mesh.
+ The section describes the offset 
+ into the vector along with the number of values associated with each point.
 \end_layout
 
 \begin_layout Description
@@ -167,20 +160,12 @@
 \end_layout
 
 \begin_layout Description
-cone The set of mesh entities which cover any entity in a sieve.
+cone The set of entities which cover any entity in a mesh.
  For example, the cone of a triangle is its three edges.
 \end_layout
 
 \begin_layout Description
-restrict The action of retrieving the values associated with a given mesh
- entity from a section.
- This is analogous to the restriction of a function to a subdomain.
- In finite element calculation, we restrict our global interpolant to an
- element in order to calculate the basis function coefficients.
-\end_layout
-
-\begin_layout Description
-support The set of mesh entities which are covered by any entity in a sieve.
+support The set of mesh entities which are covered by any entity in a mesh.
  For example, the support of a triangle is the two tetrahedra it separates.
 \end_layout
 

Modified: short/3D/PyLith/trunk/doc/userguide/install/install.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/install/install.lyx	2013-05-17 19:23:05 UTC (rev 22093)
+++ short/3D/PyLith/trunk/doc/userguide/install/install.lyx	2013-05-17 20:09:06 UTC (rev 22094)
@@ -253,7 +253,7 @@
 
 \begin_deeper
 \begin_layout LyX-Code
-$ tar -xzf pylith-1.8.0-linux-i686.tgz
+$ tar -xzf pylith-2.0.0-linux-i686.tgz
 \end_layout
 
 \end_deeper
@@ -328,7 +328,7 @@
 
 \begin_deeper
 \begin_layout LyX-Code
-$ tar -xzf pylith-1.8.0-darwin-10.5.tgz
+$ tar -xzf pylith-2.0.0-darwin-10.5.tgz
 \end_layout
 
 \end_deeper

Modified: short/3D/PyLith/trunk/doc/userguide/intro/intro.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/intro/intro.lyx	2013-05-17 19:23:05 UTC (rev 22093)
+++ short/3D/PyLith/trunk/doc/userguide/intro/intro.lyx	2013-05-17 20:09:06 UTC (rev 22094)
@@ -1,542 +1,549 @@
-#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 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
-\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
-Introduction
-\end_layout
-
-\begin_layout Section
-Overview
-\end_layout
-
-\begin_layout Standard
-PyLith is a multi-scale simulation software package for earthquake physics.
- It is portable, scalable software for simulation of crustal deformation
- across spatial scales ranging from meters to hundreds of kilometers and
- temporal scales ranging from milliseconds to thousands of years.
-\end_layout
-
-\begin_layout Section
-History
-\end_layout
-
-\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 (version 0.8).
- PyLith 1.0 combines the functionality of EqSim 
-\begin_inset CommandInset citation
-LatexCommand cite
-key "Aagaard:etal:2001a,Aagaard:etal:2001b"
-
-\end_inset
-
- and PyLith 0.8.
- PyLith 0.8 was a direct descendant of LithoMop and was the first version
- that ran in parallel, as well as providing several other improvements over
- LithoMop.
- LithoMop was the product of major reengineering of Tecton, a finite-element
- code for simulating static and quasi-static crustal deformation.
- The major new features present in LithoMop included dynamic memory allocation
- and the use of the Pyre simulation framework and PETSc solvers.
- EqSim was written by Brad Aagaard to solve problems in earthquake dynamics,
- including rupture propagation and seismic wave propagation.
-\end_layout
-
-\begin_layout Standard
-The release of PyLith 1.0 has been followed by additional releases that expand
- the number of features as well as improve performance.
- The PyLith 1.x series of releases allows the solution of both quasi-static
- and dynamic problems in one, two, or three dimensions.
- The code runs in either serial or parallel, and the design allows for relativel
-y easy scripting using the Python programming language.
- Material properties and values for boundary and fault conditions are specified
- using spatial databases, which permit easy prescription of complex spatial
- variations of properties and parameters.
- Simulation parameters are generally specified through the use of simple
- ASCII files or the command line.
- At present, mesh information may be provided using a simple ASCII file
- (PyLith mesh ASCII format) or imported from CUBIT or LaGriT, two widely-used
- meshing packages.
- The elements currently available include a linear bar in 1D, linear triangles
- and quadrilaterals in 2D, and linear tetrahedra and hexahedra in 3D.
- Materials presently available include isotropic elastic, linear Maxwell
- viscoelastic, generalized Maxwell viscoelastic, power-law viscoelastic,
- and Drucker-Prager elastoplastic.
- Boundary conditions include Dirichlet (prescribed displacements and velocities)
-, Neumann (traction), point forces, and absorbing boundaries.
- Cohesive elements are used to implement slip across interior surfaces (faults)
- with both kinematically-specified fault slip and slip governed by fault
- constitutive models.
- PyLith also includes an interface for computing static Green's functions
- for fault slip.
-\end_layout
-
-\begin_layout Standard
-PyLith is under active development and we expect a number of additions and
- improvements in the near future.
- Likely enhancements will include additional bulk and fault constitutive
- models, coupled quasi-static and dynamic simulations for earthquake cycle
- modeling, and coupling between elasticity, heat flow, and/or fluid flow.
-\end_layout
-
-\begin_layout Section
-PyLith Workflow
-\end_layout
-
-\begin_layout Standard
-PyLith is one component in the process of investigating problems in tectonics
- (Figure 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "fig:Workflow-summary"
-
-\end_inset
-
-).
- Given a geological problem of interest, a scientist must first provide
- a geometrical representation of the desired structure.
- Once the structure has been defined, a computational mesh must be created.
- PyLith presently provides three mesh importing options: CUBIT Exodus format,
- 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 or HDF5/Xdmf files which can be used by
- a number of visualization codes (e.g., ParaView, Visit, MayaVi, and Matlab).
- 
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-placement H
-wide false
-sideways false
-status open
-
-\begin_layout Plain Layout
-\align center
-\begin_inset Graphics
-	filename figs/workflow.eps
-	scale 67
-	keepAspectRatio
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Plain Layout
-\begin_inset Caption
-
-\begin_layout Plain Layout
-\begin_inset CommandInset label
-LatexCommand label
-name "fig:Workflow-summary"
-
-\end_inset
-
-Workflow involved in going from geologic structure to problem analysis.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Section
-PyLith Design
-\end_layout
-
-\begin_layout Standard
-PyLith is separated into modules to encapsulate behavior and facilitate
- use across multiple applications.
- This allows expert users to replace functionality of a wide variety of
- components without recompiling or polluting the main code.
- PyLith employs external packages (see Figure 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "fig:pylith-dependencies"
-
-\end_inset
-
-) to reduce development time and enhance computational efficiency; for example,
- PyLith 0.8 ran two times faster when the PETSc linear solver was used.
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Float figure
-placement H
-wide false
-sideways false
-status open
-
-\begin_layout Plain Layout
-\align center
-\begin_inset Graphics
-	filename figs/packages.eps
-	scale 40
-
-\end_inset
-
-
-\begin_inset Caption
-
-\begin_layout Plain Layout
-\begin_inset CommandInset label
-LatexCommand label
-name "fig:pylith-dependencies"
-
-\end_inset
-
-PyLith dependencies.
- PyLith makes direct use of several other packages, some of which have their
- own dependencies.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-PyLith is written in two programming languages.
- High-level code is written in Python; this rich, expressive interpreted
- language with dynamic typing reduces development time and permits flexible
- addition of user-contributed modules.
- This high-level code makes use of Pyre, a science-neutral simulation framework
- developed at Caltech, to link the modules together at runtime and gather
- user-input.
- Low-level code is written in C++, providing fast execution while still
- allowing an object-oriented implementation.
- This low-level code relies on PETSc to perform operations on matrices and
- vectors in parallel.
- We also make extensive use of two Python packages.
- SWIG is a package that simplifies the task of adding C++ extensions to
- Python code, and FIAT provides tabulated basis functions and numerical
- quadrature points.
- 
-\end_layout
-
-\begin_layout Standard
-In writing PyLith 1.0, the code was designed to be object-oriented and modular.
- Each type of module is accessed through a specified interface (set of functions
-).
- This permits adding, replacing, and rewriting modules without affecting
- other parts of the code.
- This code structure simplifies code maintenance and development.
- Extending the set of code features is also easier, since developers can
- create new modules derived from the existing ones.
-\end_layout
-
-\begin_layout Standard
-The new code design leverages Pyre, Sieve, and PETSc much more extensively
- than the previous version.
-  Pyre is used to glue together the various modules used to construct a
- simulation and specify the parameters.
- Sieve is used for all finite-element  storage and manipulation and handles
- the creation of the PETSc matrices and vectors.
-  As a result, most of the PyLith source code pertains to implementing the
- geodynamics, such as bulk rheology, boundary conditions, and slip on faults.
- 
-\end_layout
-
-\begin_layout Standard
-PyLith also uses FIAT to tabulate the finite-element basis functions  at
- the numerical integration (quadrature) points.
- Nemesis allows PyLith to run Python using the Message Passing Interface
- (MPI) for parallel processing.
- Additional, indirect dependencies (see Figure 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "fig:pylith-dependencies"
-
-\end_inset
-
-) include numpy (efficient operations on numerical arrays in Python), Proj.4
- (geographic projections), and SWIG (calling C++ functions from Python).
-\end_layout
-
-\begin_layout Standard
-During development, tests were constructed for nearly every module function.
- These unit tests are distributed with the source code.
- These tests are run throughout the development cycle to expose bugs and
- isolate their origin.
- As additional changes are made to the code, the tests are rerun to help
- prevent introduction of new bugs.
- A number of simple, full-scale tests, such as axial compression and extension,
- simple shear, and slip on through-going faults, have been used to test
- the code.
- Additionally, we have run the Southern California Earthquake Center crustal
- deformation and several of the spontaneous rupture benchmarks for strike-slip
- and reverse-slip to determine the relative local and global error (see
- Chapter 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "cha:Benchmarks"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Subsection
-Pyre
-\end_layout
-
-\begin_layout Standard
-Pyre is an object-oriented environment capable of specifying and launching
- numerical simulations on multiple platforms, including Beowulf-class parallel
- computers and grid computing systems.
- Pyre allows the binding of multiple components such as solid and fluid
- models used in Earth science simulations, and different meshers.
- The Pyre framework enables the elegant setup, modification and launching
- of massively parallel solver applications.
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Float figure
-placement H
-wide false
-sideways false
-status open
-
-\begin_layout Plain Layout
-\align center
-\begin_inset Graphics
-	filename figs/pyre_overview.png
-	width 4in
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Plain Layout
-\begin_inset Caption
-
-\begin_layout Plain Layout
-\begin_inset CommandInset label
-LatexCommand label
-name "fig:Pyre:Architecture"
-
-\end_inset
-
-Pyre Architecture.
- The integration framework is a set of cooperating abstract services.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Pyre is a framework, a combination of software and design philosophy that
- promotes the reuse of code.
- In their canonical software design book, 
-\emph on
-Design Patterns
-\emph default
-, Erich Gamma 
-\shape italic
-et al
-\shape default
-.
- condense the concept of a framework concept down to, ``When you use a framework
-, you reuse the main body and write the code it calls.'' In the context of
- frameworks and object-oriented programming, Pyre can be thought of as a
- collection of classes and the way their instances interact.
- Programming applications based on Pyre will look similar to those written
- in any other object-oriented language.
- The Pyre framework contains a subset of parts that make up the overall
- framework.
- Each of those parts is designed to solve a specific problem.
-\end_layout
-
-\begin_layout Standard
-The framework approach to computation offers many advantages.
- It permits the exchange of codes and promotes the reuse of standardized
- software while preserving efficiency.
- Frameworks are also an efficient way to handle changes in computer architecture.
- They present programmers and scientists with a unified and well-defined
- task and allow for shared costs of the housekeeping aspects of software
- development.
- They provide greater institutional continuity to model development than
- piecemeal approaches.
-\end_layout
-
-\begin_layout Standard
-The Pyre framework incorporates features aimed at enabling the scientific
- non-expert to perform tasks easily without hindering the expert.
- Target features for end users allow complete and intuitive simulation specifica
-tion, reasonable defaults, consistency checks of input, good diagnostics,
- easy access to remote facilities, and status monitoring.
- Target features for developers include easy access to user input, a shorter
- development cycle, and good debugging support.
-\end_layout
-
-\begin_layout Subsection
-Sieve and PETSc
-\end_layout
-
-\begin_layout Standard
-PyLith 1.x makes use of a set of data structures and routines in PETSc called
- 
-\family typewriter
-Sieve
-\family default
-, which is still under active development.
- 
-\family typewriter
-Sieve
-\family default
- provides data structures and routines for for representing and manipulating
- computational meshes, and it greatly simplifies finite-element computations.
-
-\family typewriter
- Sieve
-\family default
- represents the topology of the domain.
- Zero volume elements are inserted along all fault surfaces to implement
- kinematic (prescribed) or dynamic (constitutive model) implementations
- of fault slip.
- Material properties and other parameters are represented as sections (scalar
- and vector fields) over the mesh, and values for a vertex or cell can be
- retrieved by restricting the section to the vertex or cell.
- For each problem, functions are provided to calculate the residual and
- its Jacobian.
- All numerical integration is done in these functions, and parallel assembly
- is accomplished using the restrict/update paradigm of the 
-\family typewriter
-Sieve
-\family default
- framework.
- We assemble into PETSc linear algebra objects and then call PETSc solvers.
- The solution is mapped back into a section, which can be output in VTK
- format.
-\end_layout
-
-\begin_layout Standard
-PETSc 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-www-unix.mcs.anl.gov/petsc/petsc-as
-\end_layout
-
-\end_inset
-
-, the Portable, Extensible Toolkit for Scientific computation, provides
- a suite of routines for parallel, numerical solution of partial differential
- equations for linear and nonlinear systems with large, sparse systems of
- equations.
- PETSc includes solvers that implement a variety of Newton and Krylov subspace
- methods.
- It can also interface with many external packages, including ESSL, MUMPS,
- Matlab, ParMETIS, PVODE, and Hypre, thereby providing additional solvers
- and interaction with other software packages.
-\end_layout
-
-\begin_layout Standard
-PETSc includes interfaces for FORTRAN 77/90, C, C++, and Python for nearly
- all of the routines, and PETSc can be installed on most Unix systems.
- PETSc can be built with user-supplied, highly optimized linear algebra
- routines (e.g., ATLAS and commercial versions of BLAS/LAPACK), thereby improving
- application performance.
- Users can use PETSc parallel matrices, vectors, and other data structures
- for most parallel operations, eliminating the need for explicit calls to
- Message Passing Interface (MPI) routines.
- Many settings and options can be controlled with PETSc-specific command-line
- arguments, including selection of preconditions, solvers, and generation
- of performance logs.
-\end_layout
-
-\end_body
-\end_document
+#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 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
+\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
+Introduction
+\end_layout
+
+\begin_layout Section
+Overview
+\end_layout
+
+\begin_layout Standard
+PyLith is a multi-scale simulation software package for earthquake physics.
+ It is portable, scalable software for simulation of crustal deformation
+ across spatial scales ranging from meters to hundreds of kilometers and
+ temporal scales ranging from milliseconds to thousands of years.
+\end_layout
+
+\begin_layout Section
+History
+\end_layout
+
+\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 (version 0.8).
+ PyLith 1.0 combines the functionality of EqSim 
+\begin_inset CommandInset citation
+LatexCommand cite
+key "Aagaard:etal:2001a,Aagaard:etal:2001b"
+
+\end_inset
+
+ and PyLith 0.8.
+ PyLith 0.8 was a direct descendant of LithoMop and was the first version
+ that ran in parallel, as well as providing several other improvements over
+ LithoMop.
+ LithoMop was the product of major reengineering of Tecton, a finite-element
+ code for simulating static and quasi-static crustal deformation.
+ The major new features present in LithoMop included dynamic memory allocation
+ and the use of the Pyre simulation framework and PETSc solvers.
+ EqSim was written by Brad Aagaard to solve problems in earthquake dynamics,
+ including rupture propagation and seismic wave propagation.
+\end_layout
+
+\begin_layout Standard
+The release of PyLith 1.0 has been followed by additional releases that expand
+ the number of features as well as improve performance.
+ The PyLith 1.x series of releases allows the solution of both quasi-static
+ and dynamic problems in one, two, or three dimensions.
+ The code runs in either serial or parallel, and the design allows for relativel
+y easy scripting using the Python programming language.
+ Material properties and values for boundary and fault conditions are specified
+ using spatial databases, which permit easy prescription of complex spatial
+ variations of properties and parameters.
+ Simulation parameters are generally specified through the use of simple
+ ASCII files or the command line.
+ At present, mesh information may be provided using a simple ASCII file
+ (PyLith mesh ASCII format) or imported from CUBIT or LaGriT, two widely-used
+ meshing packages.
+ The elements currently available include a linear bar in 1D, linear triangles
+ and quadrilaterals in 2D, and linear tetrahedra and hexahedra in 3D.
+ Materials presently available include isotropic elastic, linear Maxwell
+ viscoelastic, generalized Maxwell viscoelastic, power-law viscoelastic,
+ and Drucker-Prager elastoplastic.
+ Boundary conditions include Dirichlet (prescribed displacements and velocities)
+, Neumann (traction), point forces, and absorbing boundaries.
+ Cohesive elements are used to implement slip across interior surfaces (faults)
+ with both kinematically-specified fault slip and slip governed by fault
+ constitutive models.
+ PyLith also includes an interface for computing static Green's functions
+ for fault slip.
+\end_layout
+
+\begin_layout Standard
+PyLith 2.0 replaces the finite-element data structures provided by the C++
+ Sieve implementation with those provided by the C DMPlex implementation.
+ The newly developed DMPlex implementation by the PETSc developers conforms
+ the PETSc data manager (DM) interface, thereby providing tighter integration
+ with other PETSc data structures, such as vectors and matrices.
+ Other improvements include significantly reduced memory use and memory
+ balancing.
+\end_layout
+
+\begin_layout Standard
+PyLith is under active development and we expect a number of additions and
+ improvements in the near future.
+ Likely enhancements will include additional bulk and fault constitutive
+ models, coupled quasi-static and dynamic simulations for earthquake cycle
+ modeling, and coupling between elasticity, heat flow, and/or fluid flow.
+\end_layout
+
+\begin_layout Section
+PyLith Workflow
+\end_layout
+
+\begin_layout Standard
+PyLith is one component in the process of investigating problems in tectonics
+ (Figure 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Workflow-summary"
+
+\end_inset
+
+).
+ Given a geological problem of interest, a scientist must first provide
+ a geometrical representation of the desired structure.
+ Once the structure has been defined, a computational mesh must be created.
+ PyLith presently provides three mesh importing options: CUBIT Exodus format,
+ 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 or HDF5/Xdmf files which can be used by
+ a number of visualization codes (e.g., ParaView, Visit, MayaVi, and Matlab).
+ 
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+	filename figs/workflow.eps
+	scale 67
+	keepAspectRatio
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Workflow-summary"
+
+\end_inset
+
+Workflow involved in going from geologic structure to problem analysis.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+PyLith Design
+\end_layout
+
+\begin_layout Standard
+PyLith is separated into modules to encapsulate behavior and facilitate
+ use across multiple applications.
+ This allows expert users to replace functionality of a wide variety of
+ components without recompiling or polluting the main code.
+ PyLith employs external packages (see Figure 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:pylith-dependencies"
+
+\end_inset
+
+) to reduce development time and enhance computational efficiency; for example,
+ PyLith 0.8 ran two times faster when the PETSc linear solver was used.
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+	filename figs/packages.eps
+	scale 40
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:pylith-dependencies"
+
+\end_inset
+
+PyLith dependencies.
+ PyLith makes direct use of several other packages, some of which have their
+ own dependencies.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+PyLith is written in two programming languages.
+ High-level code is written in Python; this rich, expressive interpreted
+ language with dynamic typing reduces development time and permits flexible
+ addition of user-contributed modules.
+ This high-level code makes use of Pyre, a science-neutral simulation framework
+ developed at Caltech, to link the modules together at runtime and gather
+ user-input.
+ Low-level code is written in C++, providing fast execution while still
+ allowing an object-oriented implementation.
+ This low-level code relies on PETSc to perform operations on matrices and
+ vectors in parallel.
+ We also make extensive use of two Python packages.
+ SWIG is a package that simplifies the task of adding C++ extensions to
+ Python code, and FIAT provides tabulated basis functions and numerical
+ quadrature points.
+ 
+\end_layout
+
+\begin_layout Standard
+In writing PyLith 1.0, the code was designed to be object-oriented and modular.
+ Each type of module is accessed through a specified interface (set of functions
+).
+ This permits adding, replacing, and rewriting modules without affecting
+ other parts of the code.
+ This code structure simplifies code maintenance and development.
+ Extending the set of code features is also easier, since developers can
+ create new modules derived from the existing ones.
+\end_layout
+
+\begin_layout Standard
+The current code design leverages Pyre and PETSc extensively.
+ Pyre glues together the various modules used to construct a simulation
+ and specify the parameters.
+ PETSc provides the finite-element data structuresand handles the creation
+ and manipulation of matrices and vectors.
+ As a result, most of the PyLith source code pertains to implementing the
+ geodynamics, such as bulk rheology, boundary conditions, and slip on faults.
+ 
+\end_layout
+
+\begin_layout Standard
+PyLith also uses FIAT to tabulate the finite-element basis functions at
+ the numerical integration (quadrature) points.
+ Nemesis allows PyLith to run Python using the Message Passing Interface
+ (MPI) for parallel processing.
+ Additional, indirect dependencies (see Figure 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:pylith-dependencies"
+
+\end_inset
+
+) include numpy (efficient operations on numerical arrays in Python), Proj.4
+ (geographic projections), and SWIG (calling C++ functions from Python).
+\end_layout
+
+\begin_layout Standard
+During development, tests were constructed for nearly every module function.
+ These unit tests are distributed with the source code.
+ These tests are run throughout the development cycle to expose bugs and
+ isolate their origin.
+ As additional changes are made to the code, the tests are rerun to help
+ prevent introduction of new bugs.
+ A number of simple, full-scale tests, such as axial compression and extension,
+ simple shear, and slip on through-going faults, have been used to test
+ the code.
+ Additionally, we have run the Southern California Earthquake Center crustal
+ deformation and several of the spontaneous rupture benchmarks for strike-slip
+ and reverse-slip to determine the relative local and global error (see
+ Chapter 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "cha:Benchmarks"
+
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Subsection
+Pyre
+\end_layout
+
+\begin_layout Standard
+Pyre is an object-oriented environment capable of specifying and launching
+ numerical simulations on multiple platforms, including Beowulf-class parallel
+ computers and grid computing systems.
+ Pyre allows the binding of multiple components such as solid and fluid
+ models used in Earth science simulations, and different meshers.
+ The Pyre framework enables the elegant setup, modification and launching
+ of massively parallel solver applications.
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+	filename figs/pyre_overview.png
+	width 4in
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Pyre:Architecture"
+
+\end_inset
+
+Pyre Architecture.
+ The integration framework is a set of cooperating abstract services.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Pyre is a framework, a combination of software and design philosophy that
+ promotes the reuse of code.
+ In their canonical software design book, 
+\emph on
+Design Patterns
+\emph default
+, Erich Gamma 
+\shape italic
+et al
+\shape default
+.
+ condense the concept of a framework concept down to, ``When you use a framework
+, you reuse the main body and write the code it calls.'' In the context of
+ frameworks and object-oriented programming, Pyre can be thought of as a
+ collection of classes and the way their instances interact.
+ Programming applications based on Pyre will look similar to those written
+ in any other object-oriented language.
+ The Pyre framework contains a subset of parts that make up the overall
+ framework.
+ Each of those parts is designed to solve a specific problem.
+\end_layout
+
+\begin_layout Standard
+The framework approach to computation offers many advantages.
+ It permits the exchange of codes and promotes the reuse of standardized
+ software while preserving efficiency.
+ Frameworks are also an efficient way to handle changes in computer architecture.
+ They present programmers and scientists with a unified and well-defined
+ task and allow for shared costs of the housekeeping aspects of software
+ development.
+ They provide greater institutional continuity to model development than
+ piecemeal approaches.
+\end_layout
+
+\begin_layout Standard
+The Pyre framework incorporates features aimed at enabling the scientific
+ non-expert to perform tasks easily without hindering the expert.
+ Target features for end users allow complete and intuitive simulation specifica
+tion, reasonable defaults, consistency checks of input, good diagnostics,
+ easy access to remote facilities, and status monitoring.
+ Target features for developers include easy access to user input, a shorter
+ development cycle, and good debugging support.
+\end_layout
+
+\begin_layout Subsection
+PETSc
+\end_layout
+
+\begin_layout Standard
+PyLith 2.x makes use of a set of data structures and routines in PETSc called
+ 
+\family typewriter
+DMPlex
+\family default
+, which is still under active development.
+ 
+\family typewriter
+DMPlex
+\family default
+ provides data structures and routines for for representing and manipulating
+ computational meshes, and it greatly simplifies finite-element computations.
+
+\family typewriter
+ DMPlex
+\family default
+ represents the topology of the domain.
+ Zero volume elements are inserted along all fault surfaces to implement
+ kinematic (prescribed) or dynamic (constitutive model) implementations
+ of fault slip.
+ Material properties and other parameters are represented as scalar and
+ vector fields over the mesh using vectors to store the values and sections
+ to map vertices, edges, faces, and cells to indices in the vector.
+ For each problem, functions are provided to calculate the residual and
+ its Jacobian.
+ All numerical integration is done in these functions, and parallel assembly
+ is accomplished using the get/set closure paradigm of the 
+\family typewriter
+DMPlex
+\family default
+ framework.
+ We assemble into PETSc linear algebra objects and then call PETSc solvers.
+\end_layout
+
+\begin_layout Standard
+PETSc 
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+www-unix.mcs.anl.gov/petsc/petsc-as
+\end_layout
+
+\end_inset
+
+, the Portable, Extensible Toolkit for Scientific computation, provides
+ a suite of routines for parallel, numerical solution of partial differential
+ equations for linear and nonlinear systems with large, sparse systems of
+ equations.
+ PETSc includes solvers that implement a variety of Newton and Krylov subspace
+ methods.
+ It can also interface with many external packages, including ESSL, MUMPS,
+ Matlab, ParMETIS, PVODE, and Hypre, thereby providing additional solvers
+ and interaction with other software packages.
+\end_layout
+
+\begin_layout Standard
+PETSc includes interfaces for FORTRAN 77/90, C, C++, and Python for nearly
+ all of the routines, and PETSc can be installed on most Unix systems.
+ PETSc can be built with user-supplied, highly optimized linear algebra
+ routines (e.g., ATLAS and commercial versions of BLAS/LAPACK), thereby improving
+ application performance.
+ Users can use PETSc parallel matrices, vectors, and other data structures
+ for most parallel operations, eliminating the need for explicit calls to
+ Message Passing Interface (MPI) routines.
+ Many settings and options can be controlled with PETSc-specific command-line
+ arguments, including selection of preconditions, solvers, and generation
+ of performance logs.
+\end_layout
+
+\end_body
+\end_document

Modified: short/3D/PyLith/trunk/doc/userguide/preface.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/preface.lyx	2013-05-17 19:23:05 UTC (rev 22093)
+++ short/3D/PyLith/trunk/doc/userguide/preface.lyx	2013-05-17 20:09:06 UTC (rev 22094)
@@ -1,280 +1,253 @@
-#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 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
-\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
-Preface
-\end_layout
-
-\begin_layout Section
-About This Document
-\end_layout
-
-\begin_layout Standard
-This document is organized into two parts.
- The first part begins with an introduction to PyLith and discusses the
- types of problems that PyLith can solve and how to run the software; the
- second part provides appendices and references.
-\end_layout
-
-\begin_layout Section
-Who Will Use This Documentation
-\end_layout
-
-\begin_layout Standard
-This documentation is aimed at two categories of users: scientists who prefer
- to use prepackaged and specialized analysis tools, and experienced computationa
-l Earth scientists.
- Of the latter, there are likely to be two classes of users: those who just
- run models, and those who modify the source code.
- Users who modify the source are likely to have familiarity with scripting,
- software installation, and programming, but are not necessarily professional
- programmers.
-\end_layout
-
-\begin_layout Section
-Citation
-\end_layout
-
-\begin_layout Standard
-The Computational Infrastructure for Geodynamics (CIG) 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-geodynamics.org
-\end_layout
-
-\end_inset
-
- is making this source code available to you at no cost in hopes that the
- software will enhance your research in geophysics.
- A number of individuals have contributed a significant portion of their
- careers toward the development of this software.
- It is essential that you recognize these individuals in the normal scientific
- practice by citing the appropriate peer-reviewed papers and making appropriate
- acknowledgements in talks and publications.
- At this time there are no refereed journal articles discussing the design
- and implementation of PyLith, so we request that you cite four AGU meeting
- abstracts associated with PyLith:
-\end_layout
-
-\begin_layout Itemize
-Williams, C.A., B.
- Aagaard, M.G.
- Knepley (2005), Development of software for studying earthquakes across
- multiple spatial and temporal scales by coupling quasi-static and dynamic
- simulations, 
-\emph on
-Eos Trans.
- AGU, 86
-\emph default
-(52), Fall Meet.
- Suppl., Abstract S53A-1072.
-\end_layout
-
-\begin_layout Itemize
-Williams, C.A.
- (2006), Development of a package for modeling stress in the lithosphere,
- 
-\emph on
-Eos Trans.
- AGU, 87
-\emph default
-(36), Jt.
- Assem.
- Suppl., Abstract T24A-01 Invited.
-\end_layout
-
-\begin_layout Itemize
-Aagaard, B., C.
- Williams, M.
- Knepley (2007), PyLith: A finite-element code for modeling quasi-static
- and dynamic crustal deformation, 
-\emph on
-Eos Trans.
- AGU, 8
-\emph default
-8(52), Fall Meet.
- Suppl., Abstract T21B-0592.
-\end_layout
-
-\begin_layout Itemize
-Aagaard, B., C.
- Williams, M.
- Knepley (2008), PyLith: A finite-element code for modeling quasi-static
- and dynamic crustal deformation, 
-\emph on
-Eos Trans.
- AGU, 89
-\emph default
-(53), Fall Meet.
- Suppl., Abstract T41A-1925.
-\end_layout
-
-\begin_layout Standard
-To cite this manual, use:
-\end_layout
-
-\begin_layout Itemize
-Aagaard, B., S.
- Kientz, M.
- Knepley, S.
- Somala, L.
- Strand, and C.
- Williams (2011), 
-\emph on
-PyLith User Manual, Version 1.8.0.
-
-\emph default
- Davis, CA: Computational Infrastructure of Geodynamics.
-\begin_inset Newline newline
-\end_inset
-
-URL: geodynamics.org/cig/software/pylith/pylith_manual-1.8.0.pdf
-\end_layout
-
-\begin_layout Section
-Support
-\end_layout
-
-\begin_layout Standard
-Current PyLith development is supported by the CIG, and internal GNS Science
- 
-\begin_inset Flex URL
-status open
-
-\begin_layout Plain Layout
-
-www.gns.cri.nz
-\end_layout
-
-\end_inset
-
- and U.S.
- Geological Survey 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-www.usgs.gov
-\end_layout
-
-\end_inset
-
- funding.
- Pyre development was funded by the Department of Energy's 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-www.doe.gov/engine/content.do
-\end_layout
-
-\end_inset
-
- Advanced Simulation and Computing program and the National Science Foundation's
- Information Technology Research (ITR) program.
-\end_layout
-
-\begin_layout Standard
-This material is based upon work supported by the National Science Foundation
- under Grants No.
- 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.
-\end_layout
-
-\begin_layout Section
-Request for Comments
-\end_layout
-
-\begin_layout Standard
-Your suggestions and corrections can only improve this documentation.
- Please report any errors, inaccuracies, or typos to the CIG Short-Term
- Tectonics email list 
-\begin_inset Flex URL
-status open
-
-\begin_layout Plain Layout
-
-cig-short at geodynamics.org
-\end_layout
-
-\end_inset
-
-.
- 
-\end_layout
-
-\end_body
-\end_document
+#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 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
+\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
+Preface
+\end_layout
+
+\begin_layout Section
+About This Document
+\end_layout
+
+\begin_layout Standard
+This document is organized into two parts.
+ The first part begins with an introduction to PyLith and discusses the
+ types of problems that PyLith can solve and how to run the software; the
+ second part provides appendices and references.
+\end_layout
+
+\begin_layout Section
+Who Will Use This Documentation
+\end_layout
+
+\begin_layout Standard
+This documentation is aimed at two categories of users: scientists who prefer
+ to use prepackaged and specialized analysis tools, and experienced computationa
+l Earth scientists.
+ Of the latter, there are likely to be two classes of users: those who just
+ run models, and those who modify the source code.
+ Users who modify the source are likely to have familiarity with scripting,
+ software installation, and programming, but are not necessarily professional
+ programmers.
+\end_layout
+
+\begin_layout Section
+Citation
+\end_layout
+
+\begin_layout Standard
+The Computational Infrastructure for Geodynamics (CIG) 
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+geodynamics.org
+\end_layout
+
+\end_inset
+
+ is making this source code available to you at no cost in hopes that the
+ software will enhance your research in geophysics.
+ A number of individuals have contributed a significant portion of their
+ careers toward the development of this software.
+ It is essential that you recognize these individuals in the normal scientific
+ practice by citing the appropriate peer-reviewed papers and making appropriate
+ acknowledgements in talks and publications.
+ The following peer-reviewed paper discussed the development of PyLith:
+\end_layout
+
+\begin_layout Itemize
+Aagaard, B.
+ T.
+ M.
+ G.
+ Knepley, and C.
+ A.
+ Williams (2013).
+ A domain decomposition approach to implementing fault slip in finite-element
+ models of quasi-static and dynamic crustal deformation, 
+\shape italic
+Journal of Geophysical Research: Solid Earth
+\shape default
+, in press.
+\end_layout
+
+\begin_layout Standard
+To cite this manual, use:
+\end_layout
+
+\begin_layout Itemize
+Aagaard, B., S.
+ Kientz, M.
+ Knepley, S.
+ Somala, L.
+ Strand, and C.
+ Williams (2011), 
+\emph on
+PyLith User Manual, Version 2.0.0.
+
+\emph default
+ Davis, CA: Computational Infrastructure of Geodynamics.
+\begin_inset Newline newline
+\end_inset
+
+URL: geodynamics.org/cig/software/pylith/pylith_manual-2.0.0.pdf
+\end_layout
+
+\begin_layout Section
+Support
+\end_layout
+
+\begin_layout Standard
+Current PyLith development is supported by the CIG, and internal GNS Science
+ 
+\begin_inset Flex URL
+status open
+
+\begin_layout Plain Layout
+
+www.gns.cri.nz
+\end_layout
+
+\end_inset
+
+ and U.S.
+ Geological Survey 
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+www.usgs.gov
+\end_layout
+
+\end_inset
+
+ funding.
+ Pyre development was funded by the Department of Energy's 
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+www.doe.gov/engine/content.do
+\end_layout
+
+\end_inset
+
+ Advanced Simulation and Computing program and the National Science Foundation's
+ Information Technology Research (ITR) program.
+\end_layout
+
+\begin_layout Standard
+This material is based upon work supported by the National Science Foundation
+ under Grants No.
+ 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.
+\end_layout
+
+\begin_layout Section
+Acknowlegements
+\end_layout
+
+\begin_layout Standard
+Many members of the community contribute to PyLith through reporting bugs,
+ suggesting new features and improvements, running benchmarks, and asking
+ questions about the software.
+ In particular, we thank Surendra Sumala for contributing to the development
+ of the fault friction implementation.
+\end_layout
+
+\begin_layout Section
+Request for Comments
+\end_layout
+
+\begin_layout Standard
+Your suggestions and corrections can only improve this documentation.
+ Please report any errors, inaccuracies, or typos to the CIG Short-Term
+ Tectonics email list 
+\begin_inset Flex URL
+status open
+
+\begin_layout Plain Layout
+
+cig-short at geodynamics.org
+\end_layout
+
+\end_inset
+
+.
+ 
+\end_layout
+
+\end_body
+\end_document

Modified: short/3D/PyLith/trunk/doc/userguide/runpylith/runpylith.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/runpylith/runpylith.lyx	2013-05-17 19:23:05 UTC (rev 22093)
+++ short/3D/PyLith/trunk/doc/userguide/runpylith/runpylith.lyx	2013-05-17 20:09:06 UTC (rev 22094)
@@ -5013,17 +5013,10 @@
 \end_layout
 
 \begin_layout Description
-CellFilterAvgMesh Compute the weighted average of the values within a bulk
- cell.
+CellFilterAvg Compute the weighted average of the values within a cell.
  The weights are determined from the quadrature associated with the cells.
 \end_layout
 
-\begin_layout Description
-CellFilterAvgSubMesh Compute the weighted average of the values for a boundary
- cell.
- The weights are determined from the quadrature associated with the cells.
-\end_layout
-
 \begin_layout Subsection
 VTK Output
 \end_layout

Modified: short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/gravity/gravity.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/gravity/gravity.lyx	2013-05-17 19:23:05 UTC (rev 22093)
+++ short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/gravity/gravity.lyx	2013-05-17 20:09:06 UTC (rev 22094)
@@ -564,7 +564,7 @@
  is no vertical displacement throughout the simulation.
  Also note that the stresses appear as four layers since we have used 
 \family typewriter
-CellFilterAvgMesh
+CellFilterAvg
 \family default
  for material output.
 \begin_inset CommandInset label

Modified: short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/quasistatic/quasistatic.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/quasistatic/quasistatic.lyx	2013-05-17 19:23:05 UTC (rev 22093)
+++ short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/quasistatic/quasistatic.lyx	2013-05-17 20:09:06 UTC (rev 22094)
@@ -1067,7 +1067,7 @@
 \end_layout
 
 \begin_layout LyX-Code
-writer = pylith.meshio.DataWriterHDF5Mesh
+writer = pylith.meshio.DataWriterHDF5
 \end_layout
 
 \begin_layout LyX-Code
@@ -1130,15 +1130,11 @@
 \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
+writer = pylith.meshio.DataWriterHDF5
 \end_layout
 
 \begin_layout LyX-Code
@@ -1170,33 +1166,21 @@
 \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
+writer = pylith.meshio.DataWriterHDF5
 \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
+pylith.meshio.DataWriterHDF5
 \family default
  for fault output.
 \end_layout
@@ -1657,7 +1641,7 @@
 \end_layout
 
 \begin_layout LyX-Code
-writer = pylith.meshio.DataWriterHDF5Mesh
+writer = pylith.meshio.DataWriterHDF5
 \end_layout
 
 \begin_layout LyX-Code
@@ -1729,14 +1713,10 @@
 \end_layout
 
 \begin_layout LyX-Code
-# Note that we specifically ask for a submesh writer.
+writer = pylith.meshio.DataWriterHDF5
 \end_layout
 
 \begin_layout LyX-Code
-writer = pylith.meshio.DataWriterHDF5SubMesh
-\end_layout
-
-\begin_layout LyX-Code
 writer.filename = output/step07-groundsurf.h5
 \end_layout
 

Modified: short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/surfload/surfload.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/surfload/surfload.lyx	2013-05-17 19:23:05 UTC (rev 22093)
+++ short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/surfload/surfload.lyx	2013-05-17 20:09:06 UTC (rev 22094)
@@ -271,7 +271,7 @@
 \end_layout
 
 \begin_layout LyX-Code
-output.cell_filter = pylith.meshio.CellFilterAvgSubMesh
+output.cell_filter = pylith.meshio.CellFilterAvg
 \begin_inset Newline newline
 \end_inset
 
@@ -533,7 +533,7 @@
  using ParaView.
  The stresses appear as four layers since we have used 
 \family typewriter
-CellFilterAvgMesh
+CellFilterAvg
 \family default
  for material output.
 \begin_inset CommandInset label

Modified: short/3D/PyLith/trunk/doc/userguide/userguide.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/userguide.lyx	2013-05-17 19:23:05 UTC (rev 22093)
+++ short/3D/PyLith/trunk/doc/userguide/userguide.lyx	2013-05-17 20:09:06 UTC (rev 22094)
@@ -136,7 +136,7 @@
 \begin_inset Newline newline
 \end_inset
 
-Version 1.8.0
+Version 2.0.0
 \end_layout
 
 \begin_layout Date



More information about the CIG-COMMITS mailing list