[cig-commits] r12703 - in doc/cigma/manual: . appendix error_analysis examples formats interpolation

luis at geodynamics.org luis at geodynamics.org
Fri Aug 22 15:00:08 PDT 2008


Author: luis
Date: 2008-08-22 15:00:07 -0700 (Fri, 22 Aug 2008)
New Revision: 12703

Modified:
   doc/cigma/manual/appendix/appendix.lyx
   doc/cigma/manual/cigma.lyx
   doc/cigma/manual/error_analysis/error_analysis.lyx
   doc/cigma/manual/examples/examples.lyx
   doc/cigma/manual/formats/formats.lyx
   doc/cigma/manual/interpolation/interpolation.lyx
   doc/cigma/manual/nocover.lyx
Log:
More changes


Modified: doc/cigma/manual/appendix/appendix.lyx
===================================================================
--- doc/cigma/manual/appendix/appendix.lyx	2008-08-22 21:44:26 UTC (rev 12702)
+++ doc/cigma/manual/appendix/appendix.lyx	2008-08-22 22:00:07 UTC (rev 12703)
@@ -44,7 +44,7 @@
 
 \begin_layout Standard
 \begin_inset ERT
-status collapsed
+status open
 
 \begin_layout Standard
 
@@ -55,25 +55,11 @@
 
 \begin_layout Standard
 
-Appendix Chapters:
+XXX: Content moved to formats.lyx, what else do we need in an appendix?
 \end_layout
 
 \begin_layout Standard
 
- Summarize data formats as also done in the VTK file-formats.pdf document.
-\end_layout
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
-
-TODO: Introduce NodeNumberMap, for mapping connectivity
-\end_layout
-
-\begin_layout Standard
-
 }
 \end_layout
 
@@ -134,7 +120,7 @@
 \end_inset
 
  node coordinates, which are specified on a global coordinate system, we
- have.
+ have
 \newline
 
 \end_layout
@@ -1329,7 +1315,7 @@
 \end_layout
 
 \begin_layout Section
-Element Tabulation
+Shape Function Values
 \end_layout
 
 \begin_layout Standard
@@ -1962,15 +1948,15 @@
 \end_layout
 
 \begin_layout Section
-Function Residuals
+Comparison Residuals
 \end_layout
 
 \begin_layout Standard
 Since our norm reduces integrals over cells to a single scalar value, the
  result of a comparison will result in a simple scalar array for each element
  block examined.
- Note that the element blocks used belong to the integration mesh, which
- may differ from the associated mesh from either function.
+ The element blocks used belong to the integration mesh, which may differ
+ from the associated mesh belonging to either function.
  Thus, for each element block containing 
 \begin_inset Formula $k$
 \end_inset
@@ -2032,7 +2018,7 @@
 \end_inset
 </cell>
 </row>
-<row topline="true">
+<row>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
 \begin_inset Text
 
@@ -2055,7 +2041,7 @@
 \end_inset
 </cell>
 </row>
-<row topline="true">
+<row>
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
 \begin_inset Text
 
@@ -2078,7 +2064,7 @@
 \end_inset
 </cell>
 </row>
-<row topline="true" bottomline="true">
+<row bottomline="true">
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
 \begin_inset Text
 

Modified: doc/cigma/manual/cigma.lyx
===================================================================
--- doc/cigma/manual/cigma.lyx	2008-08-22 21:44:26 UTC (rev 12702)
+++ doc/cigma/manual/cigma.lyx	2008-08-22 22:00:07 UTC (rev 12703)
@@ -193,8 +193,8 @@
 
 \begin_layout Standard
 
-    * grep for 'Chapter' and make sure all chapter numbers are relative
- references
+    * grep for 'Chapter' and 'Section' and make sure that all such numbers
+ are relative references.
 \end_layout
 
 \begin_layout Standard
@@ -210,6 +210,12 @@
 
 \begin_layout Standard
 
+    * Figure out how to reference equation numbers in lyx (how to give them
+ a label?)
+\end_layout
+
+\begin_layout Standard
+
 }
 \end_layout
 

Modified: doc/cigma/manual/error_analysis/error_analysis.lyx
===================================================================
--- doc/cigma/manual/error_analysis/error_analysis.lyx	2008-08-22 21:44:26 UTC (rev 12702)
+++ doc/cigma/manual/error_analysis/error_analysis.lyx	2008-08-22 22:00:07 UTC (rev 12703)
@@ -211,11 +211,6 @@
 \end_layout
 
 \begin_layout Standard
-Another quantitative measure we can define is the energy norm.
- 
-\end_layout
-
-\begin_layout Standard
 A very useful distance measure we can use is the 
 \begin_inset Formula $L_{2}$
 \end_inset
@@ -224,8 +219,8 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Formula \[
-\varepsilon=||u-v||_{L_{2}}=\sqrt{\int_{\Omega}||u(\vec{x})-v(\vec{x})||^{2}d\vec{x}}\]
+\begin_inset Formula \begin{equation}
+\varepsilon=||u-v||_{L_{2}}=\sqrt{\int_{\Omega}||u(\vec{x})-v(\vec{x})||^{2}d\vec{x}}\end{equation}
 
 \end_inset
 
@@ -251,33 +246,303 @@
 \end_inset
 
 .
- Alternatively, you may think of this as the size, or norm, of the residual
- field 
+ Alternatively, you may think of this as the size, or norm, of the 
+\series bold
+\emph on
+residual field
+\series default
+\emph default
+ 
 \begin_inset Formula $\rho(\vec{x})=u(\vec{x})-v(\vec{x})$
 \end_inset
 
 .
  This measure is useful because it is well known that solutions obtained
- with the finite element method converge only in a weak sense.
+ with the finite element method converge only in a weak sense, as an average
+ over a geometric region.
+ In the rest of this chapter we will discuss the details involved in evaluating
+ the above integral.
 \end_layout
 
+\begin_layout Standard
+Another quantitative measure, which we won't discuss in this version of
+ Cigma, is the energy norm.
+ This norm is typically employed in 
+\emph on
+a posteriori
+\emph default
+ error analysis and is problem dependent.
+ In general, the residual field used under this norm is defined in terms
+ of the linearized equation from which the solution was obtained.
+ Yet another interesting possibility would be to 
+\end_layout
+
 \begin_layout Section
+Functions
+\end_layout
+
+\begin_layout Standard
+The functions being compared that we discuss in this manual are assumed
+ to be defined in a common region of space which we denote by 
+\begin_inset Formula $\Omega$
+\end_inset
+
+.
+ Elements of 
+\begin_inset Formula $\Omega$
+\end_inset
+
+ are denoted by 
+\begin_inset Formula $\vec{x}$
+\end_inset
+
+, and the number of components in the corresponding value of 
+\begin_inset Formula $f(\vec{x})$
+\end_inset
+
+, is said to be the 
+\series bold
+\emph on
+rank
+\series default
+\emph default
+ of the function 
+\begin_inset Formula $f$
+\end_inset
+
+.
+ Thus, 
+\emph on
+scalar functions
+\emph default
+ have a rank of 1, 
+\emph on
+vector functions
+\emph default
+ would have a rank of 2 or 3, and 
+\emph on
+tensor functions
+\emph default
+ would have a rank of 6 or 9.
+\end_layout
+
+\begin_layout Section
 Integral Approximations
 \end_layout
 
 \begin_layout Standard
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
+Briefer discussion here.
+ Move this to Chapter 5.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
 In order to evaluate the integral for our 
 \begin_inset Formula $L_{2}$
 \end_inset
 
- norm, we will need to specify an integration mesh which partitions the
- common domain 
+ norm, we will need to define an integration mesh which partitions the common
+ domain 
 \begin_inset Formula $\Omega$
 \end_inset
 
+ on which our two functions are defined.
+ We can then use a numerical approximation, or 
+\series bold
+\emph on
+integration rule
+\series default
+\emph default
+, on each of the discrete cell elements 
+\begin_inset Formula $\Omega_{i}$
+\end_inset
+
+ of our partition.
+ Each of these cell integrals of the continuous residual norm 
+\begin_inset Formula $||\rho(\vec{x})||^{2}$
+\end_inset
+
+ can then be replaced by a weighed sum evaluated at a finite set of points.
+ This integral will be valid up to a certain accuracy.
+ In Chapter 5, we discuss in more detail how choose the location and values
+ for the integration points and weights which give optimal accuracy.
+\end_layout
+
+\begin_layout Standard
+Thus, in general, an integration rule with 
+\begin_inset Formula $Q$
+\end_inset
+
+ points and weights that allows us to integrate the scalar function 
+\begin_inset Formula $F(\vec{x})$
+\end_inset
+
+ is given by the equation
+\begin_inset Formula \begin{equation}
+\int_{\Omega_{i}}\ F(\vec{x})\ d\vec{x}\approx\sum_{q=1}^{Q}F(\vec{X_{q}})W_{q}\end{equation}
+
+\end_inset
+
+where the integration points 
+\begin_inset Formula $\vec{X}_{q}$
+\end_inset
+
+ and integration weights 
+\begin_inset Formula $W_{q}$
+\end_inset
+
+ depend on the integration region 
+\begin_inset Formula $\Omega_{i}$
+\end_inset
+
 .
+ As we will see in Chapter 7, one possibility is to pre-calculate these
+ points and weights explicitly on a specific discretization.
+ Thus, as discussed in more detail in Chapters 4 and 5, we will generally
+ want to define a reference cell 
+\begin_inset Formula $\hat{\Omega}$
+\end_inset
+
+ which acts as a template for cells with the same geometric shape.
+ We can achieve this by defining a 
+\series bold
+\emph on
+reference map
+\series default
+\emph default
+ 
+\begin_inset Formula $\chi_{i}:\hat{\Omega}\to\Omega_{i}$
+\end_inset
+
+ that describes how points in a specific cell 
+\begin_inset Formula $\Omega_{i}$
+\end_inset
+
+ originate from the reference cell 
+\begin_inset Formula $\hat{\Omega}$
+\end_inset
+
+.
+ In this sense, the reference cell 
+\begin_inset Formula $\hat{\Omega}$
+\end_inset
+
+ is said to define a 
+\series bold
+\emph on
+local coordinate system
+\series default
+\emph default
+ for the 
+\begin_inset Formula $i$
+\end_inset
+
+-th cell 
+\begin_inset Formula $\Omega_{i}.$
+\end_inset
+
+
 \end_layout
 
+\begin_layout Standard
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
+FIGURE refmap.png: 
+\backslash
+chi_i: 
+\backslash
+hat{
+\backslash
+Omega} 
+\backslash
+to 
+\backslash
+Omega_i
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Note that a given discretization may contain cells of different shapes,
+ which would require us to define an appropriate number of reference cells
+ for each type of cell.
+ However, for the purposes of this manual, we may restrict the discussions
+ in this manuals, without any loss of generality, to discretizations consisting
+ of a single geometric shape.
+ (XXX: reword this last sentence)
+\end_layout
+
+\begin_layout Standard
+The advantage of this approach is readily apparent when one realizes that
+ the integration points and weights can be calculated once and for all on
+ the reference cell, and then reused for the other cells through the application
+ of the corresponding reference map.
+ In other words,
+\begin_inset Formula \begin{eqnarray*}
+\vec{X}_{q} & = & \chi_{i}(\vec{\xi}_{q})\\
+W_{q} & = & w_{q}J_{i}(\vec{\xi}_{q})\end{eqnarray*}
+
+\end_inset
+
+where 
+\begin_inset Formula $\vec{\xi}_{q}$
+\end_inset
+
+ and 
+\begin_inset Formula $w_{q}$
+\end_inset
+
+ are the optimal integration points and weights for the integration rule
+ defined on the reference domain 
+\begin_inset Formula $\hat{\Omega}$
+\end_inset
+
+.
+ Here, the factor 
+\begin_inset Formula $J_{i}(\vec{\xi})=\det\ \left|\frac{d\chi_{i}}{d\vec{\xi}}\right|$
+\end_inset
+
+ is the Jacobian determinant of the transformation 
+\begin_inset Formula $\chi_{i}$
+\end_inset
+
+.
+ Recall that the index 
+\begin_inset Formula $i$
+\end_inset
+
+ corresponds to the 
+\begin_inset Formula $i$
+\end_inset
+
+-th cell 
+\begin_inset Formula $\Omega_{i}$
+\end_inset
+
+, and the index 
+\begin_inset Formula $q$
+\end_inset
+
+ ranges over the usual 
+\begin_inset Formula $q=1,\ldots,Q$
+\end_inset
+
+.
+\end_layout
+
 \begin_layout Section
 Interpolation Functions
 \end_layout
@@ -291,21 +556,192 @@
 \begin_inset Formula $v(\vec{x})$
 \end_inset
 
- are assumed to be defined on a common domain 
+ are given in terms of the point
+\begin_inset Formula $\vec{x}\in\Omega$
+\end_inset
+
+, and are said to be defined on a 
+\series bold
+\emph on
+global coordinate system
+\series default
+\emph default
+.
+ Based on our discussion in Section 3.1, we see that we only need to know
+ the values of 
+\begin_inset Formula $u$
+\end_inset
+
+ and 
+\begin_inset Formula $v$
+\end_inset
+
+ at a finite set of global points in order to calculate an approximation
+ to the 
+\begin_inset Formula $L_{2}$
+\end_inset
+
+ norm of the residual field 
+\begin_inset Formula $\rho=u-v$
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+Specifically, given a function 
+\begin_inset Formula $f(\vec{x})$
+\end_inset
+
+ we must be able to calculate its values at exactly those integration points.
+ If we know a formula or algorithm for 
+\begin_inset Formula $f$
+\end_inset
+
+, then our task is easy.
+ Alternatively, these values can be given explicitly as a finite list.
+ In all other cases, we will need an interpolation scheme that allows us
+ to calculate 
+\begin_inset Formula $f$
+\end_inset
+
+ on any intermediate points.
+ This ability is also important because we may want to increase the accuracy
+ of our norm by using more integration points, and thus we will need to
+ be able to evaluate our function 
+\begin_inset Formula $f$
+\end_inset
+
+ at the new points.
+\end_layout
+
+\begin_layout Standard
+In general, an interpolation scheme involves a set of known functions 
+\begin_inset Formula $\phi_{j}(\vec{x})$
+\end_inset
+
+ that we can compute anywhere and a set of parameters 
+\begin_inset Formula $c_{j}$
+\end_inset
+
+ that define how these known functions are combined.
+ Usually, the relation between the parameters and the known functions is
+ a linear combination, 
+\begin_inset Formula \begin{equation}
+f(\vec{x})=d_{1}\phi_{1}(\vec{x})+d_{2}\phi_{2}(\vec{x})+\cdots+d_{m}\phi_{m}(\vec{x})\end{equation}
+
+\end_inset
+
+where the parameters 
+\begin_inset Formula $d_{j}$
+\end_inset
+
+, with 
+\begin_inset Formula $j=1,\ldots,m$
+\end_inset
+
+, are also sometimes referred to as the 
+\series bold
+\emph on
+degrees of freedom
+\series default
+\emph default
+ of the function 
+\begin_inset Formula $f$
+\end_inset
+
+.
+ As described in Chapter 4, the functions 
+\begin_inset Formula $\phi_{j}$
+\end_inset
+
+, also known as 
+\series bold
+\emph on
+shape functions
+\series default
+\emph default
+, must satisfy a number of conditions.
+ Because the choice of shape functions affects how well the true solution
+ is represented, the convergence of the numerical method used to obtain
+ the solution, the optimal choice of shape functions is very problem dependent.
+\end_layout
+
+\begin_layout Standard
+If we know the shape functions 
+\begin_inset Formula $\phi_{j}$
+\end_inset
+
+ directly in terms of the global points 
+\begin_inset Formula $\vec{x}\in\Omega$
+\end_inset
+
+, they are said to form a 
+\series bold
+\emph on
+global interpolation scheme
+\series default
+\emph default
+, and we may use Eq X directly to find the values of 
+\begin_inset Formula $f(\vec{x})$
+\end_inset
+
+, and we may refer to the 
+\begin_inset Formula $\phi_{j}$
+\end_inset
+
+as 
+\emph on
+global shape functions
+\emph default
+.
+ Note that since we are working in the global coordinate system, we don't
+ need the discretization of the domain 
 \begin_inset Formula $\Omega$
 \end_inset
 
 .
- Since the points 
+ Examples of global shape functions include spherical harmonics, and ...
+\end_layout
+
+\begin_layout Standard
+Perhaps a more typical case is when 
+\begin_inset Formula $f(\vec{x})$
+\end_inset
+
+ is defined piecewise, on each discretization element 
+\begin_inset Formula $\Omega_{i}$
+\end_inset
+
+.
+ Because these cells partition the original domain by definition, a given
+ point in our domain will be found in one and only one cell, which will
+ have a local definition.
+ That is, for a particular 
 \begin_inset Formula $\vec{x}\in\Omega$
 \end_inset
 
- are said to be defined on a global coordinate system.
- If we define them 
+ we will be able to find a unique cell 
+\begin_inset Formula $\Omega_{e}$
+\end_inset
+
+, for some index 
+\begin_inset Formula $e$
+\end_inset
+
+.
+ We can refer to this as a 
+\series bold
+\emph on
+local interpolation scheme
+\series default
+\emph default
+.
 \end_layout
 
 \begin_layout Standard
-For more details, see Chapter 5.
+See Chapter 5, for more details on the specific interpolation schemes available
+ in Cigma.
 \end_layout
 
 \begin_layout Section
@@ -313,7 +749,11 @@
 \end_layout
 
 \begin_layout Standard
-If we discretize the domain 
+\begin_inset Note Note
+status collapsed
+
+\begin_layout Standard
+Suppose the domain 
 \begin_inset Formula $\Omega$
 \end_inset
 
@@ -591,6 +1031,23 @@
  global error.
 \end_layout
 
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+In this section we show the formula used by Cigma to compute the 
+\begin_inset Formula $L_{2}$
+\end_inset
+
+ norm of the residual field 
+\begin_inset Formula $\rho$
+\end_inset
+
+.
+\end_layout
+
 \begin_layout Section
 Comparing Residuals
 \end_layout
@@ -641,7 +1098,7 @@
 
 \begin_layout Standard
 \begin_inset Note Note
-status open
+status collapsed
 
 \begin_layout Standard
 TODO: Move discussion of convergence from old running.lyx into this section.
@@ -706,6 +1163,10 @@
 \end_inset
 
  and 
+\begin_inset Formula $u$
+\end_inset
+
+.
 \end_layout
 
 \begin_layout Section
@@ -730,7 +1191,10 @@
 \end_layout
 
 \begin_layout Standard
-As seen before, there are 
+One of our goals is to provide As we saw in Section 3.5, it is easier to
+ calculate the convergence rate on a sequence of meshes if we have access
+ to the exact solution.
+ Since one of our goals is to provide 
 \end_layout
 
 \end_body

Modified: doc/cigma/manual/examples/examples.lyx
===================================================================
--- doc/cigma/manual/examples/examples.lyx	2008-08-22 21:44:26 UTC (rev 12702)
+++ doc/cigma/manual/examples/examples.lyx	2008-08-22 22:00:07 UTC (rev 12703)
@@ -392,7 +392,7 @@
 \end_layout
 
 \begin_layout Standard
-Figure 8.X refers to 
+Figure 8.X refers to the 
 \end_layout
 
 \begin_layout Section

Modified: doc/cigma/manual/formats/formats.lyx
===================================================================
--- doc/cigma/manual/formats/formats.lyx	2008-08-22 21:44:26 UTC (rev 12702)
+++ doc/cigma/manual/formats/formats.lyx	2008-08-22 22:00:07 UTC (rev 12703)
@@ -44,7 +44,7 @@
 
 \begin_layout Standard
 \begin_inset ERT
-status collapsed
+status open
 
 \begin_layout Standard
 
@@ -55,7 +55,7 @@
 
 \begin_layout Standard
 
-TODO: Rename file_formats.lyx to formats.lyx
+TODO: Rename file_formats.lyx to formats.lyx (done)
 \end_layout
 
 \begin_layout Standard
@@ -64,12 +64,20 @@
 
 \begin_layout Standard
 
-Define the dimensions for every object in the file (summarize only the tables
- in the appendix)
+TODO: What about NodeNumberMap?
 \end_layout
 
 \begin_layout Standard
 
+\end_layout
+
+\begin_layout Standard
+
+Define the dimensions for every object in the file
+\end_layout
+
+\begin_layout Standard
+
   Mesh Coordinates
 \end_layout
 
@@ -727,7 +735,8 @@
 \newline
 
 \newline
-The second index varies the fastest, when analyzing the 
+The second index in this array varies the fastest, so that data often referenced
+ together remains together in memory as well.
 \end_layout
 
 \begin_layout Subsection
@@ -760,7 +769,7 @@
 special "none"
 height "1in"
 height_special "totalheight"
-status collapsed
+status open
 
 \begin_layout Standard
 \begin_inset Box Frameless
@@ -1064,7 +1073,12 @@
 Mesh connectivity is specified at the element-block level.
  On a given block, we only consider a single element type, which allows
  us to store the global node ids into a contiguous array of integers.
- In general, if our block contains 
+ Multiple blocks are specified separately, and they all reference the same
+ node ids into the node coordinates table.
+\end_layout
+
+\begin_layout Standard
+In general, if our block contains 
 \begin_inset Formula $k$
 \end_inset
 
@@ -1613,13 +1627,249 @@
  in the mesh.
 \end_layout
 
+\begin_layout Standard
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
+arrays are subject to interpretation based on their corresponding tag:
+\end_layout
+
+\begin_layout Standard
+by default, interpreted as shape function coefficients (from text and vtk)
+\end_layout
+
+\begin_layout Standard
+can also specify spherical harmonics coefficients.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
 \begin_layout Subsection
+Shape Function Values
+\end_layout
+
+\begin_layout Standard
+In certain circumstances you may be able to provide your custom reference
+ element by simply providing the appropriate 
+\begin_inset Formula $n$
+\end_inset
+
+ shape function values to be used at the expected integration points.
+ This is most useful when you are using the same mesh for both the integration
+ mesh and the array.
+\newline
+
+\newline
+
+\begin_inset Tabular
+<lyxtabular version="3" rows="5" columns="3">
+<features>
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Array Shape
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Shape Function Values: 
+\begin_inset Formula $(n,Q)$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Jacobian Determinant: 
+\begin_inset Formula $(Q,1)$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Integration Point 1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+\begin_inset Formula $N_{1}(\vec{\xi}_{1}),N_{2}(\vec{\xi}_{1}),\ldots,N_{n}(\vec{\xi}_{1})$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+\begin_inset Formula $J(\vec{\xi}_{1})$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Integration Point 2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+\begin_inset Formula $N_{1}(\vec{\xi}_{2}),N_{2}(\vec{\xi}_{2}),\ldots,N_{n}(\vec{\xi}_{2})$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+\begin_inset Formula $J(\vec{\xi}_{2})$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+\begin_inset Formula $\vdots$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+\begin_inset Formula $\vdots$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+\begin_inset Formula $\vdots$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Integration Point 
+\begin_inset Formula $Q$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+\begin_inset Formula $N_{1}(\vec{\xi}_{Q}),N_{2}(\vec{\xi}_{Q}),\ldots,N_{n}(\vec{\xi}_{Q})$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+\begin_inset Formula $J(\vec{\xi}_{Q})$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
 Integration Rule
 \end_layout
 
 \begin_layout Standard
-As described in Chapter 4, an integration rule is specified by using the
- natural coordinate system of the reference element.
+As described in Chapter 4, an integration rule is specified by a list of
+ points and associated weights.
+ The points are given on natural coordinate system of the reference element.
  
 \newline
 
@@ -1629,11 +1879,11 @@
 \begin_inset Tabular
 <lyxtabular version="3" rows="5" columns="5">
 <features>
-<column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
 <column alignment="center" valignment="top" leftline="true" width="0">
-<column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
 <column alignment="center" valignment="top" leftline="true" width="0">
 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
+<column alignment="center" valignment="top" rightline="true" width="0">
 <row topline="true" bottomline="true">
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
 \begin_inset Text
@@ -1938,8 +2188,50 @@
 \end_inset
 
 
+\newline
+
+\newline
+
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
+A typical point 
+\begin_inset Formula $\vec{\xi}_{i}$
+\end_inset
+
+ in 2-D is typically written as 
+\begin_inset Formula $(\xi_{i},\eta_{i})$
+\end_inset
+
+, and in 3-D we write 
+\begin_inset Formula $(\xi_{i},\eta_{i},\zeta_{i})$
+\end_inset
+
+.
+ In special cases, integration points may be specified in 
 \end_layout
 
+\end_inset
+
+
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
+Note: It is important to realize that the integration weights need to be
+ adjusted by the appropriate factor when trying to compare rules defined
+ on different reference regions.
+ It is not sufficient to simply transform the points, as the weights need
+ to be adjusted by the jacobian factor as well (see the change of variables
+ formula for integrals).
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
 \begin_layout Subsection
 Integration Points and Values
 \end_layout
@@ -2207,8 +2499,8 @@
 \newline
 The result of an evaluation will depend on the rank of the function being
  evaluated, as indicated in the table below.
- Note that the fastest varying dimension of the array contains the values
- of the function at each point.
+ Note that the fastest varying dimension of the array contains the components
+ of the function value at each point.
 \newline
 
 \newline
@@ -2361,13 +2653,348 @@
 \end_layout
 
 \begin_layout Subsection
-Spherical Harmonics
+Comparison Residuals
 \end_layout
 
+\begin_layout Standard
+Since our norm reduces integrals over cells to a single scalar value, the
+ result of a comparison will result in a simple scalar array for each element
+ block examined.
+ Note that element blocks used in the integration process belong to the
+ integration mesh, which may differ from the associated mesh to either function.
+\end_layout
+
+\begin_layout Standard
+Thus, for each element block containing 
+\begin_inset Formula $k$
+\end_inset
+
+ cells, we have the output array
+\newline
+
+\newline
+
+\begin_inset Tabular
+<lyxtabular version="3" rows="5" columns="2">
+<features>
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Array Shape
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+\begin_inset Formula $(k,1)$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Residual Value
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+\begin_inset Formula $\varepsilon_{1}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+\begin_inset Formula $\varepsilon_{2}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+\begin_inset Formula $\vdots$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+\begin_inset Formula $\varepsilon_{k}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\newline
+
+\newline
+These residual values may be combined in the following form: 
+\begin_inset Formula \[
+\varepsilon_{block}=\sqrt{\varepsilon_{1}^{2}+\varepsilon_{2}^{2}+\cdots+\varepsilon_{k}^{2}}\]
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+The final global residual norm maybe obtained by simply summing over all
+ element blocks that partition the domain of interest:
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula \[
+\varepsilon_{global}=\sqrt{\sum_{block}\varepsilon_{block}^{2}}\]
+
+\end_inset
+
+
+\end_layout
+
 \begin_layout Section
 File Formats
 \end_layout
 
+\begin_layout Standard
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
+XXX: The input/output file dichotomy does not seem as necessary now that
+ we've added the Data Format section.
+ Get rid of those subsection headings.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+A number of file formats are supported for storing and retrieving the above
+ data structures to and from disk.
+ The following file extensions are used for these purposes:
+\newline
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="6" columns="2">
+<features>
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+File Format
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Recognized Extensions
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+HDF5
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+*.h5
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+VTK
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+*.vtk
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+XML VTK
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+*.vtu, *.vts, *.vtr
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Parallel XML VTK
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+*.pvtu, *.pvts, *.pvtr
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Text
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+*.txt, *.dat
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
 \begin_layout Section
 Input Files
 \end_layout
@@ -2408,8 +3035,9 @@
 \end_layout
 
 \begin_layout Standard
-Now that we have examined what kinds of objects we will be accessing, let's
- discuss the actual layout in the files in which these objects will be stored.
+In Section 1.1, we examined what kinds of objects we will be accessing, so
+ now let's discuss the actual layout in the files in which these objects
+ will be stored.
 \end_layout
 
 \begin_layout Subsection
@@ -2417,12 +3045,32 @@
 \end_layout
 
 \begin_layout Standard
-HDF5 files are organized in a hierarchical structure, similar to a UNIX
- file system.
- Two types of primary objects, groups and datasets, are stored in this structure.
+HDF5 files are binary files encoded in a data format designed to store large
+ amounts of scientific data in a portable and self-describing way.
+\end_layout
+
+\begin_layout Standard
+The internal organization of a typical HDF5 file consists of a hierarchical
+ structure similar to a UNIX file system.
+ Two types of primary objects, 
+\emph on
+groups
+\emph default
+ and 
+\emph on
+datasets
+\emph default
+, are stored in this structure.
  A group contains instances of zero or more groups or datasets, while a
  dataset stores a multi-dimensional array of data elements.
- Both kinds of objects are accompanied by supporting metadata known as attribute
+ In a sense, datasets are analogous to files in a traditional filesystem,
+ and groups are analagous to folders.
+ One important difference, however, is that you can attach supporting metadata
+ to both kinds of objects.
+ The metadata objects are called 
+\emph on
+attribute
+\emph default
 s.
 \end_layout
 
@@ -2580,9 +3228,15 @@
 \end_layout
 
 \begin_layout Standard
-The current version of Cigma only supports VTK unstructured grid datasets
- of a single element type.
- You can still compare various unstructured grids with different element
+VTK files are typically
+\end_layout
+
+\begin_layout Standard
+In the current version of Cigma, data
+\end_layout
+
+\begin_layout Standard
+You can still compare various unstructured grids with different element
  types to each other.
 \end_layout
 
@@ -2612,99 +3266,55 @@
 \end_layout
 
 \begin_layout Standard
-The text format is always in table form, with the dimensions of the table
- specified in the first line.
-\end_layout
+\begin_inset Note Note
+status open
 
 \begin_layout Standard
-For example, mesh coordinates can be specified in the following format
+Don't forget about the comment character '#' (which skips everything until
+ the next newline)
 \end_layout
 
-\begin_layout LyX-Code
-<nno> <nsd>
-\end_layout
+\end_inset
 
-\begin_layout LyX-Code
-x1 y1 z1
-\end_layout
 
-\begin_layout LyX-Code
-x2 y2 z2
 \end_layout
 
-\begin_layout LyX-Code
-x3 y3 z3
-\end_layout
-
-\begin_layout LyX-Code
-...
-\end_layout
-
 \begin_layout Standard
-Mesh connectivity with 
+The text files we use in Cigma consist of a simple list of numbers in ASCII
+ format whose layout corresponds exactly to the simple array layout discussed
+ earlier in Section 1.1.
+ The first line of the file contains the dimensions of the array, just two
+ integers separated by whitespace.
+ The rest of the file, describing the array data, must contain as many numbers
+ as the product of the two dimensions given in the first line.
+ These numbers are formatted as integer or floating point, depending on
+ context, and are all separated by whitespace.
 \end_layout
 
-\begin_layout LyX-Code
-nel ndofs
-\end_layout
-
-\begin_layout LyX-Code
-node_1 node_2 node_3 node_4 ...
-\end_layout
-
-\begin_layout LyX-Code
-node_1 node_2 node_3 node_4 ...
-\end_layout
-
-\begin_layout LyX-Code
-node_1 node_2 node_3 node_4 ...
-\end_layout
-
-\begin_layout LyX-Code
-...
-\end_layout
-
 \begin_layout Standard
-A generic field with 
-\family typewriter
-ndim
-\family default
- components (i.e., scalar, vector, or tensor) is specified by
+Some restrictions apply when providing data in text format, mostly because
+ you can only specify a single element block in a text file containing connectiv
+ity information.
+ Operations involving a larger number of blocks must use data in the format
+ described in Section 1.3.1.
 \end_layout
 
-\begin_layout LyX-Code
-num ndim
-\end_layout
-
-\begin_layout LyX-Code
-f1 f2 f3 ..
-\end_layout
-
-\begin_layout LyX-Code
-f1 f2 f3 ..
-\end_layout
-
-\begin_layout LyX-Code
-...
-\end_layout
-
 \begin_layout Standard
-In this last case, the number of rows could refer to either 
-\family typewriter
-nno
-\family default
- or 
-\family typewriter
-nel
-\family default
-, depending on whether the field is node-based or cell-based.
+Another point worthy of mention is that arrays must be two-dimensional,
+ so two integers are always expected in the first line.
+ When specifying a one-dimensional array, such as a list of weights correspondin
+g to an integration rule, one of the array dimensions must be 1.
 \end_layout
 
 \begin_layout Section
-Output File
+Output Files
 \end_layout
 
 \begin_layout Standard
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
 Depending on the particular operation you perform, there are three different
  kinds of output files.
  The output format for residuals consists simply of a list of scalars for
@@ -2720,5 +3330,10 @@
  so further post-processing will be necessary.
 \end_layout
 
+\end_inset
+
+
+\end_layout
+
 \end_body
 \end_document

Modified: doc/cigma/manual/interpolation/interpolation.lyx
===================================================================
--- doc/cigma/manual/interpolation/interpolation.lyx	2008-08-22 21:44:26 UTC (rev 12702)
+++ doc/cigma/manual/interpolation/interpolation.lyx	2008-08-22 22:00:07 UTC (rev 12703)
@@ -244,7 +244,11 @@
 \end_layout
 
 \begin_layout Standard
-Because we wish to integrate 
+As noted in Chapter 3, we will often need to evaluate a function 
+\begin_inset Formula $f(\vec{x})$
+\end_inset
+
+ at arbitrary points on a global coordinate system.
 \end_layout
 
 \begin_layout Section
@@ -841,19 +845,34 @@
 \end_layout
 
 \begin_layout Standard
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
 By default, we compile a number of functions into Cigma.
  We subdivide these into three categories.
  The first class contains only two functions, zero and one, with special
  initialization rules.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+By default, we compile a number of functions into Cigma.
+ We subdivide these into three categories.
+ The first class contains only two functions, zero and one.
  The second class of functions consists of test functions intended to verify
  the operation of Cigma.
  Finally, the third class of functions consists of example benchmark cases
- that you may use to define your own.
+ that you may use as a base for defining your own functions.
 \newline
 
 \newline
-There are two basic functions that are
- available, listed in the table below.
+There are two
+ basic functions that are available, listed in the table below.
  
 \end_layout
 

Modified: doc/cigma/manual/nocover.lyx
===================================================================
--- doc/cigma/manual/nocover.lyx	2008-08-22 21:44:26 UTC (rev 12702)
+++ doc/cigma/manual/nocover.lyx	2008-08-22 22:00:07 UTC (rev 12703)
@@ -166,9 +166,13 @@
 \end_layout
 
 \begin_layout Standard
-\begin_inset Include \include{appendix/appendix.lyx}
-preview false
+\begin_inset Note Note
+status open
 
+\begin_layout Standard
+Include appendix.lyx, and gpl-license.lyx
+\end_layout
+
 \end_inset
 
 



More information about the cig-commits mailing list