]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
remove html formatted article assemble
authorguido <guido@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 15 Nov 2004 14:04:35 +0000 (14:04 +0000)
committerguido <guido@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 15 Nov 2004 14:04:35 +0000 (14:04 +0000)
git-svn-id: https://svn.dealii.org/trunk@9758 0785d39b-7218-0410-832d-ea1e28bc413d

115 files changed:
deal.II/doc/Makefile.in
deal.II/doc/news/2002/c-3-4.html [deleted file]
deal.II/doc/news/3.4.0-vs-4.0.0.html
deal.II/doc/reports/assemble/img1.gif [deleted file]
deal.II/doc/reports/assemble/img10.gif [deleted file]
deal.II/doc/reports/assemble/img11.gif [deleted file]
deal.II/doc/reports/assemble/img12.gif [deleted file]
deal.II/doc/reports/assemble/img13.gif [deleted file]
deal.II/doc/reports/assemble/img14.gif [deleted file]
deal.II/doc/reports/assemble/img15.gif [deleted file]
deal.II/doc/reports/assemble/img16.gif [deleted file]
deal.II/doc/reports/assemble/img17.gif [deleted file]
deal.II/doc/reports/assemble/img18.gif [deleted file]
deal.II/doc/reports/assemble/img19.gif [deleted file]
deal.II/doc/reports/assemble/img2.gif [deleted file]
deal.II/doc/reports/assemble/img20.gif [deleted file]
deal.II/doc/reports/assemble/img21.gif [deleted file]
deal.II/doc/reports/assemble/img22.gif [deleted file]
deal.II/doc/reports/assemble/img23.gif [deleted file]
deal.II/doc/reports/assemble/img24.gif [deleted file]
deal.II/doc/reports/assemble/img25.gif [deleted file]
deal.II/doc/reports/assemble/img26.gif [deleted file]
deal.II/doc/reports/assemble/img27.gif [deleted file]
deal.II/doc/reports/assemble/img28.gif [deleted file]
deal.II/doc/reports/assemble/img29.gif [deleted file]
deal.II/doc/reports/assemble/img3.gif [deleted file]
deal.II/doc/reports/assemble/img30.gif [deleted file]
deal.II/doc/reports/assemble/img31.gif [deleted file]
deal.II/doc/reports/assemble/img32.gif [deleted file]
deal.II/doc/reports/assemble/img33.gif [deleted file]
deal.II/doc/reports/assemble/img34.gif [deleted file]
deal.II/doc/reports/assemble/img35.gif [deleted file]
deal.II/doc/reports/assemble/img36.gif [deleted file]
deal.II/doc/reports/assemble/img37.gif [deleted file]
deal.II/doc/reports/assemble/img38.gif [deleted file]
deal.II/doc/reports/assemble/img39.gif [deleted file]
deal.II/doc/reports/assemble/img4.gif [deleted file]
deal.II/doc/reports/assemble/img40.gif [deleted file]
deal.II/doc/reports/assemble/img41.gif [deleted file]
deal.II/doc/reports/assemble/img42.gif [deleted file]
deal.II/doc/reports/assemble/img43.gif [deleted file]
deal.II/doc/reports/assemble/img44.gif [deleted file]
deal.II/doc/reports/assemble/img45.gif [deleted file]
deal.II/doc/reports/assemble/img46.gif [deleted file]
deal.II/doc/reports/assemble/img47.gif [deleted file]
deal.II/doc/reports/assemble/img48.gif [deleted file]
deal.II/doc/reports/assemble/img49.gif [deleted file]
deal.II/doc/reports/assemble/img5.gif [deleted file]
deal.II/doc/reports/assemble/img50.gif [deleted file]
deal.II/doc/reports/assemble/img51.gif [deleted file]
deal.II/doc/reports/assemble/img52.gif [deleted file]
deal.II/doc/reports/assemble/img53.gif [deleted file]
deal.II/doc/reports/assemble/img54.gif [deleted file]
deal.II/doc/reports/assemble/img55.gif [deleted file]
deal.II/doc/reports/assemble/img56.gif [deleted file]
deal.II/doc/reports/assemble/img57.gif [deleted file]
deal.II/doc/reports/assemble/img58.gif [deleted file]
deal.II/doc/reports/assemble/img59.gif [deleted file]
deal.II/doc/reports/assemble/img6.gif [deleted file]
deal.II/doc/reports/assemble/img60.gif [deleted file]
deal.II/doc/reports/assemble/img61.gif [deleted file]
deal.II/doc/reports/assemble/img62.gif [deleted file]
deal.II/doc/reports/assemble/img63.gif [deleted file]
deal.II/doc/reports/assemble/img64.gif [deleted file]
deal.II/doc/reports/assemble/img65.gif [deleted file]
deal.II/doc/reports/assemble/img66.gif [deleted file]
deal.II/doc/reports/assemble/img67.gif [deleted file]
deal.II/doc/reports/assemble/img68.gif [deleted file]
deal.II/doc/reports/assemble/img69.gif [deleted file]
deal.II/doc/reports/assemble/img7.gif [deleted file]
deal.II/doc/reports/assemble/img70.gif [deleted file]
deal.II/doc/reports/assemble/img71.gif [deleted file]
deal.II/doc/reports/assemble/img72.gif [deleted file]
deal.II/doc/reports/assemble/img73.gif [deleted file]
deal.II/doc/reports/assemble/img74.gif [deleted file]
deal.II/doc/reports/assemble/img75.gif [deleted file]
deal.II/doc/reports/assemble/img76.gif [deleted file]
deal.II/doc/reports/assemble/img77.gif [deleted file]
deal.II/doc/reports/assemble/img78.gif [deleted file]
deal.II/doc/reports/assemble/img79.gif [deleted file]
deal.II/doc/reports/assemble/img8.gif [deleted file]
deal.II/doc/reports/assemble/img80.gif [deleted file]
deal.II/doc/reports/assemble/img81.gif [deleted file]
deal.II/doc/reports/assemble/img82.gif [deleted file]
deal.II/doc/reports/assemble/img83.gif [deleted file]
deal.II/doc/reports/assemble/img84.gif [deleted file]
deal.II/doc/reports/assemble/img85.gif [deleted file]
deal.II/doc/reports/assemble/img86.gif [deleted file]
deal.II/doc/reports/assemble/img87.gif [deleted file]
deal.II/doc/reports/assemble/img88.gif [deleted file]
deal.II/doc/reports/assemble/img89.gif [deleted file]
deal.II/doc/reports/assemble/img9.gif [deleted file]
deal.II/doc/reports/assemble/img90.gif [deleted file]
deal.II/doc/reports/assemble/img91.gif [deleted file]
deal.II/doc/reports/assemble/img92.gif [deleted file]
deal.II/doc/reports/assemble/img93.gif [deleted file]
deal.II/doc/reports/assemble/img94.gif [deleted file]
deal.II/doc/reports/assemble/img95.gif [deleted file]
deal.II/doc/reports/assemble/img96.gif [deleted file]
deal.II/doc/reports/assemble/index.html [deleted file]
deal.II/doc/reports/assemble/node10.html [deleted file]
deal.II/doc/reports/assemble/node11.html [deleted file]
deal.II/doc/reports/assemble/node12.html [deleted file]
deal.II/doc/reports/assemble/node13.html [deleted file]
deal.II/doc/reports/assemble/node14.html [deleted file]
deal.II/doc/reports/assemble/node15.html [deleted file]
deal.II/doc/reports/assemble/node16.html [deleted file]
deal.II/doc/reports/assemble/node2.html [deleted file]
deal.II/doc/reports/assemble/node3.html [deleted file]
deal.II/doc/reports/assemble/node4.html [deleted file]
deal.II/doc/reports/assemble/node5.html [deleted file]
deal.II/doc/reports/assemble/node6.html [deleted file]
deal.II/doc/reports/assemble/node7.html [deleted file]
deal.II/doc/reports/assemble/node8.html [deleted file]
deal.II/doc/reports/assemble/node9.html [deleted file]

index fafc8a58067ad45f9f7f2bd44c1388e6141dc6cc..1b77c24f36d1293da1290fb40696f7ec75c68496 100644 (file)
@@ -31,7 +31,10 @@ glossary:
 
 validate-xrefs:
        @echo "Validating cross-references in HTML files."
-       $(PERL) $D/common/scripts/validate-xrefs.pl *html doxygen/*/*.html
+       $(PERL) $D/common/scripts/validate-xrefs.pl *html
+       $(PERL) $D/common/scripts/validate-xrefs.pl doxygen/base/*.html
+       $(PERL) $D/common/scripts/validate-xrefs.pl doxygen/lac/*.html
+       $(PERL) $D/common/scripts/validate-xrefs.pl doxygen/deal.II/*.html
        cd tutorial ; $(MAKE) validate-xrefs
        cd development ; $(MAKE) validate-xrefs
        cd publications ; $(MAKE) validate-xrefs
diff --git a/deal.II/doc/news/2002/c-3-4.html b/deal.II/doc/news/2002/c-3-4.html
deleted file mode 100644 (file)
index e57bbdd..0000000
+++ /dev/null
@@ -1,1392 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN"
-   "http://www.w3.org/TR/REC-html40/frameset.dtd">
-<html>
-  <head>
-    <link href="../../screen.css" rel="StyleSheet" media="screen">
-    <link href="../../print.css" rel="StyleSheet" media="print">
-    <title>The deal.II news page</title>
-    <meta name="author" content="the deal.II authors <authors@dealii.org>">
-    <meta name="keywords" content="deal.II"></head>
-    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<body>
-
-
-<h2>Changes after Version 3.4</h2>
-
-<p>
-This is the list of changes made after the release of 
-<acronym>deal.II</acronym> version 3.4. It is subdivided into changes
-made to the three sub-libraries <a href="#base">base</a>, 
-<a href="#lac">lac</a>, and <a href="#deal.II">deal.II</a>, as well as
-changes to the <a href="#general">general infrastructure,
-documentation, etc</a>.
-</p>
-
-<p>
-All entries are signed with the names of the author. Regular
-contributor's names are abbreviated by WB (Wolfgang Bangerth), GK
-(Guido Kanschat), RH (Ralf Hartmann).
-</p>
-
-
-<a name="general"></a>
-<h3>General</h3>
-
-<ol>
-  <li> <p> 
-       New: <acronym>deal.II</acronym> now uses a new threading
-       scheme. The new scheme is simpler to use, and in particular
-       more flexible in some cases where only one thread is started,
-       or where a thread is completely detached, since we got rid of
-       the <code>ThreadManager</code> class and now only store handles
-       to individual threads (which can be discarded, or added to a
-       <code>ThreadGroup</code> variable that is able to wait for a
-       whole set of threads at once.
-       <br>
-       The new scheme also implements a much needed feature: calling
-       functions on a new thread that return values. Previously, such
-       functions needed to be written in a way that they return their
-       return value through an additional reference parameter. This
-       was inflexible if one wanted to call functions that already
-       exist. This restriction is now lifted: such functions can be
-       called, and the return value can be accessed once the thread
-       has finished.
-       <br>
-       Some documentation for the new scheme can be found
-       <a href="../../reports/new-threads/index.html" target="body">on this
-       page</a>.
-       <br>
-       (WB 2003/02/06)
-       </p>
-
-  <li> <p> 
-       New: <acronym>deal.II</acronym> now makes use of some parts of
-       the <a href="http://www.boost.org/">boost</a> library, which is
-       supposed to be a testground for the next generation C++ standard
-       library. The parts which we use are now in
-       <code>contrib/boost/include/boost_local/</code> and can be
-       referenced from within your programs. The directory contains
-       the string <code>_local</code> since you may still want to use
-       another version or installation of boost in your own programs.
-       </p>
-       
-       <p>
-       Also note that boost is large -- much larger than the subset we
-       have imported --, so we only took what we needed.
-       <br>
-       (WB 2003/02/06)
-       </p>
-
-  <li> <p> 
-       Fixed: A longstanding bug in the documentation system has been fixed: if
-       a namespace was ended with <code>}</code> instead of <code>};</code>
-       (note the semicolon), then the documentation tool assumed that the
-       following entities were still part of the namespace just left. This was
-       since the closing brace alone was not accepted as ending a namespace
-       (after all, structures, classes, and enums -- the other entities that
-       can enclose other declarations -- need the semicolon). This led to some
-       classes not showing up in the class index of the sublibraries. This is
-       now fixed.
-       <br>
-       (WB 2003/02/02)
-       </p>
-
-  <li> <p> 
-       Changed: Classes and structures that are declared inside namespaces named
-       <code class="class">internal</code> are now no longer shown in the class
-       index view of the documentation of each of the sublibraries. Since they
-       are supposed to be used internally only, this is no drawback for the
-       general public. However, they are documented as members of these
-       namespaces.
-       <br>
-       (WB 2003/02/02)
-       </p>
-
-  <li> <p> 
-       Fixed: Some of the formulas in the step-14 tutorial were obviously 
-       scrambled a little. This is now fixed.
-       <br>
-       (Roy Stogner, WB 2003/01/30)
-       </p>
-
-  <li> <p> 
-       Changed: The main Makefile has been changed to sequentialize building 
-       the base, lac, and deal.II sublibraries. We changed this, since on some
-       systems (notably AIX), the latter libraries need to be linked against
-       the former ones, when creating shared libraries.
-       <br>
-       (WB 2003/01/24)
-       </p>
-
-  <li> <p> 
-       New: Changes have been made to support compiling and using 
-       <acronym>deal.II</acronym> on AIX 5 systems.
-       <br>
-       (WB 2003/01/24)
-       </p>
-
-  <li> <p> 
-       Removed: Thread support now relies solely on the use of POSIX
-       functions. The use of the
-       <a href="http://www.cs.wustl.edu/~schmidt/ACE.html" target="_top">ACE
-       (Adaptive Communications Environment)</a> library for this is now no
-       longer supported. However, application programs can of course still use
-       ACE, but they will need to generate paths to this library in their
-       makefiles themselves.
-       <br>
-       (WB 2003/01/11)
-       </p>
-
-  <li> <p> 
-       New: Some changes have been made to support Mac OS X 10.2. Shared
-       libraries are not supported on this architecture, but everything else
-       should work.
-       <br>
-       (WB 2002/12/18)
-       </p>
-
-  <li> <p> 
-       New: <acronym>deal.II</acronym> can be compiled with version 7.0 of
-       Intel's icc compiler, which was recently released. Since this compiler
-       finally supports the very restrictive flags <code>-Xc -ansi</code> that
-       check for close conformance with the C++ standard, we use them (previous
-       versions of icc would crash when these two flags are given). This
-       requires that we distinguish between these compiler versions, and the
-       corresponding Makefile variable <code>GXX-VERSION</code> now no longer
-       holds the non-versioned string <code>intel_icc</code> when icc is
-       detected, but rather either <code>intel_icc5</code>,
-       <code>intel_icc6</code>, or <code>intel_icc7</code>, depending on what
-       version of the compiler was detected.
-       <br>
-       (WB 2002/12/05)
-       </p>
-
-  <li> <p> 
-       Changed: Previously, we just set the preprocessor variable
-       <code>DEAL_II_USE_MT</code>, when <code>--with-multithreading</code> was
-       given as argument to <code>./configure</code>. Tests in the code
-       therefore looked like <code>#ifdef DEAL_II_USE_MT</code>. This has been
-       changed so that the variable is always defined, but its value is now
-       equal to <code>1</code> 
-       when multithreading was requested, and zero otherwise. The reason for
-       this is that you can now write <code>if (DEAL_II_USE_MT && ...)</code>
-       conditions, and need not interleave if-else clauses from regular code
-       and the preprocessor, if conditions involve both the state of this
-       preprocessor variable and the run-time state of your program. However,
-       this change requires that all appearances of <code>#ifdef
-       DEAL_II_USE_MT</code> be changed to <code>#if DEAL_II_USE_MT ==
-       1</code>, since the variable is now defined unconditionally.
-       <br>
-       (WB 2002/11/14)
-       </p>
-
-  <li> <p> 
-       New: Object files are now named according to the local defaults
-       on the system we are running on. On Unix systems, this is
-       usually a <code>.o</code> suffix, while on Windows it is
-       <code>.obj</code>. Likewise for executables, which have no
-       suffix on Unix, but <code>.exe</code> on Windows.
-       <br>
-       (WB 2002/11/11)
-       </p>
-
-  <li> <p> 
-       New: <acronym>deal.II</acronym> can now also be compiled with Red Hat's
-       version of the gcc compiler, gcc 2.96. However, some problems remain;
-       for more information, refer 
-       to the <a href="../../faq.html" target="body">Frequently Asked
-       Questions</a> section.
-       <br>
-       (WB 2002/10/14)
-       </p>
-
-  <li> <p> 
-       Fixed: On CygWin, one header files has a <code>#define quad
-       quad_t</code>. This is annoying, since we have local variables and
-       member functions with the name <code>quad</code>, and in fact it breaks
-       compilation on those versions of CygWin that has this. Fortunately, the
-       define is only active if a preprocessor variable
-       <code>_POSIX_SOURCE</code> is not set. Thus, we now check for the define
-       when configuring the library, and if necessary set the preprocessor
-       variable. However, while this allows to compile the library on these
-       systems, it may otherwise affect your code, if you use functions or
-       other features of the system that are not available when the flag is
-       set.
-       <br>
-       (Stephen Kolaroff, WB
-       2002/09/28) 
-       </p>
-
-  <li> <p> 
-       New: Since <code>math.h</code> only defines the values of PI or E (as
-       <code>M_PI</code> and <code>M_E</code>) when certain defines are set (on
-       Linux, these are <code>__USE_BSD</code> or <code>__USE_XOPEN</code>),
-       portable programs usually defined these constants themselves. In
-       <acronym>deal.II</acronym>, this happened at 6 different places. To
-       avoid this in the future, <code>base/config.h</code> now exports a
-       namespace <code>deal_II_numbers</code> that defines these two, and a
-       number of other numerical constants.
-       <br>
-       (WB 2002/09/12)
-       </p>
-
-  <li> <p> 
-       New: <code>base/config.h</code> now exports the
-       <acronym>deal.II</acronym> base directory through the
-       <code>DEAL_II_PATH</code> preprocessor variable.
-       <br>
-       (WB 2002/09/09)
-       </p>
-
-  <li> <p> 
-       Removed: The forward declarations files have gone. We have never
-       propagated their use in the example programs, but these files have been
-       there in the base, lac, and grid include directories, and forward
-       declared all classes that were present in the respective parts of the
-       library. This, the idea was, enables you to use just this include file
-       in your own header files, rather than including the full declarations of
-       these classes. However, maintaining these forward declaration files has
-       been a constant thorn in our side, be it that the timing of their
-       generation was difficult when using parallel builds, or that they were
-       difficult to generate at first. The latter is now the reason for their
-       abolition: we had a script for their generation, but it did not take
-       into account namespaces, so we got clashes when we found that we had
-       used the same class name in two different namespaces, since the script
-       put the forward declaration incorrectly into the global namespace where
-       they conflicted. Since we do not plan to extend the script by a
-       parser that can properly handle opening and closing braces of
-       namespaces, we simply drop these files.
-       <br>
-       What you should do if you have used these forward declaration files: you
-       have two possibilities - either include the respective header file in
-       which the class is fully declared, or write the forward declaration into
-       your headers yourself.
-       <br>
-       (WB 2002/09/05)
-       </p>
-
-  <li> <p> 
-       New: There is now
-       <a href="../../reports/assemble/index.html" target="body">a new report
-       on assembling matrices</a> available from the 
-       <a href="../../documentation.html" target="body">documentation
-       page</a>. The main focus is assembling of matrices for
-       vector-valued problems, where shape functions are
-       vector-valued, and may have only one or more non-zero vector
-       components. 
-       <br>
-       (WB 2002/06/17)
-       </p>
-
-  <li> <p>
-       Removed: The functions <code
-       class="member">FEValuesBase::get_shape_values</code>, <code
-       class="member">FEValuesBase::get_shape_grads</code>, and <code
-       class="member">FEValuesBase::get_shape_2nd_derivatives</code> are
-       now removed as they expose too much of the internal data
-       structure of their class, and interfere with plans for the
-       extension of this and related classes. These functions, which
-       had been deprecated in the previous version, are thus not
-       part of the release after version 3.4 any more. Use the <code
-       class="member">FEValuesBase::shape_value</code> and alike
-       functions as a replacement.
-       <br>
-       For more information, read
-       <a href="http://www.dealii.org/mail/msg00638.html" target="body">this mail</a>.
-       <br>
-       (WB 2002/06/10)
-       </p>
-
-  <li> <p> 
-       New: <acronym>deal.II</acronym> now also supports vector-valued
-       finite elements with shape functions for which more than just
-       one vector component is non-zero. Such elements are, for
-       example, the Nedelec and Raviart-Thomas families. Previously,
-       vector-valued elements were only supported insofar as they
-       could be composed of scalar ones; in that case, each
-       (vector-valued) shape function had only one non-zero vector
-       component.
-       <br>
-       (WB 2002/06/10)
-       </p>
-
-  <li> <p> 
-       New: The top-level makefile now how a target <tt>distclean</tt>.
-       <tt>clean</tt> leaves the libraries now, removing
-       everything that is not needed to use
-       <acronym>deal.II</acronym>. <tt>distclean</tt> removes even the
-       libraries, leaving the directory more or less in the state like
-       after <tt>configure</tt>.
-       <br>
-       (GK 2002/06/07)
-</ol>
-
-
-
-<a name="base"></a>
-<h3>base</h3>
-
-<ol>
-  <li> <p>
-       Fixed: A bug in the <code
-       class="class">Patterns::MultipleSelection</code> class if more
-       than two elements in a comma-separated list were given.
-       <br>
-       (Brian Carnes 2003/05/14)
-       </p>
-
-  <li> <p>
-       Changed: The <code class="class">Polynomials::Legendre</code>
-       class lost its template argument and is now just a regular
-       class. There was no real good reason for the template argument,
-       it had just crept in.
-       <br>
-       (WB 2003/05/12)
-       </p>
-
-  <li> <p>
-       New: There is now a class <code
-       class="class">AnisotropicPolynomials</code> that constructs a higher
-       dimensional polynomial space from a set of 1-d polynomials in each of
-       the coordinate directions.
-       <br>
-       (WB 2003/04/20)
-       </p>
-
-  <li> <p>
-       Changed: The <code class="class">Table</code> accessor classes
-       have been moved to a namespace <code
-       class="class">internal</code>. Since these classes are not (or should
-       not be) used directly in applications, this should not change
-       compatibility. However, they will now no longer show up in the class
-       overview of the documentation, which they were cluttering up.
-       <br>
-       (WB 2003/02/13)
-       </p>
-
-  <li> <p> 
-       New: The <code class="class">Function</code> class now has an assignment
-       operator. This way, you can put function objects into
-       containers. However, the assignment operator makes sure that only
-       objects can be assigned that have the same number of vector components.
-       <br>
-       (WB 2003/02/06)
-       </p>
-
-  <li> <p> 
-       New: The <code class="class">ThreadMutex</code> classes now have a
-       member class <code class="class">ScopedLock</code> that implements the
-       scoped thread-safe locking pattern of Doug Schmidt. It is also used in
-       various places of the code now.
-       <br>
-       (WB 2003/01/28)
-       </p>
-
-  <li> <p> 
-       Fixed: The <code class="class">PosixThreadManager</code> called
-       its <code class="member">wait</code> function in the
-       destructor. If this had been called before already, then the
-       same threads would have been waited for twice, which invokes
-       undefined behavior. This is fixed by making sure that <code
-       class="member">wait</code> removes the id's of the threads it
-       has already waited for, and so calling it more than once will
-       not wait for threads which have already been waited for.
-       <br>
-       (Michael Anderson, WB 2003/01/16)
-       </p>
-
-  <li> <p> 
-       Fixed: The <code class="class">Subscriptor</code> uses a counter to
-       count how many <code class="class">SmartPointer</code> objects subscribe
-       to the pointed-to object. This counter needs to be a volatile variable
-       in multithreaded mode, to avoid false compiler optimizations based on
-       the assumption that the variable cannot change between two subsequent
-       reads.
-       <br>
-       (WB 2003/01/11)
-       </p>
-
-  <li> <p> 
-       Fixed: In multithreaded mode, when a new thread is started, the
-       arguments to the function being called need to be copied from the stack
-       of the starting thread to that of the new thread. In order to
-       synchronise this, mutexes were used that were acquired from one thread
-       and released from another thread. On Linux this does not lead to
-       problems, but POSIX functions do not guarantee that this actually works,
-       and it also leads to problems when running programs under valgrind. This
-       is now fixed with the help of condition variables.
-       <br>
-       (Michael Anderson, WB 2003/01/11)
-       </p>
-
-  <li> <p> 
-       New: There are now classes <code class="class">ThreadCondition</code>
-       that implement thread condition variable operations through POSIX
-       functions (in multithreaded mode) or doing nothing (in singlethreaded
-       mode).
-       <br>
-       (WB 2003/01/11)
-       </p>
-
-  <li> <p> 
-       New: Newer versions of gcc have a very nice feature: you can set
-       a verbose terminate handler, that not only aborts a program
-       when an exception is thrown and not caught somewhere, but
-       before aborting it prints that an exception has been thrown,
-       and possibly what the std::exception::what() function has to
-       say. Since many people run into the trap of not having a
-       catch clause in main(), they wonder where that abort may be
-       coming from. The terminate handler then at least says what is
-       missing in their program.
-       <br>
-       (WB 2002/12/19)
-       </p>
-
-  <li> <p> 
-       New: There is now a <code class="class">Patterns::List</code> pattern
-       that matches a list of elements each of which has to satisfy a pattern
-       that was given to the constructor.
-       <br>
-       (WB 2002/11/29)
-       </p>
-
-  <li> <p> 
-       Changed: In POSIX mode, when the <code
-       class="member">ThreadManager</code> class created a new thread through
-       <code class="member">pthread_create</code>, it only checked for the
-       error code and aborted if it was non-zero. Now, it checks whether the
-       error code is <code class="member">EAGAIN</code> and simply retries the
-       call if this is the case. This may, in rare cases, lead to a deadlock or
-       an infinite loop, but will usually just wait until the respective
-       resources for thread creation are available from the operating system
-       and will then succeed.
-       <br>
-       (WB 2002/11/13)
-       </p>
-
-  <li> <p> 
-       Fixed: The <code class="member">write_text</code> and <code
-       class="member">write_tex</code> functions of the <code
-       class="class">TableHandler</code> class now check whether their
-       <code>ofstream</code> arguments are in a proper state before
-       using them for output.
-       <br>
-       (RH 2002/11/11)
-       </p>
-
-  <li> <p> 
-       New: Added Hierarchical Polynomial (similar to Legendre class). Will
-       eventually be used in a hierarchical FiniteElement class similar to
-       FE_Q class. Included in Polynomials namespace.
-       <br>
-       (Brian Carnes 2002/10/15)
-       </p>
-
-  <li> <p> Changed: Because they became too many, the classes describing 1d
-       polynomials are now in a <code class="class">namespace
-       Polynomials</code>.
-       <br>
-       (WB 2002/10/14)
-       </p>
-
-  <li> <p> Changed: When an exception is thrown but not caught in a sub-thread,
-       this exception is not passed to the main thread by the operating
-       system. Rather, if the exception is not caught from the function that
-       was invoked by the spawning system function, the entire program is
-       terminated without an additional message. The wrapper functions which
-       are used to spawn new threads in the <code class="class">Threads</code>
-       namespace therefore now catch these exceptions and at least print the
-       message they carry, before aborting the program. This way, at least the
-       message gets displayed.
-       <br>
-       (WB 2002/10/13)
-       </p>
-
-  <li> <p> Changed: The class <code
-       class="member">Table&lt;2&gt;::fill</code> function, which is also
-       inherited from the <code class="class">FullMatrix</code> class, used to
-       work also when the size of the matrix was zero, by simply not copying
-       something. This led to difficult to detect errors. It is therefore no
-       more allowed to call this function when the matrix is empty. For all
-       other cases, the status of copying without checking the size of the
-       array copied from remains unchanged.
-       <br>
-       (WB 2002/09/28)
-       </p>
-
-  <li> <p> New: The classes <code
-       class="class">TableIndices&lt;N&gt;</code> and <code
-       class="class">Table&lt;N,T&gt;</code> are now implemented also
-       for <code>N=4,5</code> and <code>6</code>. The <code
-       class="class">Table&lt;N,T&gt;</code> class represents an
-       <code>N</code>-dimensional array and might replace the
-       N-times-nested-use of the <code
-       class="class">std::vector</code> class.
-       <br>
-       (RH 2002/09/24)
-       </p>
-
-  <li> <p> 
-       New: The <code class="member">Threads::n_existing_threads</code>
-       function returns the present number of existing threads, allowing an
-       assessment whether it is useful to spawn new threads or rather perform
-       the operation in question sequentially.
-       <br>
-       (WB 2002/09/08)
-       </p>
-
-  <li> <p> New: Global exception class <code
-       class="class">ExcIteratorPastEnd</code>, which should be used if an
-       iterator is incremented or decremented beyond its end value.
-       <br>
-       (GK 2002/09/08)
-       </p>
-
-  <li> <p> 
-       Extended: Previously, the <code
-       class="class">Threads::PosixThreadBarrier</code>
-       class could not be used at all (they threw exceptions), if your system
-       did not have the respective POSIX functions. This restriction is lifted
-       for the special case that you give one as the number of parties that
-       will be waiting for the barrier: in this case, a barrier is a
-       no-operation, so we do not need assistence from the operating
-       system. This change makes it slightly simpler to write programs in a way
-       such that they run in both single- and multithreaded environments.
-       <br>
-       (WB 2002/09/05)
-       </p>
-
-  <li> <p> 
-       New: The old class <code class="class">vector2d</code>, implementing a
-       two-dimensional array of objects is now gone. Instead, there is the new
-       <code class="class">Table</code> class that implements tables of
-       arbitrary dimension. Transition is painless: where there was
-       <code>vector2d&lt;type&gt;</code> before, use
-       <code>Table&lt;2,type&gt;</code> now (and don't forget to update the
-       name of the header file, of course). If you have a three-dimensional
-       array, you can use <code class="class">Table&lt;3,type&gt;</code> now.
-       <br>
-       (WB 2002/09/03)
-       </p>
-
-  <li> <p> 
-       New: There are now functions returning the transpose of <code
-       class="class">Tensor</code> objects of rank 2.
-       <br>
-       (WB 2002/08/31)
-       </p>
-
-  <li> <p> 
-       New: Row accessors for the <code class="class">vector2d</code>
-       class now have a member function <code
-       class="member">size</code> that returns the size of the row,
-       i.e. the number of columns of the table.
-       <br>
-       (WB 2002/07/24)
-       </p>
-
-  <li> <p> 
-       Fixed: In EPS output, colors were set to invalid values if the
-       values of the field that is used for coloring are all
-       equal. This happens, for example, in the very first time step
-       of time dependent problems, if initial values are zero. The
-       color value now used is arbitrary, but valid.
-       <br>
-       (WB 2002/07/24)
-       </p>
-
-  <li> <p> 
-       Changed: To save disk space, color values in EPS output are
-       written as grey scale with only one value instead of three RGB
-       values if the color so represented is actually a grey scale.
-       <br>
-       (WB 2002/07/24)
-       </p>
-
-  <li> <p> 
-       New: There are now operators to allow multiplication and
-       division of <code class="class">Tensor</code> objects by scalar
-       factors.
-       <br>
-       (WB 2002/06/07)
-       </p>
-</ol>
-
-
-
-<a name="lac"></a>
-<h3>lac</h3>
-
-<ol>
-  <li> <p> New: Function 
-       <code class="member">BlockSparseMatrix::print_formatted</code>
-       added, similar to the 
-       <code class="member">BlockVector::print_formatted</code> function.
-       <br>
-       (Brian Carnes 2003/06/02)
-       </p> 
-
-  <li> <p> New: Functions <code class="member">SparseMatrix::operator *=</code>
-       and <code class="member">SparseMatrix::operator /=</code> as well as 
-       <code class="member">BlockSparseMatrix::operator *=</code>
-       and <code class="member">BlockSparseMatrix::operator /=</code> 
-       are added.
-       <br>
-       (Brian Carnes 2003/06/02)
-       </p> 
-
-  <li> <p> Deprecated: The functions <code class="member">Vector::scale</code>
-       and <code class="member">BlockVector::scale</code> are now deprecated
-       and will be removed in a future version. Use <code>operator*=</code> and
-       <code>operator/=</code> instead.
-       <br>
-       (WB 2003/05/31)
-       </p> 
-
-  <li> <p> New: <code class="class">Vector</code>, <code
-       class="class">BlockVector</code> and
-       <code class="class">FullMatrix</code> now have <code>operator/=</code>
-       for scaling by a scalar.
-       <br>
-       (WB 2003/05/31)
-       </p> 
-
-  <li> <p> New: <code class="class">PointerMatrix</code> now
-       has <code>empty()</code> function, which returns true if the pointer is
-       null; otherwise we call the pointer's <code>empty()</code> function.
-       This requires the class MATRIX to have an <code>empty()</code>
-       function.
-       <br>
-       (Brian Carnes 2003/05/22)
-       </p>
-
-  <li> <p> New: <code class="class">SparseLUDecomposition</code> now
-       has <code>empty()</code> function, which calls the inherited <code
-       class="class">SparseMatrix</code> <code>empty()</code> function.
-       <br>
-       (Brian Carnes 2003/05/22)
-       </p>
-
-  <li> <p> New: <code class="class">PreconditionPSOR</code> implements
-       interface to permuted SOR preconditioner function in <code
-       class="class">SparseMatrix</code>.
-       <br>
-       (GK 2003/05/12)
-       </p>
-
-  <li> <p> Improved: <code class="class">FullMatrix</code>::<code
-       class="member">fill</code> now copies the largest possible block,
-       whether the destination or source matrix is bigger. Additionally, an
-       offset inside the source matrix may be specified.
-       <br>
-       (GK 2003/03/31)
-       </p>
-
-  <li> <p>
-       New/Changed: The <code class="class">SparseILU</code>, <code
-       class="class">SparseMIC</code> and <code
-       class="class">SparseLUDecomposition</code> now use the same
-       interface (<code class="class">initialize</code>, <code
-       class="class">vmult</code>, <code class="class">clear</code>)
-       as all <code class="class">PreconditionBlock</code> classes. In
-       virtue of an unified preconditioner interface it is now
-       recommended to use the new methods. The old methods (<code
-       class="class">reinit</code>, <code
-       class="class">decompose</code>, <code
-       class="class">apply_decomposition</code>) are now deprecated,
-       and will be removed in a later version.
-       <br>
-       (RH 2003/02/19)
-       </p>
-
-  <li> <p>
-       Changed: The <code class="class">BlockVector</code> accessor classes
-       have been moved to a namespace <code
-       class="class">internal</code>. Since these classes are not (or should
-       not be) used directly in applications, this should not change
-       compatibility. However, they will now no longer show up in the class
-       overview of the documentation, which they were cluttering up.
-       <br>
-       (WB 2003/02/13)
-       </p>
-
-  <li> <p> 
-       New: The <code class="class">SolverGMRES</code> now accepts an
-       <code class="class">AdditionalData</code> parameter
-       <code>use_default_residual</code> whose default is
-       <code>true</code>. By setting this flag to <code>false</code>,
-       the stopping criterion of the left-preconditioned GMRes solver
-       is not the default preconditioned residual but the normal
-       (unpreconditioned) residual and visa versa for the
-       right-preconditioned GMRes solver. Due to a performance loss of
-       the solver this flag should be set to <code>false</code> only
-       for debugging/testing purposes.
-       <br>
-       (RH 2003/01/31)
-       </p>
-
-  <li> <p> 
-       New: <code class="class">FullMatrix</code> has a function <code
-       class="member">copy_from</code>, copying from sparse matrices.
-       It uses iterators of the sparse matrix classes.
-       <br>
-       (GK 2003/01/08)
-       </p>
-
-
-  <li><p>
-       Changed: In an attempt to unify the use of preconditioners a
-       little, the function <code class="member">initialize</code> of
-       classes <code class="class">PreconditionRelaxation</code> and
-       <code class="class">PreconditionBlock</code> take an argument
-       of type <code class="class">AdditionalData</code>, defined in
-       the same class.  Standard behavior of <code
-       class="class">PreconditionBlock</code> has been changed on this
-       occasion to invert diagonal blocks during initialization.
-       <br>
-       (GK 2003/01/06)
-       </p>
-
-  <li> <p>
-       New: The interface for sparse decompositions has been abstracted, and
-       there is now an Modified Incomplete Cholesky (MIC) decomposition in
-       addition to the Imcomplete LU (ILU) decomposition.
-       <br>
-       (Stephen Kolaroff 2002/11/27)
-       </p>
-  <li> <p>
-       Changed: In multithread mode, the <code
-       class="class">SparseMatrix</code> would spawn
-       <code>multithread_info.n_default_threads</code> threads to
-       perform matrix-vector multiplications and similar
-       operations. It would even do so if
-       <code>multithread_info.n_default_threads</code> was equal to
-       one. In that case, we now do the operation on the thread we are
-       presently on, eliminating the overhead of spawning a single
-       thread, and later waiting and terminating it.
-       <br>
-       (WB 2002/11/13)
-       </p>
-  <li> <p>
-       Fixed: In the <code class="class">SparseDirectMA27</code> class, wrapping 
-       the MA27 solver written in Fortran77 into some structure amenable to C++,
-       we wrote beyond the end of an array on rare inputs. This is now fixed. The
-       same probably holds for the respective code for MA47.
-       <br>
-       (WB 2002/09/30)
-       </p>
-
-  <li> <p>
-       New: Since the MA27 sparse direct solver uses Fortran common blocks, it
-       was previously impossible to run several instances of this solver in
-       parallel, in a multihreaded environment. To solve this problem, the
-       <code class="class">SparseDirectMA27</code> class now has a detached
-       mode, in which it forks off a separate program that will do the
-       computations using this solver. The actual operations are therefore
-       distributed to distint programs that have separate address spaces. This
-       allows to have as many concurrent instances of this solver in parallel
-       as you want. For more information, read the documentation of the 
-       <code class="class">SparseDirectMA27</code> class.
-       <br>
-       (WB 2002/09/25)
-       </p>
-
-  <li> <p> Changed: The classes <code
-       class="class">PreconditionBlock</code>, <code
-       class="class">PreconditionBlockJacobi</code>, <code
-       class="class">PreconditionBlockSOR</code>, and <code
-       class="class">PreconditionBlockSSOR</code> have changed their
-       template signature. The first template argument is now the matrix
-       type, not just a number type.
-       <br>
-       (GK 2002/09/18)
-       </p>
-
-  <li> <p> New: Class <code class="class">BlockVector</code> has a
-       function <code class="member">collect_sizes()</code>, very much as
-       <code class="class">BlockSparsityPattern</code>. This allows
-       updating internal structures after blocks have been resized.
-       <br>
-       (GK 2002/09/17)
-       </p>
-
-  <li> <p> New: Class <code class="class">SparseMatrix</code> has an
-       STL-conforming <code class="class">const_iterator</code> and
-       functions <code class="member">begin()</code> and <code
-       class="member">end()</code> for looping through all existing
-       entries. Furthermore, <code class="member">begin(row)</code> and
-       <code class="member">end(row)</code> allow looping through all
-       entries of a single line.
-       <br>
-       (GK 2002/09/11)
-       </p>
-
-  <li> <p>
-       New: Classes <code class="class">SparsityPattern</code> and <code
-       class="class">SparseMatrix</code> now have functions <code 
-       class="member">block_write/block_read</code>, allowing to dump the data
-       of these objects into a file in binary format, and later to re-read it
-       without much need for parsing.
-       <br>
-       (WB 2002/09/09)
-       </p>
-
-  <li> <p>
-       New: <code class="class">Vector</code> has a function <code
-       class="member">lp_norm</code>, computing the <i>l<sub>p</sub></i>-norm
-       of a vector for arbitrary <i>p</i>.
-       <br>
-       (GK 2002/08/13)
-       </p>
-
-  <li> <p> 
-       New: a way of using abstract base classes for matrices has
-       been implemented with <code class="class">PointerMatrixBase</code>
-       and <code class="class">PointerMatrix</code>. Storing a matrix in
-       <code class="class">PointerMatrix</code> allows to use the base
-       class in functions only templated for the vector class.
-       <br>
-       (GK 2002/07/18)
-  </p>
-</ol>
-
-
-
-<a name="deal.II"></a>
-<h3>deal.II</h3>
-
-<ol>
-  <li> <p>
-       Fixed: The restriction matrices for the Q1 element in 1d had a
-       trivial bug in that one element was not set. Due to the fact
-       that contributions from all child cells are taken into account,
-       this did no harm, though, since all computations were done
-       correctly anyway.
-       <br>
-       (WB 2003/05/06)
-       </p>
-
-  <li> <p>
-       New: The <code class="class">GeometryInfo</code> classes now
-       have new static member functions <code
-       class="member">child_cell_from_point</code> that, given a point
-       in the unit cell, returns which child cell it is on; <code
-       class="member">cell_to_child_coordinates</code> that transforms
-       coordinates between the unit coordinate systems from the mother
-       to the child cell; <code
-       class="member">child_to_cell_coordinates</code> that does
-       exactly the opposite; and <code
-       class="member">is_inside_unit_cell</code> that tells whether a 
-       given point is inside the unit cell.
-       <br>
-       (WB 2003/05/01)
-       </p>
-
-  <li> <p>
-       New: There are now functions <code
-       class="member">recursively_set/clear_user_pointer</code> that
-       do much the same as  <code
-       class="member">recursively_set/clear_user_flag</code> on a
-       line/quad/hex and all of its descendants, but on user pointers
-       rather than flags.
-       <br>
-       (WB 2003/04/11)
-       </p>
-
-  <li> <p>
-       New: The functions in the <code
-       class="class">DerivativeApproximation</code> class can now also
-       work on <code class="class">BlockVector</code>.
-       <br>
-       (WB 2003/04/11)
-       </p>
-
-  <li> <p>
-       Changed: The cell argument to <code
-       class="member">Mapping::transform_unit_to_real_cell</code> (and its
-       reverse function) is now passed by reference, rather than by value, for
-       efficiency reasons.
-       <br>
-       (WB 2003/04/06)
-       </p>
-
-  <li> <p>
-       New: The <code
-       class="member">GridGenerator::subdivided_hyper_cube</code> generated a
-       hypercube as coarse grid that is subdivided a given number of times.
-       <br>
-       (WB 2003/04/05)
-       </p>
-
-  <li> <p>
-       New: The <code class="member">DataOut_DoFData::merge_patches</code>
-       function allows to merge the patches of two objects, so as to create one
-       output file from several DoF handlers. This is useful if one uses a
-       domain decomposition algorithm where each block of the domain is
-       represented by one DoF handler.
-       <br>
-       (WB 2003/04/05)
-       </p>
-
-  <li> <p>
-       Fixed: The <code class="class">DataOutStack</code> class had a problem
-       when there were as many degrees of freedom as there were cells (i.e. if
-       we were using DG0 elements). This should now be fixed.
-       <br>
-       (WB 2003/03/02)
-       </p>
-
-  <li> <p>
-       Fixed: The <code class="class">DataOutFaces</code> class was
-       broken for cell data. It should now be correct, although the
-       algorithm used is not optimal, being approximately quadratic in
-       runtime.
-       <br>
-       (WB 2003/02/25)
-       </p>
-
-  <li> <p>
-       New: The <code class="member">ConstraintMatrix::shift</code>
-       function shifts and translates the elements of the constraint
-       matrix by a certain number of indices.
-       <br>
-       (Roy Stogner 2003/02/24)
-       </p>
-
-  <li> <p>
-       New: The <code class="class">GridReordering</code> class now uses a
-       vastly better algorithm in 2d than previously. The new algorithm is
-       linear in time, where it could be exponential before.
-       <br>
-       (Michael Anderson 2003/02/21)
-       </p>
-
-  <li> <p>
-       New: There is now a function <code
-       class="member">GridIn::read_xda</code> that allows reading
-       grids from a file in XDA format.
-       <br>
-       (WB 2003/02/21)
-       </p>
-
-  <li> <p> 
-       Changed: Some implementation details of the <code
-       class="class">GridReordering</code> class have been moved to a
-       namespace <code class="class">internal</code>.
-       <br>
-       (WB 2003/02/19)
-       </p>
-
-  <li> <p>
-       New: There are now functions <code
-       class="member">FiniteElement::prolongation_is_implemented</code> and
-       <code class="member">FiniteElement::constraints_are_implemented</code>
-       that inform the caller about whether the finite element in question in
-       fact implements its prolongation matrices and hanging node constraints.
-       <br>
-       (WB 2003/02/15)
-       </p>
-
-  <li> <p>
-       Fixed: The <code
-       class="member">ConstraintMatrix::is_identity_constrained</code> function
-       would previously generate a segmentation fault if called on a constraint
-       matrix object that did not contain any constraints at all. This is now
-       fixed.
-       <br>
-       (WB 2003/02/15)
-       </p>
-
-  <li> <p>
-       Fixed: Objects of type <code class="class">FESystem</code> 
-       could not be constructed if one of the elements it is to be composed of
-       did not implement interface constraints for hanging nodes. This is now
-       fixed: you can construct such a composed element, but it does not
-       implement hanging node constraints either.
-       <br>
-       (WB 2003/02/15)
-       </p>
-
-  <li> <p>
-       New: For each of the renumbering functions in the <code
-       class="class">DoFRenumbering</code> class there is now an
-       additional <code class="member">compute_*</code>
-       function. These new functions compute and return the
-       corresponding renumbering vectors but do not perform the actual
-       renumbering on the <code class="class">DoFHandler</code>
-       object. The behaviour of the old functions is not changed.
-       <br>
-       (RH 2003/02/03)
-       </p>
-
-  <li> <p> 
-       Fixed: The <code class="class">GridReordering</code> tried to be
-       thread-safe in the initialization of some data, but was not due to a
-       typo. This is now fixed.
-       <br>
-       (WB 2003/01/28)
-       </p>
-
-  <li> <p> 
-       Changed: The <code class="member">FEValues::get_cell</code> and
-       <code class="member">FEValues::get_face</code> functions have
-       been removed, since they limited our ability to use this
-       class for other types of DoFHandlers, for example future
-       extensions for hp elements.
-       <br>
-       (WB 2003/01/17)
-       </p>
-
-  <li> <p> 
-       New: The DoF accessor classes now have a function <code
-       class="member">get_fe()</code> that returns a reference to the finite
-       element being used on this cell. The result is of course identical to
-       what a call to <code
-       class="member">iterator-&gt;get_dof_handler().get_fe()</code> would have
-       yielded.
-       <br>
-       (WB 2003/01/10)
-       </p>
-
-  <li> <p> 
-       New: Checked in new <code class="class">GridGenerator</code> 
-       member function <code class="member">half_hyper_ball</code>,
-       derived from member <code class="member">hyper_ball</code>.     
-       The intial mesh contains four elements. This mesh will work with
-       the boundary class <code class="class">HalfHyperBallBoundary</code>.
-       <br>
-       (Brian Carnes 2002/12/16)
-       </p>
-
-  <li> <p> 
-       New: Checked in new class <code class="class">FE_Q_Hierarchical</code>
-       derived from class <code class="class">FiniteElement</code>.  
-       This element is analogous to <code class="class">FE_Q</code>, but 
-       makes use of hierachical shape functions, based on the 
-       <code class="class">Polynomials::Hierarchical</code> class. 
-       For <code>degree&gt;1</code>, the non-nodal basis functions are "bubble"
-       functions, which are not Lagrange polynomials. Therefore, the usual
-       interpolation based on using unit support points will not work for
-       <code>degree&gt;1</code>. It is planned to implement a different
-       interpolation-projection operator, based on an hp-type interpolant.
-       <br>
-       The files for this element are
-       <code>deal.II/include/fe/fe_q_hierarchical.h</code> and 
-       <code>deal.II/source/fe/fe_q_hierarchical.cc</code>.
-       <br>
-       (Brian Carnes 2002/12/13)
-       </p>
-
-  <li> <p> 
-       New: For finite element classes, the functions
-       <code class="member">unit_support_point</code> and
-       <code class="member">unit_face_support_point</code> return the position
-       of an individual support point. This is necessary when you want to get
-       information about the support points of certain components in a composed
-       finite element, where not all components provide support points, and the
-       composed element thus does not fill the array the 
-       <code class="member">get_unit_support_points</code> function returns.
-       <br>
-       (WB 2002/11/23)
-       </p>
-
-  <li> <p> 
-       Fixed: Vectors could not be given as input and output vectors to the
-       <code class="class">SolutionTransfer</code> class at the same time, but
-       this was not checked. An assertion has now been added to ensure this
-       requirement. 
-       <br>
-       (WB 2002/10/28)
-       </p>
-
-  <li> <p> 
-       Fixed: The <code
-       class="member">DoFRenumbering::component_wise</code> function accepts a
-       parameter indicating the order in which the degrees of freedom
-       corresponding to one vector component are to be sorted. However, it did
-       not honor this order, but always sorted them in the order in which the
-       components appear. This is now fixed.
-       <br>
-       (WB 2002/10/17)
-       </p>
-
-  <li> <p> 
-       New: The <code
-       class="member">FiniteElement::system_to_base_index</code> function now
-       exports the values of the <code
-       class="member">FiniteElement::system_to_base_table</code> member
-       variable. Likewise for the indices on faces.
-       <br>
-       (WB 2002/10/17)
-       </p>
-
-  <li> <p> 
-       New: The <code
-       class="member">FiniteElement::element_multiplicity</code> function was
-       previously only available in the <code class="class">FESystem</code>
-       class, where it actually returned a non-trivial value. However, in some
-       cases one would need to access this field also for general finite
-       elements, even if the returned value will be equal to one in all cases
-       other than a composed element.
-       <br>
-       (WB 2002/10/17)
-       </p>
-
-  <li> <p> 
-       Fixed: The algorithm to generate neighbor information for patches from
-       cells in <code class="member">DataOut::build_patches</code> was rather
-       inefficient, tripling the time for patch generation when support for
-       neighbor information was added. Furthermore, the algorithm was at least
-       O(N log N), where the rest was all O(N), making this particularly
-       problematic when the data set was already large. This should now be back
-       to the previous level, by using a more efficient algorithm.
-       <br>
-       (WB 2002/10/10)
-       </p>
-
-  <li> <p> 
-       Changed (internals): Previously, the finite element base class
-       initialized the restriction, prolongation, and face constraints matrices
-       to their correct size. Derived classes had to fill these classes, and
-       should have set their size back to zero in case they chose not to
-       implement them. However, we found a class that forgot to resize it to
-       zero, so it is now the other way round: they remain at size zero, and a
-       class that chooses to implement these matrices has to set them to the
-       correct size, to avoid programs that run on data that as just been
-       forgotten to add. (This information only concerns programs that
-       implement some finite element class on their own.)
-       <br>
-       (WB 2002/09/28)
-       </p>
-
-  <li> <p>Improved: The different transfer functions in <code
-       class="class">FETools</code> operate on template vector arguments.
-       <br>
-       (GK 2002/09/24)
-       </p>
-
-  <li> <p> New: the class <code
-       class="class">FE_DGPNonparametric</code> implements finite elements
-       where shape functions are polynomials of order <i>k</i> on the
-       actual grid cell. This is achieved by evaluating the polynomials at
-       the mapped quadrature points. No grid transfer matrices are
-       available for this class.
-       <br>
-       (GK 2002/09/19)
-       </p>
-
-  <li> <p> 
-       Fixed: Some of the various instances of the <code
-       class="member">VectorTools::interpolate_boundary_values</code> functions
-       were not explicitly instantiated, leading to linker errors. This is now
-       fixed. 
-       <br>
-       (WB 2002/09/19)
-       </p>
-
-  <li> <p> 
-       Removed: The <code
-       class="member">FiniteElement::component_to_system_index</code> function
-       and its counterpart for faces is gone. This data did not make much sense
-       in the case of elements that are non-zero in more than one vector
-       component, such as the Nedelec element. The respective information can
-       also be obtained from other sources provided by the finite element
-       classes, if so necessary.
-       <br>
-       (WB 2002/09/16)
-       </p>
-
-  <li> <p> 
-       Changed: The <code
-       class="member">FiniteElement::restriction_is_additive</code> function
-       used to take an argument that denoted the vector component of a finite
-       element. This has become difficult with elements that are non-zero in
-       more than one vector component, such as the Nedelec element. Thus, the
-       semantics of the function have been changed so that the argument now
-       denotes the index of a shape function, rather than a vector
-       component. Since the function is probably not used in application code,
-       this will most probably not lead to more serious problems.
-       <br>
-       (WB 2002/09/16)
-       </p>
-
-  <li> <p> 
-       New: The mapping classes now also know how to transform tensors of rank
-       2, not only vectors (tensors of rank 1) in a co- and contravariant way.
-       <br>
-       (WB 2002/09/03)
-       </p>
-
-  <li> <p> 
-       Fixed: the <code class="class">GridIn</code> class had problems
-       when reading in UCD grids with comment lines that contained
-       only the comment sign, but nothing else. This is now fixed.
-       <br>
-       (WB 2002/08/30)
-       </p>
-
-  <li> <p> 
-       Improved: <code class="class">VectorTools</code>::<code
-       class="member">integrate_difference</code> can compute <i>L<sup>p</sup></i>
-       and <i>W<sup>1,p</sup></i> norms for arbitrary <i>p</i>. The function
-       receives an additional optional argument <i>p</i> for this. All previous
-       fuctionality remains unchanged, although the code has been cleaned up a bit.
-       <br>
-       (GK 2002/08/01)
-       </p>
-
-  <li> <p> New: The <code class="class">GridTools</code> class now
-       offers functions to apply general transformations to all
-       vertices of a triangulation, and also more specialized
-       functions that shift, scale, and rotate triangulations.
-       <br>
-       (RH 2002/07/25)
-       </p>
-
-  <li> <p> New: The existing <code
-       class="member">FETools::extrapolate</code> functions does not
-       take into account hanging node constraints. Therefore, it works
-       for continuous elements on globally refined grids and on
-       discontinuous elements, only. Now, there is a new <code
-       class="member">FETools::extrapolate</code> function with an
-       additional <code class="class">ConstraintMatrix</code> argument
-       for the hanging node constraints. This new function works for
-       continuous as well as for discontinuous elements. But, the old
-       function is still supported.
-       <br>
-       (RH 2002/06/17)
-       </p>
-
-  <li> <p> New: There are now <code
-       class="member">Triangulation::save/load_user_pointers(vector&lt;void
-       *&gt; &amp;)</code> functions similar to the respective <code
-       class="member">Triangulation::save/load_user_flags(vector&lt;bool&gt;
-       &amp;)</code> functions.
-       <br>
-       (RH 2002/06/14)
-       </p>
-
-  <li> <p> Fixed: Bug in <code
-       class="member">Triangulation<3>::load_user_flags(vector&lt;bool&gt;
-       &amp;)</code> is now fixed.
-       <br>
-       (RH 2002/06/14)
-       </p>
-
-  <li> <p> Fixed: <code
-       class="member">Triangulation::load_user_flags(vector&lt;bool&gt;
-       &amp;)</code> erroneously threw an assertion for
-       <code>dim==1</code>. This is now fixed.
-       <br>
-       (RH 2002/06/14)
-       </p>
-
-  <li> <p> Changed: <code
-       class="member">Triangulation<1>::n_quads</code> now returns 0,
-       instead of throwing an assertion, as before. The same holds for
-       similar functions like <code
-       class="member">Triangulation&lt;dim&gt;::n_hexs</code> that now
-       returns 0 for <code>dim<3</code>.
-       <br>
-       (RH 2002/06/14)
-       </p>
-
-  <li> <p> Improved: Several functions like the <code
-       class="member">DoFHandler::distribute_dofs</code> and <code
-       class="member">DoFTools::make_flux_sparsity_pattern</code>
-       functions altered the <code
-       class="member">user_flags</code>. This was stated in the
-       documentation of these functions. Nevertheless, it might have
-       led to unexpected behaviour of the <code
-       class="member">user_flags</code> for users who weren't aware of
-       this <em>side-effect</em>. Now, these functions do not alter
-       the <code class="member">user_flags</code>, any
-       more. Consequently, the users do not need to worry any more
-       about the reliability of the <code
-       class="member">user_flags</code> when calling any function of
-       the library.
-       <br>
-       (RH 2002/06/14)
-       </p>  
-
-  <li> <p> Fixed: <code
-       class="member">FE_Q::has_support_on_face</code> always returned
-       true in 1d, partly because faces are not really an issue in
-       1d. It now does so only when the support point of the
-       respective shape function is actually the requested vertex. The
-       same applied to <code
-       class="member">FE_DGQ::has_support_on_face</code>
-       <br>
-       (WB 2002/06/13)
-       </p>
-
-  <li> <p> New: The existing <code
-       class="member">FETools::interpolate</code>, <code
-       class="member">FETools::back_interpolate</code> and <code
-       class="member">FETools::interpolate_difference</code> functions
-       do not take into account hanging node constraints. Therefore,
-       they work for continuous elements on globally refined grids and
-       on discontinuous elements, only. Now, there are new functions
-       with the same names but additional <code
-       class="class">ConstraintMatrix</code> arguments for the hanging
-       node constraints. These new functions work for continuous as
-       well as for discontinuous elements. But, the old functions are
-       still supported.
-       <br>
-       (RH 2002/06/13)
-       </p>
-
-  <li> <p> Changed: The constructor of <code
-       class="class">DoFHandler</code> now takes a reference to a
-       <code>const</code> <code class="class">Triangulation</code>.
-       <br>
-       (RH 2002/06/12)
-       </p>
-
-  <li> <p> Changed: The constructors of all <code
-       class="class">DoFAccessor</code>, <code
-       class="class">TriaAccessor</code> and <code
-       class="class">TriaIterator</code> classes now take pointers to
-       <tt>const</tt> <code class="class">Triangulation</code>s.
-       <br>
-       (RH 2002/06/12)
-       </p>
-
-  <li> <p> Fixed: In debug mode the <code
-       class="member">MappingQ1::transform_real_to_unit_cell</code>
-       function erroneously threw an assertion when used in 1 or 3
-       dimensions. This is now fixed.
-       <br>
-       (RH 2002/06/10)
-       </p>
-
-  <li> <p> 
-       Fixed: The <code class="member">get_dof_indices</code>
-       functions of DoF accessor classes used to work also for
-       non-active cells. However, the results were bogus except for
-       the special case that we had a finite element that has all its
-       degrees of freedom located in vertices. This is now fixed: the
-       function throws an exception in all other cases, since there is
-       no useful meaning for it then. It continues to work in the
-       special case.
-       <br>
-       (WB 2002/06/08)
-       </p>
-
-  <li> <p> 
-       New: For encapsulated postscript output of 2d grids, it is now
-       possible to tell the <code class="class">GridOut</code> class to
-       write the cell numbers into each cell, as well as the numbers
-       of the vertices.
-       <br>
-       (WB 2002/06/04)
-       </p>
-</ol>
-
-<hr>
-Last update $Date$
-
-</body>
-</html>
index 3f0e0ecc9b185a0339757c9af6177fd2df5ce9ff..b303664c54d64d7549e297086c4d3dbb318d86f3 100644 (file)
@@ -267,7 +267,7 @@ contributor's names are abbreviated by WB (Wolfgang Bangerth), GK
 
   <li> <p> 
        New: There is now
-       <a href="../reports/assemble/index.html" target="body">a new report
+       <a href="../reports/assemble/assemble.pdf" target="body">a new report
        on assembling matrices</a> available from the 
        <a href="../documentation.html" target="body">documentation
        page</a>. The main focus is assembling of matrices for
diff --git a/deal.II/doc/reports/assemble/img1.gif b/deal.II/doc/reports/assemble/img1.gif
deleted file mode 100644 (file)
index d6b9f87..0000000
Binary files a/deal.II/doc/reports/assemble/img1.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img10.gif b/deal.II/doc/reports/assemble/img10.gif
deleted file mode 100644 (file)
index aaaa4fe..0000000
Binary files a/deal.II/doc/reports/assemble/img10.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img11.gif b/deal.II/doc/reports/assemble/img11.gif
deleted file mode 100644 (file)
index e73eb27..0000000
Binary files a/deal.II/doc/reports/assemble/img11.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img12.gif b/deal.II/doc/reports/assemble/img12.gif
deleted file mode 100644 (file)
index 48ac2d8..0000000
Binary files a/deal.II/doc/reports/assemble/img12.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img13.gif b/deal.II/doc/reports/assemble/img13.gif
deleted file mode 100644 (file)
index c89091b..0000000
Binary files a/deal.II/doc/reports/assemble/img13.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img14.gif b/deal.II/doc/reports/assemble/img14.gif
deleted file mode 100644 (file)
index 918bd25..0000000
Binary files a/deal.II/doc/reports/assemble/img14.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img15.gif b/deal.II/doc/reports/assemble/img15.gif
deleted file mode 100644 (file)
index f3eacb2..0000000
Binary files a/deal.II/doc/reports/assemble/img15.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img16.gif b/deal.II/doc/reports/assemble/img16.gif
deleted file mode 100644 (file)
index abca97a..0000000
Binary files a/deal.II/doc/reports/assemble/img16.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img17.gif b/deal.II/doc/reports/assemble/img17.gif
deleted file mode 100644 (file)
index 742ed03..0000000
Binary files a/deal.II/doc/reports/assemble/img17.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img18.gif b/deal.II/doc/reports/assemble/img18.gif
deleted file mode 100644 (file)
index d28fe1b..0000000
Binary files a/deal.II/doc/reports/assemble/img18.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img19.gif b/deal.II/doc/reports/assemble/img19.gif
deleted file mode 100644 (file)
index 78d68bb..0000000
Binary files a/deal.II/doc/reports/assemble/img19.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img2.gif b/deal.II/doc/reports/assemble/img2.gif
deleted file mode 100644 (file)
index 7c2f274..0000000
Binary files a/deal.II/doc/reports/assemble/img2.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img20.gif b/deal.II/doc/reports/assemble/img20.gif
deleted file mode 100644 (file)
index 2c840cb..0000000
Binary files a/deal.II/doc/reports/assemble/img20.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img21.gif b/deal.II/doc/reports/assemble/img21.gif
deleted file mode 100644 (file)
index 4ee5086..0000000
Binary files a/deal.II/doc/reports/assemble/img21.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img22.gif b/deal.II/doc/reports/assemble/img22.gif
deleted file mode 100644 (file)
index 47342d2..0000000
Binary files a/deal.II/doc/reports/assemble/img22.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img23.gif b/deal.II/doc/reports/assemble/img23.gif
deleted file mode 100644 (file)
index a7cd819..0000000
Binary files a/deal.II/doc/reports/assemble/img23.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img24.gif b/deal.II/doc/reports/assemble/img24.gif
deleted file mode 100644 (file)
index b44ef07..0000000
Binary files a/deal.II/doc/reports/assemble/img24.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img25.gif b/deal.II/doc/reports/assemble/img25.gif
deleted file mode 100644 (file)
index eb8edea..0000000
Binary files a/deal.II/doc/reports/assemble/img25.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img26.gif b/deal.II/doc/reports/assemble/img26.gif
deleted file mode 100644 (file)
index 2ef4c1d..0000000
Binary files a/deal.II/doc/reports/assemble/img26.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img27.gif b/deal.II/doc/reports/assemble/img27.gif
deleted file mode 100644 (file)
index a9c26a3..0000000
Binary files a/deal.II/doc/reports/assemble/img27.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img28.gif b/deal.II/doc/reports/assemble/img28.gif
deleted file mode 100644 (file)
index 002b77a..0000000
Binary files a/deal.II/doc/reports/assemble/img28.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img29.gif b/deal.II/doc/reports/assemble/img29.gif
deleted file mode 100644 (file)
index 7793704..0000000
Binary files a/deal.II/doc/reports/assemble/img29.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img3.gif b/deal.II/doc/reports/assemble/img3.gif
deleted file mode 100644 (file)
index 8a05126..0000000
Binary files a/deal.II/doc/reports/assemble/img3.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img30.gif b/deal.II/doc/reports/assemble/img30.gif
deleted file mode 100644 (file)
index d8e107d..0000000
Binary files a/deal.II/doc/reports/assemble/img30.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img31.gif b/deal.II/doc/reports/assemble/img31.gif
deleted file mode 100644 (file)
index c19ad2a..0000000
Binary files a/deal.II/doc/reports/assemble/img31.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img32.gif b/deal.II/doc/reports/assemble/img32.gif
deleted file mode 100644 (file)
index e17f19d..0000000
Binary files a/deal.II/doc/reports/assemble/img32.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img33.gif b/deal.II/doc/reports/assemble/img33.gif
deleted file mode 100644 (file)
index 8ebedd0..0000000
Binary files a/deal.II/doc/reports/assemble/img33.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img34.gif b/deal.II/doc/reports/assemble/img34.gif
deleted file mode 100644 (file)
index d6de723..0000000
Binary files a/deal.II/doc/reports/assemble/img34.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img35.gif b/deal.II/doc/reports/assemble/img35.gif
deleted file mode 100644 (file)
index bbc5bc6..0000000
Binary files a/deal.II/doc/reports/assemble/img35.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img36.gif b/deal.II/doc/reports/assemble/img36.gif
deleted file mode 100644 (file)
index 1214cb8..0000000
Binary files a/deal.II/doc/reports/assemble/img36.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img37.gif b/deal.II/doc/reports/assemble/img37.gif
deleted file mode 100644 (file)
index 9aa700d..0000000
Binary files a/deal.II/doc/reports/assemble/img37.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img38.gif b/deal.II/doc/reports/assemble/img38.gif
deleted file mode 100644 (file)
index 5e63946..0000000
Binary files a/deal.II/doc/reports/assemble/img38.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img39.gif b/deal.II/doc/reports/assemble/img39.gif
deleted file mode 100644 (file)
index 255d05e..0000000
Binary files a/deal.II/doc/reports/assemble/img39.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img4.gif b/deal.II/doc/reports/assemble/img4.gif
deleted file mode 100644 (file)
index e2aff43..0000000
Binary files a/deal.II/doc/reports/assemble/img4.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img40.gif b/deal.II/doc/reports/assemble/img40.gif
deleted file mode 100644 (file)
index aac5a4b..0000000
Binary files a/deal.II/doc/reports/assemble/img40.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img41.gif b/deal.II/doc/reports/assemble/img41.gif
deleted file mode 100644 (file)
index 6930a1e..0000000
Binary files a/deal.II/doc/reports/assemble/img41.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img42.gif b/deal.II/doc/reports/assemble/img42.gif
deleted file mode 100644 (file)
index 36e9d63..0000000
Binary files a/deal.II/doc/reports/assemble/img42.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img43.gif b/deal.II/doc/reports/assemble/img43.gif
deleted file mode 100644 (file)
index efde6fc..0000000
Binary files a/deal.II/doc/reports/assemble/img43.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img44.gif b/deal.II/doc/reports/assemble/img44.gif
deleted file mode 100644 (file)
index afe88c6..0000000
Binary files a/deal.II/doc/reports/assemble/img44.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img45.gif b/deal.II/doc/reports/assemble/img45.gif
deleted file mode 100644 (file)
index d64b0e2..0000000
Binary files a/deal.II/doc/reports/assemble/img45.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img46.gif b/deal.II/doc/reports/assemble/img46.gif
deleted file mode 100644 (file)
index 6034c45..0000000
Binary files a/deal.II/doc/reports/assemble/img46.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img47.gif b/deal.II/doc/reports/assemble/img47.gif
deleted file mode 100644 (file)
index 159a7fa..0000000
Binary files a/deal.II/doc/reports/assemble/img47.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img48.gif b/deal.II/doc/reports/assemble/img48.gif
deleted file mode 100644 (file)
index 6c8fa26..0000000
Binary files a/deal.II/doc/reports/assemble/img48.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img49.gif b/deal.II/doc/reports/assemble/img49.gif
deleted file mode 100644 (file)
index d52efb8..0000000
Binary files a/deal.II/doc/reports/assemble/img49.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img5.gif b/deal.II/doc/reports/assemble/img5.gif
deleted file mode 100644 (file)
index c9e8e74..0000000
Binary files a/deal.II/doc/reports/assemble/img5.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img50.gif b/deal.II/doc/reports/assemble/img50.gif
deleted file mode 100644 (file)
index 0053aa2..0000000
Binary files a/deal.II/doc/reports/assemble/img50.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img51.gif b/deal.II/doc/reports/assemble/img51.gif
deleted file mode 100644 (file)
index 93bd487..0000000
Binary files a/deal.II/doc/reports/assemble/img51.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img52.gif b/deal.II/doc/reports/assemble/img52.gif
deleted file mode 100644 (file)
index 96e89cc..0000000
Binary files a/deal.II/doc/reports/assemble/img52.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img53.gif b/deal.II/doc/reports/assemble/img53.gif
deleted file mode 100644 (file)
index 98014b0..0000000
Binary files a/deal.II/doc/reports/assemble/img53.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img54.gif b/deal.II/doc/reports/assemble/img54.gif
deleted file mode 100644 (file)
index 72f9c4a..0000000
Binary files a/deal.II/doc/reports/assemble/img54.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img55.gif b/deal.II/doc/reports/assemble/img55.gif
deleted file mode 100644 (file)
index 0536f80..0000000
Binary files a/deal.II/doc/reports/assemble/img55.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img56.gif b/deal.II/doc/reports/assemble/img56.gif
deleted file mode 100644 (file)
index 6e37c13..0000000
Binary files a/deal.II/doc/reports/assemble/img56.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img57.gif b/deal.II/doc/reports/assemble/img57.gif
deleted file mode 100644 (file)
index e75a973..0000000
Binary files a/deal.II/doc/reports/assemble/img57.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img58.gif b/deal.II/doc/reports/assemble/img58.gif
deleted file mode 100644 (file)
index 8ad71c8..0000000
Binary files a/deal.II/doc/reports/assemble/img58.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img59.gif b/deal.II/doc/reports/assemble/img59.gif
deleted file mode 100644 (file)
index f898b00..0000000
Binary files a/deal.II/doc/reports/assemble/img59.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img6.gif b/deal.II/doc/reports/assemble/img6.gif
deleted file mode 100644 (file)
index 596606c..0000000
Binary files a/deal.II/doc/reports/assemble/img6.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img60.gif b/deal.II/doc/reports/assemble/img60.gif
deleted file mode 100644 (file)
index 4d219c6..0000000
Binary files a/deal.II/doc/reports/assemble/img60.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img61.gif b/deal.II/doc/reports/assemble/img61.gif
deleted file mode 100644 (file)
index c812f39..0000000
Binary files a/deal.II/doc/reports/assemble/img61.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img62.gif b/deal.II/doc/reports/assemble/img62.gif
deleted file mode 100644 (file)
index 1771abb..0000000
Binary files a/deal.II/doc/reports/assemble/img62.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img63.gif b/deal.II/doc/reports/assemble/img63.gif
deleted file mode 100644 (file)
index f19edb8..0000000
Binary files a/deal.II/doc/reports/assemble/img63.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img64.gif b/deal.II/doc/reports/assemble/img64.gif
deleted file mode 100644 (file)
index 781dbf8..0000000
Binary files a/deal.II/doc/reports/assemble/img64.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img65.gif b/deal.II/doc/reports/assemble/img65.gif
deleted file mode 100644 (file)
index ef1f07b..0000000
Binary files a/deal.II/doc/reports/assemble/img65.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img66.gif b/deal.II/doc/reports/assemble/img66.gif
deleted file mode 100644 (file)
index 89a9c89..0000000
Binary files a/deal.II/doc/reports/assemble/img66.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img67.gif b/deal.II/doc/reports/assemble/img67.gif
deleted file mode 100644 (file)
index 74852b1..0000000
Binary files a/deal.II/doc/reports/assemble/img67.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img68.gif b/deal.II/doc/reports/assemble/img68.gif
deleted file mode 100644 (file)
index 32d7aa9..0000000
Binary files a/deal.II/doc/reports/assemble/img68.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img69.gif b/deal.II/doc/reports/assemble/img69.gif
deleted file mode 100644 (file)
index 852f718..0000000
Binary files a/deal.II/doc/reports/assemble/img69.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img7.gif b/deal.II/doc/reports/assemble/img7.gif
deleted file mode 100644 (file)
index 4ea7523..0000000
Binary files a/deal.II/doc/reports/assemble/img7.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img70.gif b/deal.II/doc/reports/assemble/img70.gif
deleted file mode 100644 (file)
index 4db374d..0000000
Binary files a/deal.II/doc/reports/assemble/img70.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img71.gif b/deal.II/doc/reports/assemble/img71.gif
deleted file mode 100644 (file)
index 233c0f4..0000000
Binary files a/deal.II/doc/reports/assemble/img71.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img72.gif b/deal.II/doc/reports/assemble/img72.gif
deleted file mode 100644 (file)
index 3b49c00..0000000
Binary files a/deal.II/doc/reports/assemble/img72.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img73.gif b/deal.II/doc/reports/assemble/img73.gif
deleted file mode 100644 (file)
index 936e029..0000000
Binary files a/deal.II/doc/reports/assemble/img73.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img74.gif b/deal.II/doc/reports/assemble/img74.gif
deleted file mode 100644 (file)
index a5539ec..0000000
Binary files a/deal.II/doc/reports/assemble/img74.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img75.gif b/deal.II/doc/reports/assemble/img75.gif
deleted file mode 100644 (file)
index 9bf6432..0000000
Binary files a/deal.II/doc/reports/assemble/img75.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img76.gif b/deal.II/doc/reports/assemble/img76.gif
deleted file mode 100644 (file)
index dc00481..0000000
Binary files a/deal.II/doc/reports/assemble/img76.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img77.gif b/deal.II/doc/reports/assemble/img77.gif
deleted file mode 100644 (file)
index 3e08c35..0000000
Binary files a/deal.II/doc/reports/assemble/img77.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img78.gif b/deal.II/doc/reports/assemble/img78.gif
deleted file mode 100644 (file)
index a915a75..0000000
Binary files a/deal.II/doc/reports/assemble/img78.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img79.gif b/deal.II/doc/reports/assemble/img79.gif
deleted file mode 100644 (file)
index 9ae0de6..0000000
Binary files a/deal.II/doc/reports/assemble/img79.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img8.gif b/deal.II/doc/reports/assemble/img8.gif
deleted file mode 100644 (file)
index 43fe3e7..0000000
Binary files a/deal.II/doc/reports/assemble/img8.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img80.gif b/deal.II/doc/reports/assemble/img80.gif
deleted file mode 100644 (file)
index affbada..0000000
Binary files a/deal.II/doc/reports/assemble/img80.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img81.gif b/deal.II/doc/reports/assemble/img81.gif
deleted file mode 100644 (file)
index f2bc847..0000000
Binary files a/deal.II/doc/reports/assemble/img81.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img82.gif b/deal.II/doc/reports/assemble/img82.gif
deleted file mode 100644 (file)
index 3999439..0000000
Binary files a/deal.II/doc/reports/assemble/img82.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img83.gif b/deal.II/doc/reports/assemble/img83.gif
deleted file mode 100644 (file)
index b45068e..0000000
Binary files a/deal.II/doc/reports/assemble/img83.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img84.gif b/deal.II/doc/reports/assemble/img84.gif
deleted file mode 100644 (file)
index 9207600..0000000
Binary files a/deal.II/doc/reports/assemble/img84.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img85.gif b/deal.II/doc/reports/assemble/img85.gif
deleted file mode 100644 (file)
index a6bbaa3..0000000
Binary files a/deal.II/doc/reports/assemble/img85.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img86.gif b/deal.II/doc/reports/assemble/img86.gif
deleted file mode 100644 (file)
index e9bdeb3..0000000
Binary files a/deal.II/doc/reports/assemble/img86.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img87.gif b/deal.II/doc/reports/assemble/img87.gif
deleted file mode 100644 (file)
index 0e4d10b..0000000
Binary files a/deal.II/doc/reports/assemble/img87.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img88.gif b/deal.II/doc/reports/assemble/img88.gif
deleted file mode 100644 (file)
index 5bd558f..0000000
Binary files a/deal.II/doc/reports/assemble/img88.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img89.gif b/deal.II/doc/reports/assemble/img89.gif
deleted file mode 100644 (file)
index 5f489d9..0000000
Binary files a/deal.II/doc/reports/assemble/img89.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img9.gif b/deal.II/doc/reports/assemble/img9.gif
deleted file mode 100644 (file)
index 6b81516..0000000
Binary files a/deal.II/doc/reports/assemble/img9.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img90.gif b/deal.II/doc/reports/assemble/img90.gif
deleted file mode 100644 (file)
index 9cfeed2..0000000
Binary files a/deal.II/doc/reports/assemble/img90.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img91.gif b/deal.II/doc/reports/assemble/img91.gif
deleted file mode 100644 (file)
index 5c92644..0000000
Binary files a/deal.II/doc/reports/assemble/img91.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img92.gif b/deal.II/doc/reports/assemble/img92.gif
deleted file mode 100644 (file)
index 26d549b..0000000
Binary files a/deal.II/doc/reports/assemble/img92.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img93.gif b/deal.II/doc/reports/assemble/img93.gif
deleted file mode 100644 (file)
index 784eba0..0000000
Binary files a/deal.II/doc/reports/assemble/img93.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img94.gif b/deal.II/doc/reports/assemble/img94.gif
deleted file mode 100644 (file)
index 7097f9c..0000000
Binary files a/deal.II/doc/reports/assemble/img94.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img95.gif b/deal.II/doc/reports/assemble/img95.gif
deleted file mode 100644 (file)
index bf8a849..0000000
Binary files a/deal.II/doc/reports/assemble/img95.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/img96.gif b/deal.II/doc/reports/assemble/img96.gif
deleted file mode 100644 (file)
index 8134a66..0000000
Binary files a/deal.II/doc/reports/assemble/img96.gif and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/index.html b/deal.II/doc/reports/assemble/index.html
deleted file mode 100644 (file)
index 25f5eb6..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 2002-1 (1.68)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>assemble</TITLE>
-<META NAME="description" CONTENT="assemble">
-<META NAME="keywords" CONTENT="assemble">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-1">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="assemble.css">
-
-<LINK REL="next" HREF="node1.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html2"
-  HREF="node1.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif_gr.gif"> 
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif_gr.gif">   
-<BR>
-<B> Next:</B> <A NAME="tex2html3"
-  HREF="node1.html">Introduction</A>
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<P>
-<DIV ALIGN="CENTER">
-</DIV>
-<DIV ALIGN="CENTER"><FONT SIZE="+3">Assembling matrices in <TT>deal.II</TT>
-  </FONT>
-</DIV>
-<P>
-<DIV ALIGN="CENTER">
-<BR>
-<BR>
-</DIV>
-<P>
-<DIV ALIGN="CENTER"></DIV>
-<DIV ALIGN="CENTER"><FONT SIZE="+1">Wolfgang Bangerth
-<BR>
-ETH Z&#252;rich, Switzerland
-<BR>
-<BR>
-May 2002
-  </FONT>
-</DIV>
-
-<P>
-<BR><HR>
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"></A>
-
-<H2>Overview</H2>
-
-<P>
-Assembling the system matrix for finite element discretizations is standard,
-at least as far as scalar problems are concerned. However, things become a
-little more complicated in implementations once problems are vector-valued,
-and in particular if finite elements are used in which different components of
-vector-valued shape functions are coupled, such as for example for
-divergence-free elements. 
-
-<P>
-It is this case that we are interested in in this report, and we will discuss
-the implementational details user programs must follow if they want to use
-such elements with <TT>deal.II</TT>. In order to explain the problem in a
-simple way, we start by reviewing the algorithms that are used, first for the
-scalar case, then for the case of ``simple'' vector-valued finite elements,
-and finally for the most general case.  However, we do not intend to give an
-introduction into the derivation of finite element methods, or of posing a
-partial differential equation in weak form.
-
-<P>
-The interface for vector-valued finite element shape functions with more than
-one non-zero component that is described in this report is presently being
-implemented, and will be merged with the library after version 3.4 is
-released. Thus, it will be part of version 3.5 or 4.0 of the library,
-depending on which version number we will assign to the successor of 3.4. By
-then, the library will also contain an implementation of Nedelec elements, for
-which these techniques are necessary. The interface for primitive
-vector-valued shape functions, for which only one vector component is
-non-zero, has been part of the library since its publication with version 3.0.
-
-
-<H2>Table of contents</h2>
-
-
-
-<UL>
-<LI><A NAME="tex2html5"
-  HREF="node2.html">Linear systems for finite element methods</A>
-<LI><A NAME="tex2html6"
-  HREF="node3.html">Assembling scalar problems</A>
-<LI><A NAME="tex2html7"
-  HREF="node4.html">Vector-valued problems</A>
-<UL>
-<LI><A NAME="tex2html8"
-  HREF="node5.html">The elastic equations</A>
-<LI><A NAME="tex2html9"
-  HREF="node6.html">The Stokes equations</A>
-</UL>
-<BR>
-<LI><A NAME="tex2html10"
-  HREF="node7.html">Assembling vector-valued problems: The simple case</A>
-<UL>
-<LI><A NAME="tex2html11"
-  HREF="node8.html">The elastic equations</A>
-<LI><A NAME="tex2html12"
-  HREF="node9.html">The Stokes equations</A>
-</UL>
-<BR>
-<LI><A NAME="tex2html13"
-  HREF="node10.html">Assembling vector-valued problems: The complicated case</A>
-<UL>
-<LI><A NAME="tex2html14"
-  HREF="node11.html">Getting information about shape functions</A>
-<LI><A NAME="tex2html15"
-  HREF="node12.html">Evaluating shape functions</A>
-<LI><A NAME="tex2html16"
-  HREF="node13.html">The elastic equations</A>
-<LI><A NAME="tex2html17"
-  HREF="node14.html">The Stokes equations</A>
-</UL>
-<BR>
-<LI><A NAME="tex2html18"
-  HREF="node15.html">Conclusions</A>
-</UL>
-<!--End of Table of Child-Links-->
-<BR><HR>
-<ADDRESS>
-Wolfgang Bangerth
-2002-06-14
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/deal.II/doc/reports/assemble/node10.html b/deal.II/doc/reports/assemble/node10.html
deleted file mode 100644 (file)
index f5d49fc..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 2002-1 (1.68)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>Assembling vector-valued problems: The complicated case</TITLE>
-<META NAME="description" CONTENT="Assembling vector-valued problems: The complicated case">
-<META NAME="keywords" CONTENT="assemble">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-1">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="assemble.css">
-
-<LINK REL="next" HREF="node15.html">
-<LINK REL="previous" HREF="node7.html">
-<LINK REL="up" HREF="assemble.html">
-<LINK REL="next" HREF="node11.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html118"
-  HREF="node11.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html116"
-  HREF="assemble.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html110"
-  HREF="node9.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html119"
-  HREF="node11.html">Getting information about shape</A>
-<B> Up:</B> <A NAME="tex2html117"
-  HREF="assemble.html">assemble</A>
-<B> Previous:</B> <A NAME="tex2html111"
-  HREF="node9.html">The Stokes equations</A>
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H1><A NAME="SECTION00060000000000000000">
-Assembling vector-valued problems: The complicated case</A>
-</H1>
-
-<P>
-The more complicated case is when more than one component of a vector-valued
-shape function is non-zero, i.e. the representation
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="248" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
- SRC="img77.gif"
- ALT="$\displaystyle \Phi_i(\vec x) = \left( 0, \dots, 0, \varphi_i(\vec x), 0, \ldots, 0\right)^T,$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-does not hold any more. The usual case where this happens is when shape
-functions have to satisfy certain constraints, such as that they should have
-zero divergence or curl, or when the normal fluxes at some points, e.g. the
-face centers, are the degrees of freedom: 
-<!-- MATH
- $\vec n\cdot \Phi_i(x_a) = \delta_{ia}$
- -->
-<IMG
- WIDTH="112" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img95.gif"
- ALT="$ \vec n\cdot \Phi_i(x_a) = \delta_{ia}$">. In this case, the individual
-components of a shape function are no more independent, and thus cannot be
-chosen such that only one component is non-zero.
-
-<P>
-What happens in this case? First, the function
-<TT>FiniteElement::system_to_component_index</TT> does not make much sense
-any more, since a shape function <IMG
- WIDTH="21" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img76.gif"
- ALT="$ \Phi_i$"> cannot be associated with only one
-vector component any more. Calling this function for basis functions <IMG
- WIDTH="21" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img76.gif"
- ALT="$ \Phi_i$">
-that are not restricted to only one non-zero component will thus yield an
-exception being thrown.
-
-<P>
-Second, the functions <TT>FEValues::shape_value</TT> and
-<TT>FEValues::shape_grad</TT> returning the values and gradients of the only
-non-zero component of a shape function at a quadrature point cannot work any
-more, since there are now more than only one non-zero components for some or
-all values of <IMG
- WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img33.gif"
- ALT="$ i$">. For those shape function for which this holds, you will
-again get an exception upon calling these functions.
-
-<P>
-<BR><HR>
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><UL>
-<LI><A NAME="tex2html120"
-  HREF="node11.html">Getting information about shape functions</A>
-<LI><A NAME="tex2html121"
-  HREF="node12.html">Evaluating shape functions</A>
-</UL>
-<BR>
-<LI><A NAME="tex2html122"
-  HREF="node13.html">The elastic equations</A>
-<LI><A NAME="tex2html123"
-  HREF="node14.html">The Stokes equations</A>
-</UL>
-<!--End of Table of Child-Links-->
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html118"
-  HREF="node11.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html116"
-  HREF="assemble.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html110"
-  HREF="node9.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html119"
-  HREF="node11.html">Getting information about shape</A>
-<B> Up:</B> <A NAME="tex2html117"
-  HREF="assemble.html">assemble</A>
-<B> Previous:</B> <A NAME="tex2html111"
-  HREF="node9.html">The Stokes equations</A>
-<!--End of Navigation Panel-->
-<ADDRESS>
-Wolfgang Bangerth
-2002-06-14
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/deal.II/doc/reports/assemble/node11.html b/deal.II/doc/reports/assemble/node11.html
deleted file mode 100644 (file)
index b537efd..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 2002-1 (1.68)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>Getting information about shape functions</TITLE>
-<META NAME="description" CONTENT="Getting information about shape functions">
-<META NAME="keywords" CONTENT="assemble">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-1">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="assemble.css">
-
-<LINK REL="next" HREF="node12.html">
-<LINK REL="previous" HREF="node10.html">
-<LINK REL="up" HREF="node10.html">
-<LINK REL="next" HREF="node12.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html132"
-  HREF="node12.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html130"
-  HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html124"
-  HREF="node10.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html133"
-  HREF="node12.html">Evaluating shape functions</A>
-<B> Up:</B> <A NAME="tex2html131"
-  HREF="node10.html">Assembling vector-valued problems: The</A>
-<B> Previous:</B> <A NAME="tex2html125"
-  HREF="node10.html">Assembling vector-valued problems: The</A>
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H3><A NAME="SECTION00060100000000000000">
-Getting information about shape functions</A>
-</H3>
-
-<P>
-So how do you find out whether calling these functions is ok or not? In other
-words, how do you know whether shape function <IMG
- WIDTH="21" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img76.gif"
- ALT="$ \Phi_i$"> has only one non-zero
-component, or more? For this, there are two functions:
-<TT>FiniteElement::is_primitive(i)</TT> returns as a <TT>bool</TT> whether
-the shape function has only one non-zero component. For example, for a
-<!-- MATH
- $Q^2/Q^2/Q^1$
- -->
-<IMG
- WIDTH="79" HEIGHT="33" ALIGN="MIDDLE" BORDER="0"
- SRC="img86.gif"
- ALT="$ Q^2/Q^2/Q^1$"> element, this would be <TT>true</TT> for all 22 shape functions.
-For a finite element for which every shape function is non-zero in more than
-one component, it would be <TT>false</TT> for all indices <IMG
- WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img33.gif"
- ALT="$ i$">. It might also
-be <TT>true</TT> for only some shape functions, for example if the velocity
-components of the Stokes discretization are done using some more complicated
-element, but the pressure component with a <IMG
- WIDTH="24" HEIGHT="33" ALIGN="MIDDLE" BORDER="0"
- SRC="img96.gif"
- ALT="$ Q^1$">, then it would be
-<TT>true</TT> for the pressure shape functions, but <TT>false</TT> otherwise.
-
-<P>
-Second, the <TT>FiniteElement::n_nonzero_components(i)</TT> function returns
-in how many components the <IMG
- WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img33.gif"
- ALT="$ i$">th shape function is non-zero. Again, for the
-<!-- MATH
- $Q^2/Q^2/Q^1$
- -->
-<IMG
- WIDTH="79" HEIGHT="33" ALIGN="MIDDLE" BORDER="0"
- SRC="img86.gif"
- ALT="$ Q^2/Q^2/Q^1$"> combination, this would yield the value 1 for all allowed
-indices <IMG
- WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img33.gif"
- ALT="$ i$">. For coupled elements, it would be greater than 1.
-
-<P>
-Third, you may sometimes want to know in which components a certain shape
-function is non-zero. For this, the
-<TT>FiniteElement::get_nonzero_components(i)</TT> function is the right thing: it
-returns a reference to a vector of boolean values, one for each component of
-the vector-valued finite element, and the values indicate whether the shape
-function is non-zero for each of them.
-
-<P>
-Note that if you have the result of
-<TT>FiniteElement::get_nonzero_components(i)</TT>, then the result of
-<TT>FiniteElement::n_nonzero_components(i)</TT> is simply the number of
-<TT>true</TT> values in the array returned by the first function. Likewise, 
-<TT>FiniteElement::is_primitive(i)</TT> is simply whether
-<TT>FiniteElement::n_nonzero_components(i)</TT> returned a value other than
-1. The functions are thus redundant in some way, but useful nevertheless. Of
-course, the values of the  <TT>FiniteElement::is_primitive(i)</TT>
-and  <TT>FiniteElement::n_nonzero_components(i)</TT> functions are not
-recomputed every time based on the result of some other function, but are
-cached once at the time of construction of a finite element object.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html132"
-  HREF="node12.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html130"
-  HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html124"
-  HREF="node10.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html133"
-  HREF="node12.html">Evaluating shape functions</A>
-<B> Up:</B> <A NAME="tex2html131"
-  HREF="node10.html">Assembling vector-valued problems: The</A>
-<B> Previous:</B> <A NAME="tex2html125"
-  HREF="node10.html">Assembling vector-valued problems: The</A>
-<!--End of Navigation Panel-->
-<ADDRESS>
-Wolfgang Bangerth
-2002-06-14
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/deal.II/doc/reports/assemble/node12.html b/deal.II/doc/reports/assemble/node12.html
deleted file mode 100644 (file)
index 879e388..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 2002-1 (1.68)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>Evaluating shape functions</TITLE>
-<META NAME="description" CONTENT="Evaluating shape functions">
-<META NAME="keywords" CONTENT="assemble">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-1">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="assemble.css">
-
-<LINK REL="previous" HREF="node11.html">
-<LINK REL="up" HREF="node10.html">
-<LINK REL="next" HREF="node13.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html140"
-  HREF="node13.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html138"
-  HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html134"
-  HREF="node11.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html141"
-  HREF="node13.html">The elastic equations</A>
-<B> Up:</B> <A NAME="tex2html139"
-  HREF="node10.html">Assembling vector-valued problems: The</A>
-<B> Previous:</B> <A NAME="tex2html135"
-  HREF="node11.html">Getting information about shape</A>
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H3><A NAME="SECTION00060200000000000000">
-Evaluating shape functions</A>
-</H3>
-
-<P>
-Now, we have seen which functions cannot be called for non-primitive shape
-functions, and also how to find out about shape functions and whether they are
-primitive and the like. Yet, we don't have replacements for the functions that
-cannot be called, so here they are: instead of <TT>FEValues::shape_value</TT>
-and <TT>FEValues::shape_grad</TT>, call
-<TT>FEValues::shape_value_component</TT> and
-<TT>FEValues::shape_grad_component</TT>. These functions take as arguments
-first the number of the shape function, and second the number of the
-quadrature point (these are also the arguments of the original functions), but
-now as additional third argument the vector component.
-
-<P>
-Of course, these functions can be called on primitive shape functions as
-well. In that case, the following holds:
-
-<UL>
-<LI>The value of <TT>FEValues::shape_value_component(i,q,c)</TT> is equal
-  to <TT>FEValues::shape_value(i,q)</TT> if and only if the component
-  <TT>c</TT> is equal to <TT>fe.system_to_component_index(i).first</TT>,
-  i.e. if <TT>c</TT> is the only non-zero component of the shape function
-  <TT>i</TT>.
-</LI>
-<LI>For all other components <TT>c</TT>, the returned value of
-  <TT>FEValues::shape_value_component(i,q,c)</TT> is zero.
-</LI>
-</UL>
-The same of course also holds for
-<TT>FEValues::shape_grad_component(i,q,c)</TT> and
-<TT>FEValues::shape_2nd_derivative_component(i,q,c)</TT>.
-
-<P>
-<BR><HR>
-<ADDRESS>
-Wolfgang Bangerth
-2002-06-14
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/deal.II/doc/reports/assemble/node13.html b/deal.II/doc/reports/assemble/node13.html
deleted file mode 100644 (file)
index a547f6f..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 2002-1 (1.68)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>The elastic equations</TITLE>
-<META NAME="description" CONTENT="The elastic equations">
-<META NAME="keywords" CONTENT="assemble">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-1">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="assemble.css">
-
-<LINK REL="next" HREF="node14.html">
-<LINK REL="previous" HREF="node10.html">
-<LINK REL="up" HREF="node10.html">
-<LINK REL="next" HREF="node14.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html150"
-  HREF="node14.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html148"
-  HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html142"
-  HREF="node12.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html151"
-  HREF="node14.html">The Stokes equations</A>
-<B> Up:</B> <A NAME="tex2html149"
-  HREF="node10.html">Assembling vector-valued problems: The</A>
-<B> Previous:</B> <A NAME="tex2html143"
-  HREF="node12.html">Evaluating shape functions</A>
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00061000000000000000">
-The elastic equations</A>
-</H2>
-
-<P>
-With the above, we can now assemble the matrix for the elastic equation in
-mostly the same way as before. The difference is that for each shape function,
-we have to loop over all components. The code then looks like this (compare
-this with the one in Section&nbsp;<A HREF="node8.html#sec:elastic-simple">5.1</A>):
-<PRE>
-  for (unsigned int i=0; i&lt;fe.dofs_per_cell; ++i)
-    for (unsigned int comp_i=0; comp_i&lt;fe.n_components(); ++comp_i)
-      for (unsigned int j=0; j&lt;fe.dofs_per_cell; ++j)
-        for (unsigned int comp_j=0; comp_j&lt;fe.n_components(); ++comp_j)
-          for (unsigned int q=0; q&lt;n_q_points; ++q) 
-            {
-                           // first assemble part with lambda+mu
-              cell_matrix(i,j)
-                 += ((lambda+mu)                       *
-                     fe_values.shape_grad_component(i,q,comp_i)[comp_i] * 
-                     fe_values.shape_grad_component(j,q,comp_j)[comp_j] *
-                     fe_values.JxW(q)); 
-
-                           // then part with mu only
-              if (comp_i == comp_j)
-                cell_matrix(i,j)
-                  += (mu                           *
-                      (fe_values.shape_grad_component(i,q,comp_i) * 
-                       fe_values.shape_grad_component(j,q,comp_j)  )*
-                       fe_values.JxW(q)); 
-            };
-</PRE>
-If you dislike this particular order of the loops, you can reorder them as you
-like, as they are independent.
-
-<P>
-The code as shown above can be optimized. For example, instead of
-unconditionally performing the loop over all components of shape functions <IMG
- WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img33.gif"
- ALT="$ i$">
-of <IMG
- WIDTH="12" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img83.gif"
- ALT="$ j$">, we might first ask whether these shape functions are primitive, using
-<TT>fe.is_primitive(i)</TT>, and use the loop only if the result is false;
-if, on the other hand, the result is true, we only need to set
-<TT>comp_i</TT> to the fixed value
-<TT>fe.system_to_component_index(i).first</TT>, and likewise for shape
-function <IMG
- WIDTH="12" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img83.gif"
- ALT="$ j$">.
-
-<P>
-Another possibility for optimization would be to ask whether a certain
-component over which we loop is actually non-zero, or if the shape function is
-a non-primitive one but happens to be zero in the present component
-nevertheless. For this, we could replace the loop over <TT>comp_i</TT> by
-this:
-<PRE>
-    for (unsigned int comp_i=0; comp_i&lt;fe.n_components(); ++comp_i)
-      if (fe.get_nonzero_components(i)[comp_i] == true)
-</PRE>
-If the if-clause does not succeed then this component of the shape function is
-definitely zero, and there will not be a contribution to the matrix anyway, so
-we can also skip the computations.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html150"
-  HREF="node14.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html148"
-  HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html142"
-  HREF="node12.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html151"
-  HREF="node14.html">The Stokes equations</A>
-<B> Up:</B> <A NAME="tex2html149"
-  HREF="node10.html">Assembling vector-valued problems: The</A>
-<B> Previous:</B> <A NAME="tex2html143"
-  HREF="node12.html">Evaluating shape functions</A>
-<!--End of Navigation Panel-->
-<ADDRESS>
-Wolfgang Bangerth
-2002-06-14
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/deal.II/doc/reports/assemble/node14.html b/deal.II/doc/reports/assemble/node14.html
deleted file mode 100644 (file)
index ad5eeaf..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 2002-1 (1.68)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>The Stokes equations</TITLE>
-<META NAME="description" CONTENT="The Stokes equations">
-<META NAME="keywords" CONTENT="assemble">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-1">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="assemble.css">
-
-<LINK REL="previous" HREF="node13.html">
-<LINK REL="up" HREF="node10.html">
-<LINK REL="next" HREF="node15.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html158"
-  HREF="node15.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html156"
-  HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html152"
-  HREF="node13.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html159"
-  HREF="node15.html">Conclusions</A>
-<B> Up:</B> <A NAME="tex2html157"
-  HREF="node10.html">Assembling vector-valued problems: The</A>
-<B> Previous:</B> <A NAME="tex2html153"
-  HREF="node13.html">The elastic equations</A>
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00062000000000000000">
-The Stokes equations</A>
-</H2>
-
-<P>
-Likewise, this is now the code for the Stokes equations:
-<PRE>
-  for (unsigned int i=0; i&lt;fe.dofs_per_cell; ++i)
-    for (unsigned int comp_i=0; comp_i&lt;fe.n_components(); ++comp_i)
-      for (unsigned int j=0; j&lt;fe.dofs_per_cell; ++j)
-        for (unsigned int comp_j=0; comp_j&lt;fe.n_components(); ++comp_j)
-          for (unsigned int q=0; q&lt;n_q_points; ++q) 
-            {
-                           // velocity-velocity coupling?
-              if ((comp_i&lt;dim) &amp;&amp; (comp_j&lt;dim))
-                if (comp_i == comp_j)
-                  cell_matrix(i,j)
-                      += (nu *
-                          (fe_values.shape_grad_component(i,q,comp_i) * 
-                           fe_values.shape_grad_component(j,q,comp_j)  ) *
-                          fe_values.JxW(q)); 
-
-                           // velocity-pressure coupling
-              if ((comp_i&lt;dim) &amp;&amp; (comp_j==dim))
-                cell_matrix(i,j)
-                    += (-fe_values.shape_grad_component(i,q,comp_i)[comp_i] * 
-                        fe_values.shape_value_component(j,q,comp_j)        *
-                        fe_values.JxW(q)); 
-
-                           // pressure-velocity coupling
-              if ((comp_i==dim) &amp;&amp; (comp_j&lt;dim))
-                cell_matrix(i,j)
-                    += (fe_values.shape_value_component(i,q,comp_i) * 
-                        fe_values.shape_grad_component(j,q,comp_j)[comp_j] *
-                        fe_values.JxW(q)); 
-            };
-</PRE>
-Again, the same optimizations as above are possible. Here, they even seem
-worthwhile, since it is often the case that the velocity variables are
-discretized using a non-primitive finite element, while the pressure uses a
-primitive element. In that case, some shape functions are primitive (namely
-those discretizing the pressure), and of the non-primitive shape functions
-(those for the velocity variables) some vector components (the pressure
-components) are always zero. Thus, both optimizations described above would be
-useful. We leave the implementation of this to the reader.
-
-<P>
-<BR><HR>
-<ADDRESS>
-Wolfgang Bangerth
-2002-06-14
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/deal.II/doc/reports/assemble/node15.html b/deal.II/doc/reports/assemble/node15.html
deleted file mode 100644 (file)
index 546d822..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 2002-1 (1.68)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>Conclusions</TITLE>
-<META NAME="description" CONTENT="Conclusions">
-<META NAME="keywords" CONTENT="assemble">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-1">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="assemble.css">
-
-<LINK REL="next" HREF="node16.html">
-<LINK REL="previous" HREF="node10.html">
-<LINK REL="up" HREF="assemble.html">
-<LINK REL="next" HREF="node16.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html168"
-  HREF="node16.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html166"
-  HREF="assemble.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html160"
-  HREF="node14.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html169"
-  HREF="node16.html">About this document ...</A>
-<B> Up:</B> <A NAME="tex2html167"
-  HREF="assemble.html">assemble</A>
-<B> Previous:</B> <A NAME="tex2html161"
-  HREF="node14.html">The Stokes equations</A>
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H1><A NAME="SECTION00070000000000000000">
-Conclusions</A>
-</H1>
-
-<P>
-We have shown how finite element matrices are assembled using the
-functionality of the <TT>deal.II</TT> library. For the scalar case, and, in
-the vector-valued case, if the
-finite element shape functions are such that only one vector component of each
-shape function is non-zero, assembling is relatively simple. In the other
-case, when there are shape functions with more than one non-zero component,
-some more care is necessary, but assembling is still straightforward and
-follows the same pattern as before.
-
-<P>
-<BR><HR>
-<ADDRESS>
-Wolfgang Bangerth
-2002-06-14
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/deal.II/doc/reports/assemble/node16.html b/deal.II/doc/reports/assemble/node16.html
deleted file mode 100644 (file)
index 84bf42e..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 2002-1 (1.68)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>About this document ...</TITLE>
-<META NAME="description" CONTENT="About this document ...">
-<META NAME="keywords" CONTENT="assemble">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-1">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="assemble.css">
-
-<LINK REL="previous" HREF="node15.html">
-<LINK REL="up" HREF="assemble.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif_gr.gif"> 
-<A NAME="tex2html174"
-  HREF="assemble.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html170"
-  HREF="node15.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Up:</B> <A NAME="tex2html175"
-  HREF="assemble.html">assemble</A>
-<B> Previous:</B> <A NAME="tex2html171"
-  HREF="node15.html">Conclusions</A>
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H1><A NAME="SECTION00080000000000000000">
-About this document ...</A>
-</H1>
- <P>
-This document was generated using the
-<A HREF="http://www.latex2html.org/"><STRONG>LaTeX</STRONG>2<tt>HTML</tt></A> translator Version 2002-1 (1.68)
-<P>
-Copyright &#169; 1993, 1994, 1995, 1996,
-<A HREF="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos Drakos</A>, 
-Computer Based Learning Unit, University of Leeds.
-<BR>
-Copyright &#169; 1997, 1998, 1999,
-<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>, 
-Mathematics Department, Macquarie University, Sydney.
-<P>
-The command line arguments were: <BR>
- <STRONG>latex2html</STRONG> <TT><A NAME="tex2html1"
-  HREF="../assemble.tex">assemble.tex</A></TT>
-<P>
-The translation was initiated by Wolfgang Bangerth on 2002-06-14
-<BR><HR>
-<ADDRESS>
-Wolfgang Bangerth
-2002-06-14
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/deal.II/doc/reports/assemble/node2.html b/deal.II/doc/reports/assemble/node2.html
deleted file mode 100644 (file)
index f393f74..0000000
+++ /dev/null
@@ -1,775 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 2002-1 (1.68)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>Linear systems for finite element methods</TITLE>
-<META NAME="description" CONTENT="Linear systems for finite element methods">
-<META NAME="keywords" CONTENT="assemble">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-1">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="assemble.css">
-
-<LINK REL="next" HREF="node3.html">
-<LINK REL="previous" HREF="node1.html">
-<LINK REL="up" HREF="assemble.html">
-<LINK REL="next" HREF="node3.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html38"
-  HREF="node3.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html36"
-  HREF="assemble.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html30"
-  HREF="node1.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html39"
-  HREF="node3.html">Assembling scalar problems</A>
-<B> Up:</B> <A NAME="tex2html37"
-  HREF="assemble.html">assemble</A>
-<B> Previous:</B> <A NAME="tex2html31"
-  HREF="node1.html">Introduction</A>
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H1><A NAME="SECTION00020000000000000000">
-Linear systems for finite element methods</A>
-</H1>
-
-<P>
-We start by briefly introducing the way finite element matrices are assembled
-``on paper''. As usual in finite elements, we take the weak form of the partial
-differential equation. In the most general case, it reads: <I>find <IMG
- WIDTH="45" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img1.gif"
- ALT="$ u\in
-V$"> such that</I>
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="200" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img2.gif"
- ALT="$\displaystyle a(u, v) = (f,v)_\Omega \qquad \forall v\in V,$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-where <!-- MATH
- $a(\cdot,\cdot)$
- -->
-<IMG
- WIDTH="41" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img3.gif"
- ALT="$ a(\cdot,\cdot)$"> is the bilinear form associated with the partial
-differential equations, and <IMG
- WIDTH="17" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img4.gif"
- ALT="$ V$"> is the space of test functions. For
-simplicity, we have here assumed that the problem is linear and that then
-<!-- MATH
- $a(\cdot,\cdot)$
- -->
-<IMG
- WIDTH="41" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img3.gif"
- ALT="$ a(\cdot,\cdot)$"> is a bilinear form; if the problem is nonlinear, it is
-usually solved using a sequence of linear problems, so this is no restriction.
-
-<P>
-In finite elements, we define an approximation of the solution <IMG
- WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
- SRC="img5.gif"
- ALT="$ u$"> by choosing
-a finite dimensional subspace <IMG
- WIDTH="22" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img6.gif"
- ALT="$ V_h$"> spanned by the basis functions
-<!-- MATH
- $\{\varphi_i\}$
- -->
-<IMG
- WIDTH="36" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img7.gif"
- ALT="$ \{\varphi_i\}$">, and searching <!-- MATH
- $u_h\in V_h$
- -->
-<IMG
- WIDTH="58" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img8.gif"
- ALT="$ u_h\in V_h$"> by testing the weak form by the
-test functions from <IMG
- WIDTH="22" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img6.gif"
- ALT="$ V_h$">. The problem then reads: <I>find <!-- MATH
- $u_h\in V_h$
- -->
-<IMG
- WIDTH="58" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img8.gif"
- ALT="$ u_h\in V_h$">
-such that</I>
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="238" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img9.gif"
- ALT="$\displaystyle a(u_h, v_h) = (f,v_h)_\Omega \qquad \forall v_h\in V_h.$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-
-<P>
-Now, <!-- MATH
- $\{\varphi_i\}$
- -->
-<IMG
- WIDTH="36" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img7.gif"
- ALT="$ \{\varphi_i\}$"> is a basis of <IMG
- WIDTH="22" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img6.gif"
- ALT="$ V_h$">. We denote the dimension of <IMG
- WIDTH="22" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img6.gif"
- ALT="$ V_h$"> by
-<IMG
- WIDTH="19" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img10.gif"
- ALT="$ N$">, and will henceforth let all sums be over the range <!-- MATH
- $0\ldots N-1$
- -->
-<IMG
- WIDTH="78" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img11.gif"
- ALT="$ 0\ldots N-1$">, to keep
-with the standard notation of the C/C++ programming languages. With this, we
-can expand the solution <!-- MATH
- $u_h=\sum_{j=0}^{N-1} U_j \varphi_j$
- -->
-<IMG
- WIDTH="125" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
- SRC="img12.gif"
- ALT="$ u_h=\sum_{j=0}^{N-1} U_j \varphi_j$">, and by
-bilinearity of the form <!-- MATH
- $a(\cdot,\cdot)$
- -->
-<IMG
- WIDTH="41" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img3.gif"
- ALT="$ a(\cdot,\cdot)$">, the problem above is equivalent to
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="323" HEIGHT="65" ALIGN="MIDDLE" BORDER="0"
- SRC="img13.gif"
- ALT="$\displaystyle \sum_{j=0}^{N-1} U_j a(\varphi_j,\varphi_i) = (f, \varphi_i) \qquad \forall i=0\ldots N-1.$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-<A NAME="eq:lin-1">(1)</A></TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-Denoting
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="268" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img14.gif"
- ALT="$\displaystyle A_{ij} = a(\varphi_j,\varphi_i), \qquad \qquad F_j = (f, \varphi_j),$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-the equations determining the expansion coefficients <IMG
- WIDTH="20" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img15.gif"
- ALT="$ U_i$"> are therefore:
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="65" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img16.gif"
- ALT="$\displaystyle A U = F.$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-<A NAME="eq:lin-2">(2)</A></TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-
-<P>
-Note that we have taken a reverted order of indices in the definition of <IMG
- WIDTH="16" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img17.gif"
- ALT="$ A$">,
-since we want the linear system (<A HREF="node2.html#eq:lin-2">2</A>) with the solution to the
-right of the matrix, to keep with standard notation, instead of to the left as
-in (<A HREF="node2.html#eq:lin-1">1</A>). For symmetric problems, there is no difference, but for
-non-symmetric ones this is a common source for problems and a rather common
-trap. 
-
-<P>
-For partial differential equations, the bilinear form used in (<A HREF="node2.html#eq:lin-1">1</A>)
-involves an integral over the domain <IMG
- WIDTH="16" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img18.gif"
- ALT="$ \Omega$"> on which the problem is
-posed. For example, for the Laplace equation we have
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="359" HEIGHT="51" ALIGN="MIDDLE" BORDER="0"
- SRC="img19.gif"
- ALT="$\displaystyle A_{ij} = a(\varphi_j, \varphi_i) = (\nabla \varphi_j, \nabla \varphi_i)_\Omega = \int_\Omega \nabla \varphi_j \cdot \nabla \varphi_i \; dx.$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-For practical purposes, we split this equation into integrals over the
-individual cells <IMG
- WIDTH="19" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img20.gif"
- ALT="$ K$"> of the triangulation <!-- MATH
- $\mathbb{T}$
- -->
-<IMG
- WIDTH="15" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img21.gif"
- ALT="$ \mathbb{T}$"> we use for the
-discretization. In <TT>deal.II</TT>, these cells are always lines,
-quadrilaterals, or hexahedra. With this, we have that
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="429" HEIGHT="50" ALIGN="MIDDLE" BORDER="0"
- SRC="img22.gif"
- ALT="$\displaystyle A = \sum_{K \in {\mathbb{T}}} A^K, \qquad\qquad A^K_{ij} = a_K(\varphi_j, \varphi_i) \qquad 0\le i,j\le N-1,$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-where the bilinear form <!-- MATH
- $a_K(\cdot,\cdot)$
- -->
-<IMG
- WIDTH="53" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img23.gif"
- ALT="$ a_K(\cdot,\cdot)$"> only involves an integral over the
-cell <IMG
- WIDTH="19" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img20.gif"
- ALT="$ K$">. The important point is that we do so since for the localized basis
-functions used in finite elements, <IMG
- WIDTH="28" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
- SRC="img24.gif"
- ALT="$ A^K$"> is a matrix with almost only zeros.
-The only elements which are not zero are those corresponding to indices <IMG
- WIDTH="24" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img25.gif"
- ALT="$ i,j$">
-indicating those shape functions that have support also on the element <IMG
- WIDTH="19" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img20.gif"
- ALT="$ K$">.
-For example, in 2d and using the usual bilinear shape functions for a scalar
-problem, only the four shape functions associated with the vertices of the
-cell <IMG
- WIDTH="19" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img20.gif"
- ALT="$ K$"> are nonzero on <IMG
- WIDTH="19" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img20.gif"
- ALT="$ K$">, and thus only the entries in <IMG
- WIDTH="28" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
- SRC="img24.gif"
- ALT="$ A^K$"> are nonzero
-where the four rows corresponding to these indices and the respective four
-columns intersect.
-
-<P>
-In general, assume that there are <IMG
- WIDTH="29" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img26.gif"
- ALT="$ N_K$"> shape functions with support on cell
-<IMG
- WIDTH="19" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img20.gif"
- ALT="$ K$">, and let the set of their indices be denoted by <IMG
- WIDTH="23" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img27.gif"
- ALT="$ I_K$">. Then we can define
-a matrix <IMG
- WIDTH="28" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
- SRC="img28.gif"
- ALT="$ \hat A^K$"> of (small dimension) <!-- MATH
- $N_K\times N_K$
- -->
-<IMG
- WIDTH="74" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img29.gif"
- ALT="$ N_K\times N_K$"> holding these nonzero
-entries, and we can obtain back the original contribution <IMG
- WIDTH="28" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img30.gif"
- ALT="$ A_K$"> to <IMG
- WIDTH="16" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img17.gif"
- ALT="$ A$"> by the
-transformation
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="481" HEIGHT="57" ALIGN="MIDDLE" BORDER="0"
- SRC="img31.gif"
- ALT="$\displaystyle A^K_{ij} = \left\{ \begin{array}{ll} 0 &amp; \text{if $i\not\in I_K$\...
-...al(i),local(j)} &amp; \text{otherwise}, \end{array} \right. \qquad 0\le i,j\le N-1.$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-Here, <IMG
- WIDTH="55" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img32.gif"
- ALT="$ local(i)$"> gives the number of the global degree of freedom <IMG
- WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img33.gif"
- ALT="$ i$"> on the
-cell <IMG
- WIDTH="19" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img20.gif"
- ALT="$ K$">, i.e. the position of <IMG
- WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img33.gif"
- ALT="$ i$"> in the index set <IMG
- WIDTH="23" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img27.gif"
- ALT="$ I_K$">. One could call
-<IMG
- WIDTH="28" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
- SRC="img28.gif"
- ALT="$ \hat A^K$"> the <TT>reduced</TT> form of <IMG
- WIDTH="28" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
- SRC="img24.gif"
- ALT="$ A^K$">, since the many zero rows and
-column have been stripped.
-
-<P>
-In general, when assembling the global matrix, the reverse way is used: when
-adding up <IMG
- WIDTH="28" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
- SRC="img24.gif"
- ALT="$ A^K$"> to <IMG
- WIDTH="16" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img17.gif"
- ALT="$ A$">, we do so only with <IMG
- WIDTH="28" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
- SRC="img28.gif"
- ALT="$ \hat A^K$"> by
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="361" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
- SRC="img34.gif"
- ALT="$\displaystyle A_{global(i),global(j)} +\!\!= \hat A^K_{ij} \qquad \qquad 0\le i,j\le N_K-1.$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-Thus, indices only run over the (small) range <!-- MATH
- $0\ldots N_K-1$
- -->
-<IMG
- WIDTH="88" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img35.gif"
- ALT="$ 0\ldots N_K-1$"> instead of
-<!-- MATH
- $0\ldots N-1$
- -->
-<IMG
- WIDTH="78" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img11.gif"
- ALT="$ 0\ldots N-1$">. Here, <IMG
- WIDTH="63" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img36.gif"
- ALT="$ global(i)$"> denotes the global number of the degree of
-freedom with number <IMG
- WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img33.gif"
- ALT="$ i$"> on this cell <IMG
- WIDTH="19" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img20.gif"
- ALT="$ K$">, i.e. <!-- MATH
- $global(i)=I_K[i]$
- -->
-<IMG
- WIDTH="118" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img37.gif"
- ALT="$ global(i)=I_K[i]$">, where the
-bracket operator returns the <IMG
- WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img33.gif"
- ALT="$ i$">th element of the set <IMG
- WIDTH="23" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img27.gif"
- ALT="$ I_K$">.
-
-<P>
-The main part of assembling finite element matrices is therefore to assemble
-the local matrix <IMG
- WIDTH="28" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
- SRC="img28.gif"
- ALT="$ \hat A^K$">. Before we go on with discussing how this is done
-in <TT>deal.II</TT>, we would like to comment on the evaluation of the
-integrals involved. Since the integrals are usually too complex to be
-evaluated exactly (they may depend on coefficients appearing in the equation,
-or the solution of previous steps in nonlinear or time-dependent problems),
-they are approximated by quadrature. Assume we have a quadrature formula with
-<IMG
- WIDTH="24" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img38.gif"
- ALT="$ N_q$"> points <IMG
- WIDTH="20" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img39.gif"
- ALT="$ x_q$"> defined on cell in real space (as opposed to the unit cell)
-and weights <IMG
- WIDTH="23" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img40.gif"
- ALT="$ w_q$">. Then, for example for the Laplace equation, we approximate
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="379" HEIGHT="69" ALIGN="MIDDLE" BORDER="0"
- SRC="img41.gif"
- ALT="$\displaystyle \hat A^K_{ij} \equiv \int_K \nabla\varphi_i \cdot \nabla \varphi_...
-...\sum_{q=0}^{N_q-1} \nabla\varphi_i(x_q) \cdot \nabla \varphi_j(x_q) \ w_q \vert$">det<IMG
- WIDTH="57" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img42.gif"
- ALT="$\displaystyle \ J(\hat x_q)\vert.$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-(3)</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-For other problems, the integrand is different, but the principle remains the
-same. <!-- MATH
- $\text{det}\ J(\hat x_q)$
- -->
-det<IMG
- WIDTH="48" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img43.gif"
- ALT="$ \ J(\hat x_q)$"> denotes the determinant of the Jacobian of the
-transformation between the unit cell on which the quadrature weights are
-defined, and the real cell, and <IMG
- WIDTH="20" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img44.gif"
- ALT="$ \hat x_q$"> is the point on the unit cell
-corresponding to the quadrature point <IMG
- WIDTH="20" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img39.gif"
- ALT="$ x_q$"> in real space.
-
-<P>
-Since all matrices and right hand side vectors only require knowledge of the
-values and gradients of shape functions at quadrature points, this is all that
-<TT>deal.II</TT> usually provides. One can see this as a kind of <I>view</I>
-on a finite element, as it only provides a certain perspective on the actual
-definition of a shape function. Nevertheless, this is entirely sufficient for
-all purposes of programming finite element programs. 
-
-<P>
-In <TT>deal.II</TT> the <TT>FEValues</TT> class does this: you give it a
-finite element definition, a quadrature formula object, and an object defining
-the transformation between unit and real cell, and it provides you with the
-values, gradient, and second derivatives of shape functions at the quadrature
-points. It also gives access to the determinant of the Jacobian, although only
-multiplied with <IMG
- WIDTH="23" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img40.gif"
- ALT="$ w_q$"> as these two are always used in conjunction. It also
-provides you with many other fields, such as normal vectors to the outer
-boundary. In practice you do not need them all computed on each cell; thus,
-you have to specify explicitly in which data you are interested when
-constructing <TT>FEValues</TT> objects.
-
-<P>
-In the following, we provide a list of connections between the symbols introduced
-above, and the respective functions and variable names used in typical
-<TT>deal.II</TT> programs. With this, we will subsequently show the basic
-structure of an assembly routine. If you have already taken a look at the
-example programs provided with <TT>deal.II</TT>, you will recognize all these
-names. If you haven't, this would be a good time to look at the first
-three of them.
-
-<P>
-<DIV ALIGN="CENTER">
-<TABLE CELLPADDING=3 BORDER="1">
-<TR><TD ALIGN="LEFT"><IMG
- WIDTH="16" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img17.gif"
- ALT="$ A$"></TD>
-<TD ALIGN="LEFT"><TT>system_matrix</TT></TD>
-</TR>
-<TR><TD ALIGN="LEFT"><IMG
- WIDTH="28" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
- SRC="img28.gif"
- ALT="$ \hat A^K$"></TD>
-<TD ALIGN="LEFT"><TT>cell_matrix</TT></TD>
-</TR>
-<TR><TD ALIGN="LEFT"><IMG
- WIDTH="19" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img20.gif"
- ALT="$ K$"></TD>
-<TD ALIGN="LEFT"><TT>cell</TT></TD>
-</TR>
-<TR><TD ALIGN="LEFT"><IMG
- WIDTH="19" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img10.gif"
- ALT="$ N$"></TD>
-<TD ALIGN="LEFT"><TT>dof_handler.n_dofs()</TT></TD>
-</TR>
-<TR><TD ALIGN="LEFT"><IMG
- WIDTH="29" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img26.gif"
- ALT="$ N_K$"></TD>
-<TD ALIGN="LEFT"><TT>fe.dofs_per_cell</TT></TD>
-</TR>
-<TR><TD ALIGN="LEFT"><IMG
- WIDTH="23" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img27.gif"
- ALT="$ I_K$"></TD>
-<TD ALIGN="LEFT"><TT>local_dof_indices</TT></TD>
-</TR>
-<TR><TD ALIGN="LEFT"><IMG
- WIDTH="24" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img38.gif"
- ALT="$ N_q$"></TD>
-<TD ALIGN="LEFT"><TT>quadrature_formula.n_quadrature_points</TT></TD>
-</TR>
-<TR><TD ALIGN="LEFT"><!-- MATH
- $\varphi_i(x_q)$
- -->
-<IMG
- WIDTH="48" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img45.gif"
- ALT="$ \varphi_i(x_q)$"></TD>
-<TD ALIGN="LEFT"><TT>fe_values.shape_value(i,q)</TT></TD>
-</TR>
-<TR><TD ALIGN="LEFT"><!-- MATH
- $\nabla\varphi_i(x_q)$
- -->
-<IMG
- WIDTH="62" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img46.gif"
- ALT="$ \nabla\varphi_i(x_q)$"></TD>
-<TD ALIGN="LEFT"><TT>fe_values.shape_grad(i,q)</TT></TD>
-</TR>
-<TR><TD ALIGN="LEFT"><IMG
- WIDTH="20" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img39.gif"
- ALT="$ x_q$"></TD>
-<TD ALIGN="LEFT"><TT>fe_values.quadrature_point(q)</TT></TD>
-</TR>
-<TR><TD ALIGN="LEFT"><!-- MATH
- $|\text{det} J(\hat x_q)| w_q$
- -->
-<IMG
- WIDTH="8" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img47.gif"
- ALT="$ \vert$">det<IMG
- WIDTH="66" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img48.gif"
- ALT="$ J(\hat x_q)\vert w_q$"></TD>
-<TD ALIGN="LEFT"><TT>fe_values.JxW(q)</TT></TD>
-</TR>
-</TABLE>
-</DIV>
-
-<P>
-With this vocabulary, the typical matrix assembly loop in <TT>deal.II</TT> has
-the following form: first declare a quadrature object and use it for the
-initialization of a <TT>FEValues</TT> object as discussed above:
-<PRE>
-  QGauss2&lt;2&gt;  quadrature_formula;
-  FEValues&lt;2&gt; fe_values (fe, quadrature_formula, 
-                         UpdateFlags(update_values    |
-                                     update_gradients |
-                                     update_JxW_values));
-</PRE>
-In practice, you may want to use a different set of fields to be updated on
-each cell. For example if you do not need the values of shape functions on a
-cell, you may omit <TT>update_values</TT> from the list. Also note that by
-default a bi- or tri-linear (depending on space dimension) mapping between
-unit and real cell is used. Other mappings are possible, for example quadratic
-ones, or a mapping that makes use of the fact that in many cases cells are
-actually rectangular, rather than arbitrary quadrilaterals; in order to use
-them, another constructor of the <TT>FEValues</TT> class can be used, which
-takes a mapping object as first argument, before the other arguments listed
-above.
-
-<P>
-Next we define abbreviations for the values of <IMG
- WIDTH="29" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img26.gif"
- ALT="$ N_K$"> and <IMG
- WIDTH="24" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img38.gif"
- ALT="$ N_q$">:
-<PRE>
-  const unsigned int 
-      dofs_per_cell = fe.dofs_per_cell,
-      n_q_points    = quadrature_formula.n_quadrature_points;
-</PRE>
-Then have an object to store the matrix <IMG
- WIDTH="28" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
- SRC="img28.gif"
- ALT="$ \hat A^K$">, which is of size
-<!-- MATH
- $N_K\times N_K$
- -->
-<IMG
- WIDTH="74" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img29.gif"
- ALT="$ N_K\times N_K$">:
-<PRE>
-  FullMatrix&lt;double&gt;   cell_matrix (dofs_per_cell, dofs_per_cell);
-</PRE>
-And an object representing the set of global indices of degrees of freedom,
-previously denoted by <IMG
- WIDTH="23" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img27.gif"
- ALT="$ I_K$">, that have support on the present cell, i.e. those
-degrees of freedom local to the present cell:
-<PRE>
-  std::vector&lt;unsigned int&gt; local_dof_indices (dofs_per_cell);
-</PRE>
-The next step is then to loop over all cells:
-<PRE>
-  typename DoFHandler&lt;dim&gt;::active_cell_iterator
-       cell = dof_handler.begin_active(),
-       endc = dof_handler.end();
-  for (; cell!=endc; ++cell)
-    {
-</PRE>
-On each cell, first tell the <TT>FEValues</TT> object to compute the values of
-the various fields for this particular cell, and do not forget to reset the
-local matrix <IMG
- WIDTH="28" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
- SRC="img28.gif"
- ALT="$ \hat A^K$"> to zero before adding it up:
-<PRE>
-      fe_values.reinit (cell);
-      cell_matrix.clear ();
-</PRE>
-Now comes the main part, assembling the local matrix <IMG
- WIDTH="28" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
- SRC="img28.gif"
- ALT="$ \hat A^K$">. It consists
-of a loop over all indices <!-- MATH
- $0\le i,j \le N_K$
- -->
-<IMG
- WIDTH="99" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img49.gif"
- ALT="$ 0\le i,j \le N_K$"> and all quadrature points <!-- MATH
- $0\le
-q\le N_q$
- -->
-<IMG
- WIDTH="82" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img50.gif"
- ALT="$ 0\le
-q\le N_q$">, and summing up the contributions. As this is what we will discuss
-in detail later on, we only denote it here by an ellipse:
-<PRE>
-      for (unsigned int i=0; i&lt;dofs_per_cell; ++i)
-        for (unsigned int j=0; j&lt;dofs_per_cell; ++j)
-          for (unsigned int q=0; q&lt;n_q_points; ++q)
-            cell_matrix(i,j) += ...;
-</PRE>
-After we have <IMG
- WIDTH="28" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
- SRC="img28.gif"
- ALT="$ \hat A^K$">, we still have to sum it into the global matrix
-<IMG
- WIDTH="16" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img17.gif"
- ALT="$ A$">. This is done by first getting the set <IMG
- WIDTH="23" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img27.gif"
- ALT="$ I_K$"> of the global indices of the
-shape functions that were active on this cell, and then distributing <IMG
- WIDTH="28" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
- SRC="img28.gif"
- ALT="$ \hat A^K$">: 
-<PRE>
-      cell-&gt;get_dof_indices (local_dof_indices);
-
-      for (unsigned int i=0; i&lt;dofs_per_cell; ++i)
-        for (unsigned int j=0; j&lt;dofs_per_cell; ++j)
-          system_matrix.add (local_dof_indices[i],
-                             local_dof_indices[j],
-                             cell_matrix(i,j));
-    };
-</PRE>
-When this is done, we go on to the next cell.
-
-<P>
-Within this framework, the only open point is assembling <IMG
- WIDTH="28" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
- SRC="img28.gif"
- ALT="$ \hat A^K$"> on one
-quadrature point. This will be subject of the rest of this report.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html38"
-  HREF="node3.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html36"
-  HREF="assemble.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html30"
-  HREF="node1.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html39"
-  HREF="node3.html">Assembling scalar problems</A>
-<B> Up:</B> <A NAME="tex2html37"
-  HREF="assemble.html">assemble</A>
-<B> Previous:</B> <A NAME="tex2html31"
-  HREF="node1.html">Introduction</A>
-<!--End of Navigation Panel-->
-<ADDRESS>
-Wolfgang Bangerth
-2002-06-14
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/deal.II/doc/reports/assemble/node3.html b/deal.II/doc/reports/assemble/node3.html
deleted file mode 100644 (file)
index 9d1ecb7..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 2002-1 (1.68)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>Assembling scalar problems</TITLE>
-<META NAME="description" CONTENT="Assembling scalar problems">
-<META NAME="keywords" CONTENT="assemble">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-1">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="assemble.css">
-
-<LINK REL="next" HREF="node4.html">
-<LINK REL="previous" HREF="node2.html">
-<LINK REL="up" HREF="assemble.html">
-<LINK REL="next" HREF="node4.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html48"
-  HREF="node4.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html46"
-  HREF="assemble.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html40"
-  HREF="node2.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html49"
-  HREF="node4.html">Vector-valued problems</A>
-<B> Up:</B> <A NAME="tex2html47"
-  HREF="assemble.html">assemble</A>
-<B> Previous:</B> <A NAME="tex2html41"
-  HREF="node2.html">Linear systems for finite</A>
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H1><A NAME="SECTION00030000000000000000">
-Assembling scalar problems</A>
-</H1>
-
-<P>
-For scalar problems, assembling <IMG
- WIDTH="28" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
- SRC="img28.gif"
- ALT="$ \hat A^K$"> is relatively simple. With the
-terms introduced above, and for the Laplace equation, this looks as follows:
-<PRE>
-    local_matrix(i,j) += (fe_values.shape_grad(i,q_point) *
-                          fe_values.shape_grad(j,q_point) *
-                          fe_values.JxW (q_point));
-</PRE>
-This term is placed in the innermost loop, i.e. is performed for all indices
-<IMG
- WIDTH="24" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img25.gif"
- ALT="$ i,j$">, and all quadrature points <TT>q_point</TT>.
-
-<P>
-For nonsymmetric problems, the order of terms has to be considered, as
-mentioned above. For example, for the advection equation
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="82" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img51.gif"
- ALT="$\displaystyle \beta \cdot \nabla u = f,$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-with which the bilinear form
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="152" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img52.gif"
- ALT="$\displaystyle a(u,v) = (\beta \cdot \nabla u, v)_\Omega$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-is associated, the local matrix is assembled as
-<PRE>
-    local_matrix(i,j) += (fe_values.shape_values(i,q_point) *
-                          ( beta * fe_values.shape_grad(j,q_point) ) *
-                          fe_values.JxW (q_point));
-</PRE>
-Here, <TT>beta</TT> is an object of type <TT>Tensor&lt;1,dim&gt;</TT>, which
-represents a tensor of rank 1 in <TT>dim</TT> space dimensions.
-
-<P>
-Assembling matrices for scalar problems is also shown from a practical
-perspective in many of the example programs of <TT>deal.II</TT>, where it is
-also demonstrated how to do this for the right hand side vectors. Thus, scalar
-problems are not too interesting, and we now turn to vector-valued problems.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html48"
-  HREF="node4.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html46"
-  HREF="assemble.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html40"
-  HREF="node2.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html49"
-  HREF="node4.html">Vector-valued problems</A>
-<B> Up:</B> <A NAME="tex2html47"
-  HREF="assemble.html">assemble</A>
-<B> Previous:</B> <A NAME="tex2html41"
-  HREF="node2.html">Linear systems for finite</A>
-<!--End of Navigation Panel-->
-<ADDRESS>
-Wolfgang Bangerth
-2002-06-14
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/deal.II/doc/reports/assemble/node4.html b/deal.II/doc/reports/assemble/node4.html
deleted file mode 100644 (file)
index f8e652c..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 2002-1 (1.68)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>Vector-valued problems</TITLE>
-<META NAME="description" CONTENT="Vector-valued problems">
-<META NAME="keywords" CONTENT="assemble">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-1">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="assemble.css">
-
-<LINK REL="next" HREF="node7.html">
-<LINK REL="previous" HREF="node3.html">
-<LINK REL="up" HREF="assemble.html">
-<LINK REL="next" HREF="node5.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html58"
-  HREF="node5.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html56"
-  HREF="assemble.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html50"
-  HREF="node3.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html59"
-  HREF="node5.html">The elastic equations</A>
-<B> Up:</B> <A NAME="tex2html57"
-  HREF="assemble.html">assemble</A>
-<B> Previous:</B> <A NAME="tex2html51"
-  HREF="node3.html">Assembling scalar problems</A>
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H1><A NAME="SECTION00040000000000000000">
-Vector-valued problems</A>
-</H1>
-
-<P>
-Since we need some problems at which we will explain assembling the matrix for
-the vector-valued case, we now briefly introduce two simple equations. The
-first are the Lam&#233; equations of elasticity, which are taken for the symmetric
-case, then we briefly introduce the Stokes equations as a nonsymmetric problem.
-
-<P>
-<BR><HR>
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html60"
-  HREF="node5.html">The elastic equations</A>
-<LI><A NAME="tex2html61"
-  HREF="node6.html">The Stokes equations</A>
-</UL>
-<!--End of Table of Child-Links-->
-<BR><HR>
-<ADDRESS>
-Wolfgang Bangerth
-2002-06-14
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/deal.II/doc/reports/assemble/node5.html b/deal.II/doc/reports/assemble/node5.html
deleted file mode 100644 (file)
index 67e3e8e..0000000
+++ /dev/null
@@ -1,355 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 2002-1 (1.68)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>The elastic equations</TITLE>
-<META NAME="description" CONTENT="The elastic equations">
-<META NAME="keywords" CONTENT="assemble">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-1">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="assemble.css">
-
-<LINK REL="next" HREF="node6.html">
-<LINK REL="previous" HREF="node4.html">
-<LINK REL="up" HREF="node4.html">
-<LINK REL="next" HREF="node6.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html70"
-  HREF="node6.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html68"
-  HREF="node4.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html62"
-  HREF="node4.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html71"
-  HREF="node6.html">The Stokes equations</A>
-<B> Up:</B> <A NAME="tex2html69"
-  HREF="node4.html">Vector-valued problems</A>
-<B> Previous:</B> <A NAME="tex2html63"
-  HREF="node4.html">Vector-valued problems</A>
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00041000000000000000"></A>
-<A NAME="sec:elastic"></A>
-<BR>
-The elastic equations
-</H2>
-
-<P>
-As first example for the methods we are going to discuss for vector-valued
-problems, we consider the elastic Lam&#233; equations for isotropic materials,
-which read in strong form:
-<!-- MATH
- \begin{displaymath}
--
-   \nabla (\lambda+\mu) (\div\vec u)
-   -
-   (\nabla \cdot \mu \nabla) \vec u
-   =
-   \vec f.
-\end{displaymath}
- -->
-<P></P>
-<DIV ALIGN="CENTER">
-<IMG
- WIDTH="250" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img53.gif"
- ALT="$\displaystyle -
-\nabla (\lambda+\mu) (\div\vec u)
--
-(\nabla \cdot \mu \nabla) \vec u
-=
-\vec f.
-$">
-</DIV><P></P>
-These equations describe the three-dimensional deformation <IMG
- WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
- SRC="img54.gif"
- ALT="$ \vec u$"> of an
-elastic body under a body force <IMG
- WIDTH="12" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img55.gif"
- ALT="$ \vec f$">. The respective bilinear form
-associated with this operator is then
-<!-- MATH
- \begin{displaymath}
-a(\vec u, \vec v) =
-  \left(
-    (\lambda+\mu) \div\vec u, \div\vec v
-  \right)_\Omega
-  +
-  \sum_k
-  \left(
-    \mu \nabla u_k, \nabla v_k
-  \right)_\Omega,
-\end{displaymath}
- -->
-<P></P>
-<DIV ALIGN="CENTER">
-<IMG
- WIDTH="373" HEIGHT="49" ALIGN="MIDDLE" BORDER="0"
- SRC="img56.gif"
- ALT="$\displaystyle a(\vec u, \vec v) =
-\left(
-(\lambda+\mu) \div\vec u, \div\vec v
-\right)_\Omega
-+
-\sum_k
-\left(
-\mu \nabla u_k, \nabla v_k
-\right)_\Omega,
-$">
-</DIV><P></P>
-or as a sum over components:
-<!-- MATH
- \begin{displaymath}
-a(\vec u, \vec v) =
-  \sum_{k,l}
-  \left(
-    (\lambda+\mu) \partial_l u_l, \partial_k v_k
-  \right)_\Omega
-  +
-  \sum_{k,l}
-  \left(
-    \mu \partial_l u_k, \partial_l v_k
-  \right)_\Omega.
-\end{displaymath}
- -->
-<P></P>
-<DIV ALIGN="CENTER">
-<IMG
- WIDTH="388" HEIGHT="53" ALIGN="MIDDLE" BORDER="0"
- SRC="img57.gif"
- ALT="$\displaystyle a(\vec u, \vec v) =
-\sum_{k,l}
-\left(
-(\lambda+\mu) \partial_l u_...
-..._\Omega
-+
-\sum_{k,l}
-\left(
-\mu \partial_l u_k, \partial_l v_k
-\right)_\Omega.
-$">
-</DIV><P></P>
-
-<P>
-When assembling matrices, it is advantageous to write the weak form
-(i.e. after integration by parts) as a kind of operator. This is since matrix
-elements after discretization are defined as
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="123" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img58.gif"
- ALT="$\displaystyle A_{ij} = a(\varphi_j,\varphi_i)_\Omega,$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-where <!-- MATH
- $\varphi_i,\varphi_j$
- -->
-<IMG
- WIDTH="44" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img59.gif"
- ALT="$ \varphi_i,\varphi_j$"> are two vector-valued trial functions, and it
-would be nice if we could write the bilinear form <!-- MATH
- $a(\cdot,\cdot)$
- -->
-<IMG
- WIDTH="41" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img3.gif"
- ALT="$ a(\cdot,\cdot)$"> as a kind
-of scalar product <!-- MATH
- $(\varphi_i, Q \varphi_j)$
- -->
-<IMG
- WIDTH="69" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img60.gif"
- ALT="$ (\varphi_i, Q \varphi_j)$">, where <IMG
- WIDTH="17" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img61.gif"
- ALT="$ Q$"> is a differential
-operator. This is trivial if we take <IMG
- WIDTH="17" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img61.gif"
- ALT="$ Q$"> as the operator of the strong form,
-<!-- MATH
- $Q=-\nabla (\lambda+\mu) \div - (\nabla \cdot \mu \nabla)$
- -->
-<IMG
- WIDTH="211" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img62.gif"
- ALT="$ Q=-\nabla (\lambda+\mu) \div - (\nabla \cdot \mu \nabla)$">, but we wanted to
-do this for the weak form. For this, we introduce some notation that is used
-in quantum field theory: for differential operators, we indicate by an arrow
-placed atop of it whether it shall act on the object to the left or to the
-right of it. Thus, 
-<!-- MATH
- $\varphi \overleftarrow\nabla \cdot \overrightarrow\nabla \psi
-=(\nabla\varphi)\cdot(\nabla\psi)$
- -->
-<IMG
- WIDTH="174" HEIGHT="41" ALIGN="MIDDLE" BORDER="0"
- SRC="img63.gif"
- ALT="$ \varphi \overleftarrow\nabla \cdot \overrightarrow\nabla \psi
-=(\nabla\varphi)\cdot(\nabla\psi)$">. With this, a simple computation shows 
-that 
-<P></P>
-<DIV ALIGN="CENTER"><!-- MATH
- \begin{multline*}
-a(\vec u,\vec v)
-  =
-  (\lambda+\mu)
-  \left(
-    \begin{pmatrix}
-      u_1 \\u_2
-    \end{pmatrix}
-    \mid
-    \begin{pmatrix}
-      \overleftarrow \partial _1 \overrightarrow \partial _1 &
-      \overleftarrow \partial _1 \overrightarrow \partial _2 \\
-      \overleftarrow \partial _2 \overrightarrow \partial _1 &
-      \overleftarrow \partial _2 \overrightarrow \partial _2
-    \end{pmatrix}
-    \mid
-    \begin{pmatrix}
-      v_1 \\v_2
-    \end{pmatrix}
-  \right)_\Omega
-  \\
-  +
-  \mu
-  \left(
-    \begin{pmatrix}
-      u_1 \\u_2
-    \end{pmatrix}
-    \mid
-    \left(
-      \overleftarrow \partial _1 \overrightarrow \partial _1 +
-      \overleftarrow \partial _2 \overrightarrow \partial _2
-    \right)
-    \begin{pmatrix}
-      1 & 0 \\
-      0 & 1
-    \end{pmatrix}
-    \mid
-    \begin{pmatrix}
-      v_1 \\v_2
-    \end{pmatrix}
-  \right)_\Omega.
-\end{multline*}
- -->
-<IMG
- WIDTH="540" HEIGHT="105" ALIGN="BOTTOM" BORDER="0"
- SRC="img64.gif"
- ALT="\begin{multline*}
-a(\vec u,\vec v)
-=
-(\lambda+\mu)
-\left(
-\begin{pmatrix}
-...
-...\mid
-\begin{pmatrix}
-v_1 \\ v_2
-\end{pmatrix} \right)_\Omega.
-\end{multline*}"></DIV>
-<BR CLEAR="ALL">
-<P><P></P>
-The sought operator <IMG
- WIDTH="17" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img61.gif"
- ALT="$ Q$"> is then
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="528" HEIGHT="63" ALIGN="MIDDLE" BORDER="0"
- SRC="img65.gif"
- ALT="$\displaystyle Q = (\lambda+\mu) \begin{pmatrix}\overleftarrow \partial _1 \over...
-...tial _1 + \overleftarrow \partial _2 \overrightarrow \partial _2 \end{pmatrix},$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-and <!-- MATH
- $a(\vec u,\vec v)=(\vec u | Q | \vec v)$
- -->
-<IMG
- WIDTH="127" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img66.gif"
- ALT="$ a(\vec u,\vec v)=(\vec u \vert Q \vert \vec v)$">. We demonstrate the fact that <IMG
- WIDTH="17" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img61.gif"
- ALT="$ Q$">
-acts to both sides by placing it in the middle of the scalar product, just as
-in the bra-ket notation of quantum physics. 
-
-<P>
-The advantages of this formulation will become clear when discussing
-assembling matrices below. For now, we remark that the symmetry of the weak
-form is equally apparent from the form of <IMG
- WIDTH="17" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img61.gif"
- ALT="$ Q$"> as well as from the initial
-definition of <!-- MATH
- $a(\cdot,\cdot)$
- -->
-<IMG
- WIDTH="41" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img3.gif"
- ALT="$ a(\cdot,\cdot)$">.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html70"
-  HREF="node6.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html68"
-  HREF="node4.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html62"
-  HREF="node4.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html71"
-  HREF="node6.html">The Stokes equations</A>
-<B> Up:</B> <A NAME="tex2html69"
-  HREF="node4.html">Vector-valued problems</A>
-<B> Previous:</B> <A NAME="tex2html63"
-  HREF="node4.html">Vector-valued problems</A>
-<!--End of Navigation Panel-->
-<ADDRESS>
-Wolfgang Bangerth
-2002-06-14
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/deal.II/doc/reports/assemble/node6.html b/deal.II/doc/reports/assemble/node6.html
deleted file mode 100644 (file)
index 287b5f6..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 2002-1 (1.68)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>The Stokes equations</TITLE>
-<META NAME="description" CONTENT="The Stokes equations">
-<META NAME="keywords" CONTENT="assemble">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-1">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="assemble.css">
-
-<LINK REL="previous" HREF="node5.html">
-<LINK REL="up" HREF="node4.html">
-<LINK REL="next" HREF="node7.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html78"
-  HREF="node7.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html76"
-  HREF="node4.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html72"
-  HREF="node5.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html79"
-  HREF="node7.html">Assembling vector-valued problems: The</A>
-<B> Up:</B> <A NAME="tex2html77"
-  HREF="node4.html">Vector-valued problems</A>
-<B> Previous:</B> <A NAME="tex2html73"
-  HREF="node5.html">The elastic equations</A>
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00042000000000000000"></A>
-<A NAME="sec:stokes"></A>
-<BR>
-The Stokes equations
-</H2>
-
-<P>
-For a nonsymmetric problem, we take the Stokes equations: 
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="RIGHT"><IMG
- WIDTH="81" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img67.gif"
- ALT="$\displaystyle -\Delta \vec u + \nabla p$"></TD>
-<TD NOWRAP ALIGN="LEFT"><IMG
- WIDTH="33" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img68.gif"
- ALT="$\displaystyle = 0,$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="RIGHT">div&nbsp;<IMG
- WIDTH="14" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img69.gif"
- ALT="$\displaystyle \vec u$"></TD>
-<TD NOWRAP ALIGN="LEFT"><IMG
- WIDTH="33" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img70.gif"
- ALT="$\displaystyle = 0.$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-We denote by <!-- MATH
- $\vec w=\{\vec u,p\}$
- -->
-<IMG
- WIDTH="80" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img71.gif"
- ALT="$ \vec w=\{\vec u,p\}$"> the entire solution vector. In the weak
-form, the above equations read
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="468" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img72.gif"
- ALT="$\displaystyle a(\vec u,p; \vec v, q) = \nu(\nabla \vec u_1, \nabla \vec v_1) +\...
-... \vec u_2, \nabla \vec v_2) - (p, \nabla\cdot \vec v) + (\nabla\cdot\vec u, q).$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-Since we integrated the gradient term in the first equation by parts, but not
-the divergence term in the second equation, the problem is now
-nonsymmetric. If we would have liked, we could have made the problem symmetric
-again by multiplying the entire second equation by <IMG
- WIDTH="24" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img73.gif"
- ALT="$ -1$">, but we don't want to
-do that for now for illustrational purposes.
-
-<P>
-Again, we introduce the operator <IMG
- WIDTH="17" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img61.gif"
- ALT="$ Q$"> for this problem, which after some
-computations turns out to be
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="406" HEIGHT="83" ALIGN="MIDDLE" BORDER="0"
- SRC="img74.gif"
- ALT="$\displaystyle Q = \begin{pmatrix}\nu(\overleftarrow \partial _1 \overrightarrow...
-...\\ \overrightarrow \partial _1 &amp; \overrightarrow \partial _2 &amp; 0 \end{pmatrix}.$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-Again, it is clear from this form that we could have made the operator
-symmetric by multiplying the last row by <IMG
- WIDTH="24" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img73.gif"
- ALT="$ -1$">. Note when checking the symmetry
-of <IMG
- WIDTH="17" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img61.gif"
- ALT="$ Q$"> that taking the transpose of such an operator means reverting the
-directions of the arrows over the operators, and exchanging their order.
-For example, using the first term, these two steps are 
-<!-- MATH
- $\overleftarrow \partial _1 \overrightarrow \partial _1 \rightarrow \overrightarrow \partial _1 \overleftarrow \partial _1
-\rightarrow \overleftarrow \partial _1 \overrightarrow \partial _1$
- -->
-<IMG
- WIDTH="192" HEIGHT="41" ALIGN="MIDDLE" BORDER="0"
- SRC="img75.gif"
- ALT="$ \overleftarrow \partial _1 \overrightarrow \partial _1 \rightarrow \overrighta...
-... \partial _1
-\rightarrow \overleftarrow \partial _1 \overrightarrow \partial _1$">.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html78"
-  HREF="node7.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html76"
-  HREF="node4.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html72"
-  HREF="node5.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html79"
-  HREF="node7.html">Assembling vector-valued problems: The</A>
-<B> Up:</B> <A NAME="tex2html77"
-  HREF="node4.html">Vector-valued problems</A>
-<B> Previous:</B> <A NAME="tex2html73"
-  HREF="node5.html">The elastic equations</A>
-<!--End of Navigation Panel-->
-<ADDRESS>
-Wolfgang Bangerth
-2002-06-14
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/deal.II/doc/reports/assemble/node7.html b/deal.II/doc/reports/assemble/node7.html
deleted file mode 100644 (file)
index a05621f..0000000
+++ /dev/null
@@ -1,321 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 2002-1 (1.68)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>Assembling vector-valued problems: The simple case</TITLE>
-<META NAME="description" CONTENT="Assembling vector-valued problems: The simple case">
-<META NAME="keywords" CONTENT="assemble">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-1">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="assemble.css">
-
-<LINK REL="next" HREF="node10.html">
-<LINK REL="previous" HREF="node4.html">
-<LINK REL="up" HREF="assemble.html">
-<LINK REL="next" HREF="node8.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html88"
-  HREF="node8.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html86"
-  HREF="assemble.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html80"
-  HREF="node6.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html89"
-  HREF="node8.html">The elastic equations</A>
-<B> Up:</B> <A NAME="tex2html87"
-  HREF="assemble.html">assemble</A>
-<B> Previous:</B> <A NAME="tex2html81"
-  HREF="node6.html">The Stokes equations</A>
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H1><A NAME="SECTION00050000000000000000">
-Assembling vector-valued problems: The simple case</A>
-</H1>
-
-<P>
-The simple case in assembling vector-valued problems is when the (also
-vector-valued) shape functions are chosen such that only one component in the
-vector is nonzero. This is usually the case, if we choose the shape functions
-to be the outer product of scalar shape functions, such as independent
-bilinear ansatz spaces for each component of a finite element space.
-
-<P>
-In this case, each shape function <IMG
- WIDTH="21" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img76.gif"
- ALT="$ \Phi_i$"> has the representation
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="248" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
- SRC="img77.gif"
- ALT="$\displaystyle \Phi_i(\vec x) = \left( 0, \dots, 0, \varphi_i(\vec x), 0, \ldots, 0\right)^T,$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-where <IMG
- WIDTH="21" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img76.gif"
- ALT="$ \Phi_i$"> is the vector-valued shape function, and <IMG
- WIDTH="20" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img78.gif"
- ALT="$ \varphi_i$"> its
-only non-zero component. Let us denote by <IMG
- WIDTH="29" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img79.gif"
- ALT="$ c(i)$"> the index of this non-zero
-component, then <IMG
- WIDTH="21" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img76.gif"
- ALT="$ \Phi_i$"> can also be written as 
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="159" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img80.gif"
- ALT="$\displaystyle \left(\Phi_i(\vec x)\right)_l = \varphi_i(\vec x) \delta_{c(i),l},$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-with the Kronecker delta function <!-- MATH
- $\delta_{jk}$
- -->
-<IMG
- WIDTH="25" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img81.gif"
- ALT="$ \delta_{jk}$">.
-
-<P>
-With this simple form, the cell matrix on cell <IMG
- WIDTH="19" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img20.gif"
- ALT="$ K$"> has a simple form:
-<P></P>
-<DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
-<TR VALIGN="MIDDLE">
-<TD NOWRAP ALIGN="CENTER"><IMG
- WIDTH="418" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
- SRC="img82.gif"
- ALT="$\displaystyle A^K_{ij} = a_K(\Phi_i,\Phi_j) = \left(\Phi_i \mid Q \mid \Phi_j \right)_K = \left(\varphi_i \mid Q_{c(i),c(j)} \mid \varphi_j \right)_K.$"></TD>
-<TD NOWRAP WIDTH="10" ALIGN="RIGHT">
-&nbsp;&nbsp;&nbsp;</TD></TR>
-</TABLE></DIV>
-<BR CLEAR="ALL"><P></P>
-Thus, in assembling the local cell matrices, we only have to determine the
-single components in which the two shape functions are non-zero, and 
-pick one element from the matrix <IMG
- WIDTH="17" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img61.gif"
- ALT="$ Q$"> to assemble each entry of the cell
-matrix with the help of the values of the functions <IMG
- WIDTH="20" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img78.gif"
- ALT="$ \varphi_i$"> at the
-quadrature points. Here, it comes handy that we have written the operator as a
-matrix operator <IMG
- WIDTH="17" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img61.gif"
- ALT="$ Q$">, since this makes it very clear how shape functions <IMG
- WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img33.gif"
- ALT="$ i$">
-and <IMG
- WIDTH="12" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img83.gif"
- ALT="$ j$"> couple: if <!-- MATH
- $Q_{c(i),c(j)}$
- -->
-<IMG
- WIDTH="63" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img84.gif"
- ALT="$ Q_{c(i),c(j)}$"> is zero, then they do not couple at all for
-this operator. Otherwise, it is easily visible which derivative acts on which
-shape function for this combination of shape functions.
-
-<P>
-In <TT>deal.II</TT>, these two actions mentioned above (getting the non-zero
-component of a shape function, and the value of this component at a given
-quadrature point) are done as follows:
-
-<UL>
-<LI><I>Determining the non-zero component:</I> Given the shape function
-  with number <IMG
- WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img33.gif"
- ALT="$ i$"> (i.e. its index local to the degrees of freedom on the
-  present cell), its only non-zero component is obtained by the function call 
-<PRE>
-  const unsigned int nonzero_component_i
-     = fe.system_to_component_index(i).first;
-</PRE>
-  The <TT>FiniteElement::system_to_component_index</TT> returns a pair of
-  numbers for each index <!-- MATH
- $0\le i < N_K$
- -->
-<IMG
- WIDTH="85" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img85.gif"
- ALT="$ 0\le i &lt; N_K$">, the first of which denotes the only
-  non-zero component of the shape function <IMG
- WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img33.gif"
- ALT="$ i$">. Since for the case described
-  in this section, the individual components of the vector-valued finite
-  element are independent, we consider each component as a set of scalar shape
-  functions; the second number of the pair returned by the function then
-  denotes the index of the shape function <IMG
- WIDTH="20" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img78.gif"
- ALT="$ \varphi_i$"> within the shape
-  functions corresponding to this component.
-
-<P>
-If, for example, our finite element in use is a <!-- MATH
- $Q^2/Q^2/Q^1$
- -->
-<IMG
- WIDTH="79" HEIGHT="33" ALIGN="MIDDLE" BORDER="0"
- SRC="img86.gif"
- ALT="$ Q^2/Q^2/Q^1$"> combination
-  (for example for 2d flow computations: bi-quadratic ansatz functions for the
-  velocities, bi-linear for the pressure), then we have a total of 22 shape
-  functions (9+9+4). For each <!-- MATH
- $0\le i < 22$
- -->
-<IMG
- WIDTH="76" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img87.gif"
- ALT="$ 0\le i &lt; 22$">, the first part of the pair
-  returned by the function described above, <IMG
- WIDTH="29" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img79.gif"
- ALT="$ c(i)$">, may then either be 0, 1,
-  or 2, denoting the three possible components of the finite element. If
-  <IMG
- WIDTH="29" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img79.gif"
- ALT="$ c(i)$"> is either 0 or 1, then the component to which the shape function <IMG
- WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img33.gif"
- ALT="$ i$">
-  belongs is a bi-quadratic one, and the second index is between 0 and <IMG
- WIDTH="12" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
- SRC="img88.gif"
- ALT="$ 8$">
-  (inclusive) as the <IMG
- WIDTH="24" HEIGHT="33" ALIGN="MIDDLE" BORDER="0"
- SRC="img89.gif"
- ALT="$ Q^2$"> element has 9 shape functions. If <IMG
- WIDTH="70" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img90.gif"
- ALT="$ c(i)==2$">, then
-  the second part is between 0 and 3 (inclusive).
-
-<P>
-</LI>
-<LI><I>Getting the value of <!-- MATH
- $\varphi_i(\vec x_q)$
- -->
-<IMG
- WIDTH="49" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img91.gif"
- ALT="$ \varphi_i(\vec x_q)$">:</I> Since only one
-  component of <IMG
- WIDTH="21" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img76.gif"
- ALT="$ \Phi_i$"> is non-zero, we can use the same function as before,
-  i.e. <TT>FEValues::shape_value(i,q)</TT>, which in the scalar case returned
-  the value of shape function <IMG
- WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img33.gif"
- ALT="$ i$"> at quadrature point <IMG
- WIDTH="12" HEIGHT="28" ALIGN="MIDDLE" BORDER="0"
- SRC="img92.gif"
- ALT="$ q$">. Likewise, the 
-  <TT>FEValues::shape_grad(i,q)</TT> function returns the gradient of this
-  particular component.
-
-<P>
-In other words, whether the finite element is scalar or not, the two
-  indicated functions return value and gradient of the only non-zero component
-  of a shape function. If the finite element is scalar, then it is of course
-  clear which component this is (since there <IMG
- WIDTH="70" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img93.gif"
- ALT="$ c(i)==0$"> for all valid indices
-  <IMG
- WIDTH="10" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
- SRC="img33.gif"
- ALT="$ i$">), in the vector-valued case, it is component <IMG
- WIDTH="29" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img79.gif"
- ALT="$ c(i)$">.
-</LI>
-</UL>
-
-<P>
-<BR><HR>
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html90"
-  HREF="node8.html">The elastic equations</A>
-<LI><A NAME="tex2html91"
-  HREF="node9.html">The Stokes equations</A>
-</UL>
-<!--End of Table of Child-Links-->
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html88"
-  HREF="node8.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html86"
-  HREF="assemble.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html80"
-  HREF="node6.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html89"
-  HREF="node8.html">The elastic equations</A>
-<B> Up:</B> <A NAME="tex2html87"
-  HREF="assemble.html">assemble</A>
-<B> Previous:</B> <A NAME="tex2html81"
-  HREF="node6.html">The Stokes equations</A>
-<!--End of Navigation Panel-->
-<ADDRESS>
-Wolfgang Bangerth
-2002-06-14
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/deal.II/doc/reports/assemble/node8.html b/deal.II/doc/reports/assemble/node8.html
deleted file mode 100644 (file)
index 0d730b7..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 2002-1 (1.68)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>The elastic equations</TITLE>
-<META NAME="description" CONTENT="The elastic equations">
-<META NAME="keywords" CONTENT="assemble">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-1">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="assemble.css">
-
-<LINK REL="next" HREF="node9.html">
-<LINK REL="previous" HREF="node7.html">
-<LINK REL="up" HREF="node7.html">
-<LINK REL="next" HREF="node9.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html100"
-  HREF="node9.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html98"
-  HREF="node7.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html92"
-  HREF="node7.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html101"
-  HREF="node9.html">The Stokes equations</A>
-<B> Up:</B> <A NAME="tex2html99"
-  HREF="node7.html">Assembling vector-valued problems: The</A>
-<B> Previous:</B> <A NAME="tex2html93"
-  HREF="node7.html">Assembling vector-valued problems: The</A>
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00051000000000000000"></A>
-<A NAME="sec:elastic-simple"></A>
-<BR>
-The elastic equations
-</H2>
-
-<P>
-With this, and the definition of the ``bi-directional'' operator <IMG
- WIDTH="17" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img61.gif"
- ALT="$ Q$"> in
-Section&nbsp;<A HREF="node5.html#sec:elastic">4.1</A>, the local matrix assembly function for the elastic
-equations would then read as follows:
-<PRE>
-  for (unsigned int i=0; i&lt;fe.dofs_per_cell; ++i)
-    for (unsigned int j=0; j&lt;fe.dofs_per_cell; ++j)
-      for (unsigned int q=0; q&lt;n_q_points; ++q) 
-        {
-          const unsigned int
-            comp_i = fe.system_to_component_index(i).first,
-            comp_j = fe.system_to_component_index(j).first;
-
-                           // first assemble part with lambda+mu
-          cell_matrix(i,j) += ((lambda+mu)                       *
-                               fe_values.shape_grad(i,q)[comp_i] * 
-                               fe_values.shape_grad(j,q)[comp_j] *
-                               fe_values.JxW(q)); 
-
-                           // then part with mu only
-          if (comp_i == comp_j)
-            cell_matrix(i,j) += (mu                           *
-                                 (fe_values.shape_grad(i,q) * 
-                                  fe_values.shape_grad(j,q)  )*
-                                 fe_values.JxW(q)); 
-        };
-</PRE>
-Note that this code works in any space dimension, not only for
-<TT>dim==2</TT>. Optimization of this is possible by hoisting the computation
-of <TT>comp_i</TT> and <TT>comp_j</TT>, denoting <IMG
- WIDTH="29" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img79.gif"
- ALT="$ c(i)$"> and <IMG
- WIDTH="31" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
- SRC="img94.gif"
- ALT="$ c(j)$">,
-respectively, out of the inner loops. Also, if the coefficients are
-non-constant, they need to be computed at each quadrature point; this may be
-done using this fragment in the innermost loop:
-<PRE>
-  const double
-    lambda_value = lambda.value(fe_values.quadrature_point(q)),
-    mu_value     = mu.value(fe_values.quadrature_point(q));
-</PRE>
-assuming that <TT>lambda,mu</TT> are variables of classes that are derived
-from the <TT>Function&lt;dim&gt;</TT> class.
-
-<P>
-<BR><HR>
-<ADDRESS>
-Wolfgang Bangerth
-2002-06-14
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/deal.II/doc/reports/assemble/node9.html b/deal.II/doc/reports/assemble/node9.html
deleted file mode 100644 (file)
index b08791e..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 2002-1 (1.68)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>The Stokes equations</TITLE>
-<META NAME="description" CONTENT="The Stokes equations">
-<META NAME="keywords" CONTENT="assemble">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-1">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="assemble.css">
-
-<LINK REL="previous" HREF="node8.html">
-<LINK REL="up" HREF="node7.html">
-<LINK REL="next" HREF="node10.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html108"
-  HREF="node10.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
- SRC="../deal.II-paper/next_motif.gif"></A> 
-<A NAME="tex2html106"
-  HREF="node7.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="../deal.II-paper/up_motif.gif"></A> 
-<A NAME="tex2html102"
-  HREF="node8.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="../deal.II-paper/previous_motif.gif"></A>   
-<BR>
-<B> Next:</B> <A NAME="tex2html109"
-  HREF="node10.html">Assembling vector-valued problems: The</A>
-<B> Up:</B> <A NAME="tex2html107"
-  HREF="node7.html">Assembling vector-valued problems: The</A>
-<B> Previous:</B> <A NAME="tex2html103"
-  HREF="node8.html">The elastic equations</A>
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00052000000000000000"></A>
-<A NAME="sec:stokes-simple"></A>
-<BR>
-The Stokes equations
-</H2>
-
-<P>
-For the Stokes equation, things are slightly more complicated since the three
-components denote different quantities, and the operator <IMG
- WIDTH="17" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
- SRC="img61.gif"
- ALT="$ Q$"> does not have
-such a simple form, but the case is still simple enough. We present its
-generalization to an arbitrary number of space dimensions, i.e. assume that
-there are <TT>dim</TT> velocity variables and one scalar pressure:
-<PRE>
-  for (unsigned int i=0; i&lt;fe.dofs_per_cell; ++i)
-    for (unsigned int j=0; j&lt;fe.dofs_per_cell; ++j)
-      for (unsigned int q=0; q&lt;n_q_points; ++q) 
-        {
-          const unsigned int
-            comp_i = fe.system_to_component_index(i).first,
-            comp_j = fe.system_to_component_index(j).first;
-
-                           // velocity-velocity coupling?
-          if ((comp_i&lt;dim) &amp;&amp; (comp_j&lt;dim))
-            if (comp_i == comp_j)
-              cell_matrix(i,j) += (nu *
-                                   (fe_values.shape_grad(i,q) * 
-                                    fe_values.shape_grad(j,q)  ) *
-                                   fe_values.JxW(q)); 
-
-                           // velocity-pressure coupling
-          if ((comp_i&lt;dim) &amp;&amp; (comp_j==dim))
-            cell_matrix(i,j) += (-fe_values.shape_grad(i,q)[comp_i] * 
-                                  fe_values.shape_value(j,q)        *
-                                 fe_values.JxW(q)); 
-
-                           // pressure-velocity coupling
-          if ((comp_i==dim) &amp;&amp; (comp_j&lt;dim))
-            cell_matrix(i,j) += (fe_values.shape_value(i,q) * 
-                                 fe_values.shape_grad(j,q)[comp_j] *
-                                 fe_values.JxW(q)); 
-        };
-</PRE>
-Again, optimization is possible by observing that only one of the outer
-<TT>if</TT>s in the body can be true, for example using <TT>else</TT> clauses,
-or <TT>break</TT> statements.
-
-<P>
-<BR><HR>
-<ADDRESS>
-Wolfgang Bangerth
-2002-06-14
-</ADDRESS>
-</BODY>
-</HTML>

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.