# [cig-commits] r13280 - doc/snac

echoi at geodynamics.org echoi at geodynamics.org
Mon Nov 10 13:08:51 PST 2008

Author: echoi
Date: 2008-11-10 13:08:50 -0800 (Mon, 10 Nov 2008)
New Revision: 13280

Modified:
doc/snac/snac.lyx
Log:
1. Typos in the "Remeshing" section fixed. 2. The "SNAC Design" section updated.

Modified: doc/snac/snac.lyx
===================================================================
--- doc/snac/snac.lyx	2008-11-10 19:14:13 UTC (rev 13279)
+++ doc/snac/snac.lyx	2008-11-10 21:08:50 UTC (rev 13280)
@@ -1,4 +1,4 @@
-#LyX 1.5.1 created this file. For more info see http://www.lyx.org/
+#LyX 1.5.3 created this file. For more info see http://www.lyx.org/
\lyxformat 276
\begin_document
@@ -1388,7 +1388,7 @@

\begin_layout Standard
Remeshing becomes necessary in SNAC when continued deformation distorts
- a mesh so severely that the accuracy of solutions is deteriorated.
+ a mesh so severely that the accuracy of solutions are deteriorated.
In SNAC, remeshing is done by moving the nodes back to their original positions
, under the constraint that physically meaningful features such as top and
bottom topography are conserved.
@@ -1399,12 +1399,11 @@
mesh which contains a node of the new mesh.
Then shape (interpolation) functions corresponding to the location of the
new node with respect to the old element is calculated and used to interpolate
- nodal quantities of the old mdeformed through the large deformations associated
- with plate tectension.esh.
- In the case of the elemental variables (integrated by 1-point Gauss quadrature)
-, the quantities are simply transferred to an element of the new mesh from
- its closest neighbor tetrahedron of the old mesh, which is found based
- on the distance between quadrature locations.
+ nodal quantities of the old deformed mesh.
+ The element-associated variables (integrated by 1-point Gauss quadrature)
+ are simply transferred to an element of the new mesh from its closest neighbor
+ tetrahedron of the old mesh, which is found based on the distance between
Such a transfer is proven to be variationally consistent and also preserves
nonlinear internal constraints as in the case of plasticity
\begin_inset LatexCommand cite
@@ -1446,11 +1445,18 @@

\end_inset

-(b) shows that remeshing cannot only generate a more regular mesh but also
+(b) shows that remeshing can not only generate a more regular mesh but also
change the bottom boundary of the domain.
- Although useful in some cases, this boundary restoring'' technique should
- be used with caution because it also creates unmappable regions and thus
- requires us to assume the state and properties of material.
+ Although useful in some cases, this
+\begin_inset Quotes sld
+\end_inset
+
+boundary restoring
+\begin_inset Quotes srd
+\end_inset
+
+ technique should be used with caution because it also creates unmappable
+ regions and thus requires to assume the state and properties of material.
SNAC keeps the deformed boundary by default.
\end_layout

@@ -1513,14 +1519,14 @@
, below).
Although primarily implemented in C, it is object-oriented, and makes use
of extensibility and inheritance.
- While using StGermain as a framework means SNAC code must follow certain
- conventions, it means that many abilities are available: XML input, extensible
- data structures, classified output streams, etc.
- Python bindings and classes for the key objects and methods have been provided.
- At the highest level, Pyre components classes have been written so that
- SNAC can be manipulated through Pyre and coupled to other codes.
- SNAC is readily customizable through writing Plugin'' shared objects
- that can be loaded dynamically at run-time.
+ Having StGermain as a framework, SNAC code must follow certain conventions.
+ It means that many abilities are available in generic forms: XML input,
+ extensible data structures, classified output streams, etc.
+ SNAC is readily customizable through writing aplugin
+\begin_inset Quotes srd
+\end_inset
+
+, a shared object that can be loaded dynamically at run-time.
The two key design ideas relevant to SNAC are the SNAC Context'' and
Entry Points.''
\end_layout
@@ -1534,10 +1540,13 @@
Its main purpose is twofold:
\end_layout

-\begin_layout Standard
+\begin_layout Enumerate
Providing an interface to control and run a SNAC simulation.
This is done mainly through the Entry Points, described in the next section.
- Packaging together all the high-level data structures that a SNAC run requires,
+\end_layout
+
+\begin_layout Enumerate
+Packaging together all the high-level data structures that a SNAC run requires,
such as the Mesh, boundary conditions, simulation parameters, etc.
Most of these objects are extensible/and or configurable using the XML
input file.
@@ -1564,11 +1573,33 @@

\begin_layout Standard
The reason entry points are dynamic lists of function pointers (or hooks'')
- is that oftentimes the user, say a research scientist, wants to extend
- the default functionality of an application at only a few specific points
- in the code.
+ is that a user, say a research scientist, often wants to extend the default
+ functionality of an application at only a few specific points in the code.
In SNAC, this is simply a matter of adding pointers to their custom functions
to the relevant entry points.
+ For instance, to add a contribution from the Winkler foundation to the
+ residual force at each node, one can simply include a plugin called
+\begin_inset Quotes sld
+\end_inset
+
+SnacWinklerForce
+\begin_inset Quotes srd
+\end_inset
+
+.
+ What this plugins does is to add (or
+\begin_inset Quotes sld
+\end_inset
+
+hook up
+\begin_inset Quotes srd
+\end_inset
+
+) its own force computing routine to the entry point that already has a
+ pointer to the function computing internal residual forces.
+ It is possible to determined which function should be called first.
+ This way, the core structure of the code does not need to be modified every
+ time new operations on nodes or elements are added.
\end_layout

\begin_layout Standard