From 7ad0bbd2249e6c0f2dc836b5d9a08e649bd202cf Mon Sep 17 00:00:00 2001 From: hartmann <hartmann@0785d39b-7218-0410-832d-ea1e28bc413d> Date: Wed, 26 Sep 2001 12:37:24 +0000 Subject: [PATCH] Rename this file to 3.1.2-vs-3.2.0.html git-svn-id: https://svn.dealii.org/branches/Branch-3-2@5083 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/doc/news/2001/c-3-1.html | 1245 ------------------------------ 1 file changed, 1245 deletions(-) delete mode 100644 deal.II/doc/news/2001/c-3-1.html diff --git a/deal.II/doc/news/2001/c-3-1.html b/deal.II/doc/news/2001/c-3-1.html deleted file mode 100644 index d7f37f4485..0000000000 --- a/deal.II/doc/news/2001/c-3-1.html +++ /dev/null @@ -1,1245 +0,0 @@ -<!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> -- 2.39.5