]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
changes for 4.0.0
authorguido <guido@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 4 Jun 2003 15:55:12 +0000 (15:55 +0000)
committerguido <guido@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 4 Jun 2003 15:55:12 +0000 (15:55 +0000)
git-svn-id: https://svn.dealii.org/trunk@7742 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/doc/news/3.4.0-vs-4.0.0.html [new file with mode: 0644]
deal.II/doc/news/c-4-0.html [new file with mode: 0644]
deal.II/doc/news/news.html

diff --git a/deal.II/doc/news/3.4.0-vs-4.0.0.html b/deal.II/doc/news/3.4.0-vs-4.0.0.html
new file mode 100644 (file)
index 0000000..e57bbdd
--- /dev/null
@@ -0,0 +1,1392 @@
+<!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>
diff --git a/deal.II/doc/news/c-4-0.html b/deal.II/doc/news/c-4-0.html
new file mode 100644 (file)
index 0000000..b2c1d87
--- /dev/null
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.1 Transitional//EN"
+   "http://www.w3.org/TR/REC-html40/loose.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 4.0</h2>
+
+<p>
+This is the list of changes made after the release of 
+<acronym>deal.II</acronym> version ??.??. 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), BK (Benjamin S. Kirk).
+</p>
+
+
+<a name="general"></a>
+<h3>General</h3>
+
+<ol>
+</ol>
+
+
+
+<a name="base"></a>
+<h3>base</h3>
+
+<ol>
+</ol>
+
+
+
+<a name="lac"></a>
+<h3>lac</h3>
+
+<ol>
+</ol>
+
+
+
+<a name="deal.II"></a>
+<h3>deal.II</h3>
+
+<ol>
+</ol>
+
+<hr>
+Last update $Date$
+
+</body>
+</html>
index 09273f654ce5a2b46c3c10621315eb99df15f130..67e0cf2406e3bf90a2b567189366f1a0e43471b5 100644 (file)
   </head>
 
 <body>
- <script type="text/javascript">
-  <!--
-  var release = "$Name$";
-  release=release.replace(/\$.*: */,"");
-  release=release.replace(/.*Version-/,"");
-  release=release.replace(/\$/, "");
-  release=release.replace(/-/g, ".");
-  release=release.replace(/ /g, "");
-  document.close();
-  document.open();
-  if (release != "")
-  {
-    document.writeln("<h2>News file for version " + release + "</h2>");
-    document.writeln("<p>Check out this link for the <a h" + "ref=\"http://www.dealii.org/news/news.html\">current version</a>");
-  }
-  //-->
-  </script>
-
     <h2>News on <acronym>deal.II</acronym></h2>
 
     <p>
     mailing list</a> for additional news.
     </p>
 
+    <p> Changes in the library since the last release are
+    <a href="c-4-0.html">here.</a></p>
 
     <dl>
+      <dt>
+          <strong style="color:red">2003/06/06: Version 4.0 released</strong>
+      </dt>
+      <dd>
+          After one year, we made it and released Version 4.0.0 today!
+          A complete list of changes between
+         versions 3.4.0 and 4.0.0 can be found <a
+         href="3.4.0-vs-4.0.0.html" target="body">here</a>.
+      </dd>
+
       <dt>
           <strong>2003/04/30: New report on Nedelec elements</strong>
       </dt>

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.