[cig-commits] r11460 - in short/3D/PyLith/trunk/doc/userguide/tutorials: . 3dhex8 3dhex8/figs
willic3 at geodynamics.org
willic3 at geodynamics.org
Mon Mar 17 12:29:21 PDT 2008
Author: willic3
Date: 2008-03-17 12:29:20 -0700 (Mon, 17 Mar 2008)
New Revision: 11460
Added:
short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/
short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/3dhex8.lyx
short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/figs/
short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/figs/dislocation.jpg
short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/figs/hex8-mesh.jpg
short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/figs/shear.jpg
Modified:
short/3D/PyLith/trunk/doc/userguide/tutorials/tutorials.lyx
Log:
Added tutorial for the 3D hex8 example using CUBIT.
Added: short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/3dhex8.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/3dhex8.lyx (rev 0)
+++ short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/3dhex8.lyx 2008-03-17 19:29:20 UTC (rev 11460)
@@ -0,0 +1,1159 @@
+#LyX 1.5.3 created this file. For more info see http://www.lyx.org/
+\lyxformat 276
+\begin_document
+\begin_header
+\textclass book
+\begin_preamble
+
+\end_preamble
+\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
+\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 2in
+\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 LatexCommand label
+name "sec:Tutorial-3d-hex8"
+
+\end_inset
+
+Tutorial Using Hexahedral Mesh Created by CUBIT
+\end_layout
+
+\begin_layout Standard
+PyLith features discussed in this tutorial:
+\end_layout
+
+\begin_layout Itemize
+Quasi-static solution
+\end_layout
+
+\begin_layout Itemize
+CUBIT mesh format
+\end_layout
+
+\begin_layout Itemize
+Dirichlet boundary conditions
+\end_layout
+
+\begin_layout Itemize
+Kinematic fault interface conditions
+\end_layout
+
+\begin_layout Itemize
+Linearly elastic isotropic material
+\end_layout
+
+\begin_layout Itemize
+Specifying more than one material
+\end_layout
+
+\begin_layout Itemize
+VTK output
+\end_layout
+
+\begin_layout Itemize
+Trilinear hexahedral cells
+\end_layout
+
+\begin_layout Itemize
+SimpleDB spatial database
+\end_layout
+
+\begin_layout Itemize
+FixedDOFDB spatial database
+\end_layout
+
+\begin_layout Subsection
+Overview
+\end_layout
+
+\begin_layout Standard
+This tutorial is a simple 3D example of a quasi-static finite element problem.
+ It is a mesh composed of 144 trilinear hexahedra subject to displacement
+ boundary conditions.
+ This example demonstrates the usage of the CUBIT mesh generation package
+ [http://cubit.sandia.gov] to create a mesh, as well as describing how to
+ use a CUBIT-generated mesh in PyLith.
+ In this tutorial, we will walk through the steps necessary to construct,
+ run, and view two problems that use the same mesh.
+ In addition to this manual, each of the files for the example problems
+ include extensive comments.
+\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 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 the CUBIT mesh generation
+ package for this example.
+ For this simple example, we provide documented journal files in examples/3d/hex
+8.
+ Investigation 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 website
+ [http://cubit.sandia.gov].
+ 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 typewriter
+Tools
+\family default
+' menu, select '
+\family typewriter
+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 directory 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 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 geometry.jou, 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 includes all of the information 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
+This mesh may then be used for the examples described below.
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename figs/hex8-mesh.jpg
+ lyxscale 50
+ scale 45
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
+Mesh used for the two tetrahedra examples.
+ The different colors represent the two different material groups.
+\begin_inset 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 two example problems share additional information.
+ For problems of this type, it is generally useful to create a file named
+
+\family typewriter
+pylithapp.cfg
+\family default
+ in the run directory, since this file is read automatically every time
+ PyLith is run.
+ Settings specific to a particular problem may be placed in other
+\family typewriter
+.cfg
+\family default
+ files, as described later, and then those files are placed on the command
+ line.
+ The settings contained in
+\family typewriter
+pylithapp.cfg
+\family default
+ for this problem consist of:
+\end_layout
+
+\begin_layout Description
+pylithapp.journal.info Settings that control the verbosity of the output for
+ the different components.
+\end_layout
+
+\begin_layout Description
+pylithapp.mesh_generator Settings that control mesh importing, such as the
+ importer type, the filename, and the spatial dimension of the mesh.
+\end_layout
+
+\begin_layout Description
+pylithapp.timedependent Settings that control the problem, such as the total
+ time, time step size, and spatial dimension.
+\end_layout
+
+\begin_layout Description
+pylithapp.timedependent.materials Settings that control the material type,
+ specify which material IDs are to be associated with a particular material
+ type, and give the name of the spatial database containing material parameters
+ for the mesh.
+ The quadrature information is also given.
+\end_layout
+
+\begin_layout Description
+pylithapp.petsc PETSc settings to use for the problem, such as the preconditioner
+ type.
+\end_layout
+
+\begin_layout Standard
+Since these examples use CUBIT format, 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
+importer = pylith.meshio.MeshIOCubit
+\end_layout
+
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.mesh_generator.importer]
+\end_layout
+
+\begin_layout LyX-Code
+filename = box_hex8_1000m.exo
+\end_layout
+
+\begin_layout Standard
+This example differs from most other examples, because we specify two material
+ groups:
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.timedependent]
+\end_layout
+
+\begin_layout LyX-Code
+materials = [elastic_upper,elastic_lower]
+\end_layout
+
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.timedependent.materials.elastic_upper]
+\end_layout
+
+\begin_layout LyX-Code
+label = Upper elastic material
+\end_layout
+
+\begin_layout LyX-Code
+id = 1
+\end_layout
+
+\begin_layout LyX-Code
+db.iohandler.filename = mat_elastic.spatialdb
+\end_layout
+
+\begin_layout LyX-Code
+quadrature = pylith.feassemble.quadrature.Quadrature3D
+\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 LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.timedependent.materials.elastic_lower]
+\end_layout
+
+\begin_layout LyX-Code
+label = Lower elastic material
+\end_layout
+
+\begin_layout LyX-Code
+id = 2
+\end_layout
+
+\begin_layout LyX-Code
+db.iohandler.filename = mat_elastic.spatialdb
+\end_layout
+
+\begin_layout LyX-Code
+quadrature = pylith.feassemble.quadrature.Quadrature3D
+\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 colors in
+\begin_inset LatexCommand ref
+reference "fig:3dhex8-mesh"
+
+\end_inset
+
+.
+ In a more realistic example, we would have used a different database for
+ each material; however, for this simple example, all material properties
+ are contained in the file
+\family typewriter
+mat_elastic.spatialdb
+\family default
+.
+ Although the material groups are specified in
+\family typewriter
+pylithapp.cfg
+\family default
+, the physical properties for the material model are given in
+\family typewriter
+mat_elastic.spatialdb
+\family default
+.
+ For this example, values describing three-dimensional elastic material
+ properties are given at a single point, resulting in uniform material propertie
+s.
+\end_layout
+
+\begin_layout Subsection
+Shear Displacement Example
+\end_layout
+
+\begin_layout Standard
+The first example problem is shearing of the mesh along the y-direction,
+ with displacement boundary conditions applied on the planes corresponding
+ to the minimum and maximum x-values.
+ Parameter settings that override or augment those in
+\family typewriter
+pylithapp.cfg
+\family default
+ are contained in the file
+\family typewriter
+axialdisp.cfg
+\family default
+.
+ These settings are:
+\end_layout
+
+\begin_layout Description
+pylithapp.timedependent Specifies an implicit formulation for the problem
+ and specifies the array of boundary conditions.
+\end_layout
+
+\begin_layout Description
+pylithapp.timedependent.implicit Specifies an array of two output managers,
+ one for the full domain, and another for a subdomain corresponding to the
+ ground surface.
+\end_layout
+
+\begin_layout Description
+pylithapp.timedependent.bc.x_pos Specifies the boundary conditions for the
+ right side of the mesh, defining which degrees of freedom are being constrained
+ (
+\family typewriter
+x
+\family default
+, and
+\family typewriter
+ y
+\family default
+), providing the label (defined in
+\family typewriter
+box_hex8_1000m.exo
+\family default
+) defining the points desired, assigning a label to the boundary condition
+ set, and giving the name of the spatial database defining the boundary
+ conditions (
+\family typewriter
+fixeddisp_shear.spatialdb
+\family default
+).
+\end_layout
+
+\begin_layout Description
+pylithapp.timedependent.bc.x_neg Specifies the boundary conditions for the
+ left side of the mesh, defining which degrees of freedom are being constrained
+ (
+\family typewriter
+x
+\family default
+, and
+\family typewriter
+ y
+\family default
+), providing the label (defined in
+\family typewriter
+box_hex8_1000m.exo
+\family default
+) defining the points desired, assigning a label to the boundary condition
+ set, and giving the name of the spatial database defining the boundary
+ conditions (
+\family typewriter
+fixeddisp_shear.spatialdb
+\family default
+).
+\end_layout
+
+\begin_layout Description
+pylithapp.timedependent.bc.z_neg Specifies the boundary conditions for the
+ bottom of the mesh, defining which degrees of freedom are being constrained
+ (
+\family typewriter
+x
+\family default
+, and
+\family typewriter
+ y
+\family default
+), providing the label (defined in
+\family typewriter
+box_hex8_1000m.exo
+\family default
+) defining the points desired, assigning a label to the boundary condition
+ set, and giving the name of the spatial database defining the boundary
+ conditions (
+\family typewriter
+fixeddisp_shear.spatialdb
+\family default
+).
+\end_layout
+
+\begin_layout Description
+pylithapp.problem.formulation.output.domain.writer Gives the base filename for
+ VTK output over the entire domain (
+\family typewriter
+shearxy.vtk
+\family default
+).
+\end_layout
+
+\begin_layout Description
+pylithapp.problem.formulation.output.subdomain Gives the label of the nodeset
+ defining the subdomain and gives the base filename for VTK output over
+ the subdomain corresponding to the ground surface (
+\family typewriter
+shearxy-groundsurf.vtk
+\family default
+).
+\end_layout
+
+\begin_layout Description
+pylithapp.timedependent.materials.elastic_upper.output Gives the base filename
+ for state variable output files for the upper elastic material (
+\family typewriter
+shearxy-statevars-upper.vtk
+\family default
+), and cause state variables to be averaged over all quadrature points in
+ each cell.
+\end_layout
+
+\begin_layout Description
+pylithapp.timedependent.materials.elastic_lower.output Gives the base filename
+ for state variable output files for the lower elastic material (
+\family typewriter
+shearxy-statevars-lower.vtk
+\family default
+), and cause state variables to be averaged over all quadrature points in
+ each cell.
+\end_layout
+
+\begin_layout Standard
+The values for the Dirichlet boundary conditions are described in the file
+
+\family typewriter
+fixeddisp_shear.spatialdb
+\family default
+, as specified in
+\family typewriter
+shearxy.cfg
+\family default
+.
+ The format of all spatial database files is similar.
+ Because data is being specified using two control points (rather than being
+ uniform over the mesh, for example), the data dimension is one.
+\end_layout
+
+\begin_layout Standard
+The files containing common information (box_hex8_1000m.exo,
+\family typewriter
+pylithapp.cfg
+\family default
+,
+\family typewriter
+mat_elastic.spatialdb
+\family default
+) along with the problem-specific files (
+\family typewriter
+shearxy.cfg
+\family default
+,
+\family typewriter
+fixeddisp_shear.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 shearxy.cfg
+\end_layout
+
+\begin_layout Standard
+Once the problem has run, six files will be produced.
+ The first file is named
+\family typewriter
+shearxy_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
+shearxy-statevars-upper_t0000000.vtk
+\family default
+.
+ This file contains the state variables for each cell in the material group
+
+\family typewriter
+elastic_upper
+\family default
+.
+ The default fields are the total strain and stress fields.
+ These values are computed at each quadrature point in the cell.
+ There are eight quadrature points for each cell; however, we have requested
+ that these values be averaged, so there is a single set of values per cell.
+ The third file (
+\family typewriter
+shearxy-statevars-upper_info.vtk
+\family default
+) gives the material properties used for the upper elastic material.
+ 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.
+ The fourth and fifth files
+\family typewriter
+for the lower elastic material (shearxy-statevars-lower_t0000000.vtk
+\family default
+ and
+\family typewriter
+shearxy-statevars-lower_info.vtk
+\family default
+) are exactly analagous to the corresponding files for the upper elastic
+ material.
+ The final file (
+\family typewriter
+shearxy-groundsurf_t0000000.vtk
+\family default
+) is analagous to
+\family typewriter
+shearxy_t0000000.vtk
+\family default
+, but in this case the results are only given for a subset of the mesh correspon
+ding to the ground surface.
+ Also, the cells in this file are one dimension lower than the cells described
+ in
+\family typewriter
+shearxy_t0000000.vtk
+\family default
+, so they are quadrilaterials rather than hexahedra.
+ 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
+\begin_inset LatexCommand ref
+reference "fig:3dhex8-shear"
+
+\end_inset
+
+, which was generated using ParaView.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename figs/shear.jpg
+ lyxscale 50
+ scale 45
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
+Color contours and vectors of displacement for the axial displacement example.
+\begin_inset LatexCommand label
+name "fig:3dhex8-shear"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Kinematic Fault Slip Example
+\end_layout
+
+\begin_layout Standard
+The next example problem is right-lateral fault slip applied on the vertical
+ fault defined by
+\family typewriter
+x = 0
+\family default
+.
+ The left and right sides of the mesh are fixed in the
+\family typewriter
+x
+\family default
+, and
+\family typewriter
+y
+\family default
+-directions, while the bottom is fixed in the
+\family typewriter
+z
+\family default
+-direction.
+ Parameter settings that override or augment those in
+\family typewriter
+pylithapp.cfg
+\family default
+ are contained in the file
+\family typewriter
+dislocation.cfg
+\family default
+.
+ These settings are:
+\end_layout
+
+\begin_layout Description
+pylithapp.timedependent Specifies an implicit formulation for the problem,
+ the array of boundary conditions, and the array of interfaces.
+\end_layout
+
+\begin_layout Description
+pylithapp.timedependent.implicit Specifies an array of two output managers,
+ one for the full domain, and another for a subdomain corresponding to the
+ ground surface.
+\end_layout
+
+\begin_layout Description
+pylithapp.timedependent.bc.x_pos Specifies the boundary conditions for the
+ right side of the mesh, defining which degrees of freedom are being constrained
+ (
+\family typewriter
+x
+\family default
+, and
+\family typewriter
+ y
+\family default
+), providing the label (defined in
+\family typewriter
+box_hex8_1000m.exo
+\family default
+) defining the points desired, and assigning a label to the boundary condition
+ set.
+ Rather than specifying a spatial database file to define the boundary condition
+s, we use the default spatial database (FixedDOFDB) for the Dirichlet boundary
+ condition, which sets the displacements to zero.
+\end_layout
+
+\begin_layout Description
+pylithapp.timedependent.bc.x_neg Specifies the boundary conditions for the
+ left side of the mesh, defining which degrees of freedom are being constrained
+ (
+\family typewriter
+x
+\family default
+, and
+\family typewriter
+ y
+\family default
+), providing the label (defined in
+\family typewriter
+box_hex8_1000m.exo
+\family default
+) defining the points desired, and assigning a label to the boundary condition
+ set.
+ Rather than specifying a spatial database file to define the boundary condition
+s, we use the default spatial database (FixedDOFDB) for the Dirichlet boundary
+ condition, which sets the displacements to zero.
+\end_layout
+
+\begin_layout Description
+pylithapp.timedependent.bc.z_neg Specifies the boundary conditions for the
+ bottom of the mesh, defining which degrees of freedom are being constrained
+ (z), providing the label (defined in
+\family typewriter
+box_hex8_1000m.exo
+\family default
+) defining the points desired, and assigning a label to the boundary condition
+ set.
+ Rather than specifying a spatial database file to define the boundary condition
+s, we use the default spatial database (FixedDOFDB) for the Dirichlet boundary
+ condition, which sets the displacements to zero.
+\end_layout
+
+\begin_layout Description
+pylithapp.timedependent.interfaces Gives the label (defined in
+\family typewriter
+box_hex8_1000m.exo
+\family default
+) defining the points on the fault, provides quadrature information, and
+ then gives database names for material properties (needed for conditioning),
+ fault slip, peak fault slip rate, and fault slip time.
+\end_layout
+
+\begin_layout Description
+pylithapp.problem.formulation.output.output.writer Gives the base filename for
+ VTK output over the entire domain (
+\family typewriter
+dislocation.vtk
+\family default
+).
+\end_layout
+
+\begin_layout Description
+pylithapp.problem.formulation.output.subdomain Gives the label of the nodeset
+ defining the subdomain and gives the base filename for VTK output over
+ the subdomain corresponding to the ground surface (
+\family typewriter
+dislocation-groundsurf.vtk
+\family default
+).
+\end_layout
+
+\begin_layout Description
+pylithapp.timedependent.interfaces.fault.output.writer Gives the base filename
+ for cohesive cell output files (
+\family typewriter
+dislocation-fault.vtk
+\family default
+).
+\end_layout
+
+\begin_layout Description
+pylithapp.timedependent.materials.elastic_upper.output Gives the base filename
+ for state variable output files for the upper elastic material (
+\family typewriter
+dislocation-statevars-upper.vtk
+\family default
+), and cause state variables to be averaged over all quadrature points in
+ each cell.
+\end_layout
+
+\begin_layout Description
+pylithapp.timedependent.materials.elastic_lower.output Gives the base filename
+ for state variable output files for the lower elastic material (
+\family typewriter
+dislocation-statevars-lower.vtk
+\family default
+), and cause state variables to be averaged over all quadrature points in
+ each cell.
+\end_layout
+
+\begin_layout Standard
+The fault example requires three additional database files that were not
+ needed for the simple displacement example.
+ The first file (
+\family typewriter
+finalslip.spatialdb
+\family default
+) specifies a constant value of 2 m of right-lateral fault slip that then
+ tapers linearly to zero from 2 km to 4 km depth, and a linearly-varying
+ amount of reverse slip, with a maximum of 0.25 m at the surface, linearly
+ tapering to 0 m at 2 km depth.
+ The data dimension is one since the data varies linearly along a vertical
+ line.
+ It is also necessary to specify the peak slip rate, which is done in the
+ file
+\family typewriter
+sliprate.spatialdb
+\family default
+.
+ The peak slip rate of 1.0e6 m/s creates a step function for the slip time
+ history.
+ Finally, we must provide the time at which slip begins.
+ The elastic solution begins at
+\begin_inset Formula $t=-dt$
+\end_inset
+
+, so this is the value given (
+\begin_inset Formula $t=-1\sec$
+\end_inset
+
+) in
+\family typewriter
+dislocation_sliptime.spatialdb
+\family default
+.
+\end_layout
+
+\begin_layout Standard
+The files containing common information (box_hex8_1000m.exo,
+\family typewriter
+pylithapp.cfg
+\family default
+,
+\family typewriter
+mat_elastic.spatialdb
+\family default
+) along with the problem-specific files (
+\family typewriter
+\size small
+dislocation.cfg
+\family default
+,
+\family typewriter
+finalslip.spatialdb
+\family default
+,
+\family typewriter
+sliprate.spatialdb
+\family default
+,
+\family typewriter
+sliptime.spatialdb
+\family default
+\size default
+) provide a complete description of the problem, and we can then run this
+ example by typing
+\end_layout
+
+\begin_layout LyX-Code
+pylith dislocation.cfg
+\end_layout
+
+\begin_layout Standard
+Once the problem has run, eight files will be produced.
+ The first file is named
+\family typewriter
+dislocation_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
+dislocation-statevars-upper_t0000000.vtk
+\family default
+.
+ This file contains the state variables for each cell in the material group
+
+\family typewriter
+elastic_upper
+\family default
+.
+ The default fields are the total strain and stress fields.
+ These values are computed at each quadrature point in the cell.
+ There are eight quadrature points for each cell; however, we have requested
+ that these values be averaged, so there is a single set of values per cell.
+ The third file (
+\family typewriter
+dislocation-statevars-upper_info.vtk
+\family default
+) gives the material properties used for the upper elastic material.
+ 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.
+ The fourth and fifth files
+\family typewriter
+for the lower elastic material (dislocation-statevars-lower_t0000000.vtk
+\family default
+ and
+\family typewriter
+dislocation-statevars-lower_info.vtk
+\family default
+) are exactly analagous to the corresponding files for the upper elastic
+ material.
+ The sixth file (
+\family typewriter
+dislocation-groundsurf_t0000000.vtk
+\family default
+) is analagous to
+\family typewriter
+dislocation_t0000000.vtk
+\family default
+, but in this case the results are only given for a subset of the mesh correspon
+ding to the ground surface.
+ Also, the cells in this file are one dimension lower than the cells described
+ in
+\family typewriter
+dislocation_t0000000.vtk
+\family default
+, so they are quadrilaterials rather than hexahedra.
+ The seventh file (
+\family typewriter
+dislocation-fault_t0000000.vtk
+\family default
+) gives the specified fault slip for each vertex on the fault, along with
+ the computed traction change for the cohesive cell.
+ The final file (
+\family typewriter
+dislocation-fault_info.vtk
+\family default
+) provides information such as the normal direction, final slip, and slip
+ time for each vertex on the fault.
+ 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
+\begin_inset LatexCommand vref
+reference "fig:3dhex-disloc"
+
+\end_inset
+
+, which was generated using ParaView.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename figs/dislocation.jpg
+ lyxscale 50
+ scale 45
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
+Color contours and vectors of displacement for the kinematic fault example.
+\begin_inset LatexCommand label
+name "fig:3dhex-disloc"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document
Added: short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/figs/dislocation.jpg
===================================================================
(Binary files differ)
Property changes on: short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/figs/dislocation.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/figs/hex8-mesh.jpg
===================================================================
(Binary files differ)
Property changes on: short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/figs/hex8-mesh.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/figs/shear.jpg
===================================================================
(Binary files differ)
Property changes on: short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/figs/shear.jpg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: short/3D/PyLith/trunk/doc/userguide/tutorials/tutorials.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/tutorials/tutorials.lyx 2008-03-17 19:24:58 UTC (rev 11459)
+++ short/3D/PyLith/trunk/doc/userguide/tutorials/tutorials.lyx 2008-03-17 19:29:20 UTC (rev 11460)
@@ -171,6 +171,12 @@
\end_inset
+\begin_inset Include \input{3dhex8/3dhex8.lyx}
+preview false
+
+\end_inset
+
+
\end_layout
\end_body
More information about the cig-commits
mailing list