+++ /dev/null
-<!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 after Version 3.1</h2>
-
-This is a quite extensive list of changes made after the release of
-<acronym>deal.II</acronym> version 3.1. 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)
-
- <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)
-
- <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)
-
- <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)
-
- <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)
-
- <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)
-
- <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)
-
- <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)
-
- <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)
-
- <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<dim></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<1,dim></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<1></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<1,dim></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<long double></code> are
- removed as a prerelease of gcc3.0 fails to compile it. A user
- of <code class="class">SparseMatrix<long double></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<MATRIX></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<dim></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<dim></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<dim></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<dim></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<dim></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<dim></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<dim></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>