]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Rename c-3-1.html to this file also on main branch.
authorhartmann <hartmann@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 26 Sep 2001 12:54:30 +0000 (12:54 +0000)
committerhartmann <hartmann@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 26 Sep 2001 12:54:30 +0000 (12:54 +0000)
git-svn-id: https://svn.dealii.org/trunk@5093 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/doc/news/2001/3.1.0-vs-3.2.0.html [new file with mode: 0644]

diff --git a/deal.II/doc/news/2001/3.1.0-vs-3.2.0.html b/deal.II/doc/news/2001/3.1.0-vs-3.2.0.html
new file mode 100644 (file)
index 0000000..53d5b78
--- /dev/null
@@ -0,0 +1,1255 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
+   "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html>
+  <head>
+    <link href="../../screen.css" rel="StyleSheet" title="deal.II Homepage" media="screen">
+    <link href="../../print.css" rel="StyleSheet" title="deal.II Homepage" media="print">
+    <title>The deal.II news page</title>
+    <meta name="author" content="Wolfgang Bangerth, Guido Kanschat, and others">
+    <meta name="keywords" content="deal.II"></head>
+
+<body>
+
+
+<h2>Changes between versions 3.1.0 and 3.2.0</h2>
+
+
+This is a quite extensive list of changes made between versions 3.1.0
+and 3.2.0 of <acronym>deal.II</acronym>. 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>.
+
+
+
+<a name="general"></a>
+<h3>General</h3>
+
+<ol>
+  <li> <p>
+       New: example program step-11.
+       <br>
+       (WB 2001/09/17)
+       </p>
+
+  <li> <p>
+       New: example program step-10.
+       <br>
+       (WB, RH 2001/09/12)
+       </p>
+
+  <li> <p>
+       New: the <code>./configure</code> script now also recognizes
+       Compaq's cxx compiler. The library now also compiles cleanly
+       with this compiler.
+       <br>
+       (WB 2001/07/06)
+       </p>
+
+  <li> <p>
+       Changed: The libraries are no more linked using the C++
+       compilation flags, but rather using LDFLAGS. Some compilers
+       object to compilation flags on the linker line.
+       <br>
+       (WB 2001/05/23)
+       </p>
+
+  <li> <p>
+       Changed: If in multithreaded mode, the ACE library is now
+       automatically added to the <code>$(LIBS)</code> Makefile
+       variable. There is no need anymore for a special clause in your
+       Makefile.
+       <br>
+       (WB 2001/05/23)
+       </p>
+
+  <li> <p>
+       New: the <code>./configure</code> script now also recognizes
+       the Intel ICC compiler that was released for Linux lately. The
+       library now also compiles cleanly with this compiler.
+       <br>
+       (WB 2001/05/22)
+       </p>
+
+  <li> <p>
+       Fixed: the program that generated HTML from the example
+       programs was broken on some platforms for reasons beyond our
+       knowledge. This is now fixed.
+       <br>
+       (Roger Young, WB 2001/03/22)
+       </p>
+
+  <li> <p>
+       Improved: libraries are now all in a subdirectory lib in the
+       <acronym>deal.II</acronym> home directory. It is now easy to
+       make this directory a link to put the libraries on a faster
+       disk.
+       <br>
+       (GK 2001/03/14)
+       </p>
+
+  <li> <a name="new_fe_mapping_design"></a>
+       <i> New Design of <code class="class">FiniteElements</code>
+       and <code class="class">Mappings</code></i>
+              
+       <p>
+       New: The finite element
+       classes have been redesigned from scratch to allow also
+       elements that depend on the actual cell shape, like
+       Raviart-Thomas, BDM or edge elements. We have implemented
+       continuous Lagrange elements up to degree four and discontinous
+       Lagrange elements up to degree 10. They can be easily extended
+       to higher degree.
+       </p>
+
+       <p> 
+       Furthermore we have totally reimplemented the mapping
+       between unit and real cell.  In future we won't be restricted
+       to Q<sub>1</sub> mapping any more, but we will have
+       Q<sub>p</sub> mappings of arbitrary degree p. Presently
+       implemented are mappings up to degree 10 in 2d, and degree
+       three in 3d. This allows to approximate curved boundaries not
+       only by straight lines (linear approximation) but also by
+       quadratic, cubic, etc approximation. The finite elements will
+       be able to be combined with arbitrary mappings. So in future we
+       can use subparametric, iso- as well as superparametric
+       elements.
+       </p>
+
+       <p>
+       The new implementation uses a totally new structure of
+       communication between <code class="class">FEValues</code>, the
+       <code class="class">FiniteElements</code> and the <code
+       class="class">Mappings</code>. Despite of this, the new
+       structure will almost not be 'visible' to the user of
+       <acronym>deal.II</acronym> as we tried to retain the interface
+       to the user (mainly that of <code
+       class="class">FEValues</code>) as far as possible.
+       </p>
+
+       <p>
+       Together with this new design comes a reduction of 25000(!)
+       lines of <acronym>deal.II</acronym> code. This elimination
+       mainly affected code that previously was machine generated
+       (e.g. by maple). In view of almost unchanged execution times of
+       applications, the faster compilation and additional
+       functionality constitutes a significant improvement of
+       <acronym>deal.II</acronym>. Results produced by the new code
+       match those of the old design up to machine precision.
+       <br>
+       (RH & GK 2001/03/13)
+       </p>
+
+  <li> <p>
+       New: There is now some support to include and use routines from the 
+       <a href="http://www.cse.clrc.ac.uk/Activity/HSL" 
+       target="_top">Harwell Subroutine Library</a>.
+       (See the <a href="../../readme.html#external-libs" target="body">ReadMe</a>
+       file for more information on installation of HSL
+       subroutines.)
+       <br>
+       (WB 2001/01/30)
+       </p>
+
+  <li> <p>
+       New: The <code>./configure</code> script now checks for the
+       existence of a Fortran 77 compiler, and sets its path, some
+       compiler flags and the libraries to be linked in when mixing
+       C++ and F77 in some variables in the file
+       <code>common/Make.global_options</code> (see also
+       <a href="../../development/makefiles.html" target="body">this
+       page</a>).
+       <br>
+       (WB 2000/12/30)
+       </p>
+</ol>
+
+
+
+<a name="base"></a>
+<h3>base</h3>
+
+<ol>
+  <li> <p> 
+       New: Color function <code
+       class="member">DataOutBase::EpsFlags::reverse_grey_scale_color_function</code>.
+       <br>
+       (WB 2001/08/24)
+       </p>
+
+  <li> <p> 
+       New: Function <code class="member">QProjector::project_to_child</code>
+       generates quadrature formulae which act on the area which a
+       child would occupy.
+       <br>
+       (WB 2001/08/23)
+       </p>
+
+  <li> <p>
+       Changed: The examples classes in the base directory are now
+       moved into a namespace <code class="class">Functions</code> of
+       their own. This improves encapsulation, but also keeps the
+       documentation of these functions together, as they were
+       previously scrambled all over the screen in the documentation
+       page of the base library.
+       <br>
+       (WB 2001/07/18)
+       </p>
+
+  <li> <p> 
+       New: classes <code class="class">FourierSineFunction</code>
+       and <code class="class">FourierCosineFunction</code>,
+       resembling one mode of a Fourier decomposition. Classes <code
+       class="class">FourierSineSum</code> and <code
+       class="class">FourierCosineSum</code>, resembling sums of such
+       modes of a Fourier decomposition.
+       <br>
+       (WB 2001/07/18)
+       </p>
+
+  <li> <p>
+       New: class <code class="class">vector2d</code> was introduced
+       in analogy to STL class <code class="class">vector</code>. The
+       bew class provides a two-dimensional array and replaces the use
+       of <code class="class">FullMatrix</code> in the base library.
+       <br>
+       (GK 2001/05/21)
+       </p>
+
+  <li> <p>
+       Improved: <code class="class">JobIdentifier</code>::<code
+       class="member">operator()</code> includes host name if
+       supported by the operating system
+       <br>
+       (GK 2001/05/17)
+       </p>
+
+  <li> <p>
+       New: There is now a new <code
+       class="class">AutoDerivativeFunction</code> class that
+       automatically computes the gradient of a function by employing
+       numerical difference quotients. This only, if the user function
+       does not provide the gradient function himself. This class can
+       replace the <code class="class">Function</code> class as base
+       class for user defined <code class="class">Function</code>
+       classes.
+       <br>
+       This new class can be used if the user only implements the
+       <code class="member">value</code> function but wants to call
+       also the <code class="member">gradient</code> functions.
+       <br>
+       (RH 2001/05/15)
+       </p>
+
+  <li> <p>
+       New: The <code class="class">Quadrature</code> class now has a
+       constructor that only accepts quadrature points and sets the
+       weights to invalid values.
+       <br>
+       (GK 2001/04/26)
+       </p>
+
+  <li> <p>
+       New: The function <code class="class">Logstream</code>::<code
+       class="member">get_prefix</code> allows access to the prefix
+       string used for log-files.
+       <br>
+       (GK 2001/04/26)
+       </p>
+
+  <li> <p>
+       New: There is now a global function <code
+       class="function">trace</code> that computes the trace of a tensor
+       of rank 2.
+       <br>
+       (WB 2001/04/12)
+       </p>
+
+  <li> <p>
+       New: The <code class="class">Threads</code> now has a barrier
+       class in order to synchronise multiple threads. In
+       multithreaded mode, this is an alias to the <code
+       class="class">ACE_Barrier</code> class of the ACE library, if
+       deal.II is not configured for multithreading, then the class is
+       a dummy class that does nothing.
+       <br>
+       (WB 2001/03/19)
+       </p>
+
+  <li> <p>
+       New: We now support the output format of the <a
+       href="http://www.kitware.com/vtk.html"
+       target="_top">Visualization Toolkit (Vtk)</a> from the <code
+       class="class">DataOutBase</code> class and all derived classes.
+       <br>
+       (WB 2001/03/19)
+       </p>
+
+  <li> <p>
+       New: The class <code
+       class="class">TensorProductPolynomials&lt;dim&gt;</code>
+       performs the tensor product of 1d polynomials, computes its
+       values, its first and second derivatives. If <code>n</code>
+       polynomials are given to the constructor of this class, it
+       constructs <code>n<sup>dim</sup></code> tensor product
+       polynomials.
+       <br>
+       (RH 2001/03/14)
+       </p>
+
+  <li> <p>
+       New: <code class="class">LagrangeEquidistant</code> is a new
+       class derived from <code class="class">Polynomial</code>
+       providing the 1d Lagrange interpolation of degree
+       <code>n</code> of <code>n+1</code> equidistant support points
+       in <code>[0,1]</code>. It is implemented up to degree 10.
+       This class is used for the implementation of the continuous and
+       discontinuous Lagrange elements.
+       <br>
+       (RH 2001/03/14)
+       </p>
+
+  <li> <p>
+       New: The new <code class="class">Polynomial</code> class can
+       be used as base class for all 1d polynomials. It stores the
+       coefficients of the polynomial and uses the Horner scheme to
+       evaluate values and all derivates.
+       <br>
+       (RH 2001/03/14)
+       </p>
+
+  <li> <p>
+       New: function <code>contract</code> for two arguments of
+       <code class="class">Tensor&lt;1,dim&gt;</code>
+       <br>
+       (GK 2001/03/05)
+       </p>
+
+  <li> <p> New: <code class="class">Logstream</code>::<code
+       class="member">log_time_differences (bool)</code> makes <code
+       class="class">Logstream</code> print the time since the last
+       log line instead of accumulated time since program start.
+       <br>
+       (GK 2001/03/05)
+       </p>
+
+  <li> <p> Fix: <code class="class">Logstream</code>::<code
+       class="member">pop()</code> does not perform anything on empty
+       stacks.
+       <br>
+       (GK 2001/03/05)
+       </p>
+
+  <li> <p>
+       Changed: Sort the quadrature points of each <code
+       class="class">Quadrature&lt;1&gt;</code> in ascending order. This
+       actually changed the order of the points of only <code
+       class="class">QGauss4</code> and <code
+       class="class">QGauss5</code>.
+       <br>
+       (Ralf Hartmann 2001/01/22)
+       </p>
+
+  <li> <p>
+       New: function <code>contract</code> for two arguments of
+       <code class="class">Tensor&lt;1,dim&gt;</code>
+       <br>
+       (GK 2001/01/15)
+       </p>
+</ol>
+
+
+
+<a name="lac"></a>
+<h3>lac</h3>
+
+<ol>
+  <li> <p>
+       New: Function <code class="class">FullMatrix::symmetrize()</code>.
+       <br>
+       (WB 2001/09/20)
+       </p>
+
+  <li> <p>
+       Improved: the stopping criterion of <code
+       class="class">SolverBicgstab</code> without computing the exact
+       residual is implemented
+       <br>
+       (GK 2001/09/11)
+       </p>
+
+  <li> <p>
+       New: The <code class="class">FullMatrix</code> class now has a
+       function <code class="member">operator*=</code>, which simply
+       scales the matrix.
+       <br>
+       (WB 2001/09/02)
+       </p>
+
+  <li> <p>
+       New: Function <code class="class">BlockSparseMatrix::el()</code>,
+       just like <code class="class">SparseMatrix::el()</code>.
+       <br>
+       (WB 2001/08/21)
+       </p>
+
+  <li> <p>
+       New: There is now a class <code class="class">MatrixOut</code>
+       which can be used to convert a matrix into a graphical output,
+       for example in order to see visually that a matrix is
+       diagonally dominant or not.
+       <br>
+       (WB 2001/08/21)
+       </p>
+
+  <li> <p>
+       Changed: Base class <code class="class">Solver</code> and all
+       <code class="class">Preconditioner</code> classes are now
+       derived from <code class="class">Subscriptor</code>.
+       Class <code class="class">PreconditionLACSolver</code> now uses
+       smartpointers to the given solver and preconditioner
+       objects. You will, therefore, have to derive your own
+       preconditioners and solvers from <code
+       class="class">Subscriptor</code> if you want to use it with
+       <code class="class">PreconditionLACSolver</code>.
+       <br>
+       (WB 2001/08/16)
+       </p>
+
+  <li> <p>
+       New: Classes <code class="class">Vector</code> and
+       <code class="class">BlockVector</code> now have member functions
+       <code class="member">operator*=</code> which scale the vectors
+       by a constant factor. These functions are aliases for the 
+       <code class="member">scale</code> member functions except that
+       they return a reference to themselves.
+       <br>
+       (WB 2001/08/14)
+       </p>
+
+  <li> <p>
+       New: There is now a function 
+       <code class="member">FullMatrix::precondition_Jacobi</code>. The 
+       <code class="class">PreconditionJacobi</code> class is
+       therefore now also applicable with the full matrix class.
+       <br>
+       (WB 2001/08/11)
+       </p>
+
+  <li> <p>
+       New: The <code class="class">Vector</code> and
+       <code class="class">BlockVector</code> classes can now be
+       initialized using a new constructor that takes two iterators
+       that denote a range of elements which are to be copied.
+       <br>
+       (WB 2001/08/08)
+       </p>
+
+  <li> <p>
+       Changed: The <code class="class">SolverCG</code> class now
+       saves the initial matrix vector product if the initial value of
+       the solution is vector is zero, as it is common practice to use
+       this is starting vector.
+       <br>
+       (WB 2001/06/25)
+       </p>
+
+  <li> <p>
+       New: <code class="member">SparsityPattern::reinit</code> no
+       more throws an error if the given maximal row lengths are all
+       zero.
+       <br>
+       (WB 2001/06/25)
+       </p>
+
+  <li> <p>
+       New: Class <code class="class">CompressedBlockSparsityPattern</code>
+       may be used as an intermediate form of the <code
+       class="class">BlockSparsityPattern</code>.
+       <br>
+       (WB 2001/06/23)
+       </p>
+
+  <li> <p>
+       New: Class <code class="class">CompressedSparsityPattern</code>
+       may be used as an intermediate form of the <code
+       class="class">SparsityPattern</code> class if memory
+       requirements are tight during construction of the sparsity
+       pattern.
+       <br>
+       (WB 2001/06/22)
+       </p>
+
+  <li> <p>
+       New: There are now functions 
+       <code class="member">SparsityPattern::copy_from</code> and
+       <code class="member">SparseMatrix::copy_from</code>
+       that can be used to construct sparsity patterns and matrix at
+       once, i.e. without setting up a sparsity pattern element by
+       element, possibly after using a way too large value for the
+       maximal row length, then calling 
+       <code class="member">SparsityPattern::compress</code> etc.
+       <br>
+       (WB 2001/05/07)
+       </p>
+
+  <li> <p>
+       New: <code class="member">BlockIndices::block_size</code>
+       returns the size of a specified block.
+       <br>
+       (WB 2001/05/07)
+       </p>
+
+  <li> <p>
+       New: There is now a (private) function <code
+       class="member">SparsityPattern::optimized_lower_bound</code>
+       that is used as an optimized replacement for <code
+       class="member">std::lower_bound</code> for searching in the
+       column number arrays. It unrolls small loops and it also seems
+       that the compiler is able to optimized it better due to
+       eliminated template parameters, making it about twice as fast
+       as the standard implementation. In effect, it also speeds up
+       the SSOR preconditioner that spent about one third of its time
+       in that function by approximately 15 per cent.
+       <br>
+       (WB 2001/04/25)
+       </p>
+
+  <li> <p>
+       New: The <code class="class">FilteredMatrix</code> class is a
+       replacement for the <code
+       class="class">MatrixTools::apply_boundary_values</code>
+       function for cases where you would like to solve several times
+       with the same matrix, either for different right hand sides, or
+       for different boundary values.
+       <br>
+       (WB 2001/04/27)
+       </p>
+
+  <li> <p>
+       New: There is now a function <code
+       class="class">Vector</code>::<code
+       class="member">scale(Vector)</code>
+       that scales each element of the vector by the corresponding
+       element of the argument.
+       <br>
+       (WB 2001/04/23)
+       </p>
+
+  <li> <p> Changed: Solver functions <code class="member">solve</code>
+       return void now. If the solver has not converged within the
+       maximum number of iterations or encounters a breakdown, it
+       throws an exception of type <code
+       class="class">SolverControl</code>::<code
+       class="member">NoConvergence</code> instead of
+       returning a special value.
+       <br>
+       (GK 2001/03/29)
+       </p>
+
+  <li> <p> 
+       New: The functions <code class="class">FullMatrix</code>::<code
+       class="member">mmult</code> and <code
+       class="member">Tmmult</code> now have an additional
+       <code>adding</code> argument. If this flag is
+       <code>true</code>, the matrix-matrix product is added to the
+       resulting matrix; if <code>false</code>, the resulting matrix
+       is set to (overwritten by) the matrix-matrix product. The
+       latter is the behaviour these functions had before. Hence the
+       default value is set to be <code>false</code> to ensure
+       backward compatibility.
+       <br>
+       (RH 2001/03/29)
+       </p>
+
+  <li> <p>
+       New: class <code class="class">SchurMatrix</code> implements
+       a Schur complement for block matrices. It provides matrix-vector
+       multiplication suitable for iterative methods as well as pre- and
+       post-processing of right hand side and slution, respectively. 
+       <br>
+       (GK 2001/03/22)
+       </p>
+
+  <li> <p>
+       Removed: The explicite instantiations of <code
+       class="class">SparseMatrix&lt;long double&gt;</code> are
+       removed as a prerelease of gcc3.0 fails to compile it. A user
+       of <code class="class">SparseMatrix&lt;long double&gt;</code>
+       needs now to include
+       <code>lac/include/lac/sparse_matrix.templates.h</code> into his
+       source file and to use an appropriate compiler, e.g. gcc2.95.2 or
+       a future version of gcc3.0 (that will then hopefully be fixed).
+       <br>
+       (RH 2001/03/14)
+       </p>
+  
+  <li> <p> 
+       New: class <code
+       class="class">BlockMatrixArray&lt;MATRIX&gt;</code> implements
+       a block matrix based on an array of matrix pointers. Since this
+       array may be incomplete, no direct access to entries is
+       allowed. Matrix blocks may be scaled and transposed.
+       <br>
+       (GK 2001/02/13)
+       </p>
+
+  <li> <p>
+       New: There is now some support to include and use routines from the 
+       <a href="http://www.cse.clrc.ac.uk/Activity/HSL" 
+       target="_top">Harwell Subroutine Library</a>, and support
+       classes 
+       <code class="class">SparseDirectMA27</code> and
+       <code class="class">SparseDirectMA47</code>
+       for the sparse direct solvers MA27 and MA47.
+       (See the <a href="../../readme.html#external-libs" target="body">ReadMe</a>
+       file for more information on installation of HSL
+       subroutines.)
+       <br>
+       (WB 2001/01/30)
+       </p>
+</ol>
+
+
+
+<a name="deal.II"></a>
+<h3>deal.II</h3>
+
+<ol>
+  <li> <p> 
+       New: Class <code class="class">MappingQ1Eulerian</code>
+       implementing an Eulerian mapping.
+       <br>
+       (<a href="mailto:ms@biomech.tu-graz.ac.at">Michael Stadler</a> 2001/09/24)
+       </p>
+
+  <li> <p> 
+       New: <code class="member">VectorTools::create_boundary_right_hand_side</code>
+       integrates boundary forces for inhomogeneous Neumann boundary values.
+       <br>
+       (WB 2001/09/13)
+       </p>
+
+  <li> <p> 
+       New: <code class="member">DoFTools::make_flux_sparsity_pattern</code>
+       now exists also for 1d.
+       <br>
+       (WB 2001/09/03)
+       </p>
+
+  <li> <p> 
+       New: There are now two functions
+       <code
+       class="member">FETools::hierarchic_to_lexicographic_numbering</code>
+       and <code
+       class="member">FETools::lexicographic_to_hierarchic_numbering</code>
+       which map the hierarchical numbering used in continuous finite
+       element classes to a lexicographical numbering and back.
+       <br>
+       (WB 2001/08/31)
+       </p>
+
+  <li> <p> 
+       New: <code class="member">ConstraintMatrix::close</code>
+       now simply returns instead of throwing an exception, if the
+       matrix was already closed.
+       <br>
+       (WB 2001/08/30)
+       </p>
+
+  <li> <p>
+       New: Member function
+       <code class="member">ConstraintMatrix::is_identity_constrained</code>.
+       <br>
+       (WB 2001/08/29)
+       </p>
+
+  <li> <p>
+       Fixed: in a rather rare case, some work was done twice in the
+       <code class="class">KellyErrorEstimator</code> class when in
+       multithread mode. This is now fixed.
+       <br>
+       (WB 2001/08/24)
+       </p>
+
+  <li> <p>
+       New: There is now a class <code class="class">GridTools</code>
+       which provides algorithms working on triangulations. At
+       present, it offers a function computing the diameter of a
+       triangulation.
+       <br>
+       (WB 2001/08/16)
+       </p>
+
+  <li> <p>
+       Changed: The <code class="class">MatrixCreator</code> and <code
+       class="class">MatrixTools</code> class have lost their template
+       arguments. Rather, the individual functions now are templated
+       on their own, so the compiler can pick out the correct space
+       dimension on its own.
+       <br>
+       (WB 2001/08/15)
+       </p>
+
+  <li> <p>
+       Extended: <code class="member">ConstraintMatrix::merge</code>
+       can now handle arguments which further constrain the present object.
+       <br>
+       (WB 2001/07/30)
+       </p>
+
+  <li> <p>
+       New: Implement
+       <code class="member">DoFTools::make_sparsity_pattern</code>,
+       <code class="member">DoFTools::make_boundary_sparsity_pattern</code>,
+       and 
+       <code class="member">ConstraintMatrix::condense</code> to work on
+       the <code class="class">CompressedSparsityPattern</code> and
+       <code class="class">CompressedBlockSparsityPattern</code> and
+       classes.
+       <br>
+       (WB 2001/06/22)
+       </p>
+
+  <li> <p>
+       New: <code class="member">FE*Values::get_quadrature</code>
+       returns a reference to the quadrature formula used by a
+       FEValues object.
+       <br>
+       (WB 2001/06/21)
+       </p>
+
+  <li> <p>
+       New:  <code
+       class="member">DoFTools::compute_intergrid_transfer_representation</code>
+       is a function that generates a matrix representation that can
+       be used to transfer data from one grid to one component of the
+       fields on another, finer, grid.
+       <br>
+       (WB 2001/05/24)
+       </p>
+
+  <li> <p>
+       Changed: the  <code class="class">GeometryInfo</code> class
+       has been reverted from a general template that calculates the
+       values of its member variables by recursion/induction to a set
+       of explicitely specialized classes. This seemed necessary since
+       most compilers objected to the old implementation as the
+       declaration of the values of the class required knowledge of
+       the elements of the class with one lower dimension which was,
+       however, only being declared at present except for 1d. Also,
+       allocating space for variables was difficult as that would mean
+       declaring specializations after their first use. The new (and
+       very old) implementation is entirely compatible to the previous
+       one.
+       <br>
+       (WB 2001/05/23)
+       </p>
+
+  <li> <p>
+       Changed: the classes that denote flags to the <code
+       class="class">TimeStepBase_Tria</code> class have been move
+       from local classes to a namespace of their own, names
+       <code class="class">TimeStepBase_Tria_Flags</code>.
+       <br>
+       (WB 2001/05/23)
+       </p>
+
+  <li> <p>
+       Fixed: due to a bug in gcc, the compiler did not check that we
+       did not use the set of given boundary indicators to the
+       <code class="member">DoFTools::extract_boundary_dofs</code>
+       function in 1d. That set was therefore ignored. This is now
+       fixed.
+       <br>
+       (WB 2001/05/18)
+       </p>
+
+  <li> <p>
+       Changed: the flags which are given to the <code
+       class="class">GridOut</code> class to modify the appearance of
+       the output have been moved from local classes of the <code
+       class="class">GridOut</code> class to a namespace names
+       <code class="class">GridOutFlags</code> and have lost the
+       trailing <code class="class">Flags</code> part in their name.
+       This change was necessary as C++ does not allow explicit
+       specialization of member classes; the previous use in the
+       library was only accepted by GCC as an extension.
+       <br>
+       (WB 2001/05/17)
+       </p>
+
+  <li> <p>
+       New: The functions <code
+       class="member">DoFTools::map_dof_to_boundary_indices</code>,
+       <code class="member">DoFTools::make_boundary_sparsity_pattern</code>,
+       <code class="member">DoFHandler::n_boundary_dofs</code>,
+       <code
+       class="member">DoFHandler::max_couplings_between_boundary_dofs</code>,
+       and <code class="member">VectorTools::project_boundary_values</code>,
+       are now also implemented in 1d.
+       <br>
+       (WB 2001/04/29)
+       </p>
+
+  <li> <p>
+       New: There are now functions <code
+       class="class">DoFTools</code>::<code
+       class="member">map_dofs_to_support_points</code> and 
+       <code
+       class="class">DoFTools</code>::<code
+       class="member">map_support_points_to_dofs</code> that
+       generate a map between DoF indices and the support points of
+       these DoFs, and the other way round.
+       <br>
+       (WB 2001/04/24)
+       </p>
+
+  <li> <p>
+       New: Implement the <code
+       class="member">VectorTools::interpolate_boundary_values</code>
+       a second time, this time taking a <code
+       class="class">FunctionMap</code> object as do all the other
+       functions of this type.
+       <br>
+       (WB 2001/04/23)
+       </p>
+
+  <li> <p>
+       Fixed: The vertex numbers written by the <code
+       class="class">GridOut</code>::<code
+       class="member">write_ucd_faces</code> function are now also
+       1-based. This, to be consistent with the vertex numbers given
+       by the <code class="class">GridOut</code>::<code
+       class="member">write_ucd</code> function.
+       <br>
+       (RH 2001/04/20)
+       </p>
+
+  <li> <p>
+       Extended: the <code
+       class="class">DerivativeApproximation</code> class now also
+       works in 3d, as the spectral norm of a symmetric 3x3 matrix can
+       now be computed.
+       <br>
+       (<a href="mailto:roger@kea.grace.cri.nz">Roger Yound</a> 2001/04/12)
+       </p>
+       
+  <li> <p>
+       Fixed: the <code
+       class="class">DoFRenumbering</code>::<code
+       class="member">Cuthill_McKee</code> function
+       did not work correctly when giving the <code>reversed_numbering</code>
+       flag (off-by-one indexing). This is now fixed.
+       <br>
+       (<a href="mailto:or@winfos.com">Oliver Rheinbach</a> 2001/04/12)
+       </p>
+       
+  <li> <p>
+       Changed: A <code>typedef FunctionMap</code> was
+       declared in at least four places previously (in classes <code
+       class="class">DoFHandler</code>, <code
+       class="class">MatrixTools</code>, <code
+       class="class">VectorTools</code>, and <code
+       class="class">KellyErrorEstimator</code>). It is now unified in
+       one place and is called <code
+       class="class">FunctionMap&lt;dim&gt;</code>::<code
+       class="member">type</code> (it is a local
+       typedef in a class called <code
+       class="class">FunctionMap</code>). This type is defined in the
+       file <tt>dofs/function_map.h</tt>.
+       <br>
+       (WB 2001/04/09)
+       </p>
+       
+  <li> <p>
+       Fixed: When using Neuman boundary functions in the 
+       <code class="class">KellyErrorEstimator</code> class, it was
+       assumed that the function object had <code
+       class="class">Function</code>::<code
+       class="member">vector_value</code> overloaded, even
+       in the scalar case. We now use <code
+       class="member">Function</code>::<code
+       class="member">value</code> instead.
+       <br>
+       (WB 2001/04/09)
+       </p>
+       
+  <li> <p>
+       New: The various <code
+       class="class">MatrixCreator</code>::<code
+       class="member">create_*_matrix</code> functions
+       are now using multiple threads to do their work, if the library
+       is configured to use multithreading.
+       <br>
+       (WB 2001/04/08)
+       </p>
+       
+  <li> <p>
+       New: The following functions are extended to work
+       on arbitrary mappings:
+       <br>
+       The static <code class="member">create_mass_matrix</code>,
+       <code class="member">create_boundary_mass_matrix</code> and
+       <code class="member">create_laplace_matrix</code> member
+       functions of the class <code class="class">MatrixCreator</code>,
+       <br>
+       the static <code class="member">project</code> and <code
+       class="member">project_boundary_values</code> member functions
+       of the class <code class="class">VectorTools</code>,
+       <br>
+       the two versions of the static <code
+       class="member">estimate</code> member functions of the class
+       <code class="class">KellyErrorEstimator</code>,
+       <br>
+       and the static <code class="member">approximate_gradient</code>
+       and <code class="member">approximate_second_derivative</code>
+       member functions of the class <code
+       class="class">DerivativeApproximation</code>.
+       </p>
+
+       <p>
+       All these functions now take a <code
+       class="class">Mapping</code> object as additional argument.
+       <br>      
+       For backward compatibility there exist second versions of
+       each of these functions that still don't have a <code
+       class="class">Mapping</code> argument. These functions
+       implicitely use a mapping of the class <code
+       class="class">MappingQ1</code>.
+       <br>
+       (RH 2001/04/05)
+       </p>
+
+  <li> <p>
+       Removed: Along with the redesign of the <code
+       class="class">FiniteElement</code> and the <code
+       class="class">Mapping</code> classes the <code
+       class="class">FiniteElement</code>::<code
+       class="member">get_local_mass_matrix</code> function is now
+       removed. This was necessary as the local mass matrix depends not only on the
+       considered <code class="class">FiniteElement</code> but also on
+       the mapping between the unit to the real cell. Hence this function
+       cannot be a member function of a <code
+       class="class">FiniteElement</code> any more.
+       </p>
+
+       <p>
+       As a consequence also the <code
+       class="class">MatrixCreator</code>::<code
+       class="member">create_mass_matrix</code> function with two
+       arguments is removed, as it relied on the <code
+       class="member">get_local_mass_matrix</code> function. If in
+       future the user wants to create a mass matrix he needs to use
+       one of the remaining <code
+       class="class">MatrixCreator</code>::<code
+       class="member">create_mass_matrix</code> functions that require
+       an appropriate <code class="class">Quadrature</code> as
+       argument.
+       <br>
+       (RH 2001/04/04)
+       </p>
+       
+  <li> <p>
+       New/Fixed: Now there exists a new <code
+       class="class">Triangulation</code>::<code
+       class="member">ExcMultiplySetLineInfoOfLine</code> exception,
+       that is thrown if the <code class="class">SubCellData</code>
+       that is given to <code
+       class="class">Triangulation</code>::<code
+       class="member">create_triangulation</code>, multiply includes
+       the line info of a specific line. Before the fix the wrong
+       <code class="member">ExcInteriorLineCantBeBoundary</code>
+       exception was thrown.
+       <br>
+       (RH 2001/04/03)
+       </p>
+       
+  <li> <p>
+       Fixed: Missing <code>ucd</code> is now added to the list of
+       supported output formats returned by <code
+       class="class">GridOut</code>::<code
+       class="member">get_output_format_names</code>.
+       <br>
+       (RH 2001/04/03)
+       </p>
+
+  <li> <p>
+       New/fixed: In some obscure corner cases, the detection logic in <code
+       class="member">DataOut_DoFData::add_data_vector</code> would
+       not have been able to detect whether something is a DoF data
+       vector or a vector of cell data, and in some equally rare cases
+       this would also have made a difference. This is now fixed by
+       adding another argument to the function telling it either to
+       automatically detect the vector type (default) or to assume
+       that it has a certain type (for these corner cases).
+       <br>
+       (WB 2001/03/30)
+       </p>
+
+  <li> <p>
+       Removed: the <code class="class">ProblemBase</code> class,
+       which has been deprecated since before the release of 
+       <acronym>deal.II</acronym> 3.0, has finally been removed. The
+       same applies for the classes
+       <code class="class">Assembler</code>,
+       <code class="class">Equation</code>,
+       <code class="class">MassMatrix</code>, and
+       <code class="class">LaplaceMatrix</code>.
+       <br>
+       (WB 2001/03/27)
+       </p>
+
+  <li> <p>
+       New: There is now a class <code class="class">MappingC1</code>
+       that implements a continously differentiable C<sup>1</sup>
+       mapping of the boundary by using a cubic mapping with
+       continuous derivatives at cell boundaries. The class presently
+       only implements something for 2d and 1d (where it does nothing).
+       <br>
+       (WB 2001/03/27)
+       </p>
+
+  <li> <p>
+       New: The static <code class="member">interpolate</code>, <code
+       class="member">create_right_hand_side</code>, <code
+       class="member">interpolate_boundary_values</code>, <code
+       class="member">integrate_difference</code> and <code
+       class="member">compute_mean_value</code> member functions of
+       the class <code class="class">VectorTools</code> are extended
+       to work on arbitrary mappings. All these functions now take a
+       <code class="class">Mapping</code> object as additional
+       argument. 
+       <br>
+       For backward compatibility there exist second versions of
+       each of these functions that still don't have a <code
+       class="class">Mapping</code> argument. These functions
+       implicitely use a mapping of the class <code
+       class="class">MappingQ1</code>.
+       <br>
+       (RH 2001/03/27)
+       </p>
+
+  <li> <p>
+       New: <code class="class">Boundary</code> and derived classes
+       now have a function <code
+       class="member">get_normals_at_vertices</code> that returns a
+       multiple of the normal vector to the boundary at the
+       vertices of a given face. This is used in the construction of
+       C<sup>1</sup> mappings of the boundary.
+       <br>
+       (WB 2001/03/23)
+       </p>
+
+  <li> <p>
+       New: The new function <code
+       class="class">PersistentTriangulation&lt;dim&gt;</code>::<code
+       class="member">restore(unsigned int)</code> allows to restore
+       the triangulation step by step.
+       <br>
+       New: Now there exists a function <code
+       class="class">PersistentTriangulation&lt;dim&gt;</code>::<code
+       class="member">clear_flags</code> to allow to re-<code
+       class="member">read_flags</code> without the need of clearing
+       the triangulation in advance.
+       <br>
+       New: The new function <code
+       class="class">PersistentTriangulation&lt;dim&gt;</code>::<code
+       class="member">n_refinement_steps</code> returns the number of
+       refinement steps stored in <code
+       class="member">refine_flags</code>.
+       <br>
+       (RH 2001/03/20)
+       </p>
+
+  <li> <p>
+       New: <code class="class">GridGenerator</code>::<code
+       class="member">hyper_rectangle</code> creates
+       coordinate-parallel rectangles in arbitrary dimension.
+       <br>
+       (GK 2001/03/16)
+       </p>
+
+  <li> <p>
+       Changed: The syntax of the <code
+       class="class">FiniteElement&lt;dim&gt;</code>::<code
+       class="member">get_unit_support_points</code> function is
+       changed; it returns a reference to the vector of points in lieu
+       of taking this vector as argument. The unit support points are
+       now computed by the constructor of the <code
+       class="class">FiniteElement</code> and not on each <code
+       class="class">FiniteElement&lt;dim&gt;</code>::<code
+       class="member">get_unit_support_points</code> function call as
+       before.
+       <br>
+       (WB 2001/03/14)
+       </p>
+
+  <li> <p> 
+       Removed: The function <code
+       class="class">FiniteElement&lt;dim&gt;</code>::<code
+       class="member">get_support_points</code>
+       is removed as the <code class="class">FiniteElement</code>
+       cannot know the position of the support points by itself. This is
+       because the support points depend on the unit support points
+       (known to the <code class="class">FiniteElement</code> class)
+       but they also depend on the mapping.
+
+       In future the support points can be computed using a <code
+       class="class">FEValues</code> object initialized with the <code
+       class="class">Mapping</code> and a <code
+       class="class">Quadrature</code> that uses the unit support
+       points as quadrature points.
+       <br>
+       (RH 2001/03/14)
+       </p>
+
+  <li> <p> 
+       New: The class <code class="class">Boundary</code> has two new
+       functions <code
+       class="member">get_intermediate_points_on_line</code> and <code
+       class="member">get_intermediate_points_on_quad</code> that
+       needs to be implemented in derived classes only if <code
+       class="class">GridOut</code> is used with <code
+       class="class">MappingQ</code> of degree <code>p>2</code>.
+       <br>
+       (RH 2001/03/14)
+       </p>
+
+  <li> <p>
+
+       New: The functions <code
+       class="member">GridOut::write_gnuplot</code> and <code
+       class="member">GridOut::write_eps</code> now take a pointer to
+       a <code class="class">Mapping</code> object as additional
+       argument. This allows to write grids in 2d whereby cells with a
+       curved boundary are transformed by the given <code
+       class="class">Mapping</code> class. The default mapping is
+       <code class="class">MappingQ1</code>. Note, that the grids do
+       not show the `original' domain with boundaries described by the
+       <code class="class">Boundary</code> classes but the
+       discretized domain whose boundary cells are transformed using the
+       given mapping.
+       </p>
+       There are also a new <code
+       class="member">GnuplotFlags::n_boundary_face_points</code> and
+       <code class="member">EpsFlags::n_boundary_face_points</code>
+       variables to set the number of additional points written
+       to represent the curved boundary faces.
+       <br>
+       (RH 2001/03/14)
+       </p>
+
+  <li> <p>
+       New: The constructor of the <code class="class">FEValues</code>
+       and <code class="class">FE(Sub)FaceValues</code> classes now
+       take a reference of a <code class="class">Mapping</code> object
+       as additional argument. This is the new possibility to combine
+       a <code class="class">FiniteElement</code> with an arbitrary
+       <code class="class">Mapping</code>, see also <a
+       href="#new_fe_mapping_design">New FE and Mapping Design</a>.
+       </p>
+
+       <p>
+       For backward compatibility there still exists a constructor of
+       <code class="class">FEValues</code> without a <code
+       class="class">Mapping</code> argument that uses a <code
+       class="class">MappingQ1</code> by default.
+       <br>
+       (RH 2001/03/14)
+       </p>
+       
+  <li> <p>
+       Changed: We now unconditionally include
+       <code>deal.II/include/grid/tria_accessor.templates.h</code>
+       (which containts some inline functions for triangulation
+       accessor classes) into 
+       <code>deal.II/include/grid/tria_accessor.h</code> to work
+       around a problem with gcc3.0 which does not place a copy of
+       these functions into the library. Previously we only included
+       the file in optimized mode.
+       <br>
+       (RH 2001/03/14)
+       </p>
+
+  <li> <p>
+       New: The class <code class="class">GridReordering::Cell</code> has
+       now a copy constructor to work around a bug in a gcc3.0
+       snapshot.
+       <br>
+       (RH, WB 2001/03/14)
+       </p>
+
+  <li> <p>
+       Changed: when refining a hexahedron in 3d, the rules by which
+       the new vertices at the centers of the faces and at the center
+       of the cell are placed, are changed. They are changed in a way
+       as to minimize the distortion of the resulting cells from the
+       optimal shape and to make them look as much alike as possible
+       to generate a smoother grid.
+       <br>
+       (WB 2001/03/02)
+       </p>
+
+  <li> <p>
+       Fix: the <code
+       class="class">DoFTools</code>::<code
+       class="member">compute_intergrid_constraints</code>
+       function took memory quadratic in the number of degrees of
+       freedom. This is now reduced to linear behaviour, with a
+       constant that depends on the number of levels by which the two
+       grids differ.
+       <br>
+       (WB 2001/02/26)
+       </p>
+
+  <li> <p>
+       Fix: in the triangulation, the <code
+       class="member">straight_boundary</code> variable, which is a
+       reference, was assigned the address of a temporary object. It
+       is unclear how this could have worked for three years, but it
+       apparently did...
+       <br>
+       (WB 2001/02/26)
+       </p>
+
+  <li> <p> 
+       New: The <code class="class">DoFTools</code> class now has
+       a function <code class="member">count_dofs_per_component</code>
+       that counts the number of degrees of freedom in each of the
+       components of the finite element, i.e. how many degrees of
+       freedom there are on the global mesh for each variable (field).
+       <br>
+       (WB 2001/02/22)
+       </p>
+
+  <li> <p>
+       New: The <code class="class">CellAccessor</code> class now has a function
+       <code class="member">has_boundary_lines</code> that mostly has
+       the same semantics that <code class="member">at_boundary</code>
+       has, but also covers the case that a hexahedron in 3d may be at
+       the boundary only by one line, rather than by a whole face. In
+       that case, <code class="member">at_boundary</code> reports
+       false, while <code class="member">has_boundary_lines</code>
+       reports true.
+       <br>
+       (WB 2001/02/21)
+       </p>
+
+  <li> <p>
+       New: There is now a function
+       <code class="class">ConstraintMatrix</code>::<code
+       class="member">merge</code> that merges
+       the constraints represented by two constraint matrices into one
+       object.
+       <br>
+       (WB 2001/01/31)
+       </p>
+</ol>
+
+<hr>
+Last update $Date$
+
+</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.