From 66de4dd96616ae0e2f16a91082aa56414d8be4a7 Mon Sep 17 00:00:00 2001 From: heister Date: Wed, 27 Feb 2013 05:04:48 +0000 Subject: [PATCH] update changes and news for release git-svn-id: https://svn.dealii.org/trunk@28602 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/doc/news/7.2.0-vs-7.3.0.h | 519 ++++++++++++++++++++++++++++++ deal.II/doc/news/changes.h | 473 +-------------------------- deal.II/doc/news/news.html | 18 +- 3 files changed, 541 insertions(+), 469 deletions(-) create mode 100644 deal.II/doc/news/7.2.0-vs-7.3.0.h diff --git a/deal.II/doc/news/7.2.0-vs-7.3.0.h b/deal.II/doc/news/7.2.0-vs-7.3.0.h new file mode 100644 index 0000000000..e40b25cb19 --- /dev/null +++ b/deal.II/doc/news/7.2.0-vs-7.3.0.h @@ -0,0 +1,519 @@ +/** + * @page changes_between_7_2_and_7_3 Changes between Version 7.2 and 7.3 + +

+This is the list of changes made between the release of +deal.II version 7.2.0 and that of 7.3.0. +All entries are signed with the names of the author. +

+ + + + + + +

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: There are various changes to PETScWrappers::MPI::Vector +to minimize usage errors and to make the behavior similar to Trilinos: +objects with ghost elements are now read-only, the function +update_ghost_values() is no longer required (but called automatically +if needed). This requires some changes in user code. +
    +(Timo Heister, 2013/02/16) + +
  2. Changed: Over the past few years, deal.II has accumulated a +number of things that we would like to change but that would introduce +incompatibility. Examples are inconsistent naming of functions or types, +or things put into the wrong namespace. In reality, while there are +about 100 examples of things we'd like to get rid of, most of them are +rather obscure to begin with and will not affect most user code. +Nevertheless, as a developer community, we are +very careful in making such incompatible changes. + +All this said, it is sometimes necessary. We plan to create an incompatible +release 8.0 at a later time. To give users a chance to already see which +functions need to be changed, we have introduced markers into the deal.II +header files that identify which functions, classes or symbols are now +deprecated. If your compiler supports this, it will then warn if you are +using any of these. The documentation for each of these symbols discusses +the recommended alternative, which are in all cases already in place. In +other words, you can already change your code in such a way that it compiles +both with the current 7.3 release as well as with the future 8.0 release +in which these symbols will have been removed. +
    +(Matthias Maier, Timo Heister, Wolfgang Bangerth, 2013/1/5) + +
  3. Changed: deal.II previously had two separate classes, DoFHandler +and MGDoFHandler, for standard and multilevel discretizations, respectively. +There were also corresponding accessor hierarchies for the cell and +face iterators. This turned out to be an obstacle for future developments. +Consequently, the functionality of the MGDoFHandler class has been merged +into the standard DoFHandler (which already was a base class of MGDoFHandler; +moving the functions down in the class hierarchy therefore does not +significantly affect how these classes are used). The MGDoFHandler class +still exists for now, but is deprecated and will be removed in deal.II 8.0. +Use the DoFHandler class instead which has obtained all the functionality of +the old MGDoFHandler class. + +From a user perspective, there is only one significant change: The old +MGDoFHandler::distribute_dofs() function called DoFHandler::distribute_dofs() +and then distributed degrees of freedom on all levels of the multilevel +hierarchy. In the new scheme, this is now achieved using the function +DoFHandler::distribute_mg_dofs(). In other words, where you previously +used the class MGDoFHandler and called MGDoFHandler::distribute_dofs(), you +should now use the class DoFHandler and call first DoFHandler::distribute_dofs() +and then DoFHandler::distribute_mg_dofs(). +
    +(Markus Bürg, Timo Heister, Guido Kanschat, 2013/01/03) + +
  4. Removed: The Triangulation and DoFHandler classes had a great number +of functions that allowed to get the first and last iterators to cells, +faces, lines, quads and hexes overall and on each level of the mesh +hierarchy individually. While conceptually a nice idea to offer such a +rich set of functions, there are two factors that led us to drastically +reduce this set of functions: (i) A large interface makes it more +difficult to fully document what every function is doing and more +difficult to find what one is looking for. (ii) A large interface +makes it incredibly difficult to evolve the data structures on which +these functions operate. We felt that the many functions we have impeded +our ability to make changes to the internal storage of data. A survey +of the deal.II code base as well as some larger applications also shows +that most of these functions are rarely used, if at all. +
    +Consequently, most of these functions have been removed. The only functions +that remain are the following (for each of the Triangulation and the +various DoFHandler classes): +
    +
    +    cell_iterator        begin       (const unsigned int level = 0) const;
    +    active_cell_iterator begin_active(const unsigned int level = 0) const;
    +    cell_iterator        end         () const;
    +    cell_iterator        end         (const unsigned int level) const;
    +    active_cell_iterator end_active  (const unsigned int level) const;
    +
    +
    +
    +Codes that have previously used functions like begin_active_line +etc. to loop over the lines or quads of a triangulation need to be changed +to loop over cells, and on each cell loop over the lines or quads of this +cell. In most cases we have encountered (in deal.II or its testsuite) this +was a rather trivial modification. A case to watch out for is that the +old loop over all lines encountered all lines only once whereas one may +encounter it multiple times when looping over all cells and then the lines +of each cell. This case is easily avoided by flagging each treated line +using the @ref GlossUserFlags "user flags" associated with lines, quads, +and cells. +
    +(Wolfgang Bangerth, 2012/09/22) + +
  5. New: In the past, deal.II used a std::vector of bools in many places +to denote component masks (see @ref GlossComponentMask) as well as for +block masks (see @ref GlossBlockMask). This was neither +descriptive (the data type does not indicate what it is supposed to +represent, nor whether the proper size for such an argument would be equal +to the number of degrees of freedom per cell, the number of vector components +of the finite element, or the number of degrees of freedom in total). +
    +There are now new class types ComponentMask and BlockMask that are used in these places. +They are used both descriptively (as a return type of the function +FiniteElement::get_nonzero_components indicating the vector components within +which a given shape function is nonzero) as well as prescriptively (as +input arguments to functions such as those listed in the glossary entry +linked to above). +
    +While the descriptive places are not backward compatible (they return a +ComponentMask which is not convertible to the std::vector of bools returned +before), most of the prescriptive places are in fact backward compatible +(because the std::vector of bool that was passed previously can +implicitly be converted to an object of type ComponentMask. The sole +exception is the function DoFTools::extract_dofs (and its multigrid +equivalent DoFTools::extract_level_dofs) that previously +could interpret its argument as either a component or +a block mask, depending on a boolean flag. This function now exists +in two different versions, one that takes a ComponentMask and +one that takes a BlockMask. Call sites need to be adjusted. +
    +(Wolfgang Bangerth, 2012/09/22) + +
  6. Removed: the optional argument offset got removed from +DoFHandler and MGDoFHandler::distribute_dofs() because it was +never working correctly and it is not used. +
    +(Timo Heister, 2012/09/03) +
+ + + + + +

General

+ + +
    + +
  1. Changed: parallel sparse matrices now also require the use of +compress(VectorOperation) like vectors do. See the glossary for details. +Old functions are now deprecated. +
    +(Timo Heister, 2013/02/25) + +
  2. New: step-49 demonstrates advanced techniques for mesh creation and +manipulation. +
    +(Timo Heister, 2013/02/19) + +
  3. Fixed: Many places in the documentation have been made to consistently +use doxygen markup that indicates that this is code, so that doxygen will +cross-link the piece of code to class and function names. Many typos have also +been fixed. +
    +(Felix Gruber, 2013/02/15) + +
  4. Fixed: Starting in release 7.1, we first built the deal.II shared libraries +in the local /tmp or similar directory rather than the final location +because linking becomes very slow over remotely mounted file systems. Unfortunately, +this schemes turns out not to work under Cygwin on Windows systems: executables +cannot link with libraries that have been moved/renamed after linking. If we are +running on Cygwin, we therefore revert to the old scheme. +
    +(Wolfgang Bangerth, 2013/02/11) + +
  5. New: finite element FE_Q_DG0 that implements polynomials +of order k with an additional discontinuous constant function. +
    +(Daniel Arndt, Timo Heister, 2013/01/07) + +
  6. step-6 now uses ConstraintMatrix::distribute_local_to_global() +instead of condense(), which is the preferred way to use a ConstraintMatrix + (and the only sensible way in parallel). +
    +(Timo Heister, 2012/11/02) + +
  7. Simplifications of the internal structures of Triangulation and +DoFHandler, in particular removal of specializations. +
    +(Guido Kanschat, 2012/09/13) +
+ + + + + +

Specific improvements

+ +
    +
  1. Fixed: The ArpackSolver interface to the ARPACK eigenvalue solver could +not be compiled with newer C++ compilers. This is now fixed. +
    +(Juan Carlos Araujo Cabarcas, Wolfgang Bangerth, 2013/02/20) + +
  2. New: PETScWrappers::MPI::BlockVector now has a constructor and reinit +that takes a std::vector (same interface as in Trilinos). +
    +(Timo Heister, 2013/02/19) + +
  3. New: PETScWrappers::*Matrix::add(other, factor) to +add a scaled other matrix to the current matrix. +
    +(Jose Javier Munoz Criollo, 2013/02/19) + +
  4. New: GridGenerator::extrude_triangulation() allows +you to extrude a 2d mesh to turn it into a 3d mesh. +
    +(Timo Heister, 2013/02/16) + +
  5. PETScWrappers::Vector::operator= and PETScWrappers::MPI::Vector::operator= +now call update_ghost_values() +automatically if necessary. This means that update_ghost_values() +does not need to be called from user code at all any more. +
    +(Timo Heister, 2013/02/14) + +
  6. Fixed: VectorTools::interpolate did not work properly in 1d if +boundary indicators had been set to anything but the default (i.e., +zero at the left and one at the right end of the domain). This was +a hold-over from the past when these were the only possible values. +This is now fixed. +
    +(Kevin Dugan, Wolfgang Bangerth, 2013/02/14) + +
  7. Improved: The iterator class of the deal.II SparseMatrix class +and SparsityPattern have been revised for performance. Iterating over +a row of the matrix and querying the column index and the value is now +similarly fast as iterating over a vector. +
    +(Martin Kronbichler, 2013/02/12) + +
  8. New: A new overload of BlockMatrixBase::add allows to add one block +matrix to another, with a scaling factor. +
    +(Jean-Paul Pelteret, 2013/02/05) + +
  9. Fixed: The FEValues machinery silently accepted the case when the +mapped cell (or the cell geometry) were distorted. An assertion has been +added to the computation of the Jacobian determinants for the volume +element that aborts whenever the Jacobian determinant in a quadrature +point becomes too small or negative. +
    +(Martin Kronbichler, 2013/01/18) + +
  10. Improved: SLEPcWrappers:: The interface to SLEPc has an improved +handle on SolverControl and solver data can now be extracted at run +time. An example usage has been added to step-36. +
    +(Toby D. Young, 2013/01/18) + +
  11. Fixed: Various variants of the TrilinosWrappers::SparseMatrix::reinit +functions take a parameter drop_tolerance that allows to remove +small values from the matrix and replace them by zero instead. This was not +enforced for values on the diagonal of the matrix but only for off-diagonal +ones. This is now fixed. +
    +(Wolfgang Bangerth, 2013/01/17) + +
  12. New: All vector classes should now have a in_local_range() +function indicating whether a given index is locally stored or not. +
    +(Daniel Arndt, 2013/01/14) + +
  13. Fixed: The one-argument version of ConstraintMatrix::condense was +not prepared to deal with parallel vectors. This is now fixed. +
    +(Daniel Arndt, Wolfgang Bangerth, 2013/1/9) + +
  14. New: Utilities::int_to_string can now deal with any 32-bit +integer, not just those with up to 6 digits. +
    +(Wolfgang Bangerth, 2013/1/5) + +
  15. New: The PETScWrappers::MatrixBase::write_ascii() now takes a +(defaulted) argument allowing to select the PETSc Viewer style. +
    +(Fahad Alrashed, 2013/1/2) + +
  16. New: The PETScWrappers::MPI::Vector::print() function overloads the +function of same name in the base class to ensure that the output +generated by a parallel vector makes sense. +
    +(Fahad Alrashed, 2013/1/2) + +
  17. New: The PETScWrappers::VectorBase class now has a function +PETScWrappers::VectorBase::write_ascii() that allows writing the +vector's data to the default output stream. +
    +(Fahad Alrashed, 2013/1/2) + +
  18. Fixed: PETScWrappers::SparseDirectMUMPS forgot to release +its memory upon destruction. This is now fixed. +
    +(Alexander Grayver, 2012/12/12) + +
  19. Fixed: Using the copy constructor of FESystem led to trouble +down the road because some pointers were freed by the copy while +still in use by the original object. This is now fixed. +
    +(Timo Heister, Wolfgang Bangerth, 2012/12/03) + +
  20. Improved: GridTools::make_periodicity_constraints substantially: +The low level interface now allows to specify a face orientation that +will be used when matching and constraining DoFs for periodic boundary +conditions. With that, the high level interface will work correctly on +(mainly 3d) grids that have cells in non standard orientation. +
    +(Matthias Maier, 2012/12/01) + +
  21. Fixed: Fix GeometryInfo<2>::child_cell_on_face to respect face_flip +
    +(Matthias Maier, 2012/12/01) + +
  22. New: There is now a version of DoFTools::make_zero_boundary_constraints() +that accepts a boundary indicator as argument. +
    +(Wolfgang Bangerth, 2012/11/25) + +
  23. Fixed: The DoFTools::make_flux_sparsity_pattern() function +had a bug that triggered in 1d whenever there were neighboring +cells that differed in refinement level by more than one. This +is now fixed. +
    +(Wolfgang Bangerth, 2012/11/20) + +
  24. Improved: The inner product, norm, and mean value computation +of deal.II's own Vector class are now parallelized by threads. +The parallelization does not change the order in which the additions +take place, ensuring exact reproducibility from one run to the next. +
    +(Martin Kronbichler, 2012/11/18) + +
  25. New: The TrilinosWrappers::PreconditionBase class now has +a function TrilinosWrappers::PreconditionBase::Tvmult that +allows applying the transpose preconditioner. +
    +(Guido Kanschat, 2012/11/04) + +
  26. New: The parallel::distributed::Triangulation::n_global_levels() +function returns the maximal refinement level over all involved +processors. +
    +(Timo Heister, 2012/11/04) + +
  27. New: In addition to the regular subdomain ids (see +@ref GlossSubdomainId) there is now a second set of flags called +"level subdomain ids" that also assigns a subdomain to every cell +in a multigrid hierarchy. +
    +(Timo Heister, 2012/11/04) + +
  28. Changed: GridOut::write_xfig has been improved in a number +of ways. In particular, one can now color cells based on a number +of different criteria that can be set in GridOutFlags::XFig. +
    +(Guido Kanschat, 2012/11/04) + +
  29. The class Utilities::MPI::MPI_InitFinalize now also initializes +PETSc, when PETSc is installed. +
    +(Timo Heister, 2012/11/02) + +
  30. Fixed: DoFTools::make_flux_sparsity_pattern wasn't prepared to +deal with adaptively refined meshes in 1d. +
    +(Wolfgang Bangerth, 2012/10/30) + +
  31. New: Added PETScWrappers::PreconditionParaSails and +PETScWrappers::PreconditionNone. PETScWrappers::PreconditionParaSails +implements the interface to use the ParaSails sparse approximate +inverse preconditioner from the HYPRE suite. ParaSails supports +parallel distributed computations and can handle nonsymmetric +and also indefinite problems. PETScWrappers::PreconditionNone +implements non-preconditioning in PETSc which can be of use +together with the PETScWrappers::MatrixFree class. +
    +(Martin Steigemann, 2012/10/26) + +
  32. New: The PETScWrappers::SparseDirectMUMPS class now allows to +exploit symmetry of the matrix, using the +PETScWrappers::SparseDirectMUMPS::set_symmetric_mode() function. +
    +(Alexander Grayver, 2012/10/23) + +
  33. Fixed: Several static const member variables of the Accessor +classes were not properly instantiated. This only rarely created +trouble because they are typically only used as template arguments +and the compiler substituted them. However, one would get linker +errors when passing around a reference to them. This is now fixed. +
    +(Wolfgang Bangerth, Guido Kanschat, 2012/10/11) + +
  34. Fixed: Handle lucky breakdowns in GMRES/FGMRES. +
    +(Bärbel Janssen, Timo Heister, 2012/10/09) + +
  35. Fixed: GridTools::find_cells_adjacent_to_vertex got into +trouble with anisotropically refined meshes. This is now fixed. +
    +(Abner Salgado, Tobias Leicht, Wolfgang Bangerth, 2012/10/08) + +
  36. Fixed: FESystem can now deal with n_elements==0 for a block. +
    +(Timo Heister, 2012/09/28) + +
  37. Fixed: ParameterHandler::print_parameters, when using +ParameterHandler::OutputStyle::LaTeX would always print a list +of parameters in each section as a latex itemized environment. +However, if there are none, we end up with an empty list which +latex does not like. This is now fixed. +
    +(Wolfgang Bangerth, 2012/09/27) + +
  38. New: Added SparsityTools::distribute_sparsity_pattern() for +BlockCompressedSimpleSparsityPattern. This allows parallel computations +with distributed::Triangulation and PETScWrappers::MPI::BlockSparseMatrix. +
    +(Timo Heister, 2012/09/25) + +
  39. New: Added BlockCompressedSimpleSparsityPattern::column_number(). +
    +(Timo Heister, 2012/09/25) + +
  40. New: There is now a function hp::FECollection::n_blocks() in analogy to +the existing function hp::FECollection::n_components(). +
    +(Wolfgang Bangerth, 2012/09/20) + +
  41. Changed: step-8 now outputs data in VTK format, rather than GMV. +GMV has long been dead. +
    +(Wolfgang Bangerth, 2012/09/19) + +
  42. Fixed: One can compile deal.II with MPI support but run programs +that aren't intended to use parallel communications and that, in fact, +do not call MPI_Init at all. They are nevertheless supposed +to work but previously the TimerOutput would crash under these conditions. +This is now fixed. +
    +(Timo Heister, Wolfgang Bangerth, 2012/09/18) + +
  43. Fixed: If you pipe content into the deallog object and there +is no end-line or flush after this content, and if a file stream +is associated to this object, and if that happens at the end of +the lifetime of the program, then the program would crash. +This is now fixed. +
    +(Timo Heister, Wolfgang Bangerth, 2012/09/17) + +
  44. Fixed: The use of TableHandler::set_precision affected not only the +precision with which elements of a table were printed, but also the +precision carried by the output stream after writing the table was +finished. It thus affected the precision +with which later output was produced. This is now fixed. +
    +(Timo Heister, 2012/09/16) + +
  45. Fixed: Output of super-columns in TableHandler::write_text() +was inconsistent. This is now fixed. +
    +(Timo Heister, 2012/09/16) + +
  46. Changed: Due to incompatibilties with some hdf5 packages installed from +repositories we disable auto-detection of hdf5. Use --with-hdf if you need it. +
    +(Timo Heister, 2012/09/14) + +
  47. New MeshWorker::LocalIntegrator and integration_loop() provide a +less confusing interface to MeshWorker loops. +
    +(Guido Kanschat, 2012/09/13) + +
  48. New: TableHandler TextOutputFormat::simple_table_with_separate_column_description +that skips aligning the columns for increased performance. +
    +(Timo Heister, 2012/09/10) + +
  49. Fixed: The Clang C++ compiler had some trouble dealing with obtaining +the return value of a Threads::Task object, due to a compiler bug in +dealing with friend declarations. This is now fixed. +
    +(Wolfgang Bangerth, 2012/09/04) + +
  50. Fixed: When applying a ConstraintMatrix to a block matrix +where the last few rows are empty, we ran into an unrelated assertion. +This is now fixed. +
    +(Jason Sheldon, Wolfgang Bangerth, 2012/09/04) +
+ + +*/ diff --git a/deal.II/doc/news/changes.h b/deal.II/doc/news/changes.h index 866406c2b7..34e0cd0aa8 100644 --- a/deal.II/doc/news/changes.h +++ b/deal.II/doc/news/changes.h @@ -1,10 +1,10 @@ /** - * @page changes_after_7_2 Changes after Version 7.2 + * @page changes_after_7_3 Changes after Version 7.3

This is the list of changes made after the release of -deal.II version 7.2.0. -All entries are signed with the names of the author. +deal.II version 7.3.0. +All entries are signed with the names of the authors.

@@ -25,133 +25,12 @@ inconvenience this causes.
    -
  1. Changed: There are various changes to PETScWrappers::MPI::Vector -to minimize usage errors and to make the behavior similar to Trilinos: -objects with ghost elements are now read-only, the function -update_ghost_values() is no longer required (but called automatically -if needed). This requires some changes in user code. + -
  2. Changed: Over the past few years, deal.II has accumulated a -number of things that we would like to change but that would introduce -incompatibility. Examples are inconsistent naming of functions or types, -or things put into the wrong namespace. In reality, while there are -about 100 examples of things we'd like to get rid of, most of them are -rather obscure to begin with and will not affect most user code. -Nevertheless, as a developer community, we are -very careful in making such incompatible changes. - -All this said, it is sometimes necessary. We plan to create an incompatible -release 8.0 at a later time. To give users a chance to already see which -functions need to be changed, we have introduced markers into the deal.II -header files that identify which functions, classes or symbols are now -deprecated. If your compiler supports this, it will then warn if you are -using any of these. The documentation for each of these symbols discusses -the recommended alternative, which are in all cases already in place. In -other words, you can already change your code in such a way that it compiles -both with the current 7.3 release as well as with the future 8.0 release -in which these symbols will have been removed. -
    -(Matthias Maier, Timo Heister, Wolfgang Bangerth, 2013/1/5) - -
  3. Changed: deal.II previously had two separate classes, DoFHandler -and MGDoFHandler, for standard and multilevel discretizations, respectively. -There were also corresponding accessor hierarchies for the cell and -face iterators. This turned out to be an obstacle for future developments. -Consequently, the functionality of the MGDoFHandler class has been merged -into the standard DoFHandler (which already was a base class of MGDoFHandler; -moving the functions down in the class hierarchy therefore does not -significantly affect how these classes are used). The MGDoFHandler class -still exists for now, but is deprecated and will be removed in deal.II 8.0. -Use the DoFHandler class instead which has obtained all the functionality of -the old MGDoFHandler class. - -From a user perspective, there is only one significant change: The old -MGDoFHandler::distribute_dofs() function called DoFHandler::distribute_dofs() -and then distributed degrees of freedom on all levels of the multilevel -hierarchy. In the new scheme, this is now achieved using the function -DoFHandler::distribute_mg_dofs(). In other words, where you previously -used the class MGDoFHandler and called MGDoFHandler::distribute_dofs(), you -should now use the class DoFHandler and call first DoFHandler::distribute_dofs() -and then DoFHandler::distribute_mg_dofs(). -
    -(Markus Bürg, Timo Heister, Guido Kanschat, 2013/01/03) - -
  4. Removed: The Triangulation and DoFHandler classes had a great number -of functions that allowed to get the first and last iterators to cells, -faces, lines, quads and hexes overall and on each level of the mesh -hierarchy individually. While conceptually a nice idea to offer such a -rich set of functions, there are two factors that led us to drastically -reduce this set of functions: (i) A large interface makes it more -difficult to fully document what every function is doing and more -difficult to find what one is looking for. (ii) A large interface -makes it incredibly difficult to evolve the data structures on which -these functions operate. We felt that the many functions we have impeded -our ability to make changes to the internal storage of data. A survey -of the deal.II code base as well as some larger applications also shows -that most of these functions are rarely used, if at all. -
    -Consequently, most of these functions have been removed. The only functions -that remain are the following (for each of the Triangulation and the -various DoFHandler classes): -
    -
    -    cell_iterator        begin       (const unsigned int level = 0) const;
    -    active_cell_iterator begin_active(const unsigned int level = 0) const;
    -    cell_iterator        end         () const;
    -    cell_iterator        end         (const unsigned int level) const;
    -    active_cell_iterator end_active  (const unsigned int level) const;
    -
    -
    -
    -Codes that have previously used functions like begin_active_line -etc. to loop over the lines or quads of a triangulation need to be changed -to loop over cells, and on each cell loop over the lines or quads of this -cell. In most cases we have encountered (in deal.II or its testsuite) this -was a rather trivial modification. A case to watch out for is that the -old loop over all lines encountered all lines only once whereas one may -encounter it multiple times when looping over all cells and then the lines -of each cell. This case is easily avoided by flagging each treated line -using the @ref GlossUserFlags "user flags" associated with lines, quads, -and cells. -
    -(Wolfgang Bangerth, 2012/09/22) - -
  5. New: In the past, deal.II used a std::vector of bools in many places -to denote component masks (see @ref GlossComponentMask) as well as for -block masks (see @ref GlossBlockMask). This was neither -descriptive (the data type does not indicate what it is supposed to -represent, nor whether the proper size for such an argument would be equal -to the number of degrees of freedom per cell, the number of vector components -of the finite element, or the number of degrees of freedom in total). -
    -There are now new class types ComponentMask and BlockMask that are used in these places. -They are used both descriptively (as a return type of the function -FiniteElement::get_nonzero_components indicating the vector components within -which a given shape function is nonzero) as well as prescriptively (as -input arguments to functions such as those listed in the glossary entry -linked to above). -
    -While the descriptive places are not backward compatible (they return a -ComponentMask which is not convertible to the std::vector of bools returned -before), most of the prescriptive places are in fact backward compatible -(because the std::vector of bool that was passed previously can -implicitly be converted to an object of type ComponentMask. The sole -exception is the function DoFTools::extract_dofs (and its multigrid -equivalent DoFTools::extract_level_dofs) that previously -could interpret its argument as either a component or -a block mask, depending on a boolean flag. This function now exists -in two different versions, one that takes a ComponentMask and -one that takes a BlockMask. Call sites need to be adjusted. -
    -(Wolfgang Bangerth, 2012/09/22) - -
  6. Removed: the optional argument offset got removed from -DoFHandler and MGDoFHandler::distribute_dofs() because it was -never working correctly and it is not used. -
    -(Timo Heister, 2012/09/03)
@@ -163,48 +42,7 @@ never working correctly and it is not used.
    -
  1. Changed: parallel sparse matrices now also require the use of -compress(VectorOperation) like vectors do. See the glossary for details. -Old functions are now deprecated. -
    -(Timo Heister, 2013/02/25) -
  2. New: step-49 demonstrates advanced techniques for mesh creation and -manipulation. -
    -(Timo Heister, 2013/02/19) - -
  3. Fixed: Many places in the documentation have been made to consistently -use doxygen markup that indicates that this is code, so that doxygen will -cross-link the piece of code to class and function names. Many typos have also -been fixed. -
    -(Felix Gruber, 2013/02/15) - -
  4. Fixed: Starting in release 7.1, we first built the deal.II shared libraries -in the local /tmp or similar directory rather than the final location -because linking becomes very slow over remotely mounted file systems. Unfortunately, -this schemes turns out not to work under Cygwin on Windows systems: executables -cannot link with libraries that have been moved/renamed after linking. If we are -running on Cygwin, we therefore revert to the old scheme. -
    -(Wolfgang Bangerth, 2013/02/11) - -
  5. New: finite element FE_Q_DG0 that implements polynomials -of order k with an additional discontinuous constant function. -
    -(Daniel Arndt, Timo Heister, 2013/01/07) - -
  6. step-6 now uses ConstraintMatrix::distribute_local_to_global() -instead of condense(), which is the preferred way to use a ConstraintMatrix - (and the only sensible way in parallel). -
    -(Timo Heister, 2012/11/02) - -
  7. Simplifications of the internal structures of Triangulation and -DoFHandler, in particular removal of specializations. -
    -(Guido Kanschat, 2012/09/13)
@@ -214,305 +52,8 @@ DoFHandler, in particular removal of specializations.

Specific improvements

    -
  1. Fixed: The ArpackSolver interface to the ARPACK eigenvalue solver could -not be compiled with newer C++ compilers. This is now fixed. -
    -(Juan Carlos Araujo Cabarcas, Wolfgang Bangerth, 2013/02/20) - -
  2. New: PETScWrappers::MPI::BlockVector now has a constructor and reinit -that takes a std::vector (same interface as in Trilinos). -
    -(Timo Heister, 2013/02/19) - -
  3. New: PETScWrappers::*Matrix::add(other, factor) to -add a scaled other matrix to the current matrix. -
    -(Jose Javier Munoz Criollo, 2013/02/19) - -
  4. New: GridGenerator::extrude_triangulation() allows -you to extrude a 2d mesh to turn it into a 3d mesh. -
    -(Timo Heister, 2013/02/16) - -
  5. PETScWrappers::Vector::operator= and PETScWrappers::MPI::Vector::operator= -now call update_ghost_values() -automatically if necessary. This means that update_ghost_values() -does not need to be called from user code at all any more. -
    -(Timo Heister, 2013/02/14) - -
  6. Fixed: VectorTools::interpolate did not work properly in 1d if -boundary indicators had been set to anything but the default (i.e., -zero at the left and one at the right end of the domain). This was -a hold-over from the past when these were the only possible values. -This is now fixed. -
    -(Kevin Dugan, Wolfgang Bangerth, 2013/02/14) - -
  7. Improved: The iterator class of the deal.II SparseMatrix class -and SparsityPattern have been revised for performance. Iterating over -a row of the matrix and querying the column index and the value is now -similarly fast as iterating over a vector. -
    -(Martin Kronbichler, 2013/02/12) - -
  8. New: A new overload of BlockMatrixBase::add allows to add one block -matrix to another, with a scaling factor. -
    -(Jean-Paul Pelteret, 2013/02/05) - -
  9. Fixed: The FEValues machinery silently accepted the case when the -mapped cell (or the cell geometry) were distorted. An assertion has been -added to the computation of the Jacobian determinants for the volume -element that aborts whenever the Jacobian determinant in a quadrature -point becomes too small or negative. -
    -(Martin Kronbichler, 2013/01/18) - -
  10. Improved: SLEPcWrappers:: The interface to SLEPc has an improved -handle on SolverControl and solver data can now be extracted at run -time. An example usage has been added to step-36. -
    -(Toby D. Young, 2013/01/18) - -
  11. Fixed: Various variants of the TrilinosWrappers::SparseMatrix::reinit -functions take a parameter drop_tolerance that allows to remove -small values from the matrix and replace them by zero instead. This was not -enforced for values on the diagonal of the matrix but only for off-diagonal -ones. This is now fixed. -
    -(Wolfgang Bangerth, 2013/01/17) - -
  12. New: All vector classes should now have a in_local_range() -function indicating whether a given index is locally stored or not. -
    -(Daniel Arndt, 2013/01/14) - -
  13. Fixed: The one-argument version of ConstraintMatrix::condense was -not prepared to deal with parallel vectors. This is now fixed. -
    -(Daniel Arndt, Wolfgang Bangerth, 2013/1/9) - -
  14. New: Utilities::int_to_string can now deal with any 32-bit -integer, not just those with up to 6 digits. -
    -(Wolfgang Bangerth, 2013/1/5) - -
  15. New: The PETScWrappers::MatrixBase::write_ascii() now takes a -(defaulted) argument allowing to select the PETSc Viewer style. -
    -(Fahad Alrashed, 2013/1/2) - -
  16. New: The PETScWrappers::MPI::Vector::print() function overloads the -function of same name in the base class to ensure that the output -generated by a parallel vector makes sense. -
    -(Fahad Alrashed, 2013/1/2) - -
  17. New: The PETScWrappers::VectorBase class now has a function -PETScWrappers::VectorBase::write_ascii() that allows writing the -vector's data to the default output stream. -
    -(Fahad Alrashed, 2013/1/2) - -
  18. Fixed: PETScWrappers::SparseDirectMUMPS forgot to release -its memory upon destruction. This is now fixed. -
    -(Alexander Grayver, 2012/12/12) -
  19. Fixed: Using the copy constructor of FESystem led to trouble -down the road because some pointers were freed by the copy while -still in use by the original object. This is now fixed. -
    -(Timo Heister, Wolfgang Bangerth, 2012/12/03) - -
  20. Improved: GridTools::make_periodicity_constraints substantially: -The low level interface now allows to specify a face orientation that -will be used when matching and constraining DoFs for periodic boundary -conditions. With that, the high level interface will work correctly on -(mainly 3d) grids that have cells in non standard orientation. -
    -(Matthias Maier, 2012/12/01) - -
  21. Fixed: Fix GeometryInfo<2>::child_cell_on_face to respect face_flip -
    -(Matthias Maier, 2012/12/01) - -
  22. New: There is now a version of DoFTools::make_zero_boundary_constraints() -that accepts a boundary indicator as argument. -
    -(Wolfgang Bangerth, 2012/11/25) - -
  23. Fixed: The DoFTools::make_flux_sparsity_pattern() function -had a bug that triggered in 1d whenever there were neighboring -cells that differed in refinement level by more than one. This -is now fixed. -
    -(Wolfgang Bangerth, 2012/11/20) - -
  24. Improved: The inner product, norm, and mean value computation -of deal.II's own Vector class are now parallelized by threads. -The parallelization does not change the order in which the additions -take place, ensuring exact reproducibility from one run to the next. -
    -(Martin Kronbichler, 2012/11/18) - -
  25. New: The TrilinosWrappers::PreconditionBase class now has -a function TrilinosWrappers::PreconditionBase::Tvmult that -allows applying the transpose preconditioner. -
    -(Guido Kanschat, 2012/11/04) - -
  26. New: The parallel::distributed::Triangulation::n_global_levels() -function returns the maximal refinement level over all involved -processors. -
    -(Timo Heister, 2012/11/04) - -
  27. New: In addition to the regular subdomain ids (see -@ref GlossSubdomainId) there is now a second set of flags called -"level subdomain ids" that also assigns a subdomain to every cell -in a multigrid hierarchy. -
    -(Timo Heister, 2012/11/04) - -
  28. Changed: GridOut::write_xfig has been improved in a number -of ways. In particular, one can now color cells based on a number -of different criteria that can be set in GridOutFlags::XFig. -
    -(Guido Kanschat, 2012/11/04) - -
  29. The class Utilities::MPI::MPI_InitFinalize now also initializes -PETSc, when PETSc is installed. -
    -(Timo Heister, 2012/11/02) - -
  30. Fixed: DoFTools::make_flux_sparsity_pattern wasn't prepared to -deal with adaptively refined meshes in 1d. -
    -(Wolfgang Bangerth, 2012/10/30) - -
  31. New: Added PETScWrappers::PreconditionParaSails and -PETScWrappers::PreconditionNone. PETScWrappers::PreconditionParaSails -implements the interface to use the ParaSails sparse approximate -inverse preconditioner from the HYPRE suite. ParaSails supports -parallel distributed computations and can handle nonsymmetric -and also indefinite problems. PETScWrappers::PreconditionNone -implements non-preconditioning in PETSc which can be of use -together with the PETScWrappers::MatrixFree class. -
    -(Martin Steigemann, 2012/10/26) - -
  32. New: The PETScWrappers::SparseDirectMUMPS class now allows to -exploit symmetry of the matrix, using the -PETScWrappers::SparseDirectMUMPS::set_symmetric_mode() function. -
    -(Alexander Grayver, 2012/10/23) - -
  33. Fixed: Several static const member variables of the Accessor -classes were not properly instantiated. This only rarely created -trouble because they are typically only used as template arguments -and the compiler substituted them. However, one would get linker -errors when passing around a reference to them. This is now fixed. -
    -(Wolfgang Bangerth, Guido Kanschat, 2012/10/11) - -
  34. Fixed: Handle lucky breakdowns in GMRES/FGMRES. -
    -(Bärbel Janssen, Timo Heister, 2012/10/09) -
  35. Fixed: GridTools::find_cells_adjacent_to_vertex got into -trouble with anisotropically refined meshes. This is now fixed. -
    -(Abner Salgado, Tobias Leicht, Wolfgang Bangerth, 2012/10/08) - -
  36. Fixed: FESystem can now deal with n_elements==0 for a block. -
    -(Timo Heister, 2012/09/28) - -
  37. Fixed: ParameterHandler::print_parameters, when using -ParameterHandler::OutputStyle::LaTeX would always print a list -of parameters in each section as a latex itemized environment. -However, if there are none, we end up with an empty list which -latex does not like. This is now fixed. -
    -(Wolfgang Bangerth, 2012/09/27) - -
  38. New: Added SparsityTools::distribute_sparsity_pattern() for -BlockCompressedSimpleSparsityPattern. This allows parallel computations -with distributed::Triangulation and PETScWrappers::MPI::BlockSparseMatrix. -
    -(Timo Heister, 2012/09/25) - -
  39. New: Added BlockCompressedSimpleSparsityPattern::column_number(). -
    -(Timo Heister, 2012/09/25) - -
  40. New: There is now a function hp::FECollection::n_blocks() in analogy to -the existing function hp::FECollection::n_components(). -
    -(Wolfgang Bangerth, 2012/09/20) - -
  41. Changed: step-8 now outputs data in VTK format, rather than GMV. -GMV has long been dead. -
    -(Wolfgang Bangerth, 2012/09/19) - -
  42. Fixed: One can compile deal.II with MPI support but run programs -that aren't intended to use parallel communications and that, in fact, -do not call MPI_Init at all. They are nevertheless supposed -to work but previously the TimerOutput would crash under these conditions. -This is now fixed. -
    -(Timo Heister, Wolfgang Bangerth, 2012/09/18) - -
  43. Fixed: If you pipe content into the deallog object and there -is no end-line or flush after this content, and if a file stream -is associated to this object, and if that happens at the end of -the lifetime of the program, then the program would crash. -This is now fixed. -
    -(Timo Heister, Wolfgang Bangerth, 2012/09/17) - -
  44. Fixed: The use of TableHandler::set_precision affected not only the -precision with which elements of a table were printed, but also the -precision carried by the output stream after writing the table was -finished. It thus affected the precision -with which later output was produced. This is now fixed. -
    -(Timo Heister, 2012/09/16) - -
  45. Fixed: Output of super-columns in TableHandler::write_text() -was inconsistent. This is now fixed. -
    -(Timo Heister, 2012/09/16) - -
  46. Changed: Due to incompatibilties with some hdf5 packages installed from -repositories we disable auto-detection of hdf5. Use --with-hdf if you need it. -
    -(Timo Heister, 2012/09/14) - -
  47. New MeshWorker::LocalIntegrator and integration_loop() provide a -less confusing interface to MeshWorker loops. -
    -(Guido Kanschat, 2012/09/13) - -
  48. New: TableHandler TextOutputFormat::simple_table_with_separate_column_description -that skips aligning the columns for increased performance. -
    -(Timo Heister, 2012/09/10) - -
  49. Fixed: The Clang C++ compiler had some trouble dealing with obtaining -the return value of a Threads::Task object, due to a compiler bug in -dealing with friend declarations. This is now fixed. -
    -(Wolfgang Bangerth, 2012/09/04) - -
  50. Fixed: When applying a ConstraintMatrix to a block matrix -where the last few rows are empty, we ran into an unrelated assertion. -This is now fixed. -
    -(Jason Sheldon, Wolfgang Bangerth, 2012/09/04)
diff --git a/deal.II/doc/news/news.html b/deal.II/doc/news/news.html index caed08da02..161d4bcf05 100644 --- a/deal.II/doc/news/news.html +++ b/deal.II/doc/news/news.html @@ -28,15 +28,27 @@ mailing list for additional news.

-

+

+
+ 2013/02/27: Version 7.3 released +
+
+ Version 7.3.0 was released today. This release provides one new + tutorial, work on parallel linear algebra, the new FE_Q_DG0 element, + and a large number of enhancements and bug fixes throughout the + entire library. A complete list of new features is + found here. +
+
2012/09/03: Version 7.2 released
-- 2.39.5