[cig-commits] [commit] knepley/upgrade-petsc-interface: Updated information. (7cafe87)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Thu Feb 13 13:07:41 PST 2014


Repository : ssh://geoshell/pylith

On branch  : knepley/upgrade-petsc-interface
Link       : https://github.com/geodynamics/pylith/compare/97b250360a03c8691ea89896dff7ac258c62755e...f322c74370bc22f8c0ad387afd461fc3cecdbb49

>---------------------------------------------------------------

commit 7cafe87cbed15e1aeb7980e11fdfc62e07f7e747
Author: Brad Aagaard <baagaard at usgs.gov>
Date:   Thu Feb 13 13:06:25 2014 -0800

    Updated information.
    
    Improved discussion of scales in nondimensionalization.
    Updated solver settings.
    Improved time stepping discussion.
    Improved output discussion.


>---------------------------------------------------------------

7cafe87cbed15e1aeb7980e11fdfc62e07f7e747
 doc/userguide/runpylith/runpylith.lyx | 117 +++++++++++++++++++++-------------
 1 file changed, 71 insertions(+), 46 deletions(-)

diff --git a/doc/userguide/runpylith/runpylith.lyx b/doc/userguide/runpylith/runpylith.lyx
index a91baba..4f43a86 100644
--- a/doc/userguide/runpylith/runpylith.lyx
+++ b/doc/userguide/runpylith/runpylith.lyx
@@ -1594,7 +1594,7 @@ PyLith nondimensionalizes all parameters provided by the user so that the
 \family typewriter
 NondimElasticQuasistatic
 \family default
- normalizer has the following properties:
+ normalizer (which is the default) has the following properties:
 \end_layout
 
 \begin_layout Description
@@ -1691,16 +1691,16 @@ The default nondimensionalization is reasonable for many problems; however,
  it may be necessary to change the default values in some cases.
  When doing this, keep in mind that the nondimensionalization generally
  applies to the minimum values encountered for a problem.
- For example, in a problem with a very small mesh size, the 
+ For example, in a quasistatic problem, the 
 \family typewriter
 length_scale
 \family default
- for a quasistatic problem should be on the order of the minimum cell size.
- Similarly, for a problem involving very short relaxation times, the 
+ should be on the order of the minimum cell size.
+ Similarly, the 
 \family typewriter
 relaxation_time
 \family default
- should be on the order of the minimum relaxation time for the problem.
+ should be on the order of the minimum relaxation time.
 \end_layout
 
 \begin_layout Subsection
@@ -2826,9 +2826,9 @@ PETSc options used with split fields algebraic multigrid preconditioning
 \begin_inset Tabular
 <lyxtabular version="3" rows="8" columns="3">
 <features tabularvalignment="middle">
-<column alignment="left" valignment="top" width="2.25in">
+<column alignment="left" valignment="top" width="2.75in">
 <column alignment="center" valignment="middle" width="0.75in">
-<column alignment="left" valignment="top" width="3in">
+<column alignment="left" valignment="top" width="2.5in">
 <row>
 <cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
 \begin_inset Text
@@ -2852,7 +2852,7 @@ Value
 
 \end_inset
 </cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
 \begin_inset Text
 
 \begin_layout Plain Layout
@@ -2888,7 +2888,7 @@ field_split
 
 \end_inset
 </cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+<cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
 \begin_inset Text
 
 \begin_layout Plain Layout
@@ -2922,7 +2922,7 @@ true
 
 \end_inset
 </cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+<cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
 \begin_inset Text
 
 \begin_layout Plain Layout
@@ -2956,7 +2956,7 @@ multiplicative
 
 \end_inset
 </cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+<cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
 \begin_inset Text
 
 \begin_layout Plain Layout
@@ -2975,7 +2975,7 @@ Apply each field preconditioning in sequence, which is stronger than all-at-once
 
 \family typewriter
 \size footnotesize
-fs_fieldsplit_0_pc_type
+fs_fieldsplit_displacement_pc_type
 \end_layout
 
 \end_inset
@@ -2991,7 +2991,7 @@ ml
 
 \end_inset
 </cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+<cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
 \begin_inset Text
 
 \begin_layout Plain Layout
@@ -3009,7 +3009,7 @@ Multilevel algebraic multigrid preconditioning using Trilinos/ML via PETSc.
 
 \family typewriter
 \size footnotesize
-fs_fieldsplit_1_pc_type
+fs_fieldsplit_lagrange_multiplier_pc_type
 \end_layout
 
 \end_inset
@@ -3025,7 +3025,7 @@ jacobi
 
 \end_inset
 </cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+<cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
 \begin_inset Text
 
 \begin_layout Plain Layout
@@ -3044,7 +3044,7 @@ Jacobi preconditioning for Lagrange multiplier block (only use if there
 
 \family typewriter
 \size footnotesize
-fs_fieldsplit_0_ksp_type
+fs_fieldsplit_displacement_ksp_type
 \end_layout
 
 \end_inset
@@ -3060,7 +3060,7 @@ preonly
 
 \end_inset
 </cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+<cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
 \begin_inset Text
 
 \begin_layout Plain Layout
@@ -3078,7 +3078,7 @@ Apply only the preconditioner.
 
 \family typewriter
 \size footnotesize
-fs_fieldsplit_1_ksp_type
+fs_fieldsplit_lagrange_multiplier_ksp_type
 \end_layout
 
 \end_inset
@@ -3094,7 +3094,7 @@ preonly
 
 \end_inset
 </cell>
-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
 \begin_inset Text
 
 \begin_layout Plain Layout
@@ -3132,6 +3132,15 @@ ioner.
  If the solver for the Schur complement S is given a very low tolerance,
  this is effectively a direct solver.
  The options given below will construct this solver in PyLith.
+ These settings are available in
+\family typewriter
+
+\begin_inset Newline newline
+\end_inset
+
+$PYLITH_DIR/share/settings/solver_fault_exact.cfg
+\family default
+.
 \end_layout
 
 \begin_layout LyX-Code
@@ -3147,10 +3156,6 @@ matrix_type = aij
 \end_layout
 
 \begin_layout LyX-Code
-use_custom_constraint_pc = True
-\end_layout
-
-\begin_layout LyX-Code
 
 \end_layout
 
@@ -3163,11 +3168,11 @@ fs_pc_type = fieldsplit
 \end_layout
 
 \begin_layout LyX-Code
-fs_pc_fieldsplit_type = schur
+fs_pc_use_amat = True
 \end_layout
 
 \begin_layout LyX-Code
-fs_pc_fieldsplit_schur_precondition = user
+fs_pc_fieldsplit_type = schur
 \end_layout
 
 \begin_layout LyX-Code
@@ -3175,31 +3180,23 @@ fs_pc_fieldsplit_schur_factorization_type = full
 \end_layout
 
 \begin_layout LyX-Code
-fs_pc_use_amat = true
+fs_fieldsplit_displacement_ksp_type = preonly
 \end_layout
 
 \begin_layout LyX-Code
-fs_fieldsplit_0_pc_type = lu
+fs_fieldsplit_displacement_pc_type = lu
 \end_layout
 
 \begin_layout LyX-Code
-fs_fieldsplit_0_ksp_type = gmres
+fs_fieldsplit_lagrange_multiplier_pc_type = jacobi
 \end_layout
 
 \begin_layout LyX-Code
-fs_fieldsplit_0_ksp_rtol = 1.0e-10
+fs_fieldsplit_lagrange_multiplier_ksp_type = gmres
 \end_layout
 
 \begin_layout LyX-Code
-fs_fieldsplit_1_pc_type = jacobi
-\end_layout
-
-\begin_layout LyX-Code
-fs_fieldsplit_1_ksp_type = gmres
-\end_layout
-
-\begin_layout LyX-Code
-fs_fieldsplit_1_ksp_rtol = 1.0e-10 
+fs_fieldsplit_lagrange_multiplier_ksp_rtol = 1.0e-11
 \end_layout
 
 \begin_layout Subsubsection
@@ -3649,14 +3646,14 @@ Time Stepping
 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.
+ (2) user-specified time steps (potentially nonuniform), and (3) automatically
+ calculated (potentially nonuniform) 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.
+ In general, quasi-static simulations with viscoelastic materials should
+ use automatically calculated time steps and dynamic simulations should
+ use a uniform, user-specified time step.
  Note that all three of the time stepping schemes make use of the computed
  stable time step (see 
 \begin_inset CommandInset ref
@@ -3666,6 +3663,10 @@ reference "sub:Stable-time-step"
 \end_inset
 
 ).
+ When using user-specified time steps, the value is checked against the
+ computed stable time step.
+ The automatically calculated time step comes from the computed stable time
+ step.
 \end_layout
 
 \begin_layout Standard
@@ -3677,8 +3678,9 @@ Warning:
 \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 changes frequently.
+Varying the time step within a simulation requires recomputing the Jacobian
+ of the system whenever the time step changes, which can greatly increase
+ the runtime if the time-step size changes frequently.
 \end_layout
 
 \begin_layout Subsubsection
@@ -4946,7 +4948,7 @@ time_step = 1.0*yr
 \end_layout
 
 \begin_layout LyX-Code
-cell_filter = pylith.meshio.CellFilterAvgMesh
+cell_filter = pylith.meshio.CellFilterAvg
 \end_layout
 
 \begin_layout LyX-Code
@@ -5518,6 +5520,23 @@ h5dump -d /geometry/vertices mydata.h5
 \end_layout
 
 \end_deeper
+\begin_layout Standard
+We have also include a utility 
+\family typewriter
+pylith_genxdmf
+\family default
+ (see Section 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sub:pylith_genxdmf"
+
+\end_inset
+
+) that generates an appropriate Xdmf file from a PyLith HDF5 file.
+ This is very useful if you add fields to HDF5 files in post-processing
+ and wish to view the results in ParaView or Visit.
+\end_layout
+
 \begin_layout Subsubsection
 DataWriterHDF5 Parameters
 \end_layout
@@ -6036,6 +6055,12 @@ coordsys Coordinate system associated with mesh in simulation.
 \begin_layout Subsection
 
 \family typewriter
+\begin_inset CommandInset label
+LatexCommand label
+name "sub:pylith_genxdmf"
+
+\end_inset
+
 pylith_genxdmf
 \end_layout
 



More information about the CIG-COMMITS mailing list