[cig-commits] r16835 - in short/3D/PyLith/trunk/doc/userguide/tutorials: . shearwave

brad at geodynamics.org brad at geodynamics.org
Sat May 29 21:14:47 PDT 2010


Author: brad
Date: 2010-05-29 21:14:47 -0700 (Sat, 29 May 2010)
New Revision: 16835

Added:
   short/3D/PyLith/trunk/doc/userguide/tutorials/shearwave/
   short/3D/PyLith/trunk/doc/userguide/tutorials/shearwave/tri3.lyx
Modified:
   short/3D/PyLith/trunk/doc/userguide/tutorials/tutorials.lyx
Log:
Started work on shearwave tutorials.

Added: short/3D/PyLith/trunk/doc/userguide/tutorials/shearwave/tri3.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/tutorials/shearwave/tri3.lyx	                        (rev 0)
+++ short/3D/PyLith/trunk/doc/userguide/tutorials/shearwave/tri3.lyx	2010-05-30 04:14:47 UTC (rev 16835)
@@ -0,0 +1,388 @@
+#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
+\lyxformat 345
+\begin_document
+\begin_header
+\textclass book
+\begin_preamble
+
+\end_preamble
+\use_default_options false
+\language english
+\inputencoding latin1
+\font_roman default
+\font_sans default
+\font_typewriter default
+\font_default_family default
+\font_sc false
+\font_osf false
+\font_sf_scale 100
+\font_tt_scale 100
+
+\graphics default
+\paperfontsize default
+\spacing single
+\use_hyperref false
+\papersize default
+\use_geometry true
+\use_amsmath 0
+\use_esint 0
+\cite_engine basic
+\use_bibtopic false
+\paperorientation portrait
+\leftmargin 1in
+\topmargin 1in
+\rightmargin 1in
+\bottommargin 1in
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\defskip medskip
+\quotes_language english
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tracking_changes false
+\output_changes false
+\author "" 
+\author "" 
+\end_header
+
+\begin_body
+
+\begin_layout Section
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Tutorial-shearwave-tri3"
+
+\end_inset
+
+2-D Bar Discretized with Triangles
+\end_layout
+
+\begin_layout Standard
+PyLith features discussed in this tutorial:
+\end_layout
+
+\begin_layout Itemize
+Dynamic solution
+\end_layout
+
+\begin_layout Itemize
+CUBIT format
+\end_layout
+
+\begin_layout Itemize
+Absorbing dampers boundary conditions
+\end_layout
+
+\begin_layout Itemize
+Kinematic fault interface conditions
+\end_layout
+
+\begin_layout Itemize
+Plane strain linearly elastic material
+\end_layout
+
+\begin_layout Itemize
+VTK output
+\end_layout
+
+\begin_layout Itemize
+Linear triangular cells
+\end_layout
+
+\begin_layout Itemize
+SimpleDB spatial database
+\end_layout
+
+\begin_layout Itemize
+ZeroDispDB spatial database
+\end_layout
+
+\begin_layout Subsection
+Mesh Generation
+\end_layout
+
+\begin_layout Standard
+The mesh is a simple rectangle 8 km by 400 m (Figure 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:shearwave-tri3-mesh"
+
+\end_inset
+
+).
+ This mesh could be generated via a simple script, but it is even easier
+ to generate this mesh using CUBIT.
+ We provide documented journal files in 
+\family typewriter
+examples/bar_shearwave/tri3.
+
+\family default
+ We first create the geometry, mesh the domain using triangular cells, and
+ then create blocks and nodesets to associated the cells and vertices with
+ materials and boundary conditions.
+ See Section ?? for more information on using CUBIT to generate meshes.
+\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/tri3_mesh.jpg
+	lyxscale 50
+	scale 45
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+Mesh composed of triangular cells generated by CUBIT used for the example
+ problem.
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:shearwave:tri3:mesh-1"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+This tutorial is the simplest 2D example of a quasi-static finite element
+ problem (a simpler problem would consist of a 1D bar).
+ It is a mesh composed of two linear triangles subject to displacement boundary
+ conditions, assuming plane-strain linear elastic behavior.
+ Due to the simple geometry of the problem, the mesh may be constructed
+ by hand, using PyLith mesh ASCII format.
+ In this tutorial, we will walk through the steps necessary to construct,
+ run, and view three problems that use the same mesh.
+ In addition to this manual, each of the files for the example problem includes
+ extensive comments.
+\end_layout
+
+\begin_layout Subsection
+Simulation Parameters
+\end_layout
+
+\begin_layout Standard
+All of the parameters are set in the pylithapp.cfg file.
+ The structure of the file follows the same pattern as the other examples.
+ We first turn on some journal information so that we can view the progress
+ of the simulation followed by the parameters for the mesh reader, problem,
+ materials, boundary conditions, fault, and output.
+ We change the time stepping formulation from the default value of implicit
+ time stepping to explicit time stepping by setting the formulation object
+ via
+\end_layout
+
+\begin_layout LyX-Code
+formulation = pylith.problems.Explicit
+\end_layout
+
+\begin_layout Standard
+and can change to explicit time stepping with a lumped Jacobian matrix (rather
+ than the full Jacobian matrix) by changing 
+\family typewriter
+Explicit
+\family default
+ to 
+\family typewriter
+ExplicitLumped
+\family default
+.
+ Using the 
+\family typewriter
+ExplicitLumped
+\family default
+ object automatically triggers lumping of the Jacobian cell matrices and
+ assembly into a vector rather than a sparse matrix.
+ Lumping the Jacobian decouples the equations, so we can use a very simple
+ direct solver.
+ Selection of this simple solver is also triggered by the selection of the
+ 
+\family typewriter
+ExplicitLumped
+\family default
+ object.
+ 
+\end_layout
+
+\begin_layout Standard
+For dynamic problems we use the NondimElasticDynamic object to nondimensionalize
+ the equations.
+ This object provides scales associated with wave propagation for nondimensional
+ization, including the period of the wave, the shear wave speed, and mass
+ density.
+ In this example we use the default values.
+ We simulation 12.0 s of motion with a time step of 1/30 s.
+ This time step must follow the CFL condition; that is, the time step must
+ be smaller than the time it takes the P wave to propagate across the shortest
+ edge of a cell.
+\end_layout
+
+\begin_layout Standard
+The boundary conditions include the absorbing dampers at the ends of the
+ bar and a Dirichlet boundary condition to prevent longitudinal motion.
+ Because we cannot overlap the Dirichlet BC with the fault, we use the nodeset
+ associated with all vertices except the fault.
+\end_layout
+
+\begin_layout Standard
+The files containing common information (
+\family typewriter
+twotri3.mesh
+\family default
+, 
+\family typewriter
+pylithapp.cfg
+\family default
+, 
+\family typewriter
+matprops.spatialdb
+\family default
+) along with the problem-specific files (
+\family typewriter
+axialdisp.cfg
+\family default
+, 
+\family typewriter
+axialdisp.spatialdb
+\family default
+) provide a complete description of the problem, and we can then run this
+ example by typing
+\end_layout
+
+\begin_layout LyX-Code
+pylith
+\end_layout
+
+\begin_layout Standard
+Once the problem has run, three files will be produced.
+ The first file is named 
+\family typewriter
+axialdisp_t0000000.vtk
+\family default
+.
+ The 
+\family typewriter
+t0000000
+\family default
+ indicates that the output is for the first (and only) time step, corresponding
+ to an elastic solution.
+ This file contains mesh information as well as displacement values at the
+ mesh vertices.
+ The second file is named 
+\family typewriter
+axialdisp-statevars_t0000000.vtk
+\family default
+.
+ This file contains the state variables for each cell.
+ The default fields are the total strain and stress fields.
+ Since the cells are linear triangles, there is a single quadrature point
+ for each cell and thus a single set of stress and strain values for each
+ cell.
+ The final file (
+\family typewriter
+axialdisp-statevars_info.vtk
+\family default
+) gives the material properties used for the problem.
+ Since we have not specified which properties to write, the default properties
+ (
+\family typewriter
+mu
+\family default
+, 
+\family typewriter
+lambda
+\family default
+, 
+\family typewriter
+density
+\family default
+) are written.
+ All of the 
+\family typewriter
+.vtk
+\family default
+ files may be used with a number of visualization packages.
+ If the problem ran correctly, you should be able to generate a figure such
+ as Figure 
+\begin_inset CommandInset ref
+LatexCommand vref
+reference "fig:twotri3-axial"
+
+\end_inset
+
+, which was generated using ParaView.
+\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/axialdisp.jpg
+	lyxscale 50
+	scale 50
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+Color contours and vectors of displacement for the axial displacement example
+ using a mesh composed of two linear triangular cells.
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:twotri3-axial"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document

Modified: short/3D/PyLith/trunk/doc/userguide/tutorials/tutorials.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/tutorials/tutorials.lyx	2010-05-30 03:20:23 UTC (rev 16834)
+++ short/3D/PyLith/trunk/doc/userguide/tutorials/tutorials.lyx	2010-05-30 04:14:47 UTC (rev 16835)
@@ -1,4 +1,4 @@
-#LyX 1.6.4 created this file. For more info see http://www.lyx.org/
+#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
 \lyxformat 345
 \begin_document
 \begin_header
@@ -222,191 +222,72 @@
 
 \end_layout
 
-\begin_layout Subsection
-ADD bar_shearwave
+\begin_layout Section
+Shear Wave in a Square Bar
 \end_layout
 
-\begin_layout Section
-Additional Examples
+\begin_layout Standard
+This suite of examples focuses on the dynamics of a shear wave propagating
+ down an 8 km long bar with a 400 m wide cross-section.
+ Motion is limited to shear deformation by fixing the longitudinal degree
+ of freedom.
+ For each cell type (tri3, quad4, tet4, and hex8) we generate a shear wave
+ using a kinematic fault rupture with simultaneous slip over the fault surface,
+ which we place at the center of the bar.
+ The discretization size is 200 m in all cases.
+ The slip time histories follows the integral of Brune's far-field time
+ function with slip initiating at 0.1 s, a left-lateral final slip of 1.0
+ m, a rise time of 2.0 s.
+ The shear wave speed in the bar is 1 km/s, so the shear wave reaches each
+ end of the bar at 4.1 s.
+ Absorbing boundaries on the ends of the bar prevent significant reflections.
+ The bar comes to a rest with a static offset.
 \end_layout
 
 \begin_layout Standard
-The 
-\family typewriter
-examples
-\family default
- directory also contains other examples which are not described in this
- chapter.
- The files associated with these examples contain comments to explain the
- problems they solve.
- Once you understand the examples described in detail in the previous sections
- of this chapter, you should have little trouble understanding these additional
- ones.
- Currently, these problems are very simple cases of using dynamic time stepping
- with absorbing boundaries to simulate shear wave propagation in a 2D or
- 3D bar.
- More complex examples of wave propagation problems will be included in
- future releases.
+For the bar discretized with quad4 cells we also consider the fault subjected
+ to frictional sliding controlled by static friction, linear slip-weakening
+ friction, or rate- and state-friction.
+ We use initial tractions applied to the fault to drive the dislocation
+ and generate the shear wave.
+ Because the fault tractions are constant in time, they continue to drive
+ the motion even after the shear wave reaches the absorbing boundary, leading
+ to a steady state solution with uniform shear deformation in the bar with
+ a constant slip rate dislocation.
  
 \end_layout
 
 \begin_layout Standard
-\noindent
-\align center
-\begin_inset Float table
-placement H
-wide false
-sideways false
-status open
+\begin_inset CommandInset include
+LatexCommand input
+filename "shearwave/tri3.lyx"
 
-\begin_layout Plain Layout
-\align center
-\begin_inset Tabular
-<lyxtabular version="3" rows="5" columns="2">
-<features>
-<column alignment="left" valignment="top" width="1.75in">
-<column alignment="left" valignment="top" width="4in">
-<row>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\series bold
-Directory
-\end_layout
-
 \end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
 
-\begin_layout Plain Layout
 
-\series bold
-Description
 \end_layout
 
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\family typewriter
-bar_shearwave/tri3
+\begin_layout Section
+Additional Examples
 \end_layout
 
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-Wave propagation in a 2D bar discretized with triangular cells
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
+\begin_layout Standard
+The 
 \family typewriter
-bar_shearwave/quad4
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-Wave propagation in a 2D bar discretized with quadrilateral cells
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
+examples
+\family default
+ directory also contains an example of using PyLith to compute Green's functions
+ associated with fault slip at points on a fault surface in the 
 \family typewriter
-bar_shearwave/tet4
+greensfns
+\family default
+ directory.
+ The files associated with this example contain comments to explain how
+ the simulation is setup.
+ Once you understand the examples described in detail in the previous sections
+ of this chapter, you should have little trouble understanding these additional
+ ones.
 \end_layout
 
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-Wave propagation in a 3D bar discretized with tetrahedral cells
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-
-\family typewriter
-bar_shearwave/hex8
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Plain Layout
-Wave propagation in a 3D bar discretized with hexahedral cells
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Plain Layout
-\begin_inset Caption
-
-\begin_layout Plain Layout
-\begin_inset CommandInset label
-LatexCommand label
-name "tab:additional:examples"
-
-\end_inset
-
-Additional examples distributed with the PyLith source code.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
 \end_body
 \end_document



More information about the CIG-COMMITS mailing list