[cig-commits] r12599 - in short/3D/PyLith/trunk: doc/userguide/install doc/userguide/intro doc/userguide/runpylith pylith/problems

brad at geodynamics.org brad at geodynamics.org
Fri Aug 8 17:21:50 PDT 2008


Author: brad
Date: 2008-08-08 17:21:50 -0700 (Fri, 08 Aug 2008)
New Revision: 12599

Modified:
   short/3D/PyLith/trunk/doc/userguide/install/install.lyx
   short/3D/PyLith/trunk/doc/userguide/intro/intro.lyx
   short/3D/PyLith/trunk/doc/userguide/runpylith/runpylith.lyx
   short/3D/PyLith/trunk/pylith/problems/TimeStepAdapt.py
Log:
Started work on updating manual for version 1.3. Added time stepping text to Running PyLith chapter (still need to add file format specification for user-specified time step to appendix).

Modified: short/3D/PyLith/trunk/doc/userguide/install/install.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/install/install.lyx	2008-08-08 21:10:23 UTC (rev 12598)
+++ short/3D/PyLith/trunk/doc/userguide/install/install.lyx	2008-08-09 00:21:50 UTC (rev 12599)
@@ -1,4 +1,4 @@
-#LyX 1.5.1 created this file. For more info see http://www.lyx.org/
+#LyX 1.5.6 created this file. For more info see http://www.lyx.org/
 \lyxformat 276
 \begin_document
 \begin_header
@@ -192,7 +192,7 @@
 
 \begin_deeper
 \begin_layout LyX-Code
-$ tar -xzf pylith-1.2.0-linux-i686.tar.gz
+$ tar -xzf pylith-1.3.0-linux-i686.tgz
 \end_layout
 
 \end_deeper
@@ -251,7 +251,7 @@
 
 \begin_deeper
 \begin_layout LyX-Code
-$ tar -xzf pylith-1.2.0-darwin-powerpc.tar.gz
+$ tar -xzf pylith-1.3.0-darwin-powerpc.tgz
 \end_layout
 
 \end_deeper
@@ -289,7 +289,7 @@
 \end_layout
 
 \begin_layout Standard
-PyLith 1.2 depends on a number of other packages (see Figure 
+PyLith depends on a number of other packages (see Figure 
 \begin_inset LatexCommand ref
 reference "fig:pylith-dependencies"
 
@@ -2234,7 +2234,7 @@
 \end_layout
 
 \begin_layout LyX-Code
-$ tar xzf spatialdata.tgz
+$ tar xzf spatialdata-0.4.tgz
 \end_layout
 
 \begin_layout Standard
@@ -2242,7 +2242,7 @@
 \end_layout
 
 \begin_layout LyX-Code
-$ gunzip -c spatialdata.tgz | tar xf -
+$ gunzip -c spatialdata-0.4.tgz | tar xf -
 \end_layout
 
 \begin_layout Subsubsection
@@ -2429,7 +2429,7 @@
 \end_layout
 
 \begin_layout LyX-Code
-$ tar xzf pylith-1.2.0.tar.gz
+$ tar xzf pylith-1.3.0.tgz
 \end_layout
 
 \begin_layout Standard
@@ -2437,7 +2437,7 @@
 \end_layout
 
 \begin_layout LyX-Code
-$ gunzip -c pylith-1.2.0.tar.gz | tar xf -
+$ gunzip -c pylith-1.3.0.tgz | tar xf -
 \end_layout
 
 \begin_layout Subsubsection
@@ -2501,7 +2501,7 @@
 \newline
 
 \newline
-$ cd pylith-1.2.0
+$ cd pylith-1.3.0
 \end_layout
 
 \begin_layout Enumerate
@@ -2709,7 +2709,7 @@
 \end_layout
 
 \begin_layout Standard
-PyLith 1.2 requires Pythia v0.8.1.6 or later, which 
+PyLith requires Pythia v0.8.1.6 or later, which 
 \family typewriter
 configure
 \family default

Modified: short/3D/PyLith/trunk/doc/userguide/intro/intro.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/intro/intro.lyx	2008-08-08 21:10:23 UTC (rev 12598)
+++ short/3D/PyLith/trunk/doc/userguide/intro/intro.lyx	2008-08-09 00:21:50 UTC (rev 12599)
@@ -1,4 +1,4 @@
-#LyX 1.5.1 created this file. For more info see http://www.lyx.org/
+#LyX 1.5.6 created this file. For more info see http://www.lyx.org/
 \lyxformat 276
 \begin_document
 \begin_header
@@ -66,10 +66,10 @@
 \end_layout
 
 \begin_layout Standard
-This version of PyLith (1.1) is the first version to allow the solution of
- both implicit (quasi-static) and explicit (dynamic) problems, and represents
- a complete rewrite of the original PyLith.
- This version combines the functionality of EqSim 
+PyLith 1.0 was the first version to allow the solution of both implicit (quasi-st
+atic) and explicit (dynamic) problems and was a complete rewrite of the
+ original PyLith.
+ PyLith 1.0 combines the functionality of EqSim 
 \begin_inset LatexCommand cite
 key "Aagaard:etal:2001a,Aagaard:etal:2001b"
 
@@ -88,8 +88,10 @@
 \end_layout
 
 \begin_layout Standard
-This release of PyLith allows the solution of both quasi-static and dynamic
- problems in one, two, or three dimensions.
+The release of PyLith 1.0 has been followed by additional releases that expand
+ the number of features as well as improve performance.
+ The PyLith 1.x series of releases allow the solution of both quasi-static
+ and dynamic problems in one, two, or three dimensions.
  The code runs in either serial or parallel mode, and the design allows
  for relatively easy scripting using the Python programming language.
  Material properties and values for boundary and fault conditions are specified
@@ -124,7 +126,7 @@
  constitutive models, automatic generation of higher-order elements from
  linear elements, and the generation of Green's functions to be used in
  inversions.
- Many of these features should be available by Fall 2008.
+ Several of these features should be available by Jan 2009.
 \end_layout
 
 \begin_layout Section
@@ -438,7 +440,7 @@
 \end_layout
 
 \begin_layout Standard
-PyLith 0.8 and PyLith 1.0 make use of a new set of data structures and routines
+PyLith 0.8 and PyLith 1.x make use of a new set of data structures and routines
  in PETSc called 
 \family typewriter
 Sieve

Modified: short/3D/PyLith/trunk/doc/userguide/runpylith/runpylith.lyx
===================================================================
--- short/3D/PyLith/trunk/doc/userguide/runpylith/runpylith.lyx	2008-08-08 21:10:23 UTC (rev 12598)
+++ short/3D/PyLith/trunk/doc/userguide/runpylith/runpylith.lyx	2008-08-09 00:21:50 UTC (rev 12599)
@@ -1,4 +1,4 @@
-#LyX 1.5.2 created this file. For more info see http://www.lyx.org/
+#LyX 1.5.6 created this file. For more info see http://www.lyx.org/
 \lyxformat 276
 \begin_document
 \begin_header
@@ -1726,6 +1726,227 @@
 \end_layout
 
 \begin_layout Section
+Time Stepping
+\end_layout
+
+\begin_layout Standard
+PyLith provides three choices for controlling the time step in time-dependent
+ simulations.
+ These include (1) a uniform, user-specified time step (which is the default),
+ (2) nonuniform, user-specified time steps, and (3) nonuniform, automatically
+ calculated time steps.
+ The procedure for automatically selecting time steps requires that the
+ material models provide a reasonable estimate of the time step for stable
+ time integration.
+ In general, quasi-static simulations should use automatically calculated
+ time steps and dynamic simulations should use a uniform, user-specified
+ time step.
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+\color red
+Warning:
+\series default
+\color none
+ 
+\color inherit
+Changing the time step requires recomputing the Jacobian of the system,
+ which can greatly increase the runtime if the time step size frequently.
+\end_layout
+
+\begin_layout Subsection
+Uniform, User-Specified Time Step
+\end_layout
+
+\begin_layout Standard
+With a uniform, user-specified time step, the user selects the time step
+ that is used over the entire duration of the simulation.
+ This value is used whether or not it yields a stable solution, so users
+ should be careful when selecting the time step value.
+ The properties for the uniform, user-specified time step are:
+\end_layout
+
+\begin_layout Description
+total_time Time duration for simulation.
+\end_layout
+
+\begin_layout Description
+dt Time step for simulation.
+\end_layout
+
+\begin_layout Standard
+An example of setting a uniform, user-specified time step in a 
+\family typewriter
+.cfg
+\family default
+ file is:
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.problem.formulation]
+\end_layout
+
+\begin_layout LyX-Code
+time_step = pylith.problems.TimeStepUniform ; Default value
+\end_layout
+
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.problem.formulation.time_step]
+\end_layout
+
+\begin_layout LyX-Code
+total_time = 1000.0*year
+\end_layout
+
+\begin_layout LyX-Code
+dt = 0.5*year
+\end_layout
+
+\begin_layout Subsection
+Nonuniform, User-Specified Time Step
+\end_layout
+
+\begin_layout Standard
+The nonuniform, user-specified time step implementation allows the user
+ to specify the time steps in an ASCII file (see Section ?? for the format
+ specification of the time step file).
+ If the total duration exceeds the time associated with the time steps,
+ then a flag determines whether to cycle through the time steps or to use
+ the last specified time step for the time remaining.
+ The properties for the nonuniform, user-specified time step are:
+\end_layout
+
+\begin_layout Description
+total_time Time duration for simulation.
+\end_layout
+
+\begin_layout Description
+filename Name of file with time step sizes.
+\end_layout
+
+\begin_layout Description
+loop_steps If true, cycle through time steps, otherwise keep using last
+ time step size for any time remaining
+\end_layout
+
+\begin_layout Standard
+An example of setting the properties for nonuniform, user-specified time
+ steps in a 
+\family typewriter
+.cfg
+\family default
+ file is:
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.problem.formulation]
+\end_layout
+
+\begin_layout LyX-Code
+time_step = pylith.problems.TimeStepUser ; Change the time step algorithm
+\end_layout
+
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.problem.formulation.time_step]
+\end_layout
+
+\begin_layout LyX-Code
+total_time = 1000.0*year
+\end_layout
+
+\begin_layout LyX-Code
+filename = timesteps.txt
+\end_layout
+
+\begin_layout LyX-Code
+loop_steps = false ; Default value
+\end_layout
+
+\begin_layout Subsection
+Nonuniform, Automatic Time Step
+\end_layout
+
+\begin_layout Standard
+This time step implementation automatically calculates a stable time step
+ based on the constitutive model and rate of deformation.
+ As a result, this choice for choosing the time step relies on accurate
+ calculation of a stable time step within each finite-element cell by the
+ constitutive models.
+ In order to provide some control over the time step selection, the user
+ can control the frequency that a new time step is calculated, the time
+ step to use relative to the value determined by the constitutive models,
+ and a maximum value for the time step.
+ The properties for controlling the automatic time step selection are:
+\end_layout
+
+\begin_layout Description
+total_time Time duration for simulation.
+\end_layout
+
+\begin_layout Description
+max_dt Maximum time step permitted.
+\end_layout
+
+\begin_layout Description
+adapt_skip Number of time steps to skip between calculating new stable time
+ step.
+\end_layout
+
+\begin_layout Description
+stability_factor Safety factor for stable time step.
+\end_layout
+
+\begin_layout Standard
+An example of setting the properties for the automatic time step in a 
+\family typewriter
+.cfg
+\family default
+ file is:
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.problem.formulation]
+\end_layout
+
+\begin_layout LyX-Code
+time_step = pylith.problems.TimeStepAdapt ; Change the time step algorithm
+\end_layout
+
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+[pylithapp.problem.formulation.time_step]
+\end_layout
+
+\begin_layout LyX-Code
+total_time = 1000.0*year
+\end_layout
+
+\begin_layout LyX-Code
+max_dt = 10.0*year
+\end_layout
+
+\begin_layout LyX-Code
+adapt_skip = 10 ; Default value
+\end_layout
+
+\begin_layout LyX-Code
+stability_factor = 1.2 ; Default value
+\end_layout
+
+\begin_layout Section
 PyLith Output
 \end_layout
 

Modified: short/3D/PyLith/trunk/pylith/problems/TimeStepAdapt.py
===================================================================
--- short/3D/PyLith/trunk/pylith/problems/TimeStepAdapt.py	2008-08-08 21:10:23 UTC (rev 12598)
+++ short/3D/PyLith/trunk/pylith/problems/TimeStepAdapt.py	2008-08-09 00:21:50 UTC (rev 12599)
@@ -58,7 +58,7 @@
 
     maxDt = pyre.inventory.dimensional("max_dt", default=1.0*second,
                                     validator=pyre.inventory.greater(0.0*second))
-    maxDt.meta['tip'] = "Maximum time step."
+    maxDt.meta['tip'] = "Maximum time step permitted."
 
     adaptSkip = pyre.inventory.int("adapt_skip", default=10,
                                    validator=pyre.inventory.greaterEqual(0))



More information about the cig-commits mailing list