[cig-commits] r7698 - cs/cigma/branches/cigma-0.9b1/doc/manual

luis at geodynamics.org luis at geodynamics.org
Wed Jul 18 13:45:37 PDT 2007


Author: luis
Date: 2007-07-18 13:45:36 -0700 (Wed, 18 Jul 2007)
New Revision: 7698

Modified:
   cs/cigma/branches/cigma-0.9b1/doc/manual/cigma.lyx
Log:
Updated manual


Modified: cs/cigma/branches/cigma-0.9b1/doc/manual/cigma.lyx
===================================================================
--- cs/cigma/branches/cigma-0.9b1/doc/manual/cigma.lyx	2007-07-18 18:41:03 UTC (rev 7697)
+++ cs/cigma/branches/cigma-0.9b1/doc/manual/cigma.lyx	2007-07-18 20:45:36 UTC (rev 7698)
@@ -458,8 +458,8 @@
 \begin_layout Standard
 Thus, an important part of error analysis lies in the ability to calculate
  the distance between two putative solutions.
- Estimating the error between two arbitrarily represented fields is challenging
- due to the variety of representations that are possible.
+ Estimating the error between two arbitrarily represented fields is computationa
+lly challenging due to the variety of representations that are possible.
  For example, each field may use its own discretization of the original
  domain, and may use a different set of shape functions.
 \end_layout
@@ -473,7 +473,8 @@
  distinct fields you can make consists of taking the pointwise difference
  of both fields at a common set of points.
  While no finite sample of points can adequately represent a continuum of
- values, valuable information can be inferred from statistics.
+ values, valuable information can be inferred from a statistics analysis
+ of the resulting residual values.
 \end_layout
 
 \begin_layout Standard
@@ -521,13 +522,14 @@
 \begin_inset Formula $\Omega_{e}$
 \end_inset
 
-, the above integral can be broken up into a sum over local contributions.
- For efficiency, each contribution can be integrated over the corresponding
- reference element 
+, the above integral can be broken up into a sum over local contributions
+ on each element.
+ For efficiency, each contribution can be integrated over a reference element
+ 
 \begin_inset Formula $\hat{\Omega}_{e}$
 \end_inset
 
-.
+ defined on a standard coordinate system.
  
 \end_layout
 
@@ -579,7 +581,7 @@
 \begin_inset Formula $\vec{\xi}_{q}$
 \end_inset
 
- to each element,
+, on every element,
 \end_layout
 
 \begin_layout Standard
@@ -614,8 +616,8 @@
 \begin_inset Formula $\varepsilon_{e}^{2}$
 \end_inset
 
- which by definition are cell-valued quantities over each of their corresponding
- elements 
+ which by definition are scalar-valued cell quantities over each of their
+ corresponding elements 
 \begin_inset Formula $\Omega_{e}$
 \end_inset
 
@@ -676,13 +678,55 @@
 A field is a function which assigns a physical quantity to every point in
  space.
  This quantity may correspond to a scalar, a vector, or even a tensor.
+ For any given differential equation problem, a finite element approximation
+ to an unknown field 
+\begin_inset Formula $\phi(\vec{x})$
+\end_inset
+
+ as a weighed sum over a fixed set of localized shape functions
+\begin_inset Formula $\phi_{n}(\vec{x})$
+\end_inset
+
+.
  
 \end_layout
 
 \begin_layout Standard
-Thus, in Cigma a field is defined by a set of values on each degree of freedom.
+\begin_inset Formula \[
+\phi(\vec{x})=\sum_{n=1}^{N}d_{n}\phi_{n}(\vec{x})\]
+
+\end_inset
+
+
 \end_layout
 
+\begin_layout Standard
+Naturally, once the weights 
+\begin_inset Formula $d_{n}$
+\end_inset
+
+, or degrees of freedom as they are also called, are known to us, we can
+ evaluate 
+\begin_inset Formula $\phi(\vec{x})$
+\end_inset
+
+ at any point 
+\begin_inset Formula $\vec{x}$
+\end_inset
+
+ we desire.
+ Thus, in Cigma a field is represented simply by a list of degrees of freedom
+\begin_inset Formula $d_{n}$
+\end_inset
+
+, which may be a scalar, vector or tensor quantity, depending on the nature
+ of 
+\begin_inset Formula $\phi$
+\end_inset
+
+.
+\end_layout
+
 \begin_layout Section
 Elements
 \end_layout
@@ -699,7 +743,6 @@
 \begin_layout Standard
 Note that the shape functions have been defined on the reference-coordinate
  space.
- 
 \end_layout
 
 \begin_layout Standard
@@ -724,7 +767,7 @@
 status open
 
 \begin_layout Caption
-Shape functions are defined on the reference-coordinate space.
+Reference tetrahedral element
 \end_layout
 
 \begin_layout Standard
@@ -779,7 +822,7 @@
 status open
 
 \begin_layout Caption
-TODO: Need reference-hex8.png caption.
+Reference hexahedral element
 \end_layout
 
 \begin_layout Standard
@@ -908,85 +951,121 @@
 Running Cigma
 \end_layout
 
+\begin_layout Standard
+As a command line utility
+\end_layout
+
 \begin_layout Section
-Comparing two fields
+Importing data
 \end_layout
 
 \begin_layout Standard
-To compare two fields, use the 
-\family typewriter
-cigma-compare
-\family default
- command line utility.
- The [Luis TODO]
+Cigma can easily import datasets from simple text files consisting of a
+ single header line followed by data.
+ The header consists of two numbers, the first of which consists of the
+ number of lines to read next, and the second number representing the number
+ of columns to read on each line.
+ Thus, after the header, each of the lines begin with an appropriate id
+ number, followed by the requisite number of columns.
+ For simplicity, the maximum line size is 1024, and lines beginning with
+ the '#' character are skipped.
+\newline
+
+\newline
+Mesh coordinates can be specified in the following
+ format
 \end_layout
 
 \begin_layout LyX-Code
+nno nsd
+\end_layout
 
-\series bold
-cigma-compare --output=residuals.vtk           
-\backslash
+\begin_layout LyX-Code
+1 x1 y1 z1
+\end_layout
 
+\begin_layout LyX-Code
+2 x2 y2 z2
 \end_layout
 
 \begin_layout LyX-Code
+3 x3 y3 z3
+\end_layout
 
-\series bold
-              --first=field1.h5:/field1/stepN  
-\backslash
+\begin_layout LyX-Code
+...
+\end_layout
 
+\begin_layout Standard
+Mesh connectivity with 
 \end_layout
 
 \begin_layout LyX-Code
+nel ndof
+\end_layout
 
-\series bold
-              --second=field2.h5:/field2/stepN 
-\backslash
+\begin_layout LyX-Code
+1 node_1 node_2 node_3 node_4 ...
+\end_layout
 
+\begin_layout LyX-Code
+2 node_1 node_2 node_3 node_4 ...
 \end_layout
 
 \begin_layout LyX-Code
-
-\series bold
-              --rule=qr.h5:/path/to/rule
+3 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 is specified by
 \end_layout
 
 \begin_layout LyX-Code
+nno ndim
+\end_layout
 
-\series bold
-cigma-compare --output=residuals.vtk           
-\backslash
+\begin_layout LyX-Code
+1 f1 f2 f3 ..
+\end_layout
 
+\begin_layout LyX-Code
+2 f1 f2 f3 ..
 \end_layout
 
 \begin_layout LyX-Code
+...
+\end_layout
 
-\series bold
-              --first=field1.h5:/field1/stepN  
-\backslash
+\begin_layout Standard
+A quadrature rule may be explicitly specified by
+\end_layout
 
+\begin_layout LyX-Code
+nq nsd
 \end_layout
 
 \begin_layout LyX-Code
+w1 x1 y1 z1
+\end_layout
 
-\series bold
-              --second=field2.h5:/field2/stepN 
-\backslash
-
+\begin_layout LyX-Code
+w2 x2 y2 z2
 \end_layout
 
 \begin_layout LyX-Code
-
-\series bold
-              --samples-per-element=1
+...
 \end_layout
 
-\begin_layout Section
-Importing data
+\begin_layout Standard
+The comma
 \end_layout
 
 \begin_layout LyX-Code
@@ -1027,12 +1106,13 @@
                 --variable-data=velocity.10.time
 \end_layout
 
-\begin_layout LyX-Code
-
+\begin_layout Section
+Data Layout
 \end_layout
 
 \begin_layout Standard
-The effect of this command is to create a file with the following structure:
+The effect of this command is to create an HDF5 file with the following
+ structure:
 \end_layout
 
 \begin_layout LyX-Code
@@ -1067,113 +1147,101 @@
             `-- step00010  [nno x ndim]
 \end_layout
 
+\begin_layout LyX-Code
+
+\end_layout
+
 \begin_layout Section
-Input and Output
+Comparing two fields
 \end_layout
 
 \begin_layout Standard
-Cigma can easily import datasets from simple text files consisting of a
- single header line followed by data.
- The header consists of two numbers, the first of which consists of the
- number of lines to read next, and the second number representing the number
- of columns to read on each line.
- Thus, after the header, each of the lines begin with the appropriate row
- number, followed by the requisite number of columns.
- For simplicity, the maximum line size is 1024, and lines beginning with
- the '#' character are skipped.
-\newline
-
-\newline
-Mesh coordinates can be specified in the following
- format
+Comparing two arbitrary finite element fields can be accomplished with 
+\family typewriter
+cigma-compare
+\family default
+ command line utility.
+ The comparisons always take place using the mesh of the first field.
 \end_layout
 
-\begin_layout LyX-Code
-nno nsd
+\begin_layout Standard
+To use a quadrature rule for the field comparisons, you can specify arguments
+ similar to the following
 \end_layout
 
 \begin_layout LyX-Code
-1 x1 y1 z1
-\end_layout
 
-\begin_layout LyX-Code
-2 x2 y2 z2
-\end_layout
+\series bold
+cigma-compare --output=squared-residuals.vtk   
+\backslash
 
-\begin_layout LyX-Code
-3 x3 y3 z3
 \end_layout
 
 \begin_layout LyX-Code
-...
-\end_layout
 
-\begin_layout Standard
-Mesh connectivity with 
-\end_layout
+\series bold
+              --first=field1.h5:/field1/stepN  
+\backslash
 
-\begin_layout LyX-Code
-nel ndof
 \end_layout
 
 \begin_layout LyX-Code
-1 node_1 node_2 node_3 node_4 ...
-\end_layout
 
-\begin_layout LyX-Code
-2 node_1 node_2 node_3 node_4 ...
+\series bold
+              --second=field2.h5:/field2/stepN 
+\backslash
+
 \end_layout
 
 \begin_layout LyX-Code
-3 node_1 node_2 node_3 node_4 ...
-\end_layout
 
-\begin_layout LyX-Code
-...
+\series bold
+              --rule=qr.h5:/path/to/rule
 \end_layout
 
 \begin_layout Standard
-A generic field with 
-\family typewriter
-ndim
-\family default
- components is specified by
+Alternatively, to perform a pointwise comparison at random sample points
+ inside each element in the first mesh, you can use arguments similar to
+ the following
 \end_layout
 
 \begin_layout LyX-Code
-nno ndim
+
+\series bold
+cigma-compare --output=squared-residuals.vtk   
+\backslash
+
 \end_layout
 
 \begin_layout LyX-Code
-1 f1 f2 f3 ..
-\end_layout
 
-\begin_layout LyX-Code
-2 f1 f2 f3 ..
+\series bold
+              --first=field1.h5:/field1/stepN  
+\backslash
+
 \end_layout
 
 \begin_layout LyX-Code
-...
-\end_layout
 
-\begin_layout Standard
-A quadrature rule may be explicitly specified by
+\series bold
+              --second=field2.h5:/field2/stepN 
+\backslash
+
 \end_layout
 
 \begin_layout LyX-Code
-nq nsd
+
+\series bold
+              --samples-per-element=1
 \end_layout
 
 \begin_layout LyX-Code
-w1 x1 y1 z1
-\end_layout
 
-\begin_layout LyX-Code
-w2 x2 y2 z2
 \end_layout
 
-\begin_layout LyX-Code
-...
+\begin_layout Standard
+The square of each of the local residual values are written to the specified
+ VTK output file as cell-based scalars.
 \end_layout
 
 \begin_layout Chapter
@@ -1283,8 +1351,8 @@
 
 \end_inset
 
-) with sides having a length of 24 km, consisting of two layers of different
- material types.
+ TODO: refer to figure below instead) with sides having a length of 24 km,
+ consisting of two layers of different material types.
  The top layer is nearly elastic while the bottom layer is viscoelastic.
  A symmetric boundary condition is also imposed on the y=0 plane.
 \end_layout
@@ -1392,7 +1460,8 @@
 \begin_layout Standard
 In both cases we solve for the displacement and vector fields at various
  time steps, namely 0, 10, 50, and 100 years.
- All plots show the distribution of the squared residual error
+ In the plots below, we show the distribution of the squared local residuals
+ on each cell.
 \end_layout
 
 \begin_layout Subsection
@@ -1411,7 +1480,7 @@
  There is not much difference between time steps at t=10, 50 and 100 years,
  so we are only showing the last time step.
  Note that the maximum errors are localized to the interface between the
- two layers and the symmetric boundary.
+ two layers on the symmetric boundary.
 \end_layout
 
 \begin_layout Standard
@@ -1625,7 +1694,8 @@
  at t=0 years, sampled over a 250m resolution mesh.
  Displayed here are ten equally spaced isosurfaces, nine of which are very
  near the fault.
- In this case, the linear taper over the edges of the fault is clearly visible.
+ In this case, the linear taper over the internal edges of the fault is
+ clearly visible.
 \end_layout
 
 \begin_layout Standard
@@ -1667,8 +1737,8 @@
 
 \begin_layout Standard
 You can also visualize the distribution of errors by plotting the residual
- field value over the surface of each cell and applying a threshold filter
- which eliminates cells outside a threshold interval.
+ field values over the surface of each cell and applying a threshold filter
+ which eliminates cells containing values outside a threshold interval.
  Here, we show how velocity field residuals in the reverse-slip benchmark
  are distributed temporally by throwing away all squared residuals lower
  than 
@@ -1998,20 +2068,106 @@
 \end_layout
 
 \begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout Standard
+A field 
+\begin_inset Formula $\vec{\varphi}=\varphi_{x}\hat{x}+\varphi_{y}\hat{y}+\varphi_{z}\hat{z}$
+\end_inset
+
+ defined over a linear tetrahedral element with vertices at 
+\begin_inset Formula $A(x_{0},y_{0},z_{0})$
+\end_inset
+
+, 
+\begin_inset Formula $B(x_{1},y_{1},z_{1})$
+\end_inset
+
+, 
+\begin_inset Formula $C(x_{2},y_{2},z_{2})$
+\end_inset
+
+, 
+\begin_inset Formula $D(x_{3},y_{3},z_{3})$
+\end_inset
+
+, has the following functional form inside the reference tetrahedral element
+ shown in Figure X (TODO)
+\end_layout
+
+\begin_layout LyX-Code
 \begin_inset Formula \[
 \begin{array}{c}
-x\left(\vec{\xi}\right)=\alpha_{0}+\alpha_{1}\xi+\alpha_{2}\eta+\alpha_{3}\zeta\\
-y\left(\vec{\xi}\right)=\beta_{0}+\beta_{1}\xi+\beta_{2}\eta+\beta_{3}\zeta\\
-z\left(\vec{\xi}\right)=\gamma_{0}+\gamma_{1}\xi+\gamma_{2}\eta+\gamma_{3}\zeta\end{array}\]
+\varphi_{x}(\vec{\xi})=\alpha_{0}+\alpha_{1}\xi+\alpha_{2}\eta+\alpha_{3}\zeta\\
+\varphi_{y}(\vec{\xi})=\beta_{0}+\beta_{1}\xi+\beta_{2}\eta+\beta_{3}\zeta\\
+\varphi_{z}(\vec{\xi})=\gamma_{0}+\gamma_{1}\xi+\gamma_{2}\eta+\gamma_{3}\zeta\end{array}\]
 
 \end_inset
 
 
 \end_layout
 
+\begin_layout Standard
+In particular, the map from the reference coordinates into the regular coordinat
+es vector 
+\begin_inset Formula $\vec{x}(\vec{\xi})=x\hat{(\vec{\xi})x}+y(\vec{\xi})\hat{y}+y(\vec{\xi})\hat{z}$
+\end_inset
+
+ looks like
+\end_layout
+
 \begin_layout LyX-Code
 \begin_inset Formula \[
 \begin{array}{c}
+x(\vec{\xi})=\alpha_{0}+\alpha_{1}\xi+\alpha_{2}\eta+\alpha_{3}\zeta\\
+y(\vec{\xi})=\beta_{0}+\beta_{1}\xi+\beta_{2}\eta+\beta_{3}\zeta\\
+z(\vec{\xi})=\gamma_{0}+\gamma_{1}\xi+\gamma_{2}\eta+\gamma_{3}\zeta\end{array}\]
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+The following natural mappings uniquely determine the coefficients 
+\begin_inset Formula $\alpha_{k}$
+\end_inset
+
+, 
+\begin_inset Formula $\beta_{k}$
+\end_inset
+
+, 
+\begin_inset Formula $\gamma_{k}$
+\end_inset
+
+
+\end_layout
+
+\begin_layout LyX-Code
+\begin_inset Formula \begin{eqnarray*}
+\vec{x}(-1,-1,-1) & \mapsto & (x_{0},y_{0},z_{0})\\
+\vec{x}(+1,-1,-1) & \mapsto & (x_{1},y_{1},z_{1})\\
+\vec{x}(-1,+1,-1) & \mapsto & (x_{2},y_{2},z_{2})\\
+\vec{x}(-1,-1,+1) & \mapsto & (x_{3},y_{3},z_{3})\end{eqnarray*}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Considering only the first component 
+\begin_inset Formula $x(\vec{\xi})$
+\end_inset
+
+, we can obtain the matrix equation 
+\end_layout
+
+\begin_layout LyX-Code
+\begin_inset Formula \[
+\begin{array}{c}
 a\\
 b\\
 c\\
@@ -2034,6 +2190,12 @@
 
 \end_layout
 
+\begin_layout Standard
+Applying our desired map to the other two functions yields two other identical
+ systems.
+ Thus we may augment the system as follows,
+\end_layout
+
 \begin_layout LyX-Code
 \begin_inset Formula \[
 \left[\begin{array}{cccc}
@@ -2053,6 +2215,14 @@
 \end_inset
 
 
+\end_layout
+
+\begin_layout Standard
+Now we can easily invert the square matrix on the left, yielding the values
+ of the unknown coefficients,
+\end_layout
+
+\begin_layout LyX-Code
 \begin_inset Formula \[
 \left[\begin{array}{ccc}
 \alpha_{0} & \beta_{0} & \gamma_{0}\\
@@ -2073,50 +2243,76 @@
 
 \end_layout
 
+\begin_layout Standard
+Using the values for
+\begin_inset Formula $\alpha_{k}$
+\end_inset
+
+, we find that 
+\begin_inset Formula $x(\vec{\xi})$
+\end_inset
+
+ becomes
+\end_layout
+
 \begin_layout LyX-Code
-\begin_inset Formula \[
-\begin{array}{cc}
-x\left(\vec{\xi}\right) & =\alpha_{0}+\alpha_{1}\xi+\alpha_{2}\eta+\alpha_{3}\zeta\\
- & =\left[\frac{1}{2}\left(-x_{0}+x_{1}+x_{2}+x_{3}\right)\right]\\
- & +\left[\frac{1}{2}\left(-x_{0}+x_{1}\,\,\,\,\,\,\,\,\,\,\right)\right]\xi\\
- & +\left[\frac{1}{2}\left(-x_{0}\,\,\,\,\,+x_{2}\,\,\,\,\,\right)\right]\eta\\
- & +\left[\frac{1}{2}\left(-x_{0}\,\,\,\,\,\,\,\,\,\,+x_{3}\right)\right]\zeta\\
-\\ & =\left[\frac{1}{2}\left(-1-\xi-\eta-\zeta\right)\right]\times0\\
- & +\left[\frac{1}{2}\left(1+\xi\,\,\,\,\,\,\,\,\,\,\right)\right]\times1\\
- & +\left[\frac{1}{2}\left(1\,\,\,\,\,+\eta\,\,\,\,\,\right)\right]\times2\\
- & +\left[\frac{1}{2}\left(1\,\,\,\,\,\,\,\,\,\,+\zeta\right)\right]\times3\\
-\\\end{array}\]
+\begin_inset Formula \begin{eqnarray*}
+x(\vec{\xi}) & = & \alpha_{0}+\alpha_{1}\xi+\alpha_{2}\eta+\alpha_{3}\zeta\\
+ & = & \,\,\,\left[\frac{1}{2}\left(-x_{0}+x_{1}+x_{2}+x_{3}\right)\right]\\
+ &  & +\left[\frac{1}{2}\left(-x_{0}+x_{1}\right)\right]\xi\\
+ &  & +\left[\frac{1}{2}\left(-x_{0}+x_{2}\right)\right]\eta\end{eqnarray*}
 
 \end_inset
 
 
 \end_layout
 
+\begin_layout Standard
+Rearranging terms, we get
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula \begin{eqnarray*}
+x(\vec{\xi}) & = & \,\,\,\left[\frac{1}{2}\left(-1-\xi-\eta-\zeta\right)\right]x_{0}\\
+ &  & +\left[\frac{1}{2}\left(1+\xi\right)\right]x_{1}\\
+ &  & +\left[\frac{1}{2}\left(1+\eta\right)\right]x_{2}\\
+ &  & +\left[\frac{1}{2}\left(1+\zeta\right)\right]x_{3}\end{eqnarray*}
+
+\end_inset
+
+
+\end_layout
+
 \begin_layout LyX-Code
 
 \end_layout
 
-\begin_layout Standard
-\begin_inset Formula \[
-\begin{array}{c}
-x\left(\vec{\xi}\right)=N_{0}\left(\vec{\xi}\right)x_{0}+N_{1}\left(\vec{\xi}\right)x_{1}+N_{2}\left(\vec{\xi}\right)x_{2}+N_{3}\left(\vec{\xi}\right)x_{3}\\
-y\left(\vec{\xi}\right)=N_{0}\left(\vec{\xi}\right)y_{0}+N_{1}\left(\vec{\xi}\right)y_{1}+N_{2}\left(\vec{\xi}\right)y_{2}+N_{3}\left(\vec{\xi}\right)y_{3}\\
-z\left(\vec{\xi}\right)=N_{0}\left(\vec{\xi}\right)z_{0}+N_{1}\left(\vec{\xi}\right)z_{1}+N_{2}\left(\vec{\xi}\right)z_{2}+N_{3}\left(\vec{\xi}\right)z_{3}\\
-\\\end{array}\]
+\begin_layout LyX-Code
+\begin_inset Formula \begin{eqnarray*}
+x(\vec{\xi}) & = & N_{0}(\vec{\xi})x_{0}+N_{1}(\vec{\xi})x_{1}+N_{2}(\vec{\xi})x_{2}+N_{3}(\vec{\xi})x_{3}\\
+y(\vec{\xi}) & = & N_{0}(\vec{\xi})y_{0}+N_{1}(\vec{\xi})y_{1}+N_{2}(\vec{\xi})y_{2}+N_{3}(\vec{\xi})y_{3}\\
+z(\vec{\xi}) & = & N_{0}(\vec{\xi})z_{0}+N_{1}(\vec{\xi})z_{1}+N_{2}(\vec{\xi})z_{2}+N_{3}(\vec{\xi})z_{3}\end{eqnarray*}
 
 \end_inset
 
 
 \end_layout
 
+\begin_layout LyX-Code
+
+\end_layout
+
 \begin_layout Standard
-\begin_inset Formula \[
-\begin{array}{cc}
-where & N_{0}\left(\vec{\xi}\right)=\frac{1}{2}\left(-1-\xi-\eta-\zeta\right)\\
- & N_{1}\left(\vec{\xi}\right)=\frac{1}{2}\left(1+\xi\right)\\
- & N_{2}\left(\vec{\xi}\right)=\frac{1}{2}\left(1+\eta\right)\\
- & N_{3}\left(\vec{\xi}\right)=\frac{1}{2}\left(1+\zeta\right)\end{array}\]
+where
+\end_layout
 
+\begin_layout Standard
+\begin_inset Formula \begin{eqnarray*}
+N_{0}(\vec{\xi}) & = & \frac{1}{2}\left(-1-\xi-\eta-\zeta\right)\\
+N_{1}(\vec{\xi}) & = & \frac{1}{2}\left(1+\xi\right)\\
+N_{2}(\vec{\xi}) & = & \frac{1}{2}\left(1+\eta\right)\\
+N_{3}(\vec{\xi}) & = & \frac{1}{2}\left(1+\zeta\right)\end{eqnarray*}
+
 \end_inset
 
 
@@ -2128,21 +2324,26 @@
 
 \end_layout
 
-\begin_layout LyX-Code
+\begin_layout Standard
+As a final note, observe that we can streamline the evaluation process over
+ any number of points, 
+\begin_inset Formula $\vec{\xi}_{0},\vec{\xi}_{1},\vec{\xi}_{2},\ldots$
+\end_inset
 
+, inside the same element via the following matrix multiplication
 \end_layout
 
 \begin_layout LyX-Code
 \begin_inset Formula \[
 \left[\begin{array}{ccc}
-x\left(\vec{\xi}_{0}\right) & y\left(\vec{\xi}_{0}\right) & z\left(\vec{\xi}_{0}\right)\\
-x\left(\vec{\xi}_{1}\right) & y\left(\vec{\xi}_{1}\right) & z\left(\vec{\xi}_{1}\right)\\
-\vdots & \vdots & \vdots\\
-x\left(\vec{\xi}_{q-1}\right) & y\left(\vec{\xi}_{q-1}\right) & z\left(\vec{\xi}_{q-1}\right)\end{array}\right]=\left[\begin{array}{ccccc}
-N_{0}\left(\vec{\xi}_{0}\right) & N_{1}\left(\vec{\xi}_{0}\right) & N_{2}\left(\vec{\xi}_{0}\right) & N_{3}\left(\vec{\xi}_{0}\right)\\
-N_{0}\left(\vec{\xi}_{1}\right) & N_{1}\left(\vec{\xi}_{1}\right) & N_{2}\left(\vec{\xi}_{1}\right) & N_{3}\left(\vec{\xi}_{1}\right)\\
-\vdots & \vdots & \vdots & \vdots\\
-N_{0}\left(\vec{\xi}_{q-1}\right) & N_{1}\left(\vec{\xi}_{q-1}\right) & N_{2}\left(\vec{\xi}_{q-1}\right) & N_{3}\left(\vec{\xi}_{q-1}\right)\end{array}\right]\left[\begin{array}{ccc}
+x(\vec{\xi}_{0}) & y(\vec{\xi}_{0}) & z(\vec{\xi}_{0})\\
+x(\vec{\xi}_{1}) & y(\vec{\xi}_{1}) & z(\vec{\xi}_{1})\\
+x(\vec{\xi}_{2}) & y(\vec{\xi}_{2}) & z(\vec{\xi}_{2})\\
+\vdots & \vdots & \vdots\end{array}\right]=\left[\begin{array}{cccc}
+N_{0}(\vec{\xi}_{0}) & N_{1}(\vec{\xi}_{0}) & N_{2}(\vec{\xi}_{0}) & N_{3}(\vec{\xi}_{0})\\
+N_{0}(\vec{\xi}_{1}) & N_{1}(\vec{\xi}_{1}) & N_{2}(\vec{\xi}_{1}) & N_{3}(\vec{\xi}_{1})\\
+N_{0}(\vec{\xi}_{2}) & N_{1}(\vec{\xi}_{2}) & N_{2}(\vec{\xi}_{2}) & N_{3}(\vec{\xi}_{2})\\
+\vdots & \vdots & \vdots & \vdots\end{array}\right]\left[\begin{array}{ccc}
 x{}_{0} & y_{0} & z_{0}\\
 x_{1} & y_{1} & z_{1}\\
 x_{2} & y_{2} & z_{2}\\
@@ -2157,6 +2358,10 @@
 
 \end_layout
 
+\begin_layout LyX-Code
+
+\end_layout
+
 \begin_layout Section
 Jacobian Matrix
 \end_layout



More information about the cig-commits mailing list