[cig-commits] commit: Added table of different runs

Mercurial hg at geodynamics.org
Fri Sep 16 09:49:12 PDT 2011


changeset:   76:3e2ec5ee23f0
tag:         tip
user:        Matthew G. Knepley <knepley at gmail.com>
date:        Fri Sep 16 09:49:05 2011 -0700
files:       .hgignore faultRup.tex
description:
Added table of different runs


diff -r 40413b8f0a2d -r 3e2ec5ee23f0 .hgignore
--- a/.hgignore	Thu Sep 08 16:58:49 2011 -0700
+++ b/.hgignore	Fri Sep 16 09:49:05 2011 -0700
@@ -8,3 +8,4 @@ syntax: glob
 *.pdf
 faultRup\.out
 faultRup\.fff
+faultRup\.ttt
diff -r 40413b8f0a2d -r 3e2ec5ee23f0 faultRup.tex
--- a/faultRup.tex	Thu Sep 08 16:58:49 2011 -0700
+++ b/faultRup.tex	Fri Sep 16 09:49:05 2011 -0700
@@ -624,9 +624,17 @@ solve the resulting system of nonlinear 
 solve the resulting system of nonlinear algebraic equations. In
 PyLith, these operations are accomplished using PETSc, and in
 particular the Sieve package for FEM support
-\cite{Knepley:Karpeev:2009,SieveFEMPreprint}. However, in order to
-support faults and fault friction models, we must expand this range of
-operations.
+\cite{Knepley:Karpeev:2009,SieveFEMPreprint}.
+
+The Sieve API for mesh representation and manipulation is based upon a
+direct acyclic graph (DAG) representation of the \textit{covering}
+relation in a mesh. For example, faces cover cells, edges cover faces,
+etc. By focusing on the key topological relation, the interface can be
+both concise and quite general. Using this generic API, PyLith is able
+to support one, two, and three dimensional meshes, with simplicial,
+hex, and even prismatic cell shapes, while using almost no dimension or
+shape specific code. However, in order to support faults and fault
+friction models, we must expand this range of operations.
 
 In our domain decomposition approach, the finite-element mesh includes
 the fault as an interior surface. This forces alignment of the element
@@ -656,8 +664,8 @@ negative side of the fault $S_f^{-}$ and
 negative side of the fault $S_f^{-}$ and a third vertex corresponding
 to the Lagrange multiplier constraint. The Lagrange multiplier vertex
 lies on an edge between the vertex on $S_{f^+}$ and the vertex on
-$S_{f^-}$. The fault faces are organized as a Sieve (\matt{Add
-  description here}), and each face has the two cells it is associated
+$S_{f^-}$. The fault faces are organized as a Sieve, and each face has
+the two cells it is associated
 with as descendents. Because the cells are consistently oriented, the
 first cell attached to each face is on the positive side of the fault,
 i.e., $S_f^{+}$. We replace the vertices on the fault face of each
@@ -795,6 +803,24 @@ example preconditioners and the options 
 
 \matt{Table of convergence for a fault example with ASM, block
   tridiagonal, block tridiagonal+custom preconditioner, LSC}
+
+\begin{table}
+\centering
+\begin{tabular}{llrr}
+KSP   & PC              & P1 Iterates & P2 Iterates \\ % Use refine.cfg for P2
+\hline
+GMRES & ASM/Shifted ICC &          77 &      $>500$ \\ % asm.cfg
+GMRES & FS/ML           &      $>500$ &      $>500$ \\ % fieldsplit.cfg
+GMRES & FS/Schur/ML     &          62 &         135 \\ % schur.cfg
+GMRES & FS/LSC/ML       &          53 &         108 \\ % lsc.cfg
+GMRES & FS/ML/Custom    &          37 &          49 \\ % fieldsplit.cfg custompc.cfg
+\end{tabular}
+\caption{Performance of Krylov solvers on a problem with 3 faults. Problem 1 (P1) has 25000 unknowns and 645
+  constraints, whereas the larger Problem 2 (P2) has 191,000 unknowns and 2241 constraints. The relative
+  solver tolerance is $10^{-8}$, and the preconditioners used were Additive Schwarz Method (ASM), FieldSplit (FS),
+  Incomplete Cholesky (ICC), algebraic multigrid (ML), Schur complement, least-square commutator (LSC), and a custom
+  preconditioner for the fault problem.}
+\end{table}
 
 \subsection{Dynamic Simulations}
 



More information about the CIG-COMMITS mailing list