[cig-commits] r4401 - in short/3D/PyLith/branches/pylith-0.8/doc/userguide/tutorials: . splitcube

baagaard at geodynamics.org baagaard at geodynamics.org
Tue Aug 22 14:44:41 PDT 2006


Author: baagaard
Date: 2006-08-22 14:44:40 -0700 (Tue, 22 Aug 2006)
New Revision: 4401

Added:
   short/3D/PyLith/branches/pylith-0.8/doc/userguide/tutorials/splitcube/
   short/3D/PyLith/branches/pylith-0.8/doc/userguide/tutorials/splitcube/splitcube.tex
Removed:
   short/3D/PyLith/branches/pylith-0.8/doc/userguide/tutorials/splitcube/splittest.tex
   short/3D/PyLith/branches/pylith-0.8/doc/userguide/tutorials/splittest/
Modified:
   short/3D/PyLith/branches/pylith-0.8/doc/userguide/tutorials/tutorials.tex
Log:
Changed name of splittest to splitcube.

Copied: short/3D/PyLith/branches/pylith-0.8/doc/userguide/tutorials/splitcube (from rev 4398, short/3D/PyLith/branches/pylith-0.8/doc/userguide/tutorials/splittest)

Copied: short/3D/PyLith/branches/pylith-0.8/doc/userguide/tutorials/splitcube/splitcube.tex (from rev 4400, short/3D/PyLith/branches/pylith-0.8/doc/userguide/tutorials/splittest/splitcube.tex)
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/doc/userguide/tutorials/splittest/splitcube.tex	2006-08-22 21:42:48 UTC (rev 4400)
+++ short/3D/PyLith/branches/pylith-0.8/doc/userguide/tutorials/splitcube/splitcube.tex	2006-08-22 21:44:40 UTC (rev 4401)
@@ -0,0 +1,396 @@
+\section{Tutorial For Simple Strike-Slip Fault}
+
+\subsection{Overview}
+
+In this tutorial we will walk through the steps necessary to
+construct, run, and view the results of a benchmark problem involving
+a simple, vertical, through-going strike-slip fault. This problem
+examines the elastic deformation from a single, finite, right-lateral
+earthquake in 3-D without body forces.
+
+\subsection{Problem Description}
+
+The model domain is a cube with edges 1 km long (0 km $\leq$ x $\leq$
+1 km; 0 km $\leq$ y $\leq$ 1 km; 0 km $\leq$ z $\leq$ 1 km) and is
+composed of two materials. The fault separates two materials that have
+the same properties. Both materials are Poisson solids with Lame's
+constants ($\mu$ and $\lambda$) equal to 30 GPa.
+
+The strike-slip fault dips at an angle of 90 degrees. The slip
+distribution is 1.0 m of uniform right-lateral motion.
+
+The plane y=0 is a plane of symmetry, so the y-DOF displacements on
+this face are zero. The other lateral faces and bottom of the mesh are
+traction-free.
+
+\begin{figure}
+  \begin{center}
+    %\includegraphics{figs/geometry}
+    \caption{Geometry of model domain for simple model with strike-slip fault.}
+  \end{center}
+\end{figure}  
+
+\subsubsection{Workflow}
+
+The complete workflow used to create the input files for this tutorial
+is shown in figure~\ref{fig:splitcube:workflow}. 
+
+\begin{figure}[htbp]
+  \begin{center}
+    \includegraphics{figs/workflow}
+    \caption{Workflow for setting up input files for example with
+      simple strike-slip faylt.}
+    \label{fig:splitcube:workflow}
+  \end{center}
+\end{figure}
+
+\subsection{Download and unpack}
+
+We will start by downloading the tutorial tarball and unpacking it.
+
+\begin{enumerate}
+\item Download the \href{http://www.geodynamics.org:8080/cig/Members/willic3/pylithusers/pylith0.8/pylith-0.8\_tutorials.tgz}{tutorial tarball}
+  and unpack it in a location of your choosing.
+
+  \begin{screen}
+    \shellprompt\userinput{tar -zxvf pylith-0.8\_tutorials.tgz}
+  \end{screen}
+  
+\item Go to the \directory{tutorials/splitcube} directory.
+  The \directory{archive} directory contains all of the input and
+  output files associated with this tutorial. We will copy input files
+  from this directory into the \directory{workarea} directory. At each
+  step, you can check to make sure your input and output agree with
+  the files in the \directory{archive} directory. These files also
+  allow you to start at an intermediate step as described in the next
+  section.
+
+  \begin{screen}
+    \shellprompt\userinput{cd tutorials/splitcube}
+  \end{screen}
+
+\end{enumerate}
+
+\subsection{Tutor}
+
+Copy the \filename{tutor.py} script from the \directory{archive}
+directory into the \directory{workarea} directory. 
+
+\begin{tip}
+  If you have run this tutorial previously, you may want to run
+  \command{tutor.py} in mode "clean" with step "all" to clear out all
+  old tutorial files.
+\end{tip}
+
+\begin{screen}
+\shellprompt\userinput{cd workarea}
+\shellprompt\userinput{cp ../archive/tutor.py .}
+\shellprompt\userinput{./tutor.py -m clean -s all}
+\end{screen}
+
+\subsection{Generate the mesh}
+
+In this step we will generate the finite-element mesh for the
+benchmark problem using \application{NETGEN}.
+
+\begin{enumerate}
+\item In the \directory{splitcube/workarea} directory, run
+  \command{tutor.py} for step "mesh" with mode "retrieve" to fetch the
+  geometry file for \application{NETGEN}. You may also want to run
+  \command{tutor.py} for this step with mode "clean" to clean out old
+  files.
+
+  \begin{screen}
+    \shellprompt\userinput{./tutor.py -m retrieve -s mesh}
+    \shellprompt\userinput{./tutor.py -m clean -s mesh}
+  \end{screen}
+  
+\item Examine the \filename{splitcube.geo} file to see how the geometry
+  for the problem is defined. Notice that the fault plan has
+  been flagged with a boundary condition code. This will be
+  used to associate boundary conditions with the fault surface and the
+  associated nodes. We do not have to flag the lateral faces and top
+  and bottom of the mesh because they are traction-free, which is a
+  natural boundary condition in the finite-element formulation.
+\item Start up \application{NETGEN} by running \command{ng}.
+
+  \begin{screen}
+    \shellprompt\userinput{ng}
+  \end{screen}
+  
+\item Select \guimenu{File}\guiselect\guimenuitem{Load Geometry}
+  and select \filename{splitcube.geo}.
+\item Click on \guibutton{Generate Mesh}.
+\item Export the mesh to a file named \filename{splitcube.netgen},
+  making sure the export filetype is "Neutral format".
+\item You can now exit \application{NETGEN}.
+\end{enumerate}
+
+\subsection{Setup simulation input files}
+
+In this step we will setup the PyLith input files for the mesh and
+boundary conditions.
+
+\begin{enumerate}
+\item Run \command{tutor.py} for step "setup" with mode "retrieve" to
+  fetch files from the archive.
+
+  \begin{screen}
+    \shellprompt\userinput{./tutor.py -m retrieve -s setup}
+  \end{screen}
+  
+\item We will use a simple Fortran utility to generate PyLith
+  input files from the \application{NETGEN} output.
+
+  \begin{description}
+  \item[\command{readnetgen}] A Fortran program to read
+    \application{NETGEN} neutral format and create several of the
+    input files needed by PyLith.
+  \end{description}
+  
+\item Run the \command{readnetgen} utility program to process the
+  \application{NETGEN} output file into PyLith compatible input files.
+  It will ask for a root filename, enter \filename{splitcube}. This
+  utilitiy will generate the following files:
+  \filename{splitcube.w01.wink}, \filename{splitcube.coord},
+  \filename{splitcube.connect}, \filename{splitcube.bc},
+  \filename{splitcube.1.fcoord}, \filename{splitcube.1.fbc}.
+
+  \begin{screen}
+    \shellprompt\userinput{../../utils/readnetgen}
+    \prompt{\ Enter root name for all files.  Both input and}
+    \prompt{\ output files will all have this prefix:}
+    \userinput{splitcube}
+  \end{screen}
+  
+\item The boundary conditions on the fault for this example are
+  very simple. As a result, the \filename{splitcube.split} file was
+  generated by hand. You should examine this file to see how a uniform
+  right-lateral slip of 1.0 m is applied to the fault surface.
+
+  \begin{warning}
+    If you make any changes to \filename{splitcube.geo} or change the
+    geometry within \application{NETGEN}, the split-node file
+    \filename{splitcube.split} will no longer be correct and you will
+    have to generate one yourself.  Note that it is also possible that
+    a different version of \application{NETGEN} may provide a slightly
+    different mesh, which would also be incompatible with the provided
+    boundary conditions.
+  \end{warning}
+  
+\item The external boundary conditions for this benchmark simply
+  involve ... ADD STUFF HERE.
+
+  \begin{warning}
+    If you make any changes to \filename{splitcube.geo} or change the
+    geometry within \application{NETGEN}, the boundary condition file
+    \filename{splitcube.bc} will no longer be correct and you will
+    have to generate one yourself.  Note that it is also possible that
+    a different version of \application{NETGEN} may provide a slightly
+    different mesh, which would also be incompatible with the provided
+    boundary conditions.
+  \end{warning}
+\end{enumerate}
+
+\subsection{Run the simulation on one processor}
+
+In this step we will run the simulation on a single processor.
+
+\begin{enumerate}
+\item Run \command{tutor.py} for step "run1" with mode "retrieve" to
+  fetch some parameter files from the archive.
+
+  \begin{screen}
+    \shellprompt\userinput{./tutor.py -m retrieve -s run1}
+  \end{screen}
+  
+\item In \filename{splitcube.fuldat}, we have specified that we want
+  full output at time steps 10, 50, and 100. We define two materials
+  with elastic behavior in
+  \filename{splitcube.prop}. In \filename{splitcube.statevar} we choose to
+  include total stress, total strain, incremental stress, and
+  incremental strain in the output. As defined in
+  \filename{splitcube.time}, the simulation will have 100 time steps of
+  0.1 year each.
+\item Run the simulation by executing \userinput{runbm.py -n 1}, where
+  the 1 refers to the number of processors.
+
+  \begin{tip}
+    All of the input is echoed in the file \filename{splitcube.ascii}.
+    You can check to make sure your input is digested correctly by
+    examining this file. For large problems, this file can be quite
+    large. You can suppress creation of this file using the command
+    line argument \option{--scanner.asciiOutput=none} flag. On the
+    other hand, for debugging purposes in small problems, you may wish
+    to output everything, including the computed results, in this file
+    using \option{--scanner.asciiOutput=full}.
+  \end{tip}
+  
+  \begin{screen}
+    \shellprompt\userinput{./runbm.py -n 1}
+  \end{screen}
+\end{enumerate}
+
+\subsection{Visualize the single processor run}
+
+Now it is time to visualize the results of the simulation. By default,
+PyLith writes simulation output using \href{http://help.avs.com/Express/doc/help/reference/dvmac/UCD\_Form.htm}{\application{AVS} UCD
+  files}.
+These can be read by several other visualization tools besides
+\application{AVS}, e.g., \application{ParaView} and \application{Iris
+  Explorer}. We will use the open-source application
+\application{ParaView} to visualize the results.
+    
+\begin{enumerate}
+\item If necessary, run \command{tutor.py} for step "viz1" with mode
+  "retrieve" to fetch the simulation output from the archive.
+
+  \begin{screen}
+    \shellprompt\userinput{./tutor.py -m retrieve -s viz1}
+  \end{screen}
+  
+\item PyLith does not write complete UCD files. So the first step is
+  to combine the mesh topology information with the output at a given
+  time step into a complete UCD file. For example, use \command{cat}
+  to merge the nodal coordinates file
+  (\filename{splitcube\_1.0.mesh.inp}) and the nodal displacements at
+  time step 10 file (\filename{splitcube\_1.0.mesh.time.00010.inp}) into
+  \filename{splitcube\_1.0.mesh.t00010.inp}.
+
+  \begin{screen}
+    \shellprompt\userinput{cat splitcube\_1.0.mesh.inp splitcube\_1.0.mesh.time.00010.inp \(\backslash\)}
+    \userinput{> splitcube\_1.0.mesh.t00010.inp}
+\end{screen}
+
+\item Start \application{ParaView} by executing \command{paraview}.
+
+  \begin{screen}
+    \shellprompt\userinput{paraview}
+  \end{screen}
+  
+\item Load the UCD file that you just created by selecting
+  \guimenu{File}\guiselect\guimenuitem{Open Data}. Select the file in
+  the dialog box and the click the \guibutton{Open} button. Click the
+  \guibutton{Accept} button. You should see a color rendering of the x
+  displacements. You can use the mouse to rotate, translate, and zoom.
+  Your image should look similar to the one in
+  figure~\ref{fig::splitcube:xdisp:t10}.
+        
+  \begin{figure}[htbp]
+    \begin{center}
+      %\includegraphics{figs/xdisp_t10}
+      \caption{ParaView rendering of displacement in x-direction at
+          time step 10 (10 yrs after imposed dislocation) for the
+          simple strike-slip example.}
+      \label{fig:splitcube:xdisp:t10}
+    \end{center}
+  \end{figure}
+  
+\item In the \guibutton{Display} tab, you can change several options,
+  such as including a color bar, coloring a different component,
+  interpolating colors, and changing the color map.
+\item Let's show the displacements as vectors. Click on the calculator
+  icon, and add the three displacement components together. Enter
+  \begin{screen}
+  XDispl*iHat + YDispl*jHat + ZDispl*kHat
+  \end{screen}
+  in the \guimenuitem{Calculator}
+  box. Note the variable names are available by clicking on the
+  \guibutton{scalars} button and the \guibutton{iHat},
+  \guibutton{jHat}, \guibutton{kHat} buttons are on the right side of
+  the top row. Click on the \guibutton{Accept} button. To show the
+  dataset as vectors, click on the \guibutton{glyph} button (looks
+  like several dots) in the toolbar. After clicking the
+  \guibutton{Accept} button, you should have a vector plot. You can
+  turn on/off other datasets by clicking on the eye icon to the left
+  of the dataset name. If you color the surfaces using the
+  x-displacements field while also making the displacement vectors
+  visible (colored using property), you should see an image similar to
+  the one in figure~\ref{fig:splitcube:xdisp:vec:t10}.
+
+  \begin{figure}[htbp]
+    \begin{center}
+      %\includegraphics{figs/splitcube_xdisp_vec_t10}
+      \caption{ParaView rendering of displacement in x-direction and
+        displacement vectors at time step 10 (10 yrs after imposed
+        dislocation) for the simple strike-slip example.}
+      \label{fig:splitcube:xdisp:vec:t10}
+    \end{center}
+  \end{figure}      
+
+\end{enumerate}
+
+\subsection{Run the simulation on two processors}
+
+In this step we will run the simulation on two processors. Even if
+your machine only has one processor, a "multprocessor" job will run as
+multiple processes on the single processor. In such cases, the job
+will run slightly slower than the single processor run, but the two
+processes will behave independently as if they are on different
+processors.
+
+\begin{enumerate}
+\item Run \command{tutor.py} for step "run2" with mode "retrieve" to
+  make sure all parameter files are available.
+
+  \begin{screen}
+    \shellprompt\userinput{./tutor.py -m retrieve -s run2}
+  \end{screen}
+  
+\item The parameter files are the same as those in the single
+  processor run. The \command{runbm} script will automatically take
+  care of duplicating these files so that there is one for each
+  processor.
+\item Run the simulation by executing \command{runbm.py -n 2}, where
+  the 2 refers to the number of processors.
+
+  \begin{screen}
+    \shellprompt\userinput{./runbm.py -n 2}
+  \end{screen}
+\end{enumerate}
+
+\subsection{Visualize the two processor run}
+
+PyLith does not currently support parallel output, so each processor
+writes its UCD output to a different file. This means that you need to
+form complete UCD files for each processor and then load each one into
+\application{ParaView}.
+
+\begin{enumerate}
+\item If necessary, run \command{tutor.py} for step "viz2" with mode
+  "retrieve" to fetch the simulation output from the archive.
+
+  \begin{screen}
+    \shellprompt\userinput{./tutor.py -m retrieve -s viz2}
+  \end{screen}
+  
+\item As in the case of the single processor run, the first step is to
+  combine the mesh topology information with the output at a given
+  time step into a complete UCD file. Because PyLith writes the output
+  from each processor into a different file, we must run \command{cat}
+  twice to create UCD files for each processor.
+
+  \begin{screen}
+    \shellprompt\userinput{cat splitcube\_2.0.mesh.inp splitcube\_2.0.mesh.time.00010.inp \(\backslash\)}
+      \userinput{> splitcube\_2.0.mesh.t00010.inp}
+    \shellprompt\userinput{cat splitcube\_2.1.mesh.inp splitcube\_2.1.mesh.time.00010.inp \(\backslash\)}
+      \userinput{> splitcube\_2.1.mesh.t00010.inp}
+  \end{screen}
+
+\item Start \application{ParaView} by executing \command{paraview}.
+
+  \begin{screen}
+    \shellprompt\userinput{paraview}
+  \end{screen}
+  
+\item Load the UCD files that you just created by selecting
+  \guimenu{File}\guiselect\guimenuitem{Open Data}. Select the file in
+  the dialog box and the click the \guibutton{Open} button. Click the
+  \guibutton{Accept} button. You can now visualize the datasets just
+  like you did for the single processor case.
+\item You can merge the datasets from the different processors by
+  selecting \guimenu{Filter}\guiselect\guimenuitem{Append}. Doing so
+  will allow you to operate on the data from all of the processors
+  simultaneously instead of having to repeat any processing for every
+  processor.
+\end{enumerate}

Deleted: short/3D/PyLith/branches/pylith-0.8/doc/userguide/tutorials/splitcube/splittest.tex
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/doc/userguide/tutorials/splittest/splittest.tex	2006-08-22 15:30:52 UTC (rev 4398)
+++ short/3D/PyLith/branches/pylith-0.8/doc/userguide/tutorials/splitcube/splittest.tex	2006-08-22 21:44:40 UTC (rev 4401)
@@ -1,394 +0,0 @@
-\section{Tutorial For Simple Strike-Slip Fault}
-
-\subsection{Overview}
-
-In this tutorial we will walk through the steps necessary to
-construct, run, and view the results of a benchmark problem involving
-a simple, vertical, through-going strike-slip fault. This problem
-examines the elastic deformation from a single, finite, right-lateral
-earthquake in 3-D without body forces.
-
-\subsection{Problem Description}
-
-The model domain is a cube with edges 1 km long (0 km $\leq$ x $\leq$
-1 km; 0 km $\leq$ y $\leq$ 1 km; 0 km $\leq$ z $\leq$ 1 km) and is
-composed of two materials. The fault separates two materials that have
-the same properties. Both materials are Poisson solids with Lame's
-constants ($\mu$ and $\lambda$) equal to 30 GPa.
-
-The strike-slip fault dips at an angle of 90 degrees. The slip
-distribution is 1.0 m of uniform right-lateral motion.
-
-The plane y=0 is a plane of symmetry, so the y-DOF displacements on
-this face are zero. The other lateral faces and bottom of the mesh are
-traction-free.
-
-\begin{figure}
-  \begin{center}
-    %\includegraphics{figs/geometry}
-    \caption{Geometry of model domain for simple model with strike-slip fault.}
-  \end{center}
-\end{figure}  
-
-\subsubsection{Workflow}
-
-The complete workflow used to create the input files for this tutorial
-is shown in figure~\ref{fig:splittest:workflow}. 
-
-\begin{figure}[htbp]
-  \begin{center}
-    \includegraphics{figs/workflow}
-    \caption{Workflow for setting up input files for example with
-      simple strike-slip faylt.}
-    \label{fig:splittest:workflow}
-  \end{center}
-\end{figure}
-
-\subsection{Download and unpack}
-
-We will start by downloading the tutorial tarball and unpacking it.
-
-\begin{enumerate}
-\item Download the \link{tutorial
-    tarball}{http://www.geodynamics.org:8080/cig/Members/willic3/pylithusers/pylith0.8/pylith-0.8\_tutorials.tgz}
-  and unpack it in a location of your choosing.
-
-  \begin{screen}
-    \shellprompt\userinput{tar -zxvf pylith-0.8\_tutorials.tgz}
-  \end{screen}
-  
-\item Go to the \directory{tutorials/splittest} directory.
-  The \directory{archive} directory contains all of the input and
-  output files associated with this tutorial. We will copy input files
-  from this directory into the \directory{workarea} directory. At each
-  step, you can check to make sure your input and output agree with
-  the files in the \directory{archive} directory. These files also
-  allow you to start at an intermediate step as described in the next
-  section.
-
-  \begin{screen}
-    \shellprompt\userinput{cd tutorials/splittest}
-  \end{screen}
-
-\end{enumerate}
-
-\subsection{Tutor}
-
-Copy the \filename{tutor.py} script from the \directory{archive}
-directory into the \directory{workarea} directory. 
-
-\begin{tip}
-  If you have run this tutorial previously, you may want to run
-  \command{tutor.py} in mode "clean" with step "all" to clear out all
-  old tutorial files.
-\end{tip}
-
-\begin{screen}
-\shellprompt\userinput{cd workarea}
-\shellprompt\userinput{cp ../archive/tutor.py .}
-\shellprompt\userinput{./tutor.py -m clean -s all}
-\end{screen}
-
-\subsection{Generate the mesh}
-
-In this step we will generate the finite-element mesh for the
-benchmark problem using \application{NETGEN}.
-
-\begin{enumerate}
-\item In the \directory{splittest/workarea} directory, run
-  \command{tutor.py} for step "mesh" with mode "retrieve" to fetch the
-  geometry file for \application{NETGEN}. You may also want to run
-  \command{tutor.py} for this step with mode "clean" to clean out old
-  files.
-
-  \begin{screen}
-    \shellprompt\userinput{./tutor.py -m retrieve -s mesh}
-    \shellprompt\userinput{./tutor.py -m clean -s mesh}
-  \end{screen}
-  
-\item Examine the \filename{splittest.geo} file to see how the geometry
-  for the problem is defined. Notice that the fault plan has
-  been flagged with a boundary condition code. This will be
-  used to associate boundary conditions with the fault surface and the
-  associated nodes. We do not have to flag the lateral faces and top
-  and bottom of the mesh because they are traction-free, which is a
-  natural boundary condition in the finite-element formulation.
-\item Start up \application{NETGEN} by running \command{ng}.
-
-  \begin{screen}
-    \shellprompt\userinput{ng}
-  \end{screen}
-  
-\item Select \guimenu{File}\guiselect\guimenuitem{Load Geometry}
-  and select \filename{splittest.geo}.
-\item Click on \guibutton{Generate Mesh}.
-\item Export the mesh to a file named \filename{splittest.netgen},
-  making sure the export filetype is "Neutral format".
-\item You can now exit \application{NETGEN}.
-\end{enumerate}
-
-\subsection{Setup simulation input files}
-
-In this step we will setup the PyLith input files for the mesh and
-boundary conditions.
-
-\begin{enumerate}
-\item Run \command{tutor.py} for step "setup" with mode "retrieve" to
-  fetch files from the archive.
-
-  \begin{screen}
-    \shellprompt\userinput{./tutor.py -m retrieve -s setup}
-  \end{screen}
-  
-\item We will use a simple Fortran utility to generate PyLith
-  input files from the \application{NETGEN} output.
-
-  \begin{description}
-  \item[\command{readnetgen}] A Fortran program to read
-    \application{NETGEN} neutral format and create several of the
-    input files needed by PyLith.
-  \end{description}
-  
-\item Run the \command{readnetgen} utility program to process the
-  \application{NETGEN} output file into PyLith compatible input files.
-  It will ask for a root filename, enter \filename{splittest}. This
-  utilitiy will generate the following files:
-  \filename{splittest.w01.wink}, \filename{splittest.coord},
-  \filename{splittest.connect}, \filename{splittest.bc},
-  \filename{splittest.1.fcoord}, \filename{splittest.1.fbc}.
-
-  \begin{screen}
-    \shellprompt\userinput{../../utils/readnetgen}
-    \prompt{~Enter root name for all files.  Both input and}\\
-    \prompt{~output files will all have this prefix:}\\
-    \userinput{splittest}
-  \end{screen}
-  
-\item The boundary conditions on the fault for this example are
-  very simple. As a result, the \filename{splittest.split} file was
-  generated by hand. You should examine this file to see how a uniform
-  right-lateral slip of 1.0 m is applied to the fault surface.
-
-  \begin{warning}
-    If you make any changes to \filename{splittest.geo} or change the
-    geometry within \application{NETGEN}, the split-node file
-    \filename{splittest.split} will no longer be correct and you will
-    have to generate one yourself.  Note that it is also possible that
-    a different version of \application{NETGEN} may provide a slightly
-    different mesh, which would also be incompatible with the provided
-    boundary conditions.
-  \end{warning}
-  
-\item The external boundary conditions for this benchmark simply
-  involve ... ADD STUFF HERE.
-
-  \begin{warning}
-    If you make any changes to \filename{splittest.geo} or change the
-    geometry within \application{NETGEN}, the boundary condition file
-    \filename{splittest.bc} will no longer be correct and you will
-    have to generate one yourself.  Note that it is also possible that
-    a different version of \application{NETGEN} may provide a slightly
-    different mesh, which would also be incompatible with the provided
-    boundary conditions.
-  \end{warning}
-\end{enumerate}
-
-\subsection{Run the simulation on one processor}
-
-In this step we will run the simulation on a single processor.
-
-\begin{enumerate}
-\item Run \command{tutor.py} for step "run1" with mode "retrieve" to
-  fetch some parameter files from the archive.
-
-  \begin{screen}
-    \shellprompt\userinput{./tutor.py -m retrieve -s run1}
-  \end{screen}
-  
-\item In \filename{splittest.fuldat}, we have specified that we want
-  full output at time steps 10, 50, and 100. We define two materials
-  with elastic behavior in
-  \filename{splittest.prop}. In \filename{splittest.statevar} we choose to
-  include total stress, total strain, incremental stress, and
-  incremental strain in the output. As defined in
-  \filename{splittest.time}, the simulation will have 100 time steps of
-  0.1 year each.
-\item Run the simulation by executing \userinput{runbm.py -n 1}, where
-  the 1 refers to the number of processors.
-
-  \begin{tip}
-    All of the input is echoed in the file \filename{splittest.ascii}.
-    You can check to make sure your input is digested correctly by
-    examining this file. For large problems, this file can be quite
-    large. You can suppress creation of this file using the command
-    line argument \option{--scanner.asciiOutput=none} flag. On the
-    other hand, for debugging purposes in small problems, you may wish
-    to output everything, including the computed results, in this file
-    using \option{--scanner.asciiOutput=full}.
-  \end{tip}
-  
-  \begin{screen}
-    \shellprompt\userinput{./runbm.py -n 1}
-  \end{screen}
-\end{enumerate}
-
-\subsection{Visualize the single processor run}
-
-Now it is time to visualize the results of the simulation. By default,
-PyLith writes simulation output using \link{\application{AVS} UCD
-  files}{http://help.avs.com/Express/doc/help/reference/dvmac/UCD\_Form.htm}.
-These can be read by several other visualization tools besides
-\application{AVS}, e.g., \application{ParaView} and \application{Iris
-  Explorer}. We will use the open-source application
-\application{ParaView} to visualize the results.
-    
-\begin{enumerate}
-\item If necessary, run \command{tutor.py} for step "viz1" with mode
-  "retrieve" to fetch the simulation output from the archive.
-
-  \begin{screen}
-    \shellprompt\userinput{./tutor.py -m retrieve -s viz1}
-  \end{screen}
-  
-\item PyLith does not write complete UCD files. So the first step is
-  to combine the mesh topology information with the output at a given
-  time step into a complete UCD file. For example, use \command{cat}
-  to merge the nodal coordinates file
-  (\filename{splittest\_1.0.mesh.inp}) and the nodal displacements at
-  time step 10 file (\filename{splittest\_1.0.mesh.time.00010.inp}) into
-  \filename{splittest\_1.0.mesh.t00010.inp}.
-
-  \begin{screen}
-    \shellprompt\userinput{cat splittest\_1.0.mesh.inp splittest\_1.0.mesh.time.00010.inp \ \\
-> splittest\_1.0.mesh.t00010.inp}
-\end{screen}
-
-\item Start \application{ParaView} by executing \command{paraview}.
-
-  \begin{screen}
-    \shellprompt\userinput{paraview}
-  \end{screen}
-  
-\item Load the UCD file that you just created by selecting
-  \guimenu{File}\guiselect\guimenuitem{Open Data}. Select the file in
-  the dialog box and the click the \guibutton{Open} button. Click the
-  \guibutton{Accept} button. You should see a color rendering of the x
-  displacements. You can use the mouse to rotate, translate, and zoom.
-  Your image should look similar to the one in
-  figure~\ref{fig::splittest:xdisp:t10}.
-        
-  \begin{figure}[htbp]
-    \begin{center}
-      %\includegraphics{figs/xdisp_t10}
-      \caption{ParaView rendering of displacement in x-direction at
-          time step 10 (10 yrs after imposed dislocation) for the
-          simple strike-slip example.}
-      \label{fig:splittest:xdisp:t10}
-    \end{center}
-  \end{figure}
-  
-\item In the \guibutton{Display} tab, you can change several options,
-  such as including a color bar, coloring a different component,
-  interpolating colors, and changing the color map.
-\item Let's show the displacements as vectors. Click on the calculator
-  icon, and add the three displacement components together. Enter
-  "XDispl*iHat+YDispl*jHat+ZDispl*kHat" in the \\guimenuitem{Calculator}
-  box. Note the variable names are available by clicking on the
-  \guibutton{scalars} button and the \guibutton{iHat},
-  \guibutton{jHat}, \guibutton{kHat} buttons are on the right side of
-  the top row. Click on the \guibutton{Accept} button. To show the
-  dataset as vectors, click on the \guibutton{glyph} button (looks
-  like several dots) in the toolbar. After clicking the
-  \guibutton{Accept} button, you should have a vector plot. You can
-  turn on/off other datasets by clicking on the eye icon to the left
-  of the dataset name. If you color the surfaces using the
-  x-displacements field while also making the displacement vectors
-  visible (colored using property), you should see an image similar to
-  the one in figure~\ref{fig:splittest:xdisp:vec:t10}.
-
-  \begin{figure}[htbp]
-    \begin{center}
-      %\includegraphics{figs/splittest_xdisp_vec_t10}
-      \caption{ParaView rendering of displacement in x-direction and
-        displacement vectors at time step 10 (10 yrs after imposed
-        dislocation) for the simple strike-slip example.}
-      \label{fig:splittest:xdisp:vec:t10}
-    \end{center}
-  \end{figure}      
-
-\end{enumerate}
-
-\subsection{Run the simulation on two processors}
-
-In this step we will run the simulation on two processors. Even if
-your machine only has one processor, a "multprocessor" job will run as
-multiple processes on the single processor. In such cases, the job
-will run slightly slower than the single processor run, but the two
-processes will behave independently as if they are on different
-processors.
-
-\begin{enumerate}
-\item Run \command{tutor.py} for step "run2" with mode "retrieve" to
-  make sure all parameter files are available.
-
-  \begin{screen}
-    \shellprompt\userinput{./tutor.py -m retrieve -s run2}
-  \end{screen}
-  
-\item The parameter files are the same as those in the single
-  processor run. The \command{runbm} script will automatically take
-  care of duplicating these files so that there is one for each
-  processor.
-\item Run the simulation by executing \command{runbm.py -n 2}, where
-  the 2 refers to the number of processors.
-
-  \begin{screen}
-    \shellprompt\userinput{./runbm.py -n 2}
-  \end{screen}
-\end{enumerate}
-
-\subsection{Visualize the two processor run}
-
-PyLith does not currently support parallel output, so each processor
-writes its UCD output to a different file. This means that you need to
-form complete UCD files for each processor and then load each one into
-\application{ParaView}.
-
-\begin{enumerate}
-\item If necessary, run \command{tutor.py} for step "viz2" with mode
-  "retrieve" to fetch the simulation output from the archive.
-
-  \begin{screen}
-    \shellprompt\userinput{./tutor.py -m retrieve -s viz2}
-  \end{screen}
-  
-\item As in the case of the single processor run, the first step is to
-  combine the mesh topology information with the output at a given
-  time step into a complete UCD file. Because PyLith writes the output
-  from each processor into a different file, we must run \command{cat}
-  twice to create UCD files for each processor.
-
-  \begin{screen}
-    \shellprompt\userinput{cat splittest\_2.0.mesh.inp splittest\_2.0.mesh.time.00010.inp \\
-      > splittest\_2.0.mesh.t00010.inp} \\
-    \shellprompt\userinput{cat splittest\_2.1.mesh.inp splittest\_2.1.mesh.time.00010.inp \\
-      > splittest\_2.1.mesh.t00010.inp}
-  \end{screen}
-
-\item Start \application{ParaView} by executing \command{paraview}.
-
-  \begin{screen}
-    \shellprompt\userinput{paraview}
-  \end{screen}
-  
-\item Load the UCD files that you just created by selecting
-  \guimenu{File}\guiselect\guimenuitem{Open Data}. Select the file in
-  the dialog box and the click the \guibutton{Open} button. Click the
-  \guibutton{Accept} button. You can now visualize the datasets just
-  like you did for the single processor case.
-\item You can merge the datasets from the different processors by
-  selecting \guimenu{Filter}\guiselect\guimenuitem{Append}. Doing so
-  will allow you to operate on the data from all of the processors
-  simultaneously instead of having to repeat any processing for every
-  processor.
-\end{enumerate}

Modified: short/3D/PyLith/branches/pylith-0.8/doc/userguide/tutorials/tutorials.tex
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/doc/userguide/tutorials/tutorials.tex	2006-08-22 21:42:48 UTC (rev 4400)
+++ short/3D/PyLith/branches/pylith-0.8/doc/userguide/tutorials/tutorials.tex	2006-08-22 21:44:40 UTC (rev 4401)
@@ -43,5 +43,5 @@
   you should remove them and let the tutor retrieve clean copies.
 \end{tip}
 
-\input{splittest/splitcube.tex}
+\input{splitcube/splitcube.tex}
 \input{reversenog/reversenog.tex}



More information about the cig-commits mailing list