[cig-commits] r15514 - in short/2.5D/benchmarks/savageprescott: . parameters results utils

willic3 at geodynamics.org willic3 at geodynamics.org
Mon Aug 3 16:26:59 PDT 2009


Author: willic3
Date: 2009-08-03 16:26:59 -0700 (Mon, 03 Aug 2009)
New Revision: 15514

Modified:
   short/2.5D/benchmarks/savageprescott/README
   short/2.5D/benchmarks/savageprescott/parameters/README
   short/2.5D/benchmarks/savageprescott/results/README
   short/2.5D/benchmarks/savageprescott/utils/README
Log:
Updated all the README files (and added figures/README) for the way things
are presently set up.
As far as I know, that should be all that needs to be done for this
benchmark.



Modified: short/2.5D/benchmarks/savageprescott/README
===================================================================
--- short/2.5D/benchmarks/savageprescott/README	2009-08-03 22:29:34 UTC (rev 15513)
+++ short/2.5D/benchmarks/savageprescott/README	2009-08-03 23:26:59 UTC (rev 15514)
@@ -4,23 +4,23 @@
 occurs at regular recurrence intervals on the upper locked part of the
 fault, while constant-velocity creep occurs on the lower part of the fault.
 This directory contains the files necessary to run the problem using
-PyLith, as well as a utils directory that contains a Python scripts and
+PyLith, as well as a utils directory that contains Python scripts and
 .cfg files to compute the analytical solution, and to generate velocity
 results for the PyLith solutions.
 
-To run the PyLith simulation, go to the parameters directory and run one
+To run the PyLith simulation, you must first unzip the desired mesh file(s).
+Go to the meshes directory, and unzip the desired mesh(es). The geometry
+of each mesh is described in the corresponding Cubit journal file (.jou
+files). To run the simulation, go to the parameters directory and run one
 of the shell scripts, or just run PyLith directly using the appropriate
 .cfg files on the command line (see the README in the parameters directory).
-Note that if you run using one of the graded meshes, the problem will take
-quite a while to run. Once the problem has finished running, there will be a
-number of .vtk files in the results directory, which may be viewed with a
-package such as ParaView.
+Note that the problem will take quite a while to run. Once the problem has
+finished running, there will be a number of .vtk files in a subdirectory of
+the results directory, which may be viewed with a package such as ParaView.
 
-The simplest way to compare the numerical and analytical solutions is to
-look at profile velocity results using a plotting package. The savpres_ss.py
-script will produce comma-separated-values files for displacements and
-velocities (savpres_displ.csv, savpres_vel.csv) that are easy to use with a
-plotting package.
+There are several scripts in the utils directory to aid the process of
+comparing analytical and numerical results. Look at the README in the utils
+directory.
 
 Note that it is not possible to directly compare the PyLith results with the
 analytical solution. This is because the analytical solution assumes steady
@@ -28,21 +28,15 @@
 solution requires several earthquake cycles to reach this state. For direct
 comparison, you can either reference all results to the displacement field
 immediately following an earthquake, or you can look at velocity results.
+There are scripts in the utils directory to do the referencing as well as
+scripts to compute velocity results. See the README in the utils directory
+for details.
 
-There is an additional script in the utils directory (vtkdiff.py) that
-computes velocities from PyLith displacement results. See the README in the
-utils directory to find out how to do this. This will create a set of VTK
-files that you can use with ParaView.  You can generate profile results
-using ParaView (e.g., the "Plot Over Line" filter). By loading the entire
-time series for the ground surface velocity results, it is possible to
-generate profile results for all time steps. For comparison with the
-analytical results, it is easiest to use a profile coincident with the
-x-axis that extends from x=0 to the right-hand side of the mesh. The
-profiles can also be saved as CSV files from ParaView.
-
 The most accurate comparison between analytical and numerical results is to
 compare the displacements referenced to the displacements at a particular
 time (e.g., the first time step following an earthquake). This is because
 the analytical velocity results are computed exactly, while for the PyLith
 results we approximate velocities by differencing displacements over a time
-step.
+step. There is a script in the figures directory to create plots comparing
+the analytical and numerical displacement results. See the README in that
+directory for details.

Modified: short/2.5D/benchmarks/savageprescott/parameters/README
===================================================================
--- short/2.5D/benchmarks/savageprescott/parameters/README	2009-08-03 22:29:34 UTC (rev 15513)
+++ short/2.5D/benchmarks/savageprescott/parameters/README	2009-08-03 23:26:59 UTC (rev 15514)
@@ -7,31 +7,34 @@
 The default parameters, which are independent of the mesh used, are
 contained in pylithapp.cfg. Additional mesh-dependent parameters are given
 in the spbm_xxx.cfg files. The timedep.cfg file contains parameters specific
-to time-dependent fault slip. There are four different cases so far:
+to time-dependent fault slip. At present, there are four different meshes
+(the meshes and corresponding Cubit journal files are contained in the
+meshes directory). Make sure that you unzip the appropriate mesh before
+trying to run a simulation. Each mesh requires a different .cfg file.
+These files are:
 
-spbm_hex8_unif1_20km.cfg:	This is a simple uniform mesh with a fault
-completely contained in the elastic layer. The mesh resolution is 20 km
-throughout.
+spbm_hex8_unif_20km.cfg:	This is a simple uniform mesh composed of
+hexahedral elements, with a fault completely contained in the elastic layer.
+The mesh resolution is 20 km throughout.
 
-spbm_hex8_unif2_20km.cfg:	This is identical to the previous case,
-except that the fault extends all the way through the mesh, even though no
-slip is applied below the elastic layer. This case is used for testing our
-fault implementation and should not generally be used by end users.
+spbm_hex8_graded_20km.cfg:	This mesh is similar to the uniform mesh,
+but an inner region of the mesh is put through one level of refinement, so
+the region surrounding the fault has a finer resolution. This mesh will
+yield more accurate results, but since it contains more cells and vertices
+it will take longer to run.
 
-spbm_hex8_unif3_20km.cfg:	This is a simple uniform mesh with a fault
-completely contained in the elastic layer. The mesh resolution is 20 km
-throughout. The difference between this mesh and the unif1 mesh is that
-this mesh extends to a depth of 400 km rather than 200 km.
+spbm_tet4_unif_20km.cfg:	This mesh is exactly analagous to the
+uniform hex mesh, but it is composed of tetrahedral elements. The resulting
+mesh has slightly fewer vertices than the corresponding hex mesh, but many
+more elements (cells).
 
-spbm_hex8_graded1_20km.cfg:	This uses a mesh with an initial resolution
-of 20 km that includes one level of refinement surrounding the center of the
-mesh. The fault is completely contained in the elastic layer.
+spbm_tet4_graded_20km.cfg:	This mesh is exactly analagous to the
+graded hex mesh, but it is composed of tetrahedral elements. The resulting
+mesh has slightly fewer vertices than the corresponding hex mesh, but many
+more elements (cells). As for the hex case, this mesh should produce more
+accurate results than the graded mesh equivalent, but it will take longer
+to run.
 
-spbm_hex8_graded2_20km.cfg:	This is identical to the graded1 case,
-except that the fault extends all the way through the mesh, even though no
-slip is applied below the elastic layer. This case is used for testing our
-fault implementation and should not generally be used by end users.
-
 The spatial databases are as follows:
 
 finalslip_rupture.spatialdb:	File used to specify coseismic slip.
@@ -44,3 +47,8 @@
 
 sliptime.spatialdb:		File describing slip initiation time.
 
+Once you have run a simulation, the output VTK files will be in the
+corresponding subdirectory in the results directory. These files may be
+viewed with a visualization package such as ParaView. To compare the
+results with an analytical solution, there are also some utility programs
+in the utils directory.

Modified: short/2.5D/benchmarks/savageprescott/results/README
===================================================================
--- short/2.5D/benchmarks/savageprescott/results/README	2009-08-03 22:29:34 UTC (rev 15513)
+++ short/2.5D/benchmarks/savageprescott/results/README	2009-08-03 23:26:59 UTC (rev 15514)
@@ -44,8 +44,16 @@
 contain column headings that are a bit more user-friendly than those
 provided by ParaView. You can simply edit the .txt files and replace the
 first line with the appropriate heading ('head-displ' or 'head-diff').
+Note that all of the Python scripts recognize column headers as lines
+beginning with a '#', so make sure the column headings begin with this
+character.
 
 6.  If you are using displacement results, you will then need to reference
-any results to the first step in a cycle. You can do this in a spreadsheet
-program or write a simple script to do it. You should then be able to plot
-the results and compare them to the analytical solution.
+any results to the first step in a cycle. There is a Python script in the
+utils directory (ref_profiles.py) to do this for you. See the README in the
+utils directory for instructions. You can then either use a plotting
+package to view the results, or use the Python script in the figures
+directory (plot_displ_profiles.py) to do it for you. See the README in
+that directory for instructions. To view the velocity results, you will
+either need to use a plotting package or write your own script based on
+the script in the figures directory.

Modified: short/2.5D/benchmarks/savageprescott/utils/README
===================================================================
--- short/2.5D/benchmarks/savageprescott/utils/README	2009-08-03 22:29:34 UTC (rev 15513)
+++ short/2.5D/benchmarks/savageprescott/utils/README	2009-08-03 23:26:59 UTC (rev 15514)
@@ -1,7 +1,7 @@
-This directory contains two Python utility codes, along with the .cfg files
-needed to run them. The first code (savpres_ss.py) computes the analytical
-solution for displacement and velocity for the Savage and Prescott [1978]
-model. To run the model, simply type:
+This directory contains three Python utility codes, along with the .cfg
+files needed to run them. The first code (savpres_ss.py) computes the
+analytical solution for displacement and velocity for the Savage and
+Prescott [1978] model. To run the model, simply type:
 
 ./savpres_ss.py
 
@@ -12,13 +12,38 @@
 
 Note that you will not be able to directly compare the analytical and
 numerical solutions (see top-level README). You can instead compare the
-velocity results for time steps in the later cycles.
+velocity results for time steps in the later cycles, or you can compare
+displacement results if they are referenced to a profile at the beginning of
+a cycle.
 
 The second utility code (vtkdiff.py) allows you to compute velocities from
 the displacement results produced by PyLith. To do this, you just type:
 
-./vtkdiff.py vtkdiff_hex8_unif1_20km.cfg
+./vtkdiff.py vtkdiff_hex8_unif_20km.cfg
 
 This will generate velocity results for the uniform mesh with 20 km
 resolution. Results are placed in the results directory for the
-appropriate model.
+appropriate model. Note that the accuracy of the computed velocities is
+dependent on the frequency of PyLith output, since they are computed by
+differencing the displacement results.
+
+The final utility code (ref_profiles.py) requires column displacement
+output, which can be produced from the VTK results using a package such as
+ParaView (see the README in the results directory). The purpose of this
+utility is to reference all the time steps within a cycle to the time step
+at the beginning of a cycle. This is necessary to compare the numerical
+results to the analytical solution. Note that you cannot use this code
+until you have generated the appropriate column files in the results
+subdirectory.  Once you have generated these files, you can run the code
+like:
+
+./ref_profiles.py ref_profiles_hex8_unif_20km.cfg
+
+This will create a sequence of tab-delimited files, one for each cycle.
+This utility code may also be used to reference the analytical results to
+the beginning of each cycle:
+
+ref_profiles.py ref_profiles_savpres_displ.cfg
+
+This will create a sequence of files for the analytical solution
+(savpres_displ_c0.txt, etc.) in the utils directory.



More information about the CIG-COMMITS mailing list