From: guido Date: Wed, 14 Sep 2005 19:09:39 +0000 (+0000) Subject: changes for 5.2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2d7ef2afbd3f47d140c0c6e1c3af9ec19b9ecfe3;p=dealii-svn.git changes for 5.2 git-svn-id: https://svn.dealii.org/trunk@11434 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/doc/news/5.1.0-vs-5.2.0.html b/deal.II/doc/news/5.1.0-vs-5.2.0.html new file mode 100644 index 0000000000..58bd8b58c3 --- /dev/null +++ b/deal.II/doc/news/5.1.0-vs-5.2.0.html @@ -0,0 +1,1013 @@ + + + + + The deal.II news page + + + + + + + + + +

Changes after Version 5.1

+ +

+This is the list of changes made after the release of +deal.II version 5.1. It is subdivided into changes +made to the three sub-libraries base, +lac, and deal.II, as well as +changes to the general infrastructure, +documentation, etc. +

+ +

+All entries are signed with the names of the author. Regular +contributor's names are abbreviated by WB (Wolfgang Bangerth), GK +(Guido Kanschat), RH (Ralf Hartmann). +

+ + + +

Incompatibilities

+ +

+Following are a few modifications to the library that unfortunately +are incompatible with previous versions of the library, but which we +deem necessary for the future maintainability of the +library. Unfortunately, some of these changes will require +modifications to application programs. We apologize for the +inconvenience this causes. +

+ + +
    +
  1. + Changed: The way boundary constraints were handled in the + step-17 tutorial program was conceptually flawed. We tried to + eliminate boundary nodes locally on the cell level, and hanging + node constraints subsequently when transferring into the global + matrix. However, this doesn't work in general: the elimination + of hanging node constraints could re-populate rows and columns + that had already been vacated during boundary node + elimination. At the end of a long though process, we came to + the conclusion that it is impossible to revert the traditional + order of operations: first eliminate all hanging node + constraints, then eliminate all boundary nodes. This leads to a + situation where the MatrixTools::local_apply_boundary_values + function is not very useful any more, except for the special + case where there are no hanging nodes. The step-17 example + program has therefore been changed to use the MatrixTools::apply_boundary_values + function again, though hanging node elimination still happens + during transfer into the global matrix. +
    + (WB 2005/05/05) +

    + +
  2. + Changed: The class MGCoarseGridLACIteration lost two template + arguments. Since the matrix and preconditioner are now stored + in form of PointerMatrix objects, + handling of the class is much simpler, in particular when + exchanging preconditioners. +
    + (GK 2005/05/03) +

    + +
  3. + Changed: The template argument of BlockMatrixArray was changed to + number, equal to the same argument of the used BlockVector. Furthermore, its constructor + requires an additional argument of type VectorMemory<Vector<number> > + providing space for auxiliary vectors. Since the entries are + now of type PointerMatrixBase, even + matrices with blocks of different types can be constructed. +
    + (GK 2005/03/21) +

    + +
  4. + Changed: The GeometryInfo::vertices_adjacent_to_line function has + been renamed to GeometryInfo::line_to_cell_vertices to be named + analogous to the face_to_cell_vertices, face_to_cell_lines and child_to_cell_coordinates functions. +
    + (RH 2005/03/14) +

    + +
  5. + Changed: the file multigrid/mg_dof_tools.h was renamed + to multigrid/mg_tools.h in order to match the name of + the class contained. +
    + (GK 2005/03/09) +

    + +
  6. + Changed: DoFTools::make_flux_sparsity_pattern, MGTools::make_flux_sparsity_pattern and similar + functions in these classes do not receive arguments of type + FullMatrix<double> + anymore. Instead, they get a Table<2,DoFTools::Coupling>, which + contains more meaningful enums. +
    + (GK 2005/03/09) +

    + +
  7. + Changed: Multigrid::Multigrid receives an argument + determining the type of multigrid cycle istead of the minimum + and maximum levels. The latter were rarely used anyway and can + be modified by set_minlevel() and + set_maxlevel() +
    + (GK 2005/03/09) +

    +
+ + +

General

+ +
    +
  1. New: + The step-19 tutorial demonstrates handling of parameters from a + parameter file, as well as some simple techniques for merging output + from parallel computations. +
    + (WB 2005/09/09) +

    + +
  2. New: + The step-18 example program shows how to solve a quasi-static elasticity + problem with moving meshes, and this all in parallel. +
    + (WB 2005/08/11) +

    + +
  3. + Changed: The files + deal.II/include/grid/geometry_info.h and + deal.II/source/grid/geometry_info.cc have been moved + to base/include/base and base/source, + respectively. A redirection header file has been left in the + old location for compatibility. +
    + (GK, 2005/07/19) +

    + +
  4. + Changed: Cygwin has problems linking against deal.II DLLs if you + link against more than one dimension dependent library. The linker + might issue error messages about multiple defined symbols. This is now + detected, and the linker is forced to ignore these errors. However, if + you accidentally defined symbols twice you might have a hard time + debugging now... In this case remove the -Xlinker + --allow-multiple-definition flag from Make.global_options. +
    + (Ralf B. Schulz, 2005/07/13) +

    + +
  5. + Changed: Under Cygwin, linking against LAPACK and UMFPACK did + not work. This is now fixed in the Makefiles. Changes only + affect Cygwin. +
    + (Ralf B. Schulz, 2005/07/02) +

    + +
  6. + New: The latest version of UMFPACK, version 4.4, has been imported. +
    + (WB, 2005/06/30) +

    + +
  7. + Fixed: The documentation pages did not contain information + about the Threads::spawn functions. This is now fixed. +
    + (WB, 2005/05/12) +

    + +
  8. + Fixed: The step-17 example program had a stupid mistake in that it + initializes the pcout variable with an uninitialized value + of mpi_communicator. While this seems to have worked for + some older MPI implementations, this is no longer the case on some + other systems. It is now fixed. +
    + (WB, 2005/04/18) +

    + +
  9. + New: If there are references to other example programs in any of the + step-XX programs, then they will now show up as crosslinks in the HTML + version for simpler navigation of the tutorial. +
    + (WB, 2005/04/04) +

    + +
  10. + New: The configuration script can now enable special optimizations for + x86-like processors if called with the --with-cpu=... option. + This can decrease computation time by up to 30% on certain systems. + The configuration flag has already existed for PowerPC64 processors, but + was not documented. Documentation has been added. +
    + (Ralf B. Schulz, 2005/03/10) +

    + +
  11. + Fixed: When compiling shared libraries on CygWin systems, warnings + concerning the -fPIC option were issued by the compiler. + This is now fixed. + Also, configure now issues a message at the end that you should include + the DLL-path in your .bash_profile file on these systems. +
    + (Ralf B. Schulz, 2005/03/10) +

    + +
  12. + Fixed: On certain systems running CygWin, a call to socket functions + like gethostname() could cause deal.II to hang. The reason + seems to be that the call disables long double computations which + revert to just double precision. This then leads to an endless loop in + computing weights for quadrature points because the convergence + criterion cannot be reached with simple double precision. This is now + fixed by disabling the call to gethostname() on these + systems. A new preprocessor variable, DEAL_II_BROKEN_SOCKETS + has been added to base/config.h which is defined on + affected systems. +
    + (Ralf B. Schulz, WB, 2005/03/02) +

    + +
  13. + Fixed: The step-16 example program wasn't listed in the + navigation bar of the tutorial section, although it was in the + table of contents. This is fixed now. +
    + (WB, 2005/02/09) +

    +
+ + + + +

base

+ +
    +
  1. + New: Class PathSearch allows to find + a file in a sequence of directories and by appending suffixes. The class + generates the complete file name including directory prefix and suffix + such that it can be used for subsequently opening the file. +
    + (GK, 2005/09/14) +

    + +
  2. + Extended: The ParameterHandler class now does a much better + job generating output in the print_parameters() function if + parameters have documentation strings attached to them. See the step-19 + example program output for this. +
    + (WB, 2005/09/12) +

    + +
  3. + New: There is now a namespace Utilities that contains + functions that are not particularly specific to finite element codes, + but are needed in various contexts of application programs anyway. +
    + (WB, 2005/08/11) +

    + +
  4. + Changed: ParameterHandler::get_bool() only accepted + "true" or "false" as boolean values, now it also considers "yes" + and "no" as "true" and "false" respectively. +
    + (Ralf B. Schulz, 2005/07/19) +

    + +
  5. + Removed: The write_multigrid flag in DataOutBase::DXFlags + has been removed, since it wasn't used anywhere. +
    + (WB, 2005/07/14) +

    + +
  6. + New: A function + deal_II_exceptions::disable_abort_on_exception now allows + to disable program abortion when an assertion fails. This is used + in regression tests. +
    + (Ralf B. Schulz, 2005/07/13) +

    + +
  7. + Improved: The QProjector has functions + project_to_face and + project_to_subface + returning a Quadrature object +
    + (GK, 2005/07/12) +

    + +
  8. + Changed: The ParameterHandler::print_parameters + function now puts two newlines between regular entries and + subsection listings for better readability. +
    + (WB, 2005/07/05) +

    + +
  9. + Changed: The ParameterHandler::print_parameters + function now omits printing subsections if they and the contained + sub-subsections contain no entries. +
    + (WB, 2005/07/05) +

    + +
  10. + Changed: Some of the dimension independent functions in the DataOutInterface class have been moved into the + DataOutBase class that does not depend on any + dimension template parameters. Since the latter is a base class of the + former, there should be no problems for application programs. +
    + (WB, 2005/07/01) +

    + +
  11. + Fixed: Several of the functions in class ConstantFunction did not check whether the + component handed to them was valid. In essence, even a scalar + function could be evaluated for component 42, and the function + ignored how many components it was declared to have. This is + now fixed. +
    + (WB, 2005/06/30) +

    + +
  12. + Changed: The functions in class ExceptionBase have been renamed to conform + to our coding conventions that function names be all lower-case + with words separated by underscores. This is technically an + incompatible change, since these functions were publicly + visible, but were usually hidden behind macros and not used + anywhere explicitly in the library; we hope that this also + holds for external code. +
    + (WB, 2005/06/30) +

    + +
  13. + New: The GNU C library supports access to the call stack. For + systems using this library, the ExceptionBase class now uses these + functions to outputs the callstack when the exception is + created. +
    + (Ralf B. Schulz, 2005/06/30) +

    + +
  14. + Improved: The class Quadrature has a new + constructor generating the dim-dimensional tensor product of a + one-dimensonal formula directly. +
    + (GK, 2005/06/10) +

    + +
  15. + New: The class Polynomials::RaviartThomas implements + Raviart-Thomas polynomials of arbitrary order in 2d and 3d. +
    + (GK, 2005/05/30) +

    + +
  16. + New: The Polynomials::Lagrange class + allows generation of Lagrange interpolation polynomials for + arbitrary point sets. In order to get better interpolation for + higher order polynomials, QGaussLobatto has been added to produce + interpolation point sets clustering at the boundary of a cell + (weights are not computed yet). +
    + (GK, 2005/05/30) +

    + +
  17. + New: The QAnisotropic class allows + generation of quadrature rules of different order in each + space dimension. +
    + (GK, 2005/05/24) +

    + +
  18. + New: The Tensor classes now + have member functions that compute the Frobenius norm and its + square. There are also global operator* functions + that compute the contraction over a pair of indices of tensors. +
    + (WB, 2005/04/06) +

    + +
  19. + New: The DataOutBase class now + allows to write data in a new intermediate format that + basically dumps the raw information available in patches. +
    + (WB, 2005/04/05) +

    + +
  20. + New: The DataOutReader class allows + to read data back in from a file into which it has been written + using intermediate format. From there, it can then be converted + into any of the supported graphics formats. +
    + (WB, 2005/04/05) +

    + +
  21. + New: There is now a operator >> (std::istream &in, + Point<dim> &p), a function that had apparently been + missing for a long time already. +
    + (WB, 2005/04/05) +

    + +
  22. + New: The new function double_contract contracts two tensors of + rank 4 and 2 into a tensor of rank 2, by contracting over two + indices at the same time. +
    + (WB, 2005/03/29) +

    + +
  23. + New: The new function TableIndicesBase::sort allows to sort the indices + in ascending order. This is useful for cases where the order of indices + is irrelevant (for example in symmetric tables). +
    + (WB, 2005/03/29) +

    + +
  24. + New: There is a new class SymmetricTensor + that provides storage and operations for symmetric tensors. +
    + (WB, 2005/03/28) +

    + +
  25. + New: Class Subscriptor receives a + text argument allowing to identify the violating pointer more + easily. The additional feature is being incorporated into SmartPointer constructors throughout the + library. +
    + (GK, 2005/03/16) +

    + +
  26. + New: Class FunctionParser. Wrapper + class for the fparser library (see + + http://www.students.tut.fi/~warp/FunctionParser/). +
    + (Luca Heltai, 2005/03/07). +

    + +
  27. + Fixed: The class MultipleParameterLoop::UserClass had only + virtual abstract functions but no virtual destructor. This caused + warnings with some compilers, and is generally bad practice + anyway. This is now fixed. The same holds with respect to the class + DataOutInterface. +
    + (WB, 2005/02/20) +

    +
+ + + + +

lac

+ +
    +
  1. + New: The new function PetscWrappers::VectorBase::set allows to set + several vector elements at once. +
    + (WB, 2005/08/10) +

    + +
  2. + New: There are now functions PetscWrappers::MatrixBase::clear_row and clear_rows that allow to set the elements of a row + of a matrix to zero, without having to traverse the individual + elements. +
    + (WB, 2005/08/10) +

    + +
  3. + Fixed: SparsityPattern::block_write neither wrote the number of + columns of the pattern, nor the flag for optimizing the + diagonal, and SparsityPattern::block_read did not attempt to read this + data. Both is fixed now. +
    + (GK, 2005/06/24) +

    + +
  4. + Improved: SparseDirectUMFPACK now + has the complete interface of a preconditioner + class. Therefore, it can be used in iterative solvers and in + multigrid smoothers. +
    + (GK, 2005/05/10) +

    + +
  5. + Fixed: The PETSc matrix iterators had trouble when some rows of a + matrix were empty. This has now been mostly fixed. +
    + (WB, 2005/05/02) +

    + +
  6. + Fixed: The PETScWrappers::MPI::SparseMatrix + class had functions that allow to take a pre-existing sparsity pattern + as the basis for entry allocation. These function had an option to + allow pre-setting these entries in the underlying data structures, but + this option was disabled by default because of unresolved questions + about its effectiveness. This has now been fixed: The code now properly + initializes these elements, and makes the resulting matrix much faster + to use. +
    + (WB, 2005/04/04) +

    + +
  7. + New: The ProductSparseMatrix + implements the product of two rectangular sparse matrices with + the same value_type +
    + (GK, 2005/03/11) +

    + +
  8. + New: The PreconditionRichardson + implements a Richardson preconditioner. +
    + (GK, 2005/03/10) +

    + +
  9. Fixed: The BlockSparseMatrix + class had no local typedef value_type like all other classes, which + made it a little awkward to use in some places. This has now + been fixed. + +
    + (WB, 2005/03/03) +

    + +
  10. Fixed: The PETScWrappers::MatrixBase class documented that adding + or setting a value that hasn't been in the sparsity pattern + before will lead to an exception being thrown. This is of + course wrong: PETSc allocates matrix entries dynamically, as + needed. The documentation is now fixed. +
    (WB, 2005/03/03) +

    + +
  11. New: The SparseMatrix iterators + had no operator >, only an operator <. The missing operator is + now implemented. The same holds for the FullMatrix class. +
    (WB, 2005/03/01) +

    + +
  12. Fixed: The SparseMatrix + iterators could not be compared using operator <: the compiler complained + that a private member was accessed. This is now fixed. +
    (WB, 2005/03/01) +

    +
+ + + + +

deal.II

+ +
    + +
  1. Removed: The class FiniteElementBase has been removed and all its + functions are now in FiniteElement. +
    + (GK, 2005/08/25) +

    + +
  2. New: class DoFTools now has two + functions compute_row_length_vector, one + for equations and one for systems. These give a much finer estimate + for the size of the sparsity pattern required than DoFHandler::max_couplings_between_dofs. This is + particularly true for systems with few couplings. +
    + (GK, 2005/08/24) +

    + +
  3. + Remove: Due to the reimplementation of the 3d reordering + algorithm in GridReordering two + years ago, the CellData::rotate + function got obsolete. CellData::rotate is now removed. +
    + (RH, 2005/08/09) +

    + +
  4. + Fixed: It was possible to compare iterators into different + DoFHandler objects for equality and inequality as long as + the underlying triangulation object was the same. This doesn't make much + sense, however, and even sometimes declared to iterators equal if only + they had the same triangulation, refinement level, and index. Comparing + iterators into different containers is now completely disallowed. +
    + (WB, 2005/08/08) +

    + +
  5. + New: The DataOutStack::add_data_vector + function now also allows to give only a single name even if the data is + vector-valued. It then makes up names for the individual components by + adding numbers to the name, just like the DataOut class already does for a long time. +
    + (WB, 2005/07/29) +

    + +
  6. + New: The DataOutStack class can now also be + used to stack two-dimensional time or parameter dependent data into a 3d + output. +
    + (WB, 2005/07/25) +

    + +
  7. + New: Function FETools::compute_face_embedding_matrices allows for + automatic computation of embedding matrices on faces under the sole + assumption that the coarse grid space is embedded into the fine + grid space. In particular, no interpolation points are + required.

    + +

    Using this function, constraint matrices can be computed in + a general way. +
    + (GK, 2005/07/14) +

    + +
  8. + Improved: All GridIn::read_* functions now call GridReordering::invert_all_cells_of_negative_grid. This + way, also misoriented grids are represented in the right + orientation within deal.II. +
    + (RH 2005/07/06) +

    + +
  9. + Improved: Triangulation<3>::create_triangulation now checks that all + cell have positive volume. If not, an exception is thrown. In + that case use the GridReordering::invert_all_cells_of_negative_grid + function, see below, to fix this. +
    + (RH 2005/07/06) +

    + +
  10. + New: There is now a GridReordering::invert_all_cells_of_negative_grid + function implemented in 3d which checks if some/all cells have + negative volumes. If all cell have negative volume then the + whole grid is reoriented. An assertion is thrown if only a + subset of cells have negative volumes, as then the grid might + be broken. +
    + (RH 2005/07/06) +

    + +
  11. + New: There is now a new GridTools::cell_measure function. However, it is + mostly for internal use. Use cell->measure() + instead. +
    + (RH 2005/07/06) +

    + +
  12. + Improved: cell->measure() used to give the + absolute value of the cell measure. It now gives the measure + with the correct sign. This is useful to find wrongly oriented + cells in 3d with negative volumes. +
    + (RH 2005/07/05) +

    + +
  13. + Improved: The class FiniteElementData now stores information + on the Sobolev space a finite element space conforms with. +
    + (GK 2005/06/29) +

    + +
  14. + New: Added function FiniteElementBase::component_to_system_index + which was referred to in the documentation, but was missing. +
    + (Ralf B. Schulz, 2005/06/30) +

    + +
  15. + Improved: The function DoFTools::count_dofs_per_component and its + counterpart in MGTools got an + additional argument. This argument allows to count the degrees + of freedom of nonprimitive vector valued elements only once, + instead of in every component. Although this argument defaults + to the previous behavior, it had to be put into the argument + list ahead of target_component in order to make use of + default arguments more efficiently. The old order of arguments + can still be used through a wrapper function. +
    + (GK 2005/06/22) +

    + +
  16. + Improved: The GeometryInfo::child_cell_on_face, face_to_cell_vertices and face_to_cell_lines now have an additional + face_orientation argument, which has no effect in + 2d and which defaults to true (standard + orientation) in 3d. Now these functions return the right values + also for the case of non-standard oriented faces in 3d. This + avoids several awful pieces of code including questioning + face_orientation and using child_switch_tables. +
    + (RH, 2005/06/16) +

    + +
  17. + Changed: The method FETools::lexicographic_to_hierarchic_numbering now + takes a FiniteElementData instead of + a FE_Q object. Now this function can + also be called by the FE_Q + constructor which avoids code duplication. +
    + (RH, 2005/06/13) +

    + +
  18. + New: The method create_mass_matrix + in class MatrixCreator can now handle + vector valued finite elements. A similar change was applied + to create_right_hand_side and + create_boundary_right_hand_side + in VectorTools. These two changes + now make the project function work also + for Raviart-Thomas elements and other vector valued FEs. This + is very useful, if some initial conditions have to be specified. +
    + (Oliver Kayser-Herold, 2005/06/03) +

    + +
  19. + New: The DataOut + now supports Eulerian Mappings. If a solution is computed + on a deformed mesh, the output file generated by the DataOut + now shows the solution also on the deformed mesh. This + is an option and requires the mapping to be specified as + additional parameter to build_patches. +
    + (Oliver Kayser-Herold, 2005/05/31) +

    + +
  20. + New: The MappingQ1Eulerian + can now cope with different vector types fot the Euler vector. + This is useful if it should be used with the PetSC wrapper classes. + The desired vector type can be specified as template parameter. +
    + (Oliver Kayser-Herold, 2005/05/31) +

    + +
  21. + New: The FE_RaviartThomasNodal + implements Raviart-Thomas elements using function values in + Gauss quadrature points on edges and in the interior for its + node values. The implementation is restricted to Cartesian mesh + cells right now, but works in 2D and 3D. +
    + (GK, 2005/05/30) +

    + +
  22. + Improved: The Mapping::transform_* + functions accept VectorSlice instead + of Vector, thus allowing more flexibility. +
    + (GK, 2005/05/24) +

    + +
  23. + New: The MatrixTools::apply_boundary_values + function now also works for PETSc sequential and parallel matrices. +
    + (WB, 2005/05/05) +

    + +
  24. + Improved: The function GridIn::read now searches for files using the + mechanism provided by the class PathSearch. Furthermore, a library of input + meshes has been started in lib/meshes. +
    + (GK, 2005/05/03) +

    + +
  25. + Fixed: The DataOut class did not work + properly if the DataOut::first_cell and + DataOut::next_cell functions were + overloaded and cell data was to be output; in that case, data from the + wrong cells was written out. This is now fixed. In contrast to this, + nodal data was never affected. +
    + (WB, 2005/04/20) +

    + +
  26. + Improved: By employing the new GeometryInfo::line_to_cell_vertices, GeometryInfo::face_to_cell_vertices and GeometryInfo::face_to_cell_lines functions the Triangulation::create_triangulation functions are now + implemented independent of given conventions for the numbering + of vertices, lines and faces. +
    + (RH, 2005/03/11) +

    + +
  27. + New: The new GeometryInfo::line_to_cell_vertices function maps line + vertex numbers to cell vertex numbers. +
    + (RH, 2005/03/11) +

    + +
  28. + New: The new GeometryInfo::face_to_cell_lines function maps face + line numbers to cell line numbers. +
    + (RH, 2005/03/11) +

    + +
  29. + New: The new GeometryInfo::face_to_cell_vertices function maps face + vertex numbers to cell vertex numbers. +
    + (RH, 2005/03/11) +

    + +
  30. + Fixed: There was a bug in the KellyErrorEstimator class that resulted in + assertions being thrown when run with multithreading + enabled. This is now fixed. +
    + (WB, 2005/03/10) +

    + +
  31. + Changed: The Triangulation<2>::execute_refinement function has been + re-implemented to accommodate future developments. This change + results in different ordering and indexing of lines and + vertices. This leads to a change in the ordering of vertices in + output files generated by GridOut + for refined grids. +
    + (RH, 2005/03/09) +

    + +
  32. + Fixed: The class MGDoFHandler had trouble + when it encountered a triangulation that had unused vertices, something + that happens when one coarsens an existing triangulation. In + that case, it would throw unjustified exceptions. This is now + fixed. +
    + (WB, 2005/03/01) +

    + +
  33. + Fixed: The class Triangulation::RefinementListener had only + virtual abstract functions but no virtual destructor. This caused + warnings with some compilers, and is generally bad practice + anyway. This is now fixed. +
    + (WB, 2005/02/22) +

    + +
  34. + New: Function FETools::compute_embedding_matrices allows for + automatic computation of embedding matrices under the sole + assumption that the coarse grid space is embedded into the fine + grid space. In particular, no interpolation points are required. +
    + (GK, 2005/02/08) +

    + +
  35. + Fixed: Several wrong assertions in the Raviart-Thomas finite element + class have been fixed, that were triggered when integrating face terms. +
    + (Oliver Kayser-Herold, 2005/01/24; + WB, 2005/01/31) +

    +
+ +
+Last update $Date$ + + + diff --git a/deal.II/doc/news/changes.html b/deal.II/doc/news/changes.html index 58bd8b58c3..5473eee68e 100644 --- a/deal.II/doc/news/changes.html +++ b/deal.II/doc/news/changes.html @@ -13,11 +13,11 @@ -

Changes after Version 5.1

+

Changes after Version 5.2

This is the list of changes made after the release of -deal.II version 5.1. It is subdivided into changes +deal.II version 5.2. It is subdivided into changes made to the three sub-libraries base, lac, and deal.II, as well as changes to the general infrastructure, @@ -31,239 +31,10 @@ contributor's names are abbreviated by WB (Wolfgang Bangerth), GK

- -

Incompatibilities

- -

-Following are a few modifications to the library that unfortunately -are incompatible with previous versions of the library, but which we -deem necessary for the future maintainability of the -library. Unfortunately, some of these changes will require -modifications to application programs. We apologize for the -inconvenience this causes. -

- - -
    -
  1. - Changed: The way boundary constraints were handled in the - step-17 tutorial program was conceptually flawed. We tried to - eliminate boundary nodes locally on the cell level, and hanging - node constraints subsequently when transferring into the global - matrix. However, this doesn't work in general: the elimination - of hanging node constraints could re-populate rows and columns - that had already been vacated during boundary node - elimination. At the end of a long though process, we came to - the conclusion that it is impossible to revert the traditional - order of operations: first eliminate all hanging node - constraints, then eliminate all boundary nodes. This leads to a - situation where the MatrixTools::local_apply_boundary_values - function is not very useful any more, except for the special - case where there are no hanging nodes. The step-17 example - program has therefore been changed to use the MatrixTools::apply_boundary_values - function again, though hanging node elimination still happens - during transfer into the global matrix. -
    - (WB 2005/05/05) -

    - -
  2. - Changed: The class MGCoarseGridLACIteration lost two template - arguments. Since the matrix and preconditioner are now stored - in form of PointerMatrix objects, - handling of the class is much simpler, in particular when - exchanging preconditioners. -
    - (GK 2005/05/03) -

    - -
  3. - Changed: The template argument of BlockMatrixArray was changed to - number, equal to the same argument of the used BlockVector. Furthermore, its constructor - requires an additional argument of type VectorMemory<Vector<number> > - providing space for auxiliary vectors. Since the entries are - now of type PointerMatrixBase, even - matrices with blocks of different types can be constructed. -
    - (GK 2005/03/21) -

    - -
  4. - Changed: The GeometryInfo::vertices_adjacent_to_line function has - been renamed to GeometryInfo::line_to_cell_vertices to be named - analogous to the face_to_cell_vertices, face_to_cell_lines and child_to_cell_coordinates functions. -
    - (RH 2005/03/14) -

    - -
  5. - Changed: the file multigrid/mg_dof_tools.h was renamed - to multigrid/mg_tools.h in order to match the name of - the class contained. -
    - (GK 2005/03/09) -

    - -
  6. - Changed: DoFTools::make_flux_sparsity_pattern, MGTools::make_flux_sparsity_pattern and similar - functions in these classes do not receive arguments of type - FullMatrix<double> - anymore. Instead, they get a Table<2,DoFTools::Coupling>, which - contains more meaningful enums. -
    - (GK 2005/03/09) -

    - -
  7. - Changed: Multigrid::Multigrid receives an argument - determining the type of multigrid cycle istead of the minimum - and maximum levels. The latter were rarely used anyway and can - be modified by set_minlevel() and - set_maxlevel() -
    - (GK 2005/03/09) -

    -
-

General

    -
  1. New: - The step-19 tutorial demonstrates handling of parameters from a - parameter file, as well as some simple techniques for merging output - from parallel computations. -
    - (WB 2005/09/09) -

    - -
  2. New: - The step-18 example program shows how to solve a quasi-static elasticity - problem with moving meshes, and this all in parallel. -
    - (WB 2005/08/11) -

    - -
  3. - Changed: The files - deal.II/include/grid/geometry_info.h and - deal.II/source/grid/geometry_info.cc have been moved - to base/include/base and base/source, - respectively. A redirection header file has been left in the - old location for compatibility. -
    - (GK, 2005/07/19) -

    - -
  4. - Changed: Cygwin has problems linking against deal.II DLLs if you - link against more than one dimension dependent library. The linker - might issue error messages about multiple defined symbols. This is now - detected, and the linker is forced to ignore these errors. However, if - you accidentally defined symbols twice you might have a hard time - debugging now... In this case remove the -Xlinker - --allow-multiple-definition flag from Make.global_options. -
    - (Ralf B. Schulz, 2005/07/13) -

    - -
  5. - Changed: Under Cygwin, linking against LAPACK and UMFPACK did - not work. This is now fixed in the Makefiles. Changes only - affect Cygwin. -
    - (Ralf B. Schulz, 2005/07/02) -

    - -
  6. - New: The latest version of UMFPACK, version 4.4, has been imported. -
    - (WB, 2005/06/30) -

    - -
  7. - Fixed: The documentation pages did not contain information - about the Threads::spawn functions. This is now fixed. -
    - (WB, 2005/05/12) -

    - -
  8. - Fixed: The step-17 example program had a stupid mistake in that it - initializes the pcout variable with an uninitialized value - of mpi_communicator. While this seems to have worked for - some older MPI implementations, this is no longer the case on some - other systems. It is now fixed. -
    - (WB, 2005/04/18) -

    - -
  9. - New: If there are references to other example programs in any of the - step-XX programs, then they will now show up as crosslinks in the HTML - version for simpler navigation of the tutorial. -
    - (WB, 2005/04/04) -

    - -
  10. - New: The configuration script can now enable special optimizations for - x86-like processors if called with the --with-cpu=... option. - This can decrease computation time by up to 30% on certain systems. - The configuration flag has already existed for PowerPC64 processors, but - was not documented. Documentation has been added. -
    - (Ralf B. Schulz, 2005/03/10) -

    - -
  11. - Fixed: When compiling shared libraries on CygWin systems, warnings - concerning the -fPIC option were issued by the compiler. - This is now fixed. - Also, configure now issues a message at the end that you should include - the DLL-path in your .bash_profile file on these systems. -
    - (Ralf B. Schulz, 2005/03/10) -

    - -
  12. - Fixed: On certain systems running CygWin, a call to socket functions - like gethostname() could cause deal.II to hang. The reason - seems to be that the call disables long double computations which - revert to just double precision. This then leads to an endless loop in - computing weights for quadrature points because the convergence - criterion cannot be reached with simple double precision. This is now - fixed by disabling the call to gethostname() on these - systems. A new preprocessor variable, DEAL_II_BROKEN_SOCKETS - has been added to base/config.h which is defined on - affected systems. -
    - (Ralf B. Schulz, WB, 2005/03/02) -

    - -
  13. - Fixed: The step-16 example program wasn't listed in the - navigation bar of the tutorial section, although it was in the - table of contents. This is fixed now. -
    - (WB, 2005/02/09) -

@@ -272,253 +43,6 @@ inconvenience this causes.

base

    -
  1. - New: Class PathSearch allows to find - a file in a sequence of directories and by appending suffixes. The class - generates the complete file name including directory prefix and suffix - such that it can be used for subsequently opening the file. -
    - (GK, 2005/09/14) -

    - -
  2. - Extended: The ParameterHandler class now does a much better - job generating output in the print_parameters() function if - parameters have documentation strings attached to them. See the step-19 - example program output for this. -
    - (WB, 2005/09/12) -

    - -
  3. - New: There is now a namespace Utilities that contains - functions that are not particularly specific to finite element codes, - but are needed in various contexts of application programs anyway. -
    - (WB, 2005/08/11) -

    - -
  4. - Changed: ParameterHandler::get_bool() only accepted - "true" or "false" as boolean values, now it also considers "yes" - and "no" as "true" and "false" respectively. -
    - (Ralf B. Schulz, 2005/07/19) -

    - -
  5. - Removed: The write_multigrid flag in DataOutBase::DXFlags - has been removed, since it wasn't used anywhere. -
    - (WB, 2005/07/14) -

    - -
  6. - New: A function - deal_II_exceptions::disable_abort_on_exception now allows - to disable program abortion when an assertion fails. This is used - in regression tests. -
    - (Ralf B. Schulz, 2005/07/13) -

    - -
  7. - Improved: The QProjector has functions - project_to_face and - project_to_subface - returning a Quadrature object -
    - (GK, 2005/07/12) -

    - -
  8. - Changed: The ParameterHandler::print_parameters - function now puts two newlines between regular entries and - subsection listings for better readability. -
    - (WB, 2005/07/05) -

    - -
  9. - Changed: The ParameterHandler::print_parameters - function now omits printing subsections if they and the contained - sub-subsections contain no entries. -
    - (WB, 2005/07/05) -

    - -
  10. - Changed: Some of the dimension independent functions in the DataOutInterface class have been moved into the - DataOutBase class that does not depend on any - dimension template parameters. Since the latter is a base class of the - former, there should be no problems for application programs. -
    - (WB, 2005/07/01) -

    - -
  11. - Fixed: Several of the functions in class ConstantFunction did not check whether the - component handed to them was valid. In essence, even a scalar - function could be evaluated for component 42, and the function - ignored how many components it was declared to have. This is - now fixed. -
    - (WB, 2005/06/30) -

    - -
  12. - Changed: The functions in class ExceptionBase have been renamed to conform - to our coding conventions that function names be all lower-case - with words separated by underscores. This is technically an - incompatible change, since these functions were publicly - visible, but were usually hidden behind macros and not used - anywhere explicitly in the library; we hope that this also - holds for external code. -
    - (WB, 2005/06/30) -

    - -
  13. - New: The GNU C library supports access to the call stack. For - systems using this library, the ExceptionBase class now uses these - functions to outputs the callstack when the exception is - created. -
    - (Ralf B. Schulz, 2005/06/30) -

    - -
  14. - Improved: The class Quadrature has a new - constructor generating the dim-dimensional tensor product of a - one-dimensonal formula directly. -
    - (GK, 2005/06/10) -

    - -
  15. - New: The class Polynomials::RaviartThomas implements - Raviart-Thomas polynomials of arbitrary order in 2d and 3d. -
    - (GK, 2005/05/30) -

    - -
  16. - New: The Polynomials::Lagrange class - allows generation of Lagrange interpolation polynomials for - arbitrary point sets. In order to get better interpolation for - higher order polynomials, QGaussLobatto has been added to produce - interpolation point sets clustering at the boundary of a cell - (weights are not computed yet). -
    - (GK, 2005/05/30) -

    - -
  17. - New: The QAnisotropic class allows - generation of quadrature rules of different order in each - space dimension. -
    - (GK, 2005/05/24) -

    - -
  18. - New: The Tensor classes now - have member functions that compute the Frobenius norm and its - square. There are also global operator* functions - that compute the contraction over a pair of indices of tensors. -
    - (WB, 2005/04/06) -

    - -
  19. - New: The DataOutBase class now - allows to write data in a new intermediate format that - basically dumps the raw information available in patches. -
    - (WB, 2005/04/05) -

    - -
  20. - New: The DataOutReader class allows - to read data back in from a file into which it has been written - using intermediate format. From there, it can then be converted - into any of the supported graphics formats. -
    - (WB, 2005/04/05) -

    - -
  21. - New: There is now a operator >> (std::istream &in, - Point<dim> &p), a function that had apparently been - missing for a long time already. -
    - (WB, 2005/04/05) -

    - -
  22. - New: The new function double_contract contracts two tensors of - rank 4 and 2 into a tensor of rank 2, by contracting over two - indices at the same time. -
    - (WB, 2005/03/29) -

    - -
  23. - New: The new function TableIndicesBase::sort allows to sort the indices - in ascending order. This is useful for cases where the order of indices - is irrelevant (for example in symmetric tables). -
    - (WB, 2005/03/29) -

    - -
  24. - New: There is a new class SymmetricTensor - that provides storage and operations for symmetric tensors. -
    - (WB, 2005/03/28) -

    - -
  25. - New: Class Subscriptor receives a - text argument allowing to identify the violating pointer more - easily. The additional feature is being incorporated into SmartPointer constructors throughout the - library. -
    - (GK, 2005/03/16) -

    - -
  26. - New: Class FunctionParser. Wrapper - class for the fparser library (see - - http://www.students.tut.fi/~warp/FunctionParser/). -
    - (Luca Heltai, 2005/03/07). -

    - -
  27. - Fixed: The class MultipleParameterLoop::UserClass had only - virtual abstract functions but no virtual destructor. This caused - warnings with some compilers, and is generally bad practice - anyway. This is now fixed. The same holds with respect to the class - DataOutInterface. -
    - (WB, 2005/02/20) -

@@ -527,112 +51,6 @@ inconvenience this causes.

lac

    -
  1. - New: The new function PetscWrappers::VectorBase::set allows to set - several vector elements at once. -
    - (WB, 2005/08/10) -

    - -
  2. - New: There are now functions PetscWrappers::MatrixBase::clear_row and clear_rows that allow to set the elements of a row - of a matrix to zero, without having to traverse the individual - elements. -
    - (WB, 2005/08/10) -

    - -
  3. - Fixed: SparsityPattern::block_write neither wrote the number of - columns of the pattern, nor the flag for optimizing the - diagonal, and SparsityPattern::block_read did not attempt to read this - data. Both is fixed now. -
    - (GK, 2005/06/24) -

    - -
  4. - Improved: SparseDirectUMFPACK now - has the complete interface of a preconditioner - class. Therefore, it can be used in iterative solvers and in - multigrid smoothers. -
    - (GK, 2005/05/10) -

    - -
  5. - Fixed: The PETSc matrix iterators had trouble when some rows of a - matrix were empty. This has now been mostly fixed. -
    - (WB, 2005/05/02) -

    - -
  6. - Fixed: The PETScWrappers::MPI::SparseMatrix - class had functions that allow to take a pre-existing sparsity pattern - as the basis for entry allocation. These function had an option to - allow pre-setting these entries in the underlying data structures, but - this option was disabled by default because of unresolved questions - about its effectiveness. This has now been fixed: The code now properly - initializes these elements, and makes the resulting matrix much faster - to use. -
    - (WB, 2005/04/04) -

    - -
  7. - New: The ProductSparseMatrix - implements the product of two rectangular sparse matrices with - the same value_type -
    - (GK, 2005/03/11) -

    - -
  8. - New: The PreconditionRichardson - implements a Richardson preconditioner. -
    - (GK, 2005/03/10) -

    - -
  9. Fixed: The BlockSparseMatrix - class had no local typedef value_type like all other classes, which - made it a little awkward to use in some places. This has now - been fixed. - -
    - (WB, 2005/03/03) -

    - -
  10. Fixed: The PETScWrappers::MatrixBase class documented that adding - or setting a value that hasn't been in the sparsity pattern - before will lead to an exception being thrown. This is of - course wrong: PETSc allocates matrix entries dynamically, as - needed. The documentation is now fixed. -
    (WB, 2005/03/03) -

    - -
  11. New: The SparseMatrix iterators - had no operator >, only an operator <. The missing operator is - now implemented. The same holds for the FullMatrix class. -
    (WB, 2005/03/01) -

    - -
  12. Fixed: The SparseMatrix - iterators could not be compared using operator <: the compiler complained - that a private member was accessed. This is now fixed. -
    (WB, 2005/03/01) -

@@ -641,369 +59,6 @@ inconvenience this causes.

deal.II

    - -
  1. Removed: The class FiniteElementBase has been removed and all its - functions are now in FiniteElement. -
    - (GK, 2005/08/25) -

    - -
  2. New: class DoFTools now has two - functions compute_row_length_vector, one - for equations and one for systems. These give a much finer estimate - for the size of the sparsity pattern required than DoFHandler::max_couplings_between_dofs. This is - particularly true for systems with few couplings. -
    - (GK, 2005/08/24) -

    - -
  3. - Remove: Due to the reimplementation of the 3d reordering - algorithm in GridReordering two - years ago, the CellData::rotate - function got obsolete. CellData::rotate is now removed. -
    - (RH, 2005/08/09) -

    - -
  4. - Fixed: It was possible to compare iterators into different - DoFHandler objects for equality and inequality as long as - the underlying triangulation object was the same. This doesn't make much - sense, however, and even sometimes declared to iterators equal if only - they had the same triangulation, refinement level, and index. Comparing - iterators into different containers is now completely disallowed. -
    - (WB, 2005/08/08) -

    - -
  5. - New: The DataOutStack::add_data_vector - function now also allows to give only a single name even if the data is - vector-valued. It then makes up names for the individual components by - adding numbers to the name, just like the DataOut class already does for a long time. -
    - (WB, 2005/07/29) -

    - -
  6. - New: The DataOutStack class can now also be - used to stack two-dimensional time or parameter dependent data into a 3d - output. -
    - (WB, 2005/07/25) -

    - -
  7. - New: Function FETools::compute_face_embedding_matrices allows for - automatic computation of embedding matrices on faces under the sole - assumption that the coarse grid space is embedded into the fine - grid space. In particular, no interpolation points are - required.

    - -

    Using this function, constraint matrices can be computed in - a general way. -
    - (GK, 2005/07/14) -

    - -
  8. - Improved: All GridIn::read_* functions now call GridReordering::invert_all_cells_of_negative_grid. This - way, also misoriented grids are represented in the right - orientation within deal.II. -
    - (RH 2005/07/06) -

    - -
  9. - Improved: Triangulation<3>::create_triangulation now checks that all - cell have positive volume. If not, an exception is thrown. In - that case use the GridReordering::invert_all_cells_of_negative_grid - function, see below, to fix this. -
    - (RH 2005/07/06) -

    - -
  10. - New: There is now a GridReordering::invert_all_cells_of_negative_grid - function implemented in 3d which checks if some/all cells have - negative volumes. If all cell have negative volume then the - whole grid is reoriented. An assertion is thrown if only a - subset of cells have negative volumes, as then the grid might - be broken. -
    - (RH 2005/07/06) -

    - -
  11. - New: There is now a new GridTools::cell_measure function. However, it is - mostly for internal use. Use cell->measure() - instead. -
    - (RH 2005/07/06) -

    - -
  12. - Improved: cell->measure() used to give the - absolute value of the cell measure. It now gives the measure - with the correct sign. This is useful to find wrongly oriented - cells in 3d with negative volumes. -
    - (RH 2005/07/05) -

    - -
  13. - Improved: The class FiniteElementData now stores information - on the Sobolev space a finite element space conforms with. -
    - (GK 2005/06/29) -

    - -
  14. - New: Added function FiniteElementBase::component_to_system_index - which was referred to in the documentation, but was missing. -
    - (Ralf B. Schulz, 2005/06/30) -

    - -
  15. - Improved: The function DoFTools::count_dofs_per_component and its - counterpart in MGTools got an - additional argument. This argument allows to count the degrees - of freedom of nonprimitive vector valued elements only once, - instead of in every component. Although this argument defaults - to the previous behavior, it had to be put into the argument - list ahead of target_component in order to make use of - default arguments more efficiently. The old order of arguments - can still be used through a wrapper function. -
    - (GK 2005/06/22) -

    - -
  16. - Improved: The GeometryInfo::child_cell_on_face, face_to_cell_vertices and face_to_cell_lines now have an additional - face_orientation argument, which has no effect in - 2d and which defaults to true (standard - orientation) in 3d. Now these functions return the right values - also for the case of non-standard oriented faces in 3d. This - avoids several awful pieces of code including questioning - face_orientation and using child_switch_tables. -
    - (RH, 2005/06/16) -

    - -
  17. - Changed: The method FETools::lexicographic_to_hierarchic_numbering now - takes a FiniteElementData instead of - a FE_Q object. Now this function can - also be called by the FE_Q - constructor which avoids code duplication. -
    - (RH, 2005/06/13) -

    - -
  18. - New: The method create_mass_matrix - in class MatrixCreator can now handle - vector valued finite elements. A similar change was applied - to create_right_hand_side and - create_boundary_right_hand_side - in VectorTools. These two changes - now make the project function work also - for Raviart-Thomas elements and other vector valued FEs. This - is very useful, if some initial conditions have to be specified. -
    - (Oliver Kayser-Herold, 2005/06/03) -

    - -
  19. - New: The DataOut - now supports Eulerian Mappings. If a solution is computed - on a deformed mesh, the output file generated by the DataOut - now shows the solution also on the deformed mesh. This - is an option and requires the mapping to be specified as - additional parameter to build_patches. -
    - (Oliver Kayser-Herold, 2005/05/31) -

    - -
  20. - New: The MappingQ1Eulerian - can now cope with different vector types fot the Euler vector. - This is useful if it should be used with the PetSC wrapper classes. - The desired vector type can be specified as template parameter. -
    - (Oliver Kayser-Herold, 2005/05/31) -

    - -
  21. - New: The FE_RaviartThomasNodal - implements Raviart-Thomas elements using function values in - Gauss quadrature points on edges and in the interior for its - node values. The implementation is restricted to Cartesian mesh - cells right now, but works in 2D and 3D. -
    - (GK, 2005/05/30) -

    - -
  22. - Improved: The Mapping::transform_* - functions accept VectorSlice instead - of Vector, thus allowing more flexibility. -
    - (GK, 2005/05/24) -

    - -
  23. - New: The MatrixTools::apply_boundary_values - function now also works for PETSc sequential and parallel matrices. -
    - (WB, 2005/05/05) -

    - -
  24. - Improved: The function GridIn::read now searches for files using the - mechanism provided by the class PathSearch. Furthermore, a library of input - meshes has been started in lib/meshes. -
    - (GK, 2005/05/03) -

    - -
  25. - Fixed: The DataOut class did not work - properly if the DataOut::first_cell and - DataOut::next_cell functions were - overloaded and cell data was to be output; in that case, data from the - wrong cells was written out. This is now fixed. In contrast to this, - nodal data was never affected. -
    - (WB, 2005/04/20) -

    - -
  26. - Improved: By employing the new GeometryInfo::line_to_cell_vertices, GeometryInfo::face_to_cell_vertices and GeometryInfo::face_to_cell_lines functions the Triangulation::create_triangulation functions are now - implemented independent of given conventions for the numbering - of vertices, lines and faces. -
    - (RH, 2005/03/11) -

    - -
  27. - New: The new GeometryInfo::line_to_cell_vertices function maps line - vertex numbers to cell vertex numbers. -
    - (RH, 2005/03/11) -

    - -
  28. - New: The new GeometryInfo::face_to_cell_lines function maps face - line numbers to cell line numbers. -
    - (RH, 2005/03/11) -

    - -
  29. - New: The new GeometryInfo::face_to_cell_vertices function maps face - vertex numbers to cell vertex numbers. -
    - (RH, 2005/03/11) -

    - -
  30. - Fixed: There was a bug in the KellyErrorEstimator class that resulted in - assertions being thrown when run with multithreading - enabled. This is now fixed. -
    - (WB, 2005/03/10) -

    - -
  31. - Changed: The Triangulation<2>::execute_refinement function has been - re-implemented to accommodate future developments. This change - results in different ordering and indexing of lines and - vertices. This leads to a change in the ordering of vertices in - output files generated by GridOut - for refined grids. -
    - (RH, 2005/03/09) -

    - -
  32. - Fixed: The class MGDoFHandler had trouble - when it encountered a triangulation that had unused vertices, something - that happens when one coarsens an existing triangulation. In - that case, it would throw unjustified exceptions. This is now - fixed. -
    - (WB, 2005/03/01) -

    - -
  33. - Fixed: The class Triangulation::RefinementListener had only - virtual abstract functions but no virtual destructor. This caused - warnings with some compilers, and is generally bad practice - anyway. This is now fixed. -
    - (WB, 2005/02/22) -

    - -
  34. - New: Function FETools::compute_embedding_matrices allows for - automatic computation of embedding matrices under the sole - assumption that the coarse grid space is embedded into the fine - grid space. In particular, no interpolation points are required. -
    - (GK, 2005/02/08) -

    - -
  35. - Fixed: Several wrong assertions in the Raviart-Thomas finite element - class have been fixed, that were triggered when integrating face terms. -
    - (Oliver Kayser-Herold, 2005/01/24; - WB, 2005/01/31) -


diff --git a/deal.II/doc/news/news.html b/deal.II/doc/news/news.html index e4eb3fb0ba..33007799d6 100644 --- a/deal.II/doc/news/news.html +++ b/deal.II/doc/news/news.html @@ -32,6 +32,16 @@ here.

+
+ 2005/09/17: Version 5.2 released +
+
+ Version 5.2.0 was released today! + A complete and long list of changes between + versions 5.1.0 and 5.2.0 can be found here. +
+
2005/09/09: Two more tutorial programs