[cig-commits] r12172 - in short/3D/PyLith/trunk/doc/userguide: . benchmarks boundaryconditions governingeqns tutorials/3dhex8 tutorials/3dhex8/figs

willic3 at geodynamics.org willic3 at geodynamics.org
Thu Jun 12 11:28:20 PDT 2008


Author: willic3
Date: 2008-06-12 11:28:20 -0700 (Thu, 12 Jun 2008)
New Revision: 12172

Added:
   short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/figs/hex8-gravity.jpg
Modified:
   short/3D/PyLith/trunk/doc/userguide/benchmarks/benchmarks.lyx
   short/3D/PyLith/trunk/doc/userguide/boundaryconditions/boundaryconditions.lyx
   short/3D/PyLith/trunk/doc/userguide/governingeqns/governingeqns.lyx
   short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/3dhex8.lyx
   short/3D/PyLith/trunk/doc/userguide/userguide.lyx
Log:
Added documentation for gravity, and also added an extra gravity section to
the 3d/hex8 tutorial.



Modified: short/3D/PyLith/trunk/doc/userguide/benchmarks/benchmarks.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/benchmarks/benchmarks.lyx	2008-06-12 17:55:14 UTC (rev 12171)
+++ short/3D/PyLith/trunk/doc/userguide/benchmarks/benchmarks.lyx	2008-06-12 18:28:20 UTC (rev 12172)
@@ -1,4 +1,4 @@
-#LyX 1.5.4 created this file. For more info see http://www.lyx.org/
+#LyX 1.5.3 created this file. For more info see http://www.lyx.org/
 \lyxformat 276
 \begin_document
 \begin_header

Modified: short/3D/PyLith/trunk/doc/userguide/boundaryconditions/boundaryconditions.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/boundaryconditions/boundaryconditions.lyx	2008-06-12 17:55:14 UTC (rev 12171)
+++ short/3D/PyLith/trunk/doc/userguide/boundaryconditions/boundaryconditions.lyx	2008-06-12 18:28:20 UTC (rev 12172)
@@ -1,4 +1,4 @@
-#LyX 1.5.1 created this file. For more info see http://www.lyx.org/
+#LyX 1.5.4 created this file. For more info see http://www.lyx.org/
 \lyxformat 276
 \begin_document
 \begin_header
@@ -2466,5 +2466,128 @@
 
 \end_layout
 
+\begin_layout Section
+Including Gravitational Body Forces
+\end_layout
+
+\begin_layout Standard
+Many problems in geophysics require the consideration of gravitational body
+ forces.
+ For example, the lithostatic stress state is important in many problems.
+ In future versions of the code that include nonlinear behavior, body forces
+ will also affect model aspects such as plastic yield criteria and the deformati
+on field for large deformation/finite strain problems.
+ As described in 
+\begin_inset LatexCommand ref
+reference "cha:Governing-Equations"
+
+\end_inset
+
+, the contribution of body forces to the global force vector is given by
+\begin_inset Formula \begin{equation}
+\overrightarrow{B}\phantom{}_{b}=\sum_{elements}\int_{V^{e}}N^{P}f_{i}\: dV.\end{equation}
+
+\end_inset
+
+The body force per unit volume, 
+\begin_inset Formula $f_{i}$
+\end_inset
+
+, is given as the product of the mass density, 
+\begin_inset Formula $\rho$
+\end_inset
+
+, the scalar gravitational acceleration value, 
+\begin_inset Formula $g$
+\end_inset
+
+, and the gravitational acceleration orientation vector, 
+\begin_inset Formula $a_{i}$
+\end_inset
+
+:
+\begin_inset Formula \begin{equation}
+f_{i}=\rho ga_{i}.\end{equation}
+
+\end_inset
+
+The mass density is a property of every material type, and is thus specified
+ in the same spatial database as the other material properties for a given
+ type.
+ The gravitational acceleration is assumed constant for a given problem,
+ with a default value of 9.80665 m/s
+\begin_inset Formula $^{\text{2}}$
+\end_inset
+
+.
+ The orientation vector will depend on the dimension of the problem as well
+ as the coordinate system being used.
+ The default orientation vector is a constant vector with components (0,
+ 0, -1).
+ This would be appropriate for three-dimensional problems where the gravity
+ vector is aligned with the negative z-axis for the entire region of interest,
+ as would be the case in a geoprojected coordinate system or a Cartesian
+ coordinate system that ignores the curvature of the Earth.
+ If Earth curvature needs to be considered, an Earth-centered, Earth-fixed
+ (ECEF) or local Cartesian system should be used, in which case the orientation
+ vector is computed automatically.
+ For problems in one or two dimensions where the orientation vector is constant,
+ the vector will need to be explicitly specified.
+ For example, in a two-dimensional problem, the vector might be specified
+ as (0, -1, 0).
+ The vector still has three components, although the extra components are
+ not used.
+\end_layout
+
+\begin_layout Standard
+Gravity is turned off by default.
+ To include gravitational effects in a simulation, you can turn it on as
+ follows:
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.timedependent]
+\end_layout
+
+\begin_layout LyX-Code
+use_gravity = true
+\end_layout
+
+\begin_layout Standard
+By simply adding this flag, the default gravity field values will be used
+ and a 
+\family typewriter
+gravity_field
+\family default
+ component will be assigned for the problem.
+ The default values may be changed by altering the properties of 
+\family typewriter
+gravity_field
+\family default
+:
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.timedependent.gravity_field]
+\end_layout
+
+\begin_layout LyX-Code
+acceleration = 100.0*m*s**-2
+\end_layout
+
+\begin_layout LyX-Code
+gravity_dir = [0, -1, 0]
+\end_layout
+
+\begin_layout Standard
+An example problem using gravity is described in Section 
+\begin_inset LatexCommand ref
+reference "sec:Tutorial-3d-hex8"
+
+\end_inset
+
+.
+\end_layout
+
 \end_body
 \end_document

Modified: short/3D/PyLith/trunk/doc/userguide/governingeqns/governingeqns.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/governingeqns/governingeqns.lyx	2008-06-12 17:55:14 UTC (rev 12171)
+++ short/3D/PyLith/trunk/doc/userguide/governingeqns/governingeqns.lyx	2008-06-12 18:28:20 UTC (rev 12172)
@@ -1,17 +1,25 @@
-#LyX 1.4.3 created this file. For more info see http://www.lyx.org/
-\lyxformat 245
+#LyX 1.5.4 created this file. For more info see http://www.lyx.org/
+\lyxformat 276
 \begin_document
 \begin_header
 \textclass book
 \language english
 \inputencoding auto
-\fontscheme default
+\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 1
+\use_esint 0
 \cite_engine basic
 \use_bibtopic false
 \paperorientation portrait
@@ -29,11 +37,17 @@
 \paperpagestyle default
 \tracking_changes false
 \output_changes false
+\author "" 
 \end_header
 
 \begin_body
 
 \begin_layout Chapter
+\begin_inset LatexCommand label
+name "cha:Governing-Equations"
+
+\end_inset
+
 Governing Equations
 \end_layout
 
@@ -44,7 +58,8 @@
 n terms in the quasi-static case), we first derive these equations.
  We then present solution methods for each specific case.
  In all of our derivations, we use the notation described in Table 
-\begin_inset LatexCommand \ref{tab:Mathematical-notation}
+\begin_inset LatexCommand ref
+reference "tab:Mathematical-notation"
 
 \end_inset
 
@@ -62,14 +77,23 @@
 sideways false
 status open
 
-\begin_layout Caption
-\begin_inset LatexCommand \label{tab:Mathematical-notation}
+\begin_layout Standard
+\begin_inset Caption
 
+\begin_layout Standard
+\begin_inset LatexCommand label
+name "tab:Mathematical-notation"
+
 \end_inset
 
 Mathematical notation
 \end_layout
 
+\end_inset
+
+
+\end_layout
+
 \begin_layout Standard
 \noindent
 \align center
@@ -472,7 +496,8 @@
 
 .
  Substituting into Equation 
-\begin_inset LatexCommand \ref{eqn:momentum:index}
+\begin_inset LatexCommand ref
+reference "eqn:momentum:index"
 
 \end_inset
 
@@ -573,7 +598,8 @@
 
 .
  Substituting into Equation 
-\begin_inset LatexCommand \ref{eqn:momentum:vec}
+\begin_inset LatexCommand ref
+reference "eqn:momentum:vec"
 
 \end_inset
 
@@ -1321,7 +1347,8 @@
 Note that the internal forces include the effects of initial stresses.
  Iterative methods such as Newton-Raphson may be used to solve Equation
  
-\begin_inset LatexCommand \ref{eq:qs-force-balance}
+\begin_inset LatexCommand ref
+reference "eq:qs-force-balance"
 
 \end_inset
 

Modified: short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/3dhex8.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/3dhex8.lyx	2008-06-12 17:55:14 UTC (rev 12171)
+++ short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/3dhex8.lyx	2008-06-12 18:28:20 UTC (rev 12172)
@@ -1,4 +1,4 @@
-#LyX 1.5.1 created this file. For more info see http://www.lyx.org/
+#LyX 1.5.4 created this file. For more info see http://www.lyx.org/
 \lyxformat 276
 \begin_document
 \begin_header
@@ -68,6 +68,10 @@
 \end_layout
 
 \begin_layout Itemize
+Gravitational body forces
+\end_layout
+
+\begin_layout Itemize
 Dirichlet boundary conditions
 \end_layout
 
@@ -117,7 +121,7 @@
  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.
+ run, and view three problems that use the same mesh.
  In addition to this manual, each of the files for the example problems
  includes extensive comments.
 \end_layout
@@ -1154,6 +1158,10 @@
 \end_layout
 
 \begin_layout Standard
+
+\end_layout
+
+\begin_layout Standard
 \noindent
 \align center
 \begin_inset Float figure
@@ -1197,5 +1205,359 @@
 
 \end_layout
 
+\begin_layout Subsection
+Gravitational Body Force Example
+\end_layout
+
+\begin_layout Standard
+The final example is a simple problem where we simply apply the body forces
+ due to gravitational acceleration.
+ All sides are fixed in the normal direction, with the exception of the
+ upper surface, which is left free.
+ The resulting stress field is
+\begin_inset Formula \begin{equation}
+\sigma_{zz}=\rho gh,\:\sigma_{xx}=\sigma_{yy}=\frac{\nu\rho gh}{1-\nu},\end{equation}
+
+\end_inset
+
+wherev 
+\begin_inset Formula $\rho$
+\end_inset
+
+ is the density of the material, 
+\begin_inset Formula $g$
+\end_inset
+
+ is the gravitational acceleration, 
+\begin_inset Formula $h$
+\end_inset
+
+ is the depth below the upper surface, and 
+\begin_inset Formula $\nu$
+\end_inset
+
+ is Poisson's ratio.
+ Parameter settings that override or augment those in 
+\family typewriter
+pylithapp.cfg
+\family default
+ are contained in the file 
+\family typewriter
+gravity.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 specification of the 
+\family typewriter
+use_gravity
+\family default
+ flag as 
+\family typewriter
+true
+\family default
+.
+ The default values of 
+\family typewriter
+acceleration
+\family default
+ and 
+\family typewriter
+gravity_dir
+\family default
+ are used.
+\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
+), 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
+), 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.y_pos Specifies the boundary conditions for the
+ back of the mesh, defining which degrees of freedom are being constrained
+ (y), 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.y_neg Specifies the boundary conditions for the
+ front of the mesh, defining which degrees of freedom are being constrained
+ (y), 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.problem.formulation.output.domain.writer Gives the base filename for
+ VTK output over the entire domain (
+\family typewriter
+gravity.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
+gravity-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
+gravity-statevars-upper.vtk
+\family default
+), and causes 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
+gravity-statevars-lower.vtk
+\family default
+), and causes state variables to be averaged over all quadrature points
+ in each cell.
+\end_layout
+
+\begin_layout Standard
+The files containing common information (
+\family typewriter
+\size small
+box_hex8_1000m.exo
+\family default
+, 
+\family typewriter
+pylithapp.cfg
+\family default
+, 
+\family typewriter
+mat_elastic.spatialdb
+\family default
+\size default
+) along with the problem-specific file (
+\family typewriter
+\size small
+gravity.cfg
+\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 gravity.cfg
+\end_layout
+
+\begin_layout Standard
+Once the problem has run, six files will be produced.
+ The first file is named 
+\family typewriter
+gravity_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
+gravity-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
+gravity-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 (gravity-statevars-lower_t0000000.vtk
+\family default
+ and 
+\family typewriter
+gravity-statevars-lower_info.vtk
+\family default
+) are exactly analogous to the corresponding files for the upper elastic
+ material.
+ The sixth file (
+\family typewriter
+gravity-groundsurf_t0000000.vtk
+\family default
+) is analogous to 
+\family typewriter
+gravity_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
+gravity_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 vref
+reference "fig:3dhex-gravity"
+
+\end_inset
+
+, which was generated using ParaView.
+ Note that the stress values for the example problem match the analytical
+ solution given at the beginning of this problem description, recalling
+ that the solution is at the center of each cell.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\begin_inset Graphics
+	filename figs/hex8-gravity.jpg
+	lyxscale 50
+	scale 45
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+Color contours of vertical stress and vectors of displacement for the gravitatio
+nal body force example using a mesh composed of trilinear hexahedral cells
+ generated by CUBIT.
+\begin_inset LatexCommand label
+name "fig:3dhex-gravity"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
 \end_body
 \end_document

Added: short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/figs/hex8-gravity.jpg
===================================================================
(Binary files differ)


Property changes on: short/3D/PyLith/trunk/doc/userguide/tutorials/3dhex8/figs/hex8-gravity.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: short/3D/PyLith/trunk/doc/userguide/userguide.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/userguide.lyx	2008-06-12 17:55:14 UTC (rev 12171)
+++ short/3D/PyLith/trunk/doc/userguide/userguide.lyx	2008-06-12 18:28:20 UTC (rev 12172)
@@ -1,4 +1,4 @@
-#LyX 1.5.3 created this file. For more info see http://www.lyx.org/
+#LyX 1.5.4 created this file. For more info see http://www.lyx.org/
 \lyxformat 276
 \begin_document
 \begin_header



More information about the cig-commits mailing list