[cig-commits] r22356 - in short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/3dhex8: . greensfns greensfns/figs

willic3 at geodynamics.org willic3 at geodynamics.org
Mon Jun 17 17:53:54 PDT 2013


Author: willic3
Date: 2013-06-17 17:53:53 -0700 (Mon, 17 Jun 2013)
New Revision: 22356

Added:
   short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/3dhex8/greensfns/
   short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/3dhex8/greensfns/figs/
   short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/3dhex8/greensfns/figs/step21_impulse_resp.png
   short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/3dhex8/greensfns/greensfns.lyx
Modified:
   short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/3dhex8/3dhex8.lyx
Log:
Added tutorial for 3d Green's functions.



Modified: short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/3dhex8/3dhex8.lyx
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/3dhex8/3dhex8.lyx	2013-06-18 00:38:05 UTC (rev 22355)
+++ short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/3dhex8/3dhex8.lyx	2013-06-18 00:53:53 UTC (rev 22356)
@@ -1,638 +1,661 @@
-#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 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
-\bottommargin 2in
-\secnumdepth 3
-\tocdepth 3
-\paragraph_separation indent
-\paragraph_indentation default
-\quotes_language english
-\papercolumns 1
-\papersides 1
-\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 Section
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:Tutorial-3d-hex8"
-
-\end_inset
-
-Tutorials Using Hexahedral Mesh Created by CUBIT
-\end_layout
-
-\begin_layout Standard
-PyLith features discussed in this set of tutorials:
-\end_layout
-
-\begin_layout Itemize
-Static solution
-\end_layout
-
-\begin_layout Itemize
-Quasi-static solution
-\end_layout
-
-\begin_layout Itemize
-CUBIT mesh format
-\end_layout
-
-\begin_layout Itemize
-Trilinear hexahedral cells
-\end_layout
-
-\begin_layout Itemize
-VTK output
-\end_layout
-
-\begin_layout Itemize
-HDF5 output
-\end_layout
-
-\begin_layout Itemize
-Dirichlet displacement and velocity boundary conditions
-\end_layout
-
-\begin_layout Itemize
-Neumann traction boundary conditions and time-varying tractions
-\end_layout
-
-\begin_layout Itemize
-ZeroDispDB spatial database
-\end_layout
-
-\begin_layout Itemize
-SimpleDB spatial database
-\end_layout
-
-\begin_layout Itemize
-UniformDB spatial database
-\end_layout
-
-\begin_layout Itemize
-Static fault rupture
-\end_layout
-
-\begin_layout Itemize
-Multiple kinematic fault ruptures
-\end_layout
-
-\begin_layout Itemize
-Specifying more than one material
-\end_layout
-
-\begin_layout Itemize
-Nonlinear solver
-\end_layout
-
-\begin_layout Itemize
-Linearly elastic isotropic material
-\end_layout
-
-\begin_layout Itemize
-Maxwell linear viscoelastic material
-\end_layout
-
-\begin_layout Itemize
-Generalized Maxwell linear viscoelastic material
-\end_layout
-
-\begin_layout Itemize
-Power-law viscoelastic material
-\end_layout
-
-\begin_layout Itemize
-Drucker-Prager elastoplastic material
-\end_layout
-
-\begin_layout Itemize
-Adaptive time stepping
-\end_layout
-
-\begin_layout Itemize
-Static fault friction
-\end_layout
-
-\begin_layout Itemize
-Slip-weakening fault friction
-\end_layout
-
-\begin_layout Itemize
-Rate-and-state fault friction
-\end_layout
-
-\begin_layout Itemize
-Gravitational body forces
-\end_layout
-
-\begin_layout Itemize
-Initial stresses
-\end_layout
-
-\begin_layout Itemize
-Finite strain
-\end_layout
-
-\begin_layout Standard
-All of the files necessary to run the examples are contained in the directory
- 
-\family typewriter
-examples/3d/hex8
-\family default
-.
-\end_layout
-
-\begin_layout Subsection
-Overview
-\end_layout
-
-\begin_layout Standard
-This tutorial is meant to demonstrate most of the important features of
- PyLith as a quasi-static finite-element code, using a sequence of example
- problems.
- All problems use the same 3D hexahedral mesh generated using the CUBIT
- 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-cubit.sandia.gov
-\end_layout
-
-\end_inset
-
- mesh generation package.
- Each example builds on the previous examples, as we demonstrate new features.
- As in the other examples, the files include extensive comments.
- We start with the generation of the mesh, which is composed of 144 trilinear
- hexahedra.
- The tutorial demonstrates the usage of the CUBIT mesh generation package
- to create a mesh, as well as describing how to use a CUBIT-generated mesh
- in PyLith.
- Following the discussion of how to generate the mesh, we discuss the 
-\family typewriter
-pylithapp.cfg
-\family default
- file, which contains information common to all the simulations.
- We group the examples into four sections, each pertaining to a particular
- set of PyLith features.
- We suggest users go through each of these sections in order as the complexity
- increases at each step.
- 
-\end_layout
-
-\begin_layout Subsection
-Mesh Generation and Description
-\end_layout
-
-\begin_layout Standard
-The mesh for these examples is a simple rectangular solid (Figure 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "fig:3dhex8-mesh"
-
-\end_inset
-
-).
- Although it would be possible to generate this mesh by hand, it is much
- simpler to use a mesh generation package, and we use CUBIT for this example.
- We provide documented journal files in 
-\family typewriter
-examples/3d/hex8/mesh.
-
-\family default
- Dissection of these journal files should provide some insight into how
- to use CUBIT with PyLith.
- For more detailed information on using CUBIT, refer to the CUBIT documentation
- 
-\begin_inset Flex URL
-status collapsed
-
-\begin_layout Plain Layout
-
-cubit.sandia.gov
-\end_layout
-
-\end_inset
-
-.
- If you have CUBIT installed on your machine, you can use the journal files
- to create your own mesh.
- Otherwise, you can use the mesh that has already been created.
-\end_layout
-
-\begin_layout Standard
-If you are using CUBIT to generate your own mesh, there are two ways to
- use the journal files.
- The simplest method is to go to the
-\family sans
- Tools
-\family default
- menu, select 
-\family sans
-Play Journal File
-\family default
-, and then select the file 
-\family typewriter
-mesh_hex8_1000m.jou
-\family default
-.
- This will run the commands in that file as well as the commands in 
-\family typewriter
-geometry.jou
-\family default
-, which is referenced from 
-\family typewriter
-mesh_hex8_1000m.jou
-\family default
-.
- Prior to doing this, you should set your directory to the one containing
- the journal files.
- This method will create the mesh, but you will gain very little insight
- into what is being done.
- A more informative approach is to input each journal command into the CUBIT
- command window directly.
- That way, you will see what each command does.
- The first command in 
-\family typewriter
-mesh_hex8_1000m.jou
-\family default
- is 
-\family typewriter
-`playback
-\family default
- 
-\family typewriter
-geometry.jou
-\family default
-', so you should start with the commands in 
-\family typewriter
-geometry.jou
-\family default
-.
- The first three commands, which define the block shape, are
-\end_layout
-
-\begin_layout LyX-Code
-reset
-\end_layout
-
-\begin_layout LyX-Code
-brick x 6000 y 6000 z 4000
-\end_layout
-
-\begin_layout LyX-Code
-volume 1 move x 0 y 0 z -2000
-\end_layout
-
-\begin_layout Standard
-Continuing through the remainder of the commands in 
-\family typewriter
-geometry.jou
-\family default
-, and then using the additional commands in 
-\family typewriter
-mesh_hex8_1000m.jou
-\family default
-, you will eventually end up with the file 
-\family typewriter
-box_hex8_1000m.exo
-\family default
-, which contains all of the mesh information.
- This information is similar to that included in PyLith mesh ASCII format,
- but the information is contained in an Exodus file, which is a specialized
- netCDF file.
- If you have the 
-\family typewriter
-ncdump
-\family default
- command available, you can see what is in the file by typing:
-\end_layout
-
-\begin_layout LyX-Code
-ncdump box_hex8_1000m.exo
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Float figure
-wide false
-sideways false
-status open
-
-\begin_layout Plain Layout
-\align center
-\begin_inset Graphics
-	filename figs/hex8-mesh.jpg
-	lyxscale 50
-	scale 33
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Plain Layout
-\begin_inset Caption
-
-\begin_layout Plain Layout
-Mesh composed of trilinear hexahedral cells generated by CUBIT used for
- the suite of example problems.
- The different colors represent the two different materials.
-\begin_inset CommandInset label
-LatexCommand label
-name "fig:3dhex8-mesh"
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Additional Common Information
-\end_layout
-
-\begin_layout Standard
-In addition to the mesh, the example problems share other information.
- As in previous examples, we place this information in 
-\family typewriter
-pylithapp.cfg
-\family default
-.
- Since these examples use a mesh from CUBIT, in this file we set the importer
- to 
-\family typewriter
-MeshIOCubit
-\family default
-:
-\end_layout
-
-\begin_layout LyX-Code
-[pylithapp.mesh_generator]
-\end_layout
-
-\begin_layout LyX-Code
-reader = pylith.meshio.MeshIOCubit
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-
-\end_layout
-
-\begin_layout LyX-Code
-[pylithapp.mesh_generator.reader]
-\end_layout
-
-\begin_layout LyX-Code
-filename = mesh/box_hex8_1000m.exo
-\end_layout
-
-\begin_layout Standard
-This example differs from some earlier examples, because we specify two
- material groups:
-\end_layout
-
-\begin_layout LyX-Code
-[pylithapp.timedependent]
-\end_layout
-
-\begin_layout LyX-Code
-materials = [upper_crust,lower_crust]
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-
-\end_layout
-
-\begin_layout LyX-Code
-[pylithapp.timedependent.materials.upper_crust]
-\end_layout
-
-\begin_layout LyX-Code
-label = Upper crust material
-\end_layout
-
-\begin_layout LyX-Code
-id = 1
-\end_layout
-
-\begin_layout LyX-Code
-db.iohandler.filename = spatialdb/mat_elastic.spatialdb
-\end_layout
-
-\begin_layout LyX-Code
-quadrature.cell = pylith.feassemble.FIATLagrange
-\end_layout
-
-\begin_layout LyX-Code
-quadrature.cell.dimension = 3
-\begin_inset Newline newline
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-
-\end_layout
-
-\begin_layout LyX-Code
-[pylithapp.timedependent.materials.lower_crust]
-\end_layout
-
-\begin_layout LyX-Code
-label = Lower crust material
-\end_layout
-
-\begin_layout LyX-Code
-id = 2
-\end_layout
-
-\begin_layout LyX-Code
-db.iohandler.filename = spatialdb/mat_elastic.spatialdb
-\end_layout
-
-\begin_layout LyX-Code
-quadrature.cell = pylith.feassemble.FIATLagrange
-\end_layout
-
-\begin_layout LyX-Code
-quadrature.cell.dimension = 3
-\end_layout
-
-\begin_layout Standard
-The two material groups correspond to the two different colored regions
- in Figure 
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "fig:3dhex8-mesh"
-
-\end_inset
-
-.
- Using two material groups allows us to specify different material types
- or material variations for the upper crust and lower crust, if desired.
- For now, we retain the default 
-\family typewriter
-ElasticIsotropic3D
-\family default
- material type for both materials.
- This behavior will be overridden by example-specific
-\family typewriter
-.cfg
-\family default
- files in some of the examples.
- Although the material groups are specified in 
-\family typewriter
-pylithapp.cfg
-\family default
-, the physical properties for the material models are given in 
-\family typewriter
-spatialdb/
-\begin_inset Newline linebreak
-\end_inset
-
-mat_elastic.spatialdb
-\family default
-.
- This spatial database provides values at a single point, resulting in uniform
- properties within the material.
-\end_layout
-
-\begin_layout Subsection
-Example Problems
-\end_layout
-
-\begin_layout Standard
-The example problems are divided into categories that roughly correspond
- to simple static problems, quasi-static problems, problems involving fault
- friction, and problems where gravity is used.
- For the most part, each successive example involves just adding or changing
- a few parameters from the previous example.
- For this reason, it is advisable to go through each example in order, starting
- with the simplest (static problems).
-\end_layout
-
-\begin_layout Standard
-\begin_inset CommandInset include
-LatexCommand input
-filename "static/static.lyx"
-
-\end_inset
-
-
-\begin_inset CommandInset include
-LatexCommand input
-filename "quasistatic/quasistatic.lyx"
-
-\end_inset
-
-
-\begin_inset CommandInset include
-LatexCommand input
-filename "friction/friction.lyx"
-
-\end_inset
-
-
-\begin_inset CommandInset include
-LatexCommand input
-filename "gravity/gravity.lyx"
-
-\end_inset
-
-
-\begin_inset CommandInset include
-LatexCommand input
-filename "surfload/surfload.lyx"
-
-\end_inset
-
-
-\begin_inset CommandInset include
-LatexCommand input
-filename "dike/dike.lyx"
-
-\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 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
+\bottommargin 2in
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\quotes_language english
+\papercolumns 1
+\papersides 1
+\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 Section
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Tutorial-3d-hex8"
+
+\end_inset
+
+Tutorials Using Hexahedral Mesh Created by CUBIT
+\end_layout
+
+\begin_layout Standard
+PyLith features discussed in this set of tutorials:
+\end_layout
+
+\begin_layout Itemize
+Static solution
+\end_layout
+
+\begin_layout Itemize
+Quasi-static solution
+\end_layout
+
+\begin_layout Itemize
+Running a different problem type
+\end_layout
+
+\begin_layout Itemize
+Green's function generation
+\end_layout
+
+\begin_layout Itemize
+CUBIT mesh format
+\end_layout
+
+\begin_layout Itemize
+Trilinear hexahedral cells
+\end_layout
+
+\begin_layout Itemize
+VTK output
+\end_layout
+
+\begin_layout Itemize
+HDF5 output
+\end_layout
+
+\begin_layout Itemize
+Interpolated point output
+\end_layout
+
+\begin_layout Itemize
+Dirichlet displacement and velocity boundary conditions
+\end_layout
+
+\begin_layout Itemize
+Neumann traction boundary conditions and time-varying tractions
+\end_layout
+
+\begin_layout Itemize
+ZeroDispDB spatial database
+\end_layout
+
+\begin_layout Itemize
+SimpleDB spatial database
+\end_layout
+
+\begin_layout Itemize
+UniformDB spatial database
+\end_layout
+
+\begin_layout Itemize
+Static fault rupture
+\end_layout
+
+\begin_layout Itemize
+Multiple kinematic fault ruptures
+\end_layout
+
+\begin_layout Itemize
+Kinematic fault impulses
+\end_layout
+
+\begin_layout Itemize
+Specifying more than one material
+\end_layout
+
+\begin_layout Itemize
+Nonlinear solver
+\end_layout
+
+\begin_layout Itemize
+Linearly elastic isotropic material
+\end_layout
+
+\begin_layout Itemize
+Maxwell linear viscoelastic material
+\end_layout
+
+\begin_layout Itemize
+Generalized Maxwell linear viscoelastic material
+\end_layout
+
+\begin_layout Itemize
+Power-law viscoelastic material
+\end_layout
+
+\begin_layout Itemize
+Drucker-Prager elastoplastic material
+\end_layout
+
+\begin_layout Itemize
+Adaptive time stepping
+\end_layout
+
+\begin_layout Itemize
+Static fault friction
+\end_layout
+
+\begin_layout Itemize
+Slip-weakening fault friction
+\end_layout
+
+\begin_layout Itemize
+Rate-and-state fault friction
+\end_layout
+
+\begin_layout Itemize
+Gravitational body forces
+\end_layout
+
+\begin_layout Itemize
+Initial stresses
+\end_layout
+
+\begin_layout Itemize
+Finite strain
+\end_layout
+
+\begin_layout Standard
+All of the files necessary to run the examples are contained in the directory
+ 
+\family typewriter
+examples/3d/hex8
+\family default
+.
+\end_layout
+
+\begin_layout Subsection
+Overview
+\end_layout
+
+\begin_layout Standard
+This tutorial is meant to demonstrate most of the important features of
+ PyLith as a quasi-static finite-element code, using a sequence of example
+ problems.
+ All problems use the same 3D hexahedral mesh generated using the CUBIT
+ 
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+cubit.sandia.gov
+\end_layout
+
+\end_inset
+
+ mesh generation package.
+ Each example builds on the previous examples, as we demonstrate new features.
+ As in the other examples, the files include extensive comments.
+ We start with the generation of the mesh, which is composed of 144 trilinear
+ hexahedra.
+ The tutorial demonstrates the usage of the CUBIT mesh generation package
+ to create a mesh, as well as describing how to use a CUBIT-generated mesh
+ in PyLith.
+ Following the discussion of how to generate the mesh, we discuss the 
+\family typewriter
+pylithapp.cfg
+\family default
+ file, which contains information common to all the simulations.
+ We group the examples into four sections, each pertaining to a particular
+ set of PyLith features.
+ We suggest users go through each of these sections in order as the complexity
+ increases at each step.
+ 
+\end_layout
+
+\begin_layout Subsection
+Mesh Generation and Description
+\end_layout
+
+\begin_layout Standard
+The mesh for these examples is a simple rectangular solid (Figure 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:3dhex8-mesh"
+
+\end_inset
+
+).
+ Although it would be possible to generate this mesh by hand, it is much
+ simpler to use a mesh generation package, and we use CUBIT for this example.
+ We provide documented journal files in 
+\family typewriter
+examples/3d/hex8/mesh.
+
+\family default
+ Dissection of these journal files should provide some insight into how
+ to use CUBIT with PyLith.
+ For more detailed information on using CUBIT, refer to the CUBIT documentation
+ 
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+cubit.sandia.gov
+\end_layout
+
+\end_inset
+
+.
+ If you have CUBIT installed on your machine, you can use the journal files
+ to create your own mesh.
+ Otherwise, you can use the mesh that has already been created.
+\end_layout
+
+\begin_layout Standard
+If you are using CUBIT to generate your own mesh, there are two ways to
+ use the journal files.
+ The simplest method is to go to the
+\family sans
+ Tools
+\family default
+ menu, select 
+\family sans
+Play Journal File
+\family default
+, and then select the file 
+\family typewriter
+mesh_hex8_1000m.jou
+\family default
+.
+ This will run the commands in that file as well as the commands in 
+\family typewriter
+geometry.jou
+\family default
+, which is referenced from 
+\family typewriter
+mesh_hex8_1000m.jou
+\family default
+.
+ Prior to doing this, you should set your directory to the one containing
+ the journal files.
+ This method will create the mesh, but you will gain very little insight
+ into what is being done.
+ A more informative approach is to input each journal command into the CUBIT
+ command window directly.
+ That way, you will see what each command does.
+ The first command in 
+\family typewriter
+mesh_hex8_1000m.jou
+\family default
+ is 
+\family typewriter
+`playback
+\family default
+ 
+\family typewriter
+geometry.jou
+\family default
+', so you should start with the commands in 
+\family typewriter
+geometry.jou
+\family default
+.
+ The first three commands, which define the block shape, are
+\end_layout
+
+\begin_layout LyX-Code
+reset
+\end_layout
+
+\begin_layout LyX-Code
+brick x 6000 y 6000 z 4000
+\end_layout
+
+\begin_layout LyX-Code
+volume 1 move x 0 y 0 z -2000
+\end_layout
+
+\begin_layout Standard
+Continuing through the remainder of the commands in 
+\family typewriter
+geometry.jou
+\family default
+, and then using the additional commands in 
+\family typewriter
+mesh_hex8_1000m.jou
+\family default
+, you will eventually end up with the file 
+\family typewriter
+box_hex8_1000m.exo
+\family default
+, which contains all of the mesh information.
+ This information is similar to that included in PyLith mesh ASCII format,
+ but the information is contained in an Exodus file, which is a specialized
+ netCDF file.
+ If you have the 
+\family typewriter
+ncdump
+\family default
+ command available, you can see what is in the file by typing:
+\end_layout
+
+\begin_layout LyX-Code
+ncdump box_hex8_1000m.exo
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+	filename figs/hex8-mesh.jpg
+	lyxscale 50
+	scale 33
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+Mesh composed of trilinear hexahedral cells generated by CUBIT used for
+ the suite of example problems.
+ The different colors represent the two different materials.
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:3dhex8-mesh"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Additional Common Information
+\end_layout
+
+\begin_layout Standard
+In addition to the mesh, the example problems share other information.
+ As in previous examples, we place this information in 
+\family typewriter
+pylithapp.cfg
+\family default
+.
+ Since these examples use a mesh from CUBIT, in this file we set the importer
+ to 
+\family typewriter
+MeshIOCubit
+\family default
+:
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.mesh_generator]
+\end_layout
+
+\begin_layout LyX-Code
+reader = pylith.meshio.MeshIOCubit
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Newline newline
+\end_inset
+
+
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.mesh_generator.reader]
+\end_layout
+
+\begin_layout LyX-Code
+filename = mesh/box_hex8_1000m.exo
+\end_layout
+
+\begin_layout Standard
+This example differs from some earlier examples, because we specify two
+ material groups:
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.timedependent]
+\end_layout
+
+\begin_layout LyX-Code
+materials = [upper_crust,lower_crust]
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Newline newline
+\end_inset
+
+
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.timedependent.materials.upper_crust]
+\end_layout
+
+\begin_layout LyX-Code
+label = Upper crust material
+\end_layout
+
+\begin_layout LyX-Code
+id = 1
+\end_layout
+
+\begin_layout LyX-Code
+db.iohandler.filename = spatialdb/mat_elastic.spatialdb
+\end_layout
+
+\begin_layout LyX-Code
+quadrature.cell = pylith.feassemble.FIATLagrange
+\end_layout
+
+\begin_layout LyX-Code
+quadrature.cell.dimension = 3
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset Newline newline
+\end_inset
+
+
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.timedependent.materials.lower_crust]
+\end_layout
+
+\begin_layout LyX-Code
+label = Lower crust material
+\end_layout
+
+\begin_layout LyX-Code
+id = 2
+\end_layout
+
+\begin_layout LyX-Code
+db.iohandler.filename = spatialdb/mat_elastic.spatialdb
+\end_layout
+
+\begin_layout LyX-Code
+quadrature.cell = pylith.feassemble.FIATLagrange
+\end_layout
+
+\begin_layout LyX-Code
+quadrature.cell.dimension = 3
+\end_layout
+
+\begin_layout Standard
+The two material groups correspond to the two different colored regions
+ in Figure 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:3dhex8-mesh"
+
+\end_inset
+
+.
+ Using two material groups allows us to specify different material types
+ or material variations for the upper crust and lower crust, if desired.
+ For now, we retain the default 
+\family typewriter
+ElasticIsotropic3D
+\family default
+ material type for both materials.
+ This behavior will be overridden by example-specific
+\family typewriter
+.cfg
+\family default
+ files in some of the examples.
+ Although the material groups are specified in 
+\family typewriter
+pylithapp.cfg
+\family default
+, the physical properties for the material models are given in 
+\family typewriter
+spatialdb/
+\begin_inset Newline linebreak
+\end_inset
+
+mat_elastic.spatialdb
+\family default
+.
+ This spatial database provides values at a single point, resulting in uniform
+ properties within the material.
+\end_layout
+
+\begin_layout Subsection
+Example Problems
+\end_layout
+
+\begin_layout Standard
+The example problems are divided into categories that roughly correspond
+ to simple static problems, quasi-static problems, problems involving fault
+ friction, and problems where gravity is used.
+ For the most part, each successive example involves just adding or changing
+ a few parameters from the previous example.
+ For this reason, it is advisable to go through each example in order, starting
+ with the simplest (static problems).
+\end_layout
+
+\begin_layout Standard
+\begin_inset CommandInset include
+LatexCommand input
+filename "static/static.lyx"
+
+\end_inset
+
+
+\begin_inset CommandInset include
+LatexCommand input
+filename "quasistatic/quasistatic.lyx"
+
+\end_inset
+
+
+\begin_inset CommandInset include
+LatexCommand input
+filename "friction/friction.lyx"
+
+\end_inset
+
+
+\begin_inset CommandInset include
+LatexCommand input
+filename "gravity/gravity.lyx"
+
+\end_inset
+
+
+\begin_inset CommandInset include
+LatexCommand input
+filename "surfload/surfload.lyx"
+
+\end_inset
+
+
+\begin_inset CommandInset include
+LatexCommand input
+filename "dike/dike.lyx"
+
+\end_inset
+
+
+\begin_inset CommandInset include
+LatexCommand input
+filename "greensfns/greensfns.lyx"
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document

Added: short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/3dhex8/greensfns/figs/step21_impulse_resp.png
===================================================================
(Binary files differ)


Property changes on: short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/3dhex8/greensfns/figs/step21_impulse_resp.png
___________________________________________________________________
Added: svn:mime-type
   + image/png

Added: short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/3dhex8/greensfns/greensfns.lyx
===================================================================
--- short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/3dhex8/greensfns/greensfns.lyx	                        (rev 0)
+++ short/3D/PyLith/branches/v1.7-trunk/doc/userguide/tutorials/3dhex8/greensfns/greensfns.lyx	2013-06-18 00:53:53 UTC (rev 22356)
@@ -0,0 +1,445 @@
+#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 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
+\bottommargin 2in
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\quotes_language english
+\papercolumns 1
+\papersides 1
+\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 Subsection
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Tutorial-3d-hex8-greensfns"
+
+\end_inset
+
+Green's Functions Generation Example
+\end_layout
+
+\begin_layout Standard
+PyLith features discussed in this tutorial:
+\end_layout
+
+\begin_layout Itemize
+Generation of Green's functions from a fault
+\end_layout
+
+\begin_layout Itemize
+Kinematic fault impulses
+\end_layout
+
+\begin_layout Itemize
+Running a different problem type
+\end_layout
+
+\begin_layout Itemize
+Dirichlet boundary conditions
+\end_layout
+
+\begin_layout Itemize
+Elastic material
+\end_layout
+
+\begin_layout Itemize
+HDF5 output
+\end_layout
+
+\begin_layout Itemize
+Interpolated point output
+\end_layout
+
+\begin_layout Subsubsection
+Overview
+\end_layout
+
+\begin_layout Standard
+This example describes a problem where we generate a set of Green's functions
+ that could be used in an inversion.
+ The example is contained in the directory 
+\family typewriter
+examples/3d/hex8
+\family default
+, and the corresponding 
+\family typewriter
+.cfg
+\family default
+ file is 
+\family typewriter
+step21.cfg
+\family default
+.
+ The example may be run as follows:
+\end_layout
+
+\begin_layout LyX-Code
+pylith step21.cfg --problem=pylith.problems.GreensFns
+\end_layout
+
+\begin_layout Standard
+This will cause PyLith to read the default parameters in 
+\family typewriter
+pylithapp.cfg
+\family default
+ and 
+\family typewriter
+greensfns.cfg
+\family default
+, and then override or augment them with the additional parameters in the
+ 
+\family typewriter
+step21.cfg
+\family default
+ file.
+ The 
+\family typewriter
+.cfg
+\family default
+ files are extensively documented, to provide detailed information on the
+ various parameters.
+\end_layout
+
+\begin_layout Subsubsection
+Step21 - Green's Function Generation
+\end_layout
+
+\begin_layout Standard
+This problem makes use of two 
+\family typewriter
+.cfg
+\family default
+ files that are read by default -- 
+\family typewriter
+pylithapp.cfg
+\family default
+ and 
+\family typewriter
+greensfns.cfg
+\family default
+.
+ The 
+\family typewriter
+greensfns.cfg
+\family default
+ file is read automatically because we have changed the problem type to
+ 
+\family typewriter
+GreensFns
+\family default
+ (as opposed to the default 
+\family typewriter
+TimeDependent
+\family default
+ problem type).
+ The facility name then becomes 
+\family typewriter
+greensfns
+\family default
+, and PyLith will therefore search for a 
+\family typewriter
+.cfg
+\family default
+ file matching the name of the facility.
+ The 
+\family typewriter
+greensfns.cfg
+\family default
+ file contains settings that are specific to the 
+\family typewriter
+GreensFns
+\family default
+ problem type:
+\end_layout
+
+\begin_layout LyX-Code
+[greensfns]
+\end_layout
+
+\begin_layout LyX-Code
+fault_id = 10
+\end_layout
+
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+[greensfns.interfaces]
+\end_layout
+
+\begin_layout LyX-Code
+fault = pylith.faults.FaultCohesiveImpulses
+\end_layout
+
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+[greensfns.interfaces.fault]
+\end_layout
+
+\begin_layout LyX-Code
+impulse_dof = [0, 1]
+\end_layout
+
+\begin_layout LyX-Code
+db_impulse_amplitude.label = Amplitude of slip impulses
+\end_layout
+
+\begin_layout LyX-Code
+db_impulse_amplitude.iohandler.filename = spatialdb/impulse_amplitude.spatialdb
+\end_layout
+
+\begin_layout LyX-Code
+db_impulse_amplitude.query_type = nearest 
+\end_layout
+
+\begin_layout Standard
+We specify the 
+\family typewriter
+fault_id
+\family default
+, which is required by the 
+\family typewriter
+GreensFns
+\family default
+ problem type (it is the same as the ID used when generating the mesh).
+ We also change the fault type to 
+\family typewriter
+FaultCohesiveImpulses
+\family default
+, which allows us to apply a single impulse of slip for each impulse with
+ a nonzero slip value in the corresponding 
+\family typewriter
+spatialdb
+\family default
+ file (
+\family typewriter
+spatialdb/impulse_amplitude.spatialdb
+\family default
+).
+ We indicate that we would like to apply slip impulses in both the left-lateral
+ (
+\family typewriter
+impulse_dof
+\family default
+ = 0) and updip (
+\family typewriter
+impulse_dof
+\family default
+ = 1) directions, and we use nearest-neighbor interpolation to determine
+ the amount of applied slip.
+ Note that in the 
+\family typewriter
+spatialdb/impulse_amplitude.spatialdb
+\family default
+ file we specify negative slip, thus reversing the sense of applied slip
+ for both slip directions.
+ Note that we also put a margin of zeros around the edge of the fault, which
+ prevents impulses from being applied along this boundary.
+\end_layout
+
+\begin_layout Standard
+The 
+\family typewriter
+step21.cfg
+\family default
+ file defines the remainder of the parameters for this problem.
+ The boundary conditions and fault information are provided as for previous
+ examples.
+ Rather than computing the solution over the ground surface, we choose to
+ provide output at a set of points.
+ PyLith provides the ability to interpolate displacements to a specified
+ set of points, which would generally be necessary when generating Green's
+ functions:
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.problem.formulation]
+\end_layout
+
+\begin_layout LyX-Code
+output = [domain,points]
+\end_layout
+
+\begin_layout LyX-Code
+output.points = pylith.meshio.OutputSolnPoints
+\end_layout
+
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.problem.formulation.output.points]
+\end_layout
+
+\begin_layout LyX-Code
+writer = pylith.meshio.DataWriterHDF5Mesh
+\end_layout
+
+\begin_layout LyX-Code
+writer.filename = output/step21-points.h5
+\end_layout
+
+\begin_layout LyX-Code
+reader.filename = greensfns_points.txt
+\end_layout
+
+\begin_layout LyX-Code
+coordsys.space_dim = 3
+\end_layout
+
+\begin_layout LyX-Code
+coordsys.units = m
+\end_layout
+
+\begin_layout Standard
+We first define 
+\family typewriter
+OutputSolnPoints
+\family default
+ as the output manager for points output.
+ We use HDF5 output for all of the Green's function output, as it will generally
+ be more efficient (faster I/O, smaller file sizes).
+ We must provide a set of points for point output.
+ The file 
+\family typewriter
+greensfns_points.txt
+\family default
+ contains a set of (x,y,z) coordinates.
+ We must also provide the spatial dimension of the coordinates as well as
+ the units used.
+ Note that we do not output any info or data fields for state variable output,
+ as this would otherwise create a large amount of output for each applied
+ slip impulse.
+ When we have run the simulation, the output HDF5 files will be contained
+ in 
+\family typewriter
+examples/3d/hex8/output
+\family default
+ (all with a prefix of 
+\family typewriter
+step21
+\family default
+).
+ In Figure 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:step21-imp-resp"
+
+\end_inset
+
+ we show an impulse of left-lateral slip applied on the fault and the resulting
+ response at the specified set of points.
+ The time corresponds to the impulse number in multiples of the specified
+ time step size.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+	filename figs/step21_impulse_resp.png
+	lyxscale 50
+	width 10cm
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+A slip impulse and the resulting point displacement responses visualized
+ using ParaView.
+ 
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:step21-imp-resp"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document



More information about the CIG-COMMITS mailing list