From: Timo Heister Date: Tue, 9 Feb 2016 15:04:00 +0000 (-0500) Subject: update changes and news for release X-Git-Tag: v8.4.0-rc2~16^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d70ac8bc53c116b2e9f5707e9be15b09597ae70a;p=dealii.git update changes and news for release --- diff --git a/doc/news/8.3.0-vs-8.4.0.h b/doc/news/8.3.0-vs-8.4.0.h new file mode 100644 index 0000000000..8f7e7a4ec1 --- /dev/null +++ b/doc/news/8.3.0-vs-8.4.0.h @@ -0,0 +1,1162 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2014 - 2016 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + +/** +@page changes_between_8_3_and_8_4 Changes between Version 8.3.0 and 8.4.0 + +

+This is the list of changes made between the release of deal.II version +8.3.0 and that of 8.4.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: GridGenerator::hyper_rectangle and + GridGenerator::subdivided_hyper_rectangle now take points with @p dim + components to correctly handle meshes embedded in higher dimensional spaces. +
    + (Timo Heister, 2016/02/04) +
  2. + +
  3. Changed: The constructor of FiniteElementData had a last argument + n_blocks that was not actually used by the class to + initialize anything. It has been removed. In addition, the default + constructor of FiniteElementData has also been removed given that it + only creates a dysfunctional element. +
    + (Wolfgang Bangerth, 2016/01/23). +
  4. + +
  5. Rework: SLEPcWrappers were reworked to allow usage of PETSc solvers + and preconditioners inside SLEPc's eigensolvers. To that end extra methods + were introduced to PETSc wrappers. Moreover, initialization of the + underlying SLEPc objects is now done inside constructors of the wrapper + classes. As a result, one has to provide an MPI communicator to the constructors of + spectral transformation classes. +
    + (Denis Davydov, 2015/12/29). +
  6. + +
  7. Removed: The deprecated Operator class in the Algorithms namespace has been + removed. +
    + (Timo Heister, 2015/12/21) +
  8. + +
  9. Changed: deallog console depth is now 0 by default, causing no + output to the screen from solvers and other places in the library. +
    + (Timo Heister, 2015/12/06) +
  10. + +
  11. Changed: The function Utilities::trim() now removes general + white space characters, such as '\\r' and '\\n', as well as + space characters. +
    + (David Wells, 2015/12/05) +
  12. + +
  13. Removed: The previously deprecated global instance + multithread_info of + MultithreadInfo has been removed (all members of this class are static + so there is no reason to use/create an instance). The deprecated + MultithreadInfo::n_cpus member also got removed in favor of + MultithreadInfo::n_cores(). +
    + (Timo Heister, 2015/11/19) +
  14. + +
  15. Removed: The UpdateFlags flags + update_support_points, update_support_jacobians, + and update_support_inverse_jacobians have been removed. + update_support_points was deprecated in 2013 and has not done + anything in a long time. The + other two appeared in 2007 and were never implemented. +
    + (David Wells, 2015/09/16) +
  16. + +
  17. Cleanup: The two argument variant of cross_product() that returned + the result by reference as first argument has been removed. Use the + function cross_product_2d(), or cross_product_3d(), that directly returns + the result instead. Further, the exception + Tensor::ExcInvalidTensorContractionIndex has been + removed +
    + (Matthias Maier, 2015/09/14 - 2015/09/17) +
  18. + +
  19. Cleanup: The following functions in tensor.h have been deprecated: +
    + - double_contract(). Use the generic contraction function + contract() instead. + - The four and five argument variants of contract() that return the + result by reference as first argument and take the contraction indices as + arguments. use the generic contraction function contract() instead. + - The three argument variants of contract() that return the result by + reference as first argument. Use operator* instead. + - The three argument variant of cross_product() that returns the result + by reference as first argument. Use the cross_product() function that + directly returns the result instead. + - The three argument variants of outer_product that return + the result by reference as first argument. Use the function that + directly returns the result instead. + - determinant(dealii::Tensor) +
    + (Matthias Maier, 2015/09/14 - 2015/09/17) +
  20. + +
  21. Removed: The Tensor and Point classes no + longer have a constructor taking a boolean argument. Those were replaced + by a default constructor that will always initialize underlying values with + zero. +
    + (Matthias Maier, 2015/09/07) +
  22. + +
  23. Removed: The testsuite no longer supports compiler constraints of + the form ".compiler=[NAME]...". +
    + (Matthias Maier, 2015/08/21) +
  24. + +
  25. Changed: The parameter @p first_vector_components has been removed + from GridTools::collect_periodic_faces(). Instead, + DoFTools::make_periodicity_constraints() now accepts a parameter + @p first_vector_components in all (supported) variants. +
    + (Matthias Maier, 2015/08/21) +
  26. + +
  27. Changed: FEValues::normal_vector() for historical reasons returned a + value of type Point, though a normal vector is more adequately described + as a Tensor@<1,dim@>. Many similar cases were already clarified in deal.II + 8.3. The current case has now also been changed: FEValues::normal_vector() + now returns a Tensor, rather than a Point. +
    + In a similar spirit, the FEValues::get_normal_vectors() function that + still returns a vector of Points has been deprecated, and a new function, + FEValues::get_all_normal_vectors() that returns a vector of tensors, + has been added. This was necessary since there is no way to change the + return type of the existing function in a backward compatible way. The + old function will be removed in the next version, and the new function + will then be renamed to the old name. +
    + (Wolfgang Bangerth, 2015/08/20) +
  28. + +
  29. Changed: The mesh_converter program has been removed from the + contrib folder. The equivalent functionality can now be found in + the GridIn class. +
    + (Jean-Paul Pelteret, 2015/08/12) +
  30. + +
  31. Changed: The signature of the FiniteElement::fill_fe_values(), + FiniteElement::fill_fe_face_values(), and FiniteElement::fill_fe_subface_values() + functions has been changed, in an effort to clarify which of these contain + input information and which contain output information for these functions. + The same has been done for the corresponding functions in the Mapping + class hierarchy. +
    + Likewise the signature of FiniteElement::get_data() has been changed. +
    + As part of a general overhaul, the FEValuesData class + has also been removed. +
    + (Wolfgang Bangerth, 2015/07/20-2015/08/13) +
  32. + +
  33. Changed: The functions update_once() and update_each() in the + Mapping classes computed information that was, in essence, only of use + internally. No external code actually needed to know which + pieces of information a mapping could compute once and which they needed + to compute on every cell. Consequently, these two functions have been + removed and have been replaced by Mapping::requires_update_flags(). +
    + A similar change has been applied to the FiniteElement class. +
    + (Wolfgang Bangerth, 2015/07/20-2015/12/01) +
  34. + +
  35. Changed: The function DoFRenumbering::random() now produces different + numberings than it did before, but in return has now acquired the property + that its results are predictable and repeatable. +
    + (Wolfgang Bangerth, 2015/07/21) +
  36. +
+ + + + + +

General

+
    +
  1. New: A variant for GridGenerator::subdivided_parallelepiped() was added + that supports meshes embedded in higher dimesional spaces. +
    + (Timo Heister, 2016/02/04) +
  2. + +
  3. Fixed: Partitioning using METIS now works correctly with more + domains than cells. +
    + (Timo Heister, 2016/01/26) +
  4. + +
  5. New: The documentation of step-17 has been completely rewritten, + and many aspects of how one has to think when writing parallel programs + have been much better documented now. +
    + (Wolfgang Bangerth, 2016/01/07) +
  6. + +
  7. New: deal.II now provides a string DEAL_II_ALWAYS_INLINE + that, when supported by the compiler, can be used to annotate functions + to ensure that the compiler always inlines them. +
    + (Matthias Maier, Wolfgang Bangerth, 2016/01/07) +
  8. + +
  9. New: There is a new documentation module, @ref Concepts, which describes the meaning + behind template parameter type names. +
    + (David Wells, 2015/12/09) +
  10. + +
  11. Changed: The template type name arguments of some classes no longer + shadow class names. Additionally, template type names are now much more + consistent across deal.II. +
    + (David Wells, 2015/10/18 - 2016/01/23) +
  12. + +
  13. New: The WorkStream class's design and implementation are now much + better documented in the form of a @ref workstream_paper "preprint". +
    + (Wolfgang Bangerth, 2015/11/29) +
  14. + +
  15. New: There is now much more documentation for the FiniteElement class, + in particular detailing what one needs to implement when writing finite + element descriptions in derived classes. +
    + (Wolfgang Bangerth, 2015/11/29) +
  16. + +
  17. New: There is now a function template numbers::signaling_nan() that + is used to create invalid floating point objects. These objects can either + be scalars, or of type Tensor, SymmetricTensor, or DerivativeForm. The + content of these objects is a "signaling NaN" ("NaN" stands for "not a + number", and "signaling" implies that at least on platforms where this + is supported, any arithmetic operation using them terminates the program). + The purpose of this is to use them as markers for uninitialized objects + and arrays that are required to be filled in other places, and to trigger + an error when this later initialization does not happen before the first + use. +
    + (Wolfgang Bangerth, Timo Heister, 2015/11/24) +
  18. + +
  19. Changed: The function FE_DGPNonparametric::shape_value() and similar + functions in the same class returned values and derivatives of shape + functions on the reference cell. However, this element is not defined + through mapping of shape functions from the reference cell, and consequently + it makes no sense to ask for this information. These functions have therefore + been changed to throw an exception instead, as documented in + FiniteElement::shape_value(). +
    + (Wolfgang Bangerth, 2015/11/20) +
  20. + +
  21. Changed: The functionality to distribute cells across processes + according to a vector of cell weights that was passed in a call to + parallel::distributed::Triangulation::repartition() + was replaced by a cell-wise signal. This signal is called during + parallel::distributed::Triangulation::execute_coarsening_and_refinement() and + parallel::distributed::Triangulation::repartition() + if any function is connected to it. It allows to connect a function that + takes the current cell iterator and a status argument that indicates whether + this cell will be refined, coarsened or remains unchanged and returns a + cell weight, which will be used to distribute cells across processes in a + way that keeps the sum of weights across each individual process + approximately equal. +
    + (Rene Gassmoeller, 2015/11/02) +
  22. + +
  23. New: Preliminary support for parallel, adaptive, geometric multigrid is + now in place with changes to MGConstrainedDoFs (many new functions), MGTransfer, + MGTools::extract_inner_interface_dofs, MGTransferPrebuilt, + DoFTools::extract_locally_relevant_level_dofs. +
    + (Timo Heister, Guido Kanschat, 2015/10/26) +
  24. + +
  25. New: Two cell level signals are added to class Triangulation, namely + pre_coarsening_on_cell and post_refinement_on_cell. +
    + (Lei Qiao, 2015/10/22) +
  26. + +
  27. New: parallel::distributed::Triangulation::ghost_owners() + returns the set of MPI ranks of the ghost cells. Similarly + parallel::distributed::Triangulation::level_ghost_owners() for level + ghosts. +
    + (Timo Heister, 2015/09/30) +
  28. + +
  29. Improved: The interfaces to all deal.II type solvers and + preconditioners have been updated such that they function as expected + with the LinearOperator class and its associated functions (i.e., + linear_operator(), transpose_operator() and inverse_operator()). + These preconditioners can now be wrapped as a LinearOperator, + facilitating the construction of approximate matrix inverses such as in + the development of a block matrix preconditioner. An example of this + functionality can be found in + tests/lac/linear_operator_08.cc. +
    + (Jean-Paul Pelteret, 2015/09/24 - 2015/10/19) +
  30. + +
  31. New: MGTransferPrebuilt can now be used with parallel::distributed::Vector + and TrilinosWrappers::SparseMatrix as a transfer matrix. +
    + (Martin Kronbichler, 2015/09/22) +
  32. + +
  33. Fixed: parallel::distributed::Vector is now fully functional for + indices larger than 4 billion. +
    + (Martin Kronbichler, 2015/09/22) +
  34. + +
  35. New: PArpackSolver eigensolver interface class. +
    + (Denis Davydov, 2015/09/17) +
  36. + +
  37. Changed: All doxygen-generated pages now contain a link to the + tutorial in their top-level menus. +
    + (Wolfgang Bangerth, 2015/09/13) +
  38. + +
  39. New: A new namespace TensorAccessors is introduced that contains + generic algorithms for tensorial objects, i.e., objects that allow + repeated access via the index operator operator[](unsigned int). + The methods in TensorAccessors is primarily meant to replace old internal + code in tensor.h, but it might also proof useful otherwise. +
    + (Matthias Maier, 2015/09/11) +
  40. + +
  41. New: A python script (including instructions) for enabling pretty + printing with GDB is now available in + /contrib/utilities/dotgdbinit.py. +
    + (Wolfgang Bangerth, David Wells, 2015/09/11) +
  42. + +
  43. Improved: When available, deal.II now uses the "gold" linker, a + reimplementation of the traditional Unix "ld" linker that is substantially + faster. This reduces build and, in particular, test turnaround times. +
    + (Wolfgang Bangerth, Matthias Maier, 2015/09/06) +
  44. + +
  45. Cleanup: The interface of Tensor has been cleaned + up (a lot of unnecessary partial template specializations have been + removed). The specialization Tensor<1,dim,Number> has been removed. +
    + (Matthias Maier, 2015/09/02) +
  46. + +
  47. Improved: The testsuite now supports multiple comparison files. + Apart from the main comparison file that ends in + [...].output all files of the form + [...].output.[string] are considered for comparison. +
    + (Matthias Maier, 2015/08/29) +
  48. + +
  49. New: A class BlockLinearOperator has been introduced that extends + the LinearOperator concept to block structures. A BlockLinearOperator can + be sliced back to a LinearOperator. +
    + (Matthias Maier, 2015/08/27) +
  50. + +
  51. Improved: Support for complex number types throughout the library. + Several parts of the library have been reorganized to support complex + number types. +
    + Classes that are now instantiated for complex number types: + - FunctionTime + - Function + - TensorFunction +
    + Classes with fixed interface that now fully support complex number + types (pure template classes without explicit instantiations in the + library): + - LinearOperator + - PackagedOperation + - Tensor +
    + (Matthias Maier, 2015/08/25) +
  52. + +
  53. Fixed: The testsuite now properly supports version constraints for + features. Those are annotated by + .with_FEATURE(<=|>=|=|<|>)VERSION.. +
    + (Matthias Maier, 2015/08/25) +
  54. + +
  55. Improved: The interface and documentation for periodic boundary + conditions have been restructured. A + @ref GlossPeriodicConstraints "glossary entry" has been written. +
    + (Daniel Arndt, Matthias Maier, 2015/08/01-2015/08/21) +
  56. + +
  57. New: There is a new documentation module on + @ref FE_vs_Mapping_vs_FEValues "How Mapping, FiniteElement, and FEValues work together". +
    + (Wolfgang Bangerth, 2015/08/20) +
  58. + +
  59. New: parallel::shared::Triangulation class which extends + Triangulation class to automatically partition triangulation when run + with MPI. Common functionality between parallel::shared::Triangulation and + parallel::distributed::Triangulation is implemented in the parent class + parallel::Triangulation. +
    + (Denis Davydov, 2015/08/14) +
  60. + +
  61. New: The online documentation of all functions now includes + links to the file and line where that function is implemented. Both + are clickable to provide immediate access to the source code of a + function. +
    + (Jason Sheldon, Wolfgang Bangerth, 2015/08/13) +
  62. + +
  63. New: FE_RannacherTurek describes a discontinuous FiniteElement + with vanishing mean values of jumps across faces. +
    + (Patrick Esser, 2015/08/17) +
  64. + +
  65. New: FE_Q_Bubbles describes a FiniteElement based on FE_Q + enriched by bubble functions. +
    + (Daniel Arndt, 2015/08/12) +
  66. + +
  67. New: The testsuite now runs in a mode in which we abort programs for + floating point exceptions due to divisions by zero or other invalid arithmetic. +
    + (Wolfgang Bangerth, 2015/07/29) +
  68. + +
  69. New: MultithreadInfo::set_thread_limit() can now be called more than + once and the environment variable DEAL_II_NUM_THREADS will be respected + even if user code never calls it. +
    + (Timo Heister, 2015/07/26) +
  70. + +
  71. New: IndexSet now implements iterators. +
    + (Timo Heister, 2015/07/12) +
  72. + +
+ + + + + +

Specific improvements

+ + + +
    +
  1. New: FunctionParser now supports rand() and + rand_seed(number), which return a random value in the + range [0,1]. +
    + (Wolfgang Bangerth, Luca Heltai, Alberto Sartori, 2016/02/09) +
  2. + +
  3. Fixed: FullMatrix::TmTmult for matrix multiplication used to compute + wrong results for larger matrix sizes where external BLAS is called. This + has been fixed. +
    + (Martin Kronbichler, 2016/02/02) +
  4. + +
  5. Fixed: parallel::distributed::Triangulation with periodic boundary + conditions did not respect 2:1 balance over vertices on periodic + boundaries. This lead to incomplete ghost layers on multigrid levels. This + has been fixed. +
    + (Martin Kronbichler, Timo Heister, 2016/01/27) +
  6. + +
  7. Fixed: SparseVanka now really uses second-order couplings for the + right-hand side of the local problems. +
    + (Florian Sonner, 2016/01/27) +
  8. + +
  9. Fixed: A bug in the Neumann boundary handling of KellyErrorEstimator + in 1d has been fixed and KellyErrorEstimator now correctly handles + codimension one problems by using the correct normals from the manifold + inside the gradient jump computation. +
    + (Andrea Bonito, Timo Heister, 2016/01/21) +
  10. + +
  11. New: The new class MGTransferMatrixFree implements multigrid level + transfer using local polynomial embedding and restriction with tensor + product evaluation techniques. This is a faster and less memory-demanding + alternative to MGTransferPrebuilt. +
    + (Martin Kronbichler, 2016/01/20) +
  12. + +
  13. New: hp::FECollection now has constructors which take + multiple finite elements as arguments. +
    + (Angel Rodriguez, 2016/01/18) +
  14. + +
  15. New: The glossary now contains a long entry describing what + the term "scalability" means in the context of finite element codes. + See @ref GlossParallelScaling. +
    + (Wolfgang Bangerth, 2016/01/11) +
  16. + +
  17. Fixed: Tensor::operator[] that takes TableIndices as a parameter no + longer returns by value, but rather by reference. Tensor::operator<< for + dim==0 now accesses values by reference instead of making a copy. This is + useful when non-trivial number types are stored. +
    + (Jean-Paul Pelteret, 2016/01/08) +
  18. + +
  19. New: constrained_linear_operator() and constrained_right_hand_side() + provide a generic mechanism of applying constraints to a LinearOperator. + A detailed explanation with example code is given in the @ref constraints + module. +
    + (Mauro Bardelloni, Matthias Maier, 2015/10/25 - 2015/12/27) +
  20. + +
  21. New: OpenCASCADE::read_IGES() and OpenCASCADE::read_STEP() have + been unified in behaviour, and now they allow to extract *all* elements of + the IGES and STEP files instead of only the faces. This allows the + use of iges files describing edges only to be used as input for some of + the OpenCASCADE Manifold wrappers. +
    + (Luca Heltai, 2015/12/13) +
  22. + +
  23. New: A new linear operator representing the Schur complement, + namely schur_complement(), has been implemented. Some auxiliary functions + that are often used in conjunction with the Schur complement + (condense_schur_rhs() and postprocess_schur_solution()) are also provided + as a PackagedOperation. + An example of this functionality can be found in + tests/lac/schur_complement_01.cc. + The solution of a multi-component problem (namely step-22) using the + schur_complement can be found in + tests/lac/schur_complement_03.cc . +
    + (Jean-Paul Pelteret, Matthias Maier, Martin Kronbichler, 2015/12/07) +
  24. + +
  25. New: There is now a function Utilities::to_string that works like + int_to_string, but is more safe for long integers, negative integers, and + also handles floating point numbers. The implementation of int_to_string + was changed to simply call to_string. int_to_string is kept for + compatibility, but should only be used for unsigned integers. +
    + (Rene Gassmoeller, 2015/12/09) +
  26. + +
  27. Fixed: GridOut::write_msh() and GridOut::write_ucd() used the same + geometric element numbers for lines and faces. This caused visualization + programs to ignore parts with repeated geometric element numbers. This is now + fixed. +
    + (David Wells, 2016/01/16) +
  28. + +
  29. New: DoFTools::extract_dofs() are now instantiated also for + codimension different from zero. +
    + (Alberto Sartori, 2016/01/13) +
  30. + +
  31. Fixed: The DataOutFaces class should now also work with triangulations + of type parallel::distributed::Triangulation. +
    + (Heikki Virtanen, Wolfgang Bangerth, 2016/01/11) +
  32. + +
  33. Fixed: AlignedVector::fill() (and thus, Table::reinit) did not + correctly call the destructor of T() and could leak memory for complicated + class types that depend on their constructor to free memory. +
    + (Martin Kronbichler, 2016/01/08) +
  34. + +
  35. Fixed: inverse_operator() now populates Tvmult and + Tvmult_add correctly. +
    + (Jean-Paul Pelteret, David Wells, Matthias Maier, 2015/12/30) +
  36. + +
  37. New: MGTransferPrebuilt with parallel adaptive refinement has been + finalized for parallel::distributed::Vector. +
    + (Martin Kronbichler, 2015/12/23) +
  38. + +
  39. Fixed: Now all members in the class SparseMatrixEZ are initialized + correctly in the constructor. This was causing random crashes before. +
    + (Timo Heister, 2015/12/21) +
  40. + +
  41. New: There is now a new class ArrayView that presents a chunk of + memory as if it was an array of fixed size. This is eventually going + to replace the VectorSlice class which suffers from the defect that + its template argument does not encode the type of objects it points + to, but instead the type of the underlying container; consequently, + where the VectorSlice class is used as a function argument, it + automatically ties the type of object the function can be called + with (i.e., the underlying container) even if the called function + has no actual use for this kind of information. +
    + (Wolfgang Bangerth, 2015/12/20) +
  42. + +
  43. Fixed: Handling of constraints in step-26 was incorrect (hanging nodes + were condensed twice) leading to garbage solutions. This is now fixed. +
    + (Timo Heister, 2015/12/20) +
  44. + +
  45. Fixed: The implementation of ShiftedMatrixGeneralized contained several + errors that prevented it from being compiled. These have now been fixed. +
    + (David Wells, 2015/12/18) +
  46. + +
  47. New: There is now a function Triangulation::get_triangulation() that + allows writing code to get at the underlying triangulation for + everything that looks like a container, i.e., both Triangulation + or DoFHandler objects. +
    + (Wolfgang Bangerth, 2015/12/10) +
  48. + +
  49. Deprecated: The functions DoFHandler::get_tria() and + hp::DoFHandler::get_tria() were deprecated. UseDoFHandler::get_triangulation() and + hp::DoFHandler::get_triangulation() instead. +
    + (Wolfgang Bangerth, 2015/12/10) +
  50. + +
  51. New: parallel::distributed::Vector has now a method to return a shared + pointer to the underlying partitioner object. +
    + (Martin Kronbichler, 2015/12/07) +
  52. + +
  53. Improved: Many more functions in namespace GridTools and class + InterGridMap are now consistely instantiated also for types + parallel::distributed::Triangulation and parallel::shared::Triangulation. +
    + (Gennadiy Rishin, Wolfgang Bangerth, 2015/12/07) +
  54. + +
  55. Improved: Both versions of SparsityTools::distribute_sparsity_pattern() + are now plain, not + template, functions. This is not a breaking change because each function was + instantiated for exactly one template argument. +
    + (David Wells, 2015/12/06) +
  56. + +
  57. Improved: The method + parallel::distributed::Triangulation::fill_vertices_with_ghost_neighbors() + that is used for distributing DoFs on parallel triangulations previously + exhibited quadratic complexity in the number of coarse grid cells. This has + been changed into linear complexity calls (apart from a few issues + inside p4est). +
    + (Martin Kronbichler, 2015/12/05) +
  58. + +
  59. New: There are now new functions + GridTools::build_triangulation_from_patch() and + GridTools::get_cells_at_coarsest_common_level() that help build patches + around individual cells. +
    + (Arezou Ghesmati, 2015/12/02) +
  60. + +
  61. Fixed: The GridTools::copy_boundary_to_manifold_id() function + only copied boundary indicators from faces, but in 3d forgot about + edges. This is now fixed. +
    + (Wolfgang Bangerth, 2015/11/30) +
  62. + +
  63. Fixed: The constructor of SymmetricTensor that takes an array + of initializing elements led to a compiler error. This is now + fixed. +
    + (Wolfgang Bangerth, 2015/11/28) +
  64. + +
  65. Fixed: parallel::distributed::Vector now detects if the size of MPI + messages exceeds 2GB or if the local range exceeds the size of 32-bit + integers and throws an exception informing about the unsupported sizes. +
    + (Martin Kronbichler, 2015/11/26) +
  66. + +
  67. New: In 3d, GridGenerator::extract_boundary_mesh() now copies the + manifold ids of edges of the volume mesh to the manifold ids of the edges + of the extracted surface mesh. +
    + (Wolfgang Bangerth, 2015/11/25) +
  68. + +
  69. New: Triangulation::create_triangulation() now accepts subcell-data + objects that may include information about interior edges and faces, to + facilitate setting manifold indicators on interior edges and faces. +
    + (Wolfgang Bangerth, 2015/11/25) +
  70. + +
  71. Fixed: GridGenerator::extract_boundary_mesh() in 3d could generate + surface cells that did not uniformly had a right- or left-handed coordinate + system associated with them when viewed from one side of the surface. This + has been fixed: they now all have a right-handed coordinate system when seen + from one side of the surface, and a left-handed one when viewed from the + other side. +
    + (Daniel Weygand, Wolfgang Bangerth, 2015/11/22) +
  72. + +
  73. Fixed: Trilinos ML preconditioner is now deterministic when using + version 12.4 or newer. +
    + (Timo Heister, 2015/11/16) +
  74. + +
  75. New: Extra parameters to GD and Lanczos SLEPc solvers. Also added unit tests. +
    + (Denis Davydov, 2015/11/09) +
  76. + +
  77. Fixed: FETools::project_dg was adding the vector projection to + the output vector. Now is the output vector initialized to zero. +
    + (Adam Kosik, 2015/11/09) +
  78. + +
  79. Fixed: A compilation issue with DEAL_II_INCLUDE_DIRS not used for + compiling bundled boost. +
    + (Lukas Korous, 2015/11/01) +
  80. + +
  81. New: 2nd derivatives are implemented for PolynomialsBDM in 3D. +
    + (Alistair Bentley, 2015/10/27) +
  82. + +
  83. Fixed: PolynomialsBDM::degree() now returns the correct value. +
    + (Alistair Bentley, 2015/10/24) +
  84. + +
  85. New: Triangulation::set_all_manifold_ids_on_boundary(boundary_id, manifold_id) + which sets the manifold_id for all parts of the boundary with a given boundary_id. +
    + (Alberto Sartori, 2015/10/22) +
  86. + +
  87. Fixed: The range vectors in the construction of an + inverse_operator() is now reinitialised before solve calls. This ensures + a consistent starting point for the solver. +
    + (Jean-Paul Pelteret, 2015/10/19) +
  88. + +
  89. New: Ghost cells for the multigrid levels in + parallel::distributed::Triangulation are now correctly created also for + periodic boundary conditions. +
    + (Martin Kronbichler, 2015/10/18) +
  90. + +
  91. Fixed: GridGenerator::subdivided_parallelepiped() produced + invalid, unconnected meshes and wrong boundary indicators. +
    + (Timo Heister, 2015/10/13) +
  92. + +
  93. Improved: DoFTools::compute_intergrid_transfer_representation + can now be used with a fine grid given by a parallel::Triangulation. +
    + (Alexander Grayver, 2015/10/09) +
  94. + +
  95. New: GridIn::read_unv() can now read more element codes that + are used in typical meshes. +
    + (Aslan Kosakian, 2015/10/06) +
  96. + +
  97. New: FunctionParser now supports pow(a,b). +
    + (Timo Heister, 2015/09/30) +
  98. + +
  99. New: DoFTools::locally_relevant_dofs_per_subdomain() can be used + to extract an IndexSet of locally relevant DoFs for a Triangulation + partitioned using METIS or with a parallel::shared::Triangulation . +
    + (Jean-Paul Pelteret, 2015/09/24) +
  100. + +
  101. Fixed: hp::SolutionTransfer could get confused when dealing with + FE_Nothing elements. This is now fixed. +
    + (Claire Bruna-Rosso, Wolfgang Bangerth, 2015/09/23) +
  102. + +
  103. Improved: The construction of the non-local graph for quick data + exchange of TrilinosWrappers::SparseMatrix became very slow for a few + thousand processors. This has been fixed. +
    + (Martin Kronbichler, 2015/09/22) +
  104. + +
  105. Improved: Initializing a TrilinosWrappers::SparseMatrix from a + DynamicSparsityPattern included some O(global_size) operations. These have + been replaced by operations only on the local range. +
    + (Martin Kronbichler, 2015/09/22) +
  106. + +
  107. Changed: All doxygen-generated pages now contain a link to the + tutorial in their top-level menus. +
    + (Wolfgang Bangerth, 2015/09/13) +
  108. + +
  109. Cleanup: Constructors of AdditionalData in various linear solvers are now marked + explicit. This avoid bugs with implicit conversions like the one fixed in step-40. +
    + (Timo Heister, Lei Qiao, 2015/09/09) +
  110. + +
  111. New: Introduced third-order derivatives of the shape functions, which + can now be accessed through FEValues and FEValuesViews using similar interfaces + as shape_values, shape_derivatives and shape_hessians. + (Maien Hamed, 2015/09/08) +
  112. + +
  113. Cleanup: TableIndices can now be used (constructed and accessed) + with N > 7. +
    + (Matthias Maier, 2015/09/08) +
  114. + +
  115. New: std::begin and std::end are now available within the std_cxx11 + namespace through +
    + (Matthias Maier, 2015/09/08) +
  116. + +
  117. New: MappingQ1Eulerian was not instantiated for the various + Trilinos vector types. It is now instantiated for the same + vector types as MappingQEulerian is. +
    + (Wolfgang Bangerth, 2015/09/08) +
  118. + +
  119. New: Introduced Hessian-related functions to the Function class. +
    + (Denis Davydov, 2015/09/08) +
  120. + +
  121. New: Memory consumption during compilation has been reduced by splitting + instantiation files. For this make_instantiations now supports additional + logic to split the the instantiations in .inst files into groups. This is + used in fe_values.cc, error_estimator.cc, and others. +
    + (Timo Heister, 2015/09/05) +
  122. + +
  123. Improved: Allow continuation lines in ParameterHandler. Any line in a + parameter file ending with a \\ will now be combined with the next + line; see ParameterHandler's documentation for more information. +
    + (Alberto Sartori, 2015/09/04, David Wells, 2016/01/18-2016/01/28) +
  124. + +
  125. New: There is now a function SparsityPattern::print_svg() which prints + the sparsity of the matrix in a .svg file which can be opened in a web + browser. +
    + (Conrad Clevenger, 2015/09/03) +
  126. + +
  127. Openmp SIMD support is now enabled for Clang version 3.6, or newer + (or the equivalent XCode version). Further, openmp support is not any + more falsely activated for very old clang versions. +
    + (Matthias Maier, 2015/09/03) +
  128. + +
  129. Improved: DoFTools::make_hanging_node_constraints() now supports + hp-refinement cases when neither_element_dominates. To that end we look for + a least face dominating FE inside FECollection. +
    + (Denis Davydov, 2015/09/02) +
  130. + +
  131. Changed: FEValues::transform() has been deprecated. The functionality + of this function is a (small) subset of what the Mapping classes + already provide. +
    + (Wolfgang Bangerth, 2015/09/02) +
  132. + +
  133. New: introduced hp::FECollection::find_least_face_dominating_fe(const + std::set &fes) which aims to find the least dominating finite + element w.r.t. those provided as fe_indices in @p fes. +
    + (Denis Davydov, Wolfgang Bangerth, 2015/08/31) +
  134. + +
  135. New: step-6 now has an additional subsection in the + "Possibilities for extensions" section that discusses how + to create a better mesh. +
    + (Konstantin Ladutenko, Wolfgang Bangerth, 2015/08/31) +
  136. + +
  137. New: Introduce an option for FE_Nothing to dominate any other FE. + Therefore at interfaces where, for example, a Q1 meets an FE_Nothing, + we will force the traces of the two functions to be the same. Because the + FE_Nothing encodes a space that is zero everywhere, this means that the Q1 + field will be forced to become zero at this interface. +
    + (Denis Davydov, 2015/08/31) +
  138. + +
  139. Fixed: VectorTools::integrate_difference() for VectorTools::Hdiv_seminorm + was computed incorrectly. +
    + (Timo Heister, 2015/08/31) +
  140. + +
  141. New: Jacobian second and third derivatives are now computed by the mapping classes and can be + accessed through FEValues in much the same way as the Jacobian and Jacobian gradient. +
    + (Maien Hamed, 2015/08/28-2015/08/31) +
  142. + +
  143. Fixed: The GridIn class was not instantiated for the + dim==1,spacedim==3 case. This is now fixed. +
    + (Wolfgang Bangerth, 2015/08/25) +
  144. + +
  145. Fixed: In 1d, GridIn::read_msh() ignored boundary indicators + associated with vertices. This is now fixed. +
    + (Jan Stebel, Wolfgang Bangerth, 2015/08/25) +
  146. + +
  147. New: There are now a collection of functions named GridTools::compute_active_cell_halo_layer() + that determine which cells form a layer around a specified subdomain. There is also a function + GridTools::compute_ghost_cell_halo_layer() that returns the smallest layer of ghost cells around + all locally relevant cells. +
    + (Jean-Paul Pelteret, Denis Davydov, Wolfgang Bangerth, 2015/08/21) +
  148. + +
  149. Documentation: How to set up a testsuite in a user project is now + properly documented. +
    + (Matthias Maier, 2015/08/01 - 2015/08/20) +
  150. + +
  151. Fixed: The computation of gradients in FE_PolyTensor and its derived classes (in particular in + FE_RaviartThomas and FE_Nedelec) forgot to account for terms that appear on non-affine + cells. Consequently, the computed gradients did not match the actual derivatives of the values + these elements report. This is now fixed. +
    + (Maien Hamed, 2015/08/18-2015/08/20) +
  152. + +
  153. Improved: Generalized conversion between Tensor and + DerivativeForm to general order using converting constructor + and assignment operator. +
    + (Maien Hamed, 2015/08/01-2015/08/09) +
  154. + +
  155. Changed: The function Vector::ratio() and the corresponding + functions in other vector classes have been deprecated. +
    + (Wolfgang Bangerth, Bruno Turcksin, 2015/08/13) +
  156. + +
  157. New: Direct support for Abaqus mesh files has been added to the GridIn + class through the function GridIn::read_abaqus(). +
    + (Jean-Paul Pelteret, Timo Heister, Krzysztof Bzowski, 2015/08/12) +
  158. + +
  159. Improved: Finite elements now compute hessians analytically rather than + by finite differencing. +
    + (Maien Hamed, 2015/08/01-2015/08/09) +
  160. + +
  161. New: The InterpolatedTensorProductGridData::gradient() function + is now implemented. +
    + (Daniel Shapero, 2015/08/12) +
  162. + +
  163. New: There is now a function Mapping::project_real_point_to_unit_point_on_face() + that calls Mapping::transform_real_to_unit_cell() and then projects the + result to a provided face. +
    + (Jason Sheldon, 2015/08/11) +
  164. + +
  165. New: FEFaceValues and FESubfaceValues can now also compute + gradients of the Jacobian of the transformation from unit to real cell, + controlled by update_jacobian_grads. +
    + (Martin Kronbichler, 2015/08/08) +
  166. + +
  167. New: There is now a function MemoryConsumption::memory_consumption() + for std_cxx11::unique_ptr arguments. +
    + (Wolfgang Bangerth, 2015/08/07) +
  168. + +
  169. Improved: CMake configuration: The DEAL_II_ADD_TEST now also + supports unit tests writing to stdout and stderr. Further, a second test + type consisting of an internal executable target, a configuration and a + comparison file is now supported. +
    + (Matthias Maier, 2015/08/03) +
  170. + +
  171. New: VtkFlags now stores a parameter describing the compression level + zlib uses when writing compressed output. For small problems, the flag + ZlibCompressionLevel::best_speed can make the call to write_vtu many times + faster. +
    + (David Wells, 2015/08/03) +
  172. + +
  173. Improved: The conversion Epetra_Map -> IndexSet is now an O(1) + operation for contiguous index ranges, improving over the old O(N) behavior. +
    + (Martin Kronbichler, 2015/07/30) +
  174. + +
  175. Changed: The initialization methods of TrilinosWrappers::SparseMatrix, + TrilinosWrappers::BlockSparseMatrix, TrilinosWrappers::SparsityPattern, and + TrilinosWrappers::BlockSparsityPattern with Epetra_Map arguments have been + marked as deprecated. Use the functions with IndexSet argument instead. +
    + (Martin Kronbichler, Luca Heltai, 2015/07/30) +
  176. + +
  177. New: FESystem now does some work in parallel if your system + has multiple processors. +
    + (Wolfgang Bangerth, 2015/07/19) +
  178. + +
  179. Fixed: When using FESystem with base elements that require + information other than the determinant of the Jacobian (e.g., + elements that require the Jacobian itself), then this information + was not passed down to FiniteElement::fill_fe_values of the + base element. This is now fixed. +
    + (Wolfgang Bangerth, Zhen Tao, 2015/07/17) +
  180. + +
  181. New: The parallel::distributed::Triangulation can now be told to + partition the cells so that the sum of certain weights associated with each + cell, rather than the number of cells, is roughly constant between processors. + This is done by passing a vector of weights to the function that repartitions + the triangulation, parallel::distributed::Triangulation::repartition(). +
    + (Wolfgang Bangerth, 2015/07/14) +
  182. + +
  183. New: DataOutBase::TecplotFlags now takes a third argument for solution + time which is useful to visualize transient data. If a user sets a non-negative + time, it will be saved into the tecplot file. +
    + (Praveen Chandrashekar, 2015/08/30) +
  184. + +
+ +*/ diff --git a/doc/news/changes.h b/doc/news/changes.h index 4f2b68b021..cabaf25569 100644 --- a/doc/news/changes.h +++ b/doc/news/changes.h @@ -14,11 +14,11 @@ // --------------------------------------------------------------------- /** -@page changes_after_8_3 Changes after Version 8.3.0 +@page changes_after_8_4 Changes after Version 8.4.0

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

@@ -38,180 +38,6 @@ inconvenience this causes.

    -
  1. Changed: GridGenerator::hyper_rectangle and - GridGenerator::subdivided_hyper_rectangle now take points with @p dim - components to correctly handle meshes embedded in higher dimensional spaces. -
    - (Timo Heister, 2016/02/04) -
  2. - -
  3. Changed: The constructor of FiniteElementData had a last argument - n_blocks that was not actually used by the class to - initialize anything. It has been removed. In addition, the default - constructor of FiniteElementData has also been removed given that it - only creates a dysfunctional element. -
    - (Wolfgang Bangerth, 2016/01/23). -
  4. - -
  5. Rework: SLEPcWrappers were reworked to allow usage of PETSc solvers - and preconditioners inside SLEPc's eigensolvers. To that end extra methods - were introduced to PETSc wrappers. Moreover, initialization of the - underlying SLEPc objects is now done inside constructors of the wrapper - classes. As a result, one has to provide an MPI communicator to the constructors of - spectral transformation classes. -
    - (Denis Davydov, 2015/12/29). -
  6. - -
  7. Removed: The deprecated Operator class in the Algorithms namespace has been - removed. -
    - (Timo Heister, 2015/12/21) -
  8. - -
  9. Changed: deallog console depth is now 0 by default, causing no - output to the screen from solvers and other places in the library. -
    - (Timo Heister, 2015/12/06) -
  10. - -
  11. Changed: The function Utilities::trim() now removes general - white space characters, such as '\\r' and '\\n', as well as - space characters. -
    - (David Wells, 2015/12/05) -
  12. - -
  13. Removed: The previously deprecated global instance - multithread_info of - MultithreadInfo has been removed (all members of this class are static - so there is no reason to use/create an instance). The deprecated - MultithreadInfo::n_cpus member also got removed in favor of - MultithreadInfo::n_cores(). -
    - (Timo Heister, 2015/11/19) -
  14. - -
  15. Removed: The UpdateFlags flags - update_support_points, update_support_jacobians, - and update_support_inverse_jacobians have been removed. - update_support_points was deprecated in 2013 and has not done - anything in a long time. The - other two appeared in 2007 and were never implemented. -
    - (David Wells, 2015/09/16) -
  16. - -
  17. Cleanup: The two argument variant of cross_product() that returned - the result by reference as first argument has been removed. Use the - function cross_product_2d(), or cross_product_3d(), that directly returns - the result instead. Further, the exception - Tensor::ExcInvalidTensorContractionIndex has been - removed -
    - (Matthias Maier, 2015/09/14 - 2015/09/17) -
  18. - -
  19. Cleanup: The following functions in tensor.h have been deprecated: -
    - - double_contract(). Use the generic contraction function - contract() instead. - - The four and five argument variants of contract() that return the - result by reference as first argument and take the contraction indices as - arguments. use the generic contraction function contract() instead. - - The three argument variants of contract() that return the result by - reference as first argument. Use operator* instead. - - The three argument variant of cross_product() that returns the result - by reference as first argument. Use the cross_product() function that - directly returns the result instead. - - The three argument variants of outer_product that return - the result by reference as first argument. Use the function that - directly returns the result instead. - - determinant(dealii::Tensor) -
    - (Matthias Maier, 2015/09/14 - 2015/09/17) -
  20. - -
  21. Removed: The Tensor and Point classes no - longer have a constructor taking a boolean argument. Those were replaced - by a default constructor that will always initialize underlying values with - zero. -
    - (Matthias Maier, 2015/09/07) -
  22. - -
  23. Removed: The testsuite no longer supports compiler constraints of - the form ".compiler=[NAME]...". -
    - (Matthias Maier, 2015/08/21) -
  24. - -
  25. Changed: The parameter @p first_vector_components has been removed - from GridTools::collect_periodic_faces(). Instead, - DoFTools::make_periodicity_constraints() now accepts a parameter - @p first_vector_components in all (supported) variants. -
    - (Matthias Maier, 2015/08/21) -
  26. - -
  27. Changed: FEValues::normal_vector() for historical reasons returned a - value of type Point, though a normal vector is more adequately described - as a Tensor@<1,dim@>. Many similar cases were already clarified in deal.II - 8.3. The current case has now also been changed: FEValues::normal_vector() - now returns a Tensor, rather than a Point. -
    - In a similar spirit, the FEValues::get_normal_vectors() function that - still returns a vector of Points has been deprecated, and a new function, - FEValues::get_all_normal_vectors() that returns a vector of tensors, - has been added. This was necessary since there is no way to change the - return type of the existing function in a backward compatible way. The - old function will be removed in the next version, and the new function - will then be renamed to the old name. -
    - (Wolfgang Bangerth, 2015/08/20) -
  28. - -
  29. Changed: The mesh_converter program has been removed from the - contrib folder. The equivalent functionality can now be found in - the GridIn class. -
    - (Jean-Paul Pelteret, 2015/08/12) -
  30. - -
  31. Changed: The signature of the FiniteElement::fill_fe_values(), - FiniteElement::fill_fe_face_values(), and FiniteElement::fill_fe_subface_values() - functions has been changed, in an effort to clarify which of these contain - input information and which contain output information for these functions. - The same has been done for the corresponding functions in the Mapping - class hierarchy. -
    - Likewise the signature of FiniteElement::get_data() has been changed. -
    - As part of a general overhaul, the FEValuesData class - has also been removed. -
    - (Wolfgang Bangerth, 2015/07/20-2015/08/13) -
  32. - -
  33. Changed: The functions update_once() and update_each() in the - Mapping classes computed information that was, in essence, only of use - internally. No external code actually needed to know which - pieces of information a mapping could compute once and which they needed - to compute on every cell. Consequently, these two functions have been - removed and have been replaced by Mapping::requires_update_flags(). -
    - A similar change has been applied to the FiniteElement class. -
    - (Wolfgang Bangerth, 2015/07/20-2015/12/01) -
  34. - -
  35. Changed: The function DoFRenumbering::random() now produces different - numberings than it did before, but in return has now acquired the property - that its results are predictable and repeatable. -
    - (Wolfgang Bangerth, 2015/07/21) -
@@ -219,289 +45,8 @@ inconvenience this causes.

General

-
    -
  1. New: A variant for GridGenerator::subdivided_parallelepiped() was added - that supports meshes embedded in higher dimesional spaces. -
    - (Timo Heister, 2016/02/04) -
  2. - -
  3. Fixed: Partitioning using METIS now works correctly with more - domains than cells. -
    - (Timo Heister, 2016/01/26) -
  4. - -
  5. New: The documentation of step-17 has been completely rewritten, - and many aspects of how one has to think when writing parallel programs - have been much better documented now. -
    - (Wolfgang Bangerth, 2016/01/07) -
  6. - -
  7. New: deal.II now provides a string DEAL_II_ALWAYS_INLINE - that, when supported by the compiler, can be used to annotate functions - to ensure that the compiler always inlines them. -
    - (Matthias Maier, Wolfgang Bangerth, 2016/01/07) -
  8. - -
  9. New: There is a new documentation module, @ref Concepts, which describes the meaning - behind template parameter type names. -
    - (David Wells, 2015/12/09) -
  10. - -
  11. Changed: The template type name arguments of some classes no longer - shadow class names. Additionally, template type names are now much more - consistent across deal.II. -
    - (David Wells, 2015/10/18 - 2016/01/23) -
  12. - -
  13. New: The WorkStream class's design and implementation are now much - better documented in the form of a @ref workstream_paper "preprint". -
    - (Wolfgang Bangerth, 2015/11/29) -
  14. - -
  15. New: There is now much more documentation for the FiniteElement class, - in particular detailing what one needs to implement when writing finite - element descriptions in derived classes. -
    - (Wolfgang Bangerth, 2015/11/29) -
  16. - -
  17. New: There is now a function template numbers::signaling_nan() that - is used to create invalid floating point objects. These objects can either - be scalars, or of type Tensor, SymmetricTensor, or DerivativeForm. The - content of these objects is a "signaling NaN" ("NaN" stands for "not a - number", and "signaling" implies that at least on platforms where this - is supported, any arithmetic operation using them terminates the program). - The purpose of this is to use them as markers for uninitialized objects - and arrays that are required to be filled in other places, and to trigger - an error when this later initialization does not happen before the first - use. -
    - (Wolfgang Bangerth, Timo Heister, 2015/11/24) -
  18. - -
  19. Changed: The function FE_DGPNonparametric::shape_value() and similar - functions in the same class returned values and derivatives of shape - functions on the reference cell. However, this element is not defined - through mapping of shape functions from the reference cell, and consequently - it makes no sense to ask for this information. These functions have therefore - been changed to throw an exception instead, as documented in - FiniteElement::shape_value(). -
    - (Wolfgang Bangerth, 2015/11/20) -
  20. - -
  21. Changed: The functionality to distribute cells across processes - according to a vector of cell weights that was passed in a call to - parallel::distributed::Triangulation::repartition() - was replaced by a cell-wise signal. This signal is called during - parallel::distributed::Triangulation::execute_coarsening_and_refinement() and - parallel::distributed::Triangulation::repartition() - if any function is connected to it. It allows to connect a function that - takes the current cell iterator and a status argument that indicates whether - this cell will be refined, coarsened or remains unchanged and returns a - cell weight, which will be used to distribute cells across processes in a - way that keeps the sum of weights across each individual process - approximately equal. -
    - (Rene Gassmoeller, 2015/11/02) -
  22. - -
  23. New: Preliminary support for parallel, adaptive, geometric multigrid is - now in place with changes to MGConstrainedDoFs (many new functions), MGTransfer, - MGTools::extract_inner_interface_dofs, MGTransferPrebuilt, - DoFTools::extract_locally_relevant_level_dofs. -
    - (Timo Heister, Guido Kanschat, 2015/10/26) -
  24. - -
  25. New: Two cell level signals are added to class Triangulation, namely - pre_coarsening_on_cell and post_refinement_on_cell. -
    - (Lei Qiao, 2015/10/22) -
  26. - -
  27. New: parallel::distributed::Triangulation::ghost_owners() - returns the set of MPI ranks of the ghost cells. Similarly - parallel::distributed::Triangulation::level_ghost_owners() for level - ghosts. -
    - (Timo Heister, 2015/09/30) -
  28. - -
  29. Improved: The interfaces to all deal.II type solvers and - preconditioners have been updated such that they function as expected - with the LinearOperator class and its associated functions (i.e., - linear_operator(), transpose_operator() and inverse_operator()). - These preconditioners can now be wrapped as a LinearOperator, - facilitating the construction of approximate matrix inverses such as in - the development of a block matrix preconditioner. An example of this - functionality can be found in - tests/lac/linear_operator_08.cc. -
    - (Jean-Paul Pelteret, 2015/09/24 - 2015/10/19) -
  30. - -
  31. New: MGTransferPrebuilt can now be used with parallel::distributed::Vector - and TrilinosWrappers::SparseMatrix as a transfer matrix. -
    - (Martin Kronbichler, 2015/09/22) -
  32. - -
  33. Fixed: parallel::distributed::Vector is now fully functional for - indices larger than 4 billion. -
    - (Martin Kronbichler, 2015/09/22) -
  34. - -
  35. New: PArpackSolver eigensolver interface class. -
    - (Denis Davydov, 2015/09/17) -
  36. - -
  37. Changed: All doxygen-generated pages now contain a link to the - tutorial in their top-level menus. -
    - (Wolfgang Bangerth, 2015/09/13) -
  38. - -
  39. New: A new namespace TensorAccessors is introduced that contains - generic algorithms for tensorial objects, i.e., objects that allow - repeated access via the index operator operator[](unsigned int). - The methods in TensorAccessors is primarily meant to replace old internal - code in tensor.h, but it might also proof useful otherwise. -
    - (Matthias Maier, 2015/09/11) -
  40. - -
  41. New: A python script (including instructions) for enabling pretty - printing with GDB is now available in - /contrib/utilities/dotgdbinit.py. -
    - (Wolfgang Bangerth, David Wells, 2015/09/11) -
  42. - -
  43. Improved: When available, deal.II now uses the "gold" linker, a - reimplementation of the traditional Unix "ld" linker that is substantially - faster. This reduces build and, in particular, test turnaround times. -
    - (Wolfgang Bangerth, Matthias Maier, 2015/09/06) -
  44. - -
  45. Cleanup: The interface of Tensor has been cleaned - up (a lot of unnecessary partial template specializations have been - removed). The specialization Tensor<1,dim,Number> has been removed. -
    - (Matthias Maier, 2015/09/02) -
  46. - -
  47. Improved: The testsuite now supports multiple comparison files. - Apart from the main comparison file that ends in - [...].output all files of the form - [...].output.[string] are considered for comparison. -
    - (Matthias Maier, 2015/08/29) -
  48. - -
  49. New: A class BlockLinearOperator has been introduced that extends - the LinearOperator concept to block structures. A BlockLinearOperator can - be sliced back to a LinearOperator. -
    - (Matthias Maier, 2015/08/27) -
  50. - -
  51. Improved: Support for complex number types throughout the library. - Several parts of the library have been reorganized to support complex - number types. -
    - Classes that are now instantiated for complex number types: - - FunctionTime - - Function - - TensorFunction -
    - Classes with fixed interface that now fully support complex number - types (pure template classes without explicit instantiations in the - library): - - LinearOperator - - PackagedOperation - - Tensor -
    - (Matthias Maier, 2015/08/25) -
  52. - -
  53. Fixed: The testsuite now properly supports version constraints for - features. Those are annotated by - .with_FEATURE(<=|>=|=|<|>)VERSION.. -
    - (Matthias Maier, 2015/08/25) -
  54. - -
  55. Improved: The interface and documentation for periodic boundary - conditions have been restructured. A - @ref GlossPeriodicConstraints "glossary entry" has been written. -
    - (Daniel Arndt, Matthias Maier, 2015/08/01-2015/08/21) -
  56. - -
  57. New: There is a new documentation module on - @ref FE_vs_Mapping_vs_FEValues "How Mapping, FiniteElement, and FEValues work together". -
    - (Wolfgang Bangerth, 2015/08/20) -
  58. - -
  59. New: parallel::shared::Triangulation class which extends - Triangulation class to automatically partition triangulation when run - with MPI. Common functionality between parallel::shared::Triangulation and - parallel::distributed::Triangulation is implemented in the parent class - parallel::Triangulation. -
    - (Denis Davydov, 2015/08/14) -
  60. - -
  61. New: The online documentation of all functions now includes - links to the file and line where that function is implemented. Both - are clickable to provide immediate access to the source code of a - function. -
    - (Jason Sheldon, Wolfgang Bangerth, 2015/08/13) -
  62. - -
  63. New: FE_RannacherTurek describes a discontinuous FiniteElement - with vanishing mean values of jumps across faces. -
    - (Patrick Esser, 2015/08/17) -
  64. - -
  65. New: FE_Q_Bubbles describes a FiniteElement based on FE_Q - enriched by bubble functions. -
    - (Daniel Arndt, 2015/08/12) -
  66. - -
  67. New: The testsuite now runs in a mode in which we abort programs for - floating point exceptions due to divisions by zero or other invalid arithmetic. -
    - (Wolfgang Bangerth, 2015/07/29) -
  68. - -
  69. New: MultithreadInfo::set_thread_limit() can now be called more than - once and the environment variable DEAL_II_NUM_THREADS will be respected - even if user code never calls it. -
    - (Timo Heister, 2015/07/26) -
  70. - -
  71. New: IndexSet now implements iterators. -
    - (Timo Heister, 2015/07/12) -
  72. +
    @@ -511,651 +56,7 @@ inconvenience this causes.

    Specific improvements

    -
      -
    1. New: FunctionParser now supports rand() and - rand_seed(number), which return a random value in the - range [0,1]. -
      - (Wolfgang Bangerth, Luca Heltai, Alberto Sartori, 2016/02/09) -
    2. - -
    3. Fixed: FullMatrix::TmTmult for matrix multiplication used to compute - wrong results for larger matrix sizes where external BLAS is called. This - has been fixed. -
      - (Martin Kronbichler, 2016/02/02) -
    4. - -
    5. Fixed: parallel::distributed::Triangulation with periodic boundary - conditions did not respect 2:1 balance over vertices on periodic - boundaries. This lead to incomplete ghost layers on multigrid levels. This - has been fixed. -
      - (Martin Kronbichler, Timo Heister, 2016/01/27) -
    6. - -
    7. Fixed: SparseVanka now really uses second-order couplings for the - right-hand side of the local problems. -
      - (Florian Sonner, 2016/01/27) -
    8. - -
    9. Fixed: A bug in the Neumann boundary handling of KellyErrorEstimator - in 1d has been fixed and KellyErrorEstimator now correctly handles - codimension one problems by using the correct normals from the manifold - inside the gradient jump computation. -
      - (Andrea Bonito, Timo Heister, 2016/01/21) -
    10. - -
    11. New: The new class MGTransferMatrixFree implements multigrid level - transfer using local polynomial embedding and restriction with tensor - product evaluation techniques. This is a faster and less memory-demanding - alternative to MGTransferPrebuilt. -
      - (Martin Kronbichler, 2016/01/20) -
    12. - -
    13. New: hp::FECollection now has constructors which take - multiple finite elements as arguments. -
      - (Angel Rodriguez, 2016/01/18) -
    14. - -
    15. New: The glossary now contains a long entry describing what - the term "scalability" means in the context of finite element codes. - See @ref GlossParallelScaling. -
      - (Wolfgang Bangerth, 2016/01/11) -
    16. - -
    17. Fixed: Tensor::operator[] that takes TableIndices as a parameter no - longer returns by value, but rather by reference. Tensor::operator<< for - dim==0 now accesses values by reference instead of making a copy. This is - useful when non-trivial number types are stored. -
      - (Jean-Paul Pelteret, 2016/01/08) -
    18. - -
    19. New: constrained_linear_operator() and constrained_right_hand_side() - provide a generic mechanism of applying constraints to a LinearOperator. - A detailed explanation with example code is given in the @ref constraints - module. -
      - (Mauro Bardelloni, Matthias Maier, 2015/10/25 - 2015/12/27) -
    20. - -
    21. New: OpenCASCADE::read_IGES() and OpenCASCADE::read_STEP() have - been unified in behaviour, and now they allow to extract *all* elements of - the IGES and STEP files instead of only the faces. This allows the - use of iges files describing edges only to be used as input for some of - the OpenCASCADE Manifold wrappers. -
      - (Luca Heltai, 2015/12/13) -
    22. - -
    23. New: A new linear operator representing the Schur complement, - namely schur_complement(), has been implemented. Some auxiliary functions - that are often used in conjunction with the Schur complement - (condense_schur_rhs() and postprocess_schur_solution()) are also provided - as a PackagedOperation. - An example of this functionality can be found in - tests/lac/schur_complement_01.cc. - The solution of a multi-component problem (namely step-22) using the - schur_complement can be found in - tests/lac/schur_complement_03.cc . -
      - (Jean-Paul Pelteret, Matthias Maier, Martin Kronbichler, 2015/12/07) -
    24. - -
    25. New: There is now a function Utilities::to_string that works like - int_to_string, but is more safe for long integers, negative integers, and - also handles floating point numbers. The implementation of int_to_string - was changed to simply call to_string. int_to_string is kept for - compatibility, but should only be used for unsigned integers. -
      - (Rene Gassmoeller, 2015/12/09) -
    26. - -
    27. Fixed: GridOut::write_msh() and GridOut::write_ucd() used the same - geometric element numbers for lines and faces. This caused visualization - programs to ignore parts with repeated geometric element numbers. This is now - fixed. -
      - (David Wells, 2016/01/16) -
    28. - -
    29. New: DoFTools::extract_dofs() are now instantiated also for - codimension different from zero. -
      - (Alberto Sartori, 2016/01/13) -
    30. - -
    31. Fixed: The DataOutFaces class should now also work with triangulations - of type parallel::distributed::Triangulation. -
      - (Heikki Virtanen, Wolfgang Bangerth, 2016/01/11) -
    32. - -
    33. Fixed: AlignedVector::fill() (and thus, Table::reinit) did not - correctly call the destructor of T() and could leak memory for complicated - class types that depend on their constructor to free memory. -
      - (Martin Kronbichler, 2016/01/08) -
    34. - -
    35. Fixed: inverse_operator() now populates Tvmult and - Tvmult_add correctly. -
      - (Jean-Paul Pelteret, David Wells, Matthias Maier, 2015/12/30) -
    36. - -
    37. New: MGTransferPrebuilt with parallel adaptive refinement has been - finalized for parallel::distributed::Vector. -
      - (Martin Kronbichler, 2015/12/23) -
    38. - -
    39. Fixed: Now all members in the class SparseMatrixEZ are initialized - correctly in the constructor. This was causing random crashes before. -
      - (Timo Heister, 2015/12/21) -
    40. - -
    41. New: There is now a new class ArrayView that presents a chunk of - memory as if it was an array of fixed size. This is eventually going - to replace the VectorSlice class which suffers from the defect that - its template argument does not encode the type of objects it points - to, but instead the type of the underlying container; consequently, - where the VectorSlice class is used as a function argument, it - automatically ties the type of object the function can be called - with (i.e., the underlying container) even if the called function - has no actual use for this kind of information. -
      - (Wolfgang Bangerth, 2015/12/20) -
    42. - -
    43. Fixed: Handling of constraints in step-26 was incorrect (hanging nodes - were condensed twice) leading to garbage solutions. This is now fixed. -
      - (Timo Heister, 2015/12/20) -
    44. - -
    45. Fixed: The implementation of ShiftedMatrixGeneralized contained several - errors that prevented it from being compiled. These have now been fixed. -
      - (David Wells, 2015/12/18) -
    46. - -
    47. New: There is now a function Triangulation::get_triangulation() that - allows writing code to get at the underlying triangulation for - everything that looks like a container, i.e., both Triangulation - or DoFHandler objects. -
      - (Wolfgang Bangerth, 2015/12/10) -
    48. - -
    49. Deprecated: The functions DoFHandler::get_tria() and - hp::DoFHandler::get_tria() were deprecated. UseDoFHandler::get_triangulation() and - hp::DoFHandler::get_triangulation() instead. -
      - (Wolfgang Bangerth, 2015/12/10) -
    50. - -
    51. New: parallel::distributed::Vector has now a method to return a shared - pointer to the underlying partitioner object. -
      - (Martin Kronbichler, 2015/12/07) -
    52. - -
    53. Improved: Many more functions in namespace GridTools and class - InterGridMap are now consistely instantiated also for types - parallel::distributed::Triangulation and parallel::shared::Triangulation. -
      - (Gennadiy Rishin, Wolfgang Bangerth, 2015/12/07) -
    54. - -
    55. Improved: Both versions of SparsityTools::distribute_sparsity_pattern() - are now plain, not - template, functions. This is not a breaking change because each function was - instantiated for exactly one template argument. -
      - (David Wells, 2015/12/06) -
    56. - -
    57. Improved: The method - parallel::distributed::Triangulation::fill_vertices_with_ghost_neighbors() - that is used for distributing DoFs on parallel triangulations previously - exhibited quadratic complexity in the number of coarse grid cells. This has - been changed into linear complexity calls (apart from a few issues - inside p4est). -
      - (Martin Kronbichler, 2015/12/05) -
    58. - -
    59. New: There are now new functions - GridTools::build_triangulation_from_patch() and - GridTools::get_cells_at_coarsest_common_level() that help build patches - around individual cells. -
      - (Arezou Ghesmati, 2015/12/02) -
    60. - -
    61. Fixed: The GridTools::copy_boundary_to_manifold_id() function - only copied boundary indicators from faces, but in 3d forgot about - edges. This is now fixed. -
      - (Wolfgang Bangerth, 2015/11/30) -
    62. - -
    63. Fixed: The constructor of SymmetricTensor that takes an array - of initializing elements led to a compiler error. This is now - fixed. -
      - (Wolfgang Bangerth, 2015/11/28) -
    64. - -
    65. Fixed: parallel::distributed::Vector now detects if the size of MPI - messages exceeds 2GB or if the local range exceeds the size of 32-bit - integers and throws an exception informing about the unsupported sizes. -
      - (Martin Kronbichler, 2015/11/26) -
    66. - -
    67. New: In 3d, GridGenerator::extract_boundary_mesh() now copies the - manifold ids of edges of the volume mesh to the manifold ids of the edges - of the extracted surface mesh. -
      - (Wolfgang Bangerth, 2015/11/25) -
    68. - -
    69. New: Triangulation::create_triangulation() now accepts subcell-data - objects that may include information about interior edges and faces, to - facilitate setting manifold indicators on interior edges and faces. -
      - (Wolfgang Bangerth, 2015/11/25) -
    70. - -
    71. Fixed: GridGenerator::extract_boundary_mesh() in 3d could generate - surface cells that did not uniformly had a right- or left-handed coordinate - system associated with them when viewed from one side of the surface. This - has been fixed: they now all have a right-handed coordinate system when seen - from one side of the surface, and a left-handed one when viewed from the - other side. -
      - (Daniel Weygand, Wolfgang Bangerth, 2015/11/22) -
    72. - -
    73. Fixed: Trilinos ML preconditioner is now deterministic when using - version 12.4 or newer. -
      - (Timo Heister, 2015/11/16) -
    74. - -
    75. New: Extra parameters to GD and Lanczos SLEPc solvers. Also added unit tests. -
      - (Denis Davydov, 2015/11/09) -
    76. - -
    77. Fixed: FETools::project_dg was adding the vector projection to - the output vector. Now is the output vector initialized to zero. -
      - (Adam Kosik, 2015/11/09) -
    78. - -
    79. Fixed: A compilation issue with DEAL_II_INCLUDE_DIRS not used for - compiling bundled boost. -
      - (Lukas Korous, 2015/11/01) -
    80. - -
    81. New: 2nd derivatives are implemented for PolynomialsBDM in 3D. -
      - (Alistair Bentley, 2015/10/27) -
    82. - -
    83. Fixed: PolynomialsBDM::degree() now returns the correct value. -
      - (Alistair Bentley, 2015/10/24) -
    84. - -
    85. New: Triangulation::set_all_manifold_ids_on_boundary(boundary_id, manifold_id) - which sets the manifold_id for all parts of the boundary with a given boundary_id. -
      - (Alberto Sartori, 2015/10/22) -
    86. - -
    87. Fixed: The range vectors in the construction of an - inverse_operator() is now reinitialised before solve calls. This ensures - a consistent starting point for the solver. -
      - (Jean-Paul Pelteret, 2015/10/19) -
    88. - -
    89. New: Ghost cells for the multigrid levels in - parallel::distributed::Triangulation are now correctly created also for - periodic boundary conditions. -
      - (Martin Kronbichler, 2015/10/18) -
    90. - -
    91. Fixed: GridGenerator::subdivided_parallelepiped() produced - invalid, unconnected meshes and wrong boundary indicators. -
      - (Timo Heister, 2015/10/13) -
    92. - -
    93. Improved: DoFTools::compute_intergrid_transfer_representation - can now be used with a fine grid given by a parallel::Triangulation. -
      - (Alexander Grayver, 2015/10/09) -
    94. - -
    95. New: GridIn::read_unv() can now read more element codes that - are used in typical meshes. -
      - (Aslan Kosakian, 2015/10/06) -
    96. - -
    97. New: FunctionParser now supports pow(a,b). -
      - (Timo Heister, 2015/09/30) -
    98. - -
    99. New: DoFTools::locally_relevant_dofs_per_subdomain() can be used - to extract an IndexSet of locally relevant DoFs for a Triangulation - partitioned using METIS or with a parallel::shared::Triangulation . -
      - (Jean-Paul Pelteret, 2015/09/24) -
    100. - -
    101. Fixed: hp::SolutionTransfer could get confused when dealing with - FE_Nothing elements. This is now fixed. -
      - (Claire Bruna-Rosso, Wolfgang Bangerth, 2015/09/23) -
    102. - -
    103. Improved: The construction of the non-local graph for quick data - exchange of TrilinosWrappers::SparseMatrix became very slow for a few - thousand processors. This has been fixed. -
      - (Martin Kronbichler, 2015/09/22) -
    104. - -
    105. Improved: Initializing a TrilinosWrappers::SparseMatrix from a - DynamicSparsityPattern included some O(global_size) operations. These have - been replaced by operations only on the local range. -
      - (Martin Kronbichler, 2015/09/22) -
    106. - -
    107. Changed: All doxygen-generated pages now contain a link to the - tutorial in their top-level menus. -
      - (Wolfgang Bangerth, 2015/09/13) -
    108. - -
    109. Cleanup: Constructors of AdditionalData in various linear solvers are now marked - explicit. This avoid bugs with implicit conversions like the one fixed in step-40. -
      - (Timo Heister, Lei Qiao, 2015/09/09) -
    110. - -
    111. New: Introduced third-order derivatives of the shape functions, which - can now be accessed through FEValues and FEValuesViews using similar interfaces - as shape_values, shape_derivatives and shape_hessians. - (Maien Hamed, 2015/09/08) -
    112. - -
    113. Cleanup: TableIndices can now be used (constructed and accessed) - with N > 7. -
      - (Matthias Maier, 2015/09/08) -
    114. - -
    115. New: std::begin and std::end are now available within the std_cxx11 - namespace through -
      - (Matthias Maier, 2015/09/08) -
    116. - -
    117. New: MappingQ1Eulerian was not instantiated for the various - Trilinos vector types. It is now instantiated for the same - vector types as MappingQEulerian is. -
      - (Wolfgang Bangerth, 2015/09/08) -
    118. - -
    119. New: Introduced Hessian-related functions to the Function class. -
      - (Denis Davydov, 2015/09/08) -
    120. - -
    121. New: Memory consumption during compilation has been reduced by splitting - instantiation files. For this make_instantiations now supports additional - logic to split the the instantiations in .inst files into groups. This is - used in fe_values.cc, error_estimator.cc, and others. -
      - (Timo Heister, 2015/09/05) -
    122. - -
    123. Improved: Allow continuation lines in ParameterHandler. Any line in a - parameter file ending with a \\ will now be combined with the next - line; see ParameterHandler's documentation for more information. -
      - (Alberto Sartori, 2015/09/04, David Wells, 2016/01/18-2016/01/28) -
    124. - -
    125. New: There is now a function SparsityPattern::print_svg() which prints - the sparsity of the matrix in a .svg file which can be opened in a web - browser. -
      - (Conrad Clevenger, 2015/09/03) -
    126. - -
    127. Openmp SIMD support is now enabled for Clang version 3.6, or newer - (or the equivalent XCode version). Further, openmp support is not any - more falsely activated for very old clang versions. -
      - (Matthias Maier, 2015/09/03) -
    128. - -
    129. Improved: DoFTools::make_hanging_node_constraints() now supports - hp-refinement cases when neither_element_dominates. To that end we look for - a least face dominating FE inside FECollection. -
      - (Denis Davydov, 2015/09/02) -
    130. - -
    131. Changed: FEValues::transform() has been deprecated. The functionality - of this function is a (small) subset of what the Mapping classes - already provide. -
      - (Wolfgang Bangerth, 2015/09/02) -
    132. - -
    133. New: introduced hp::FECollection::find_least_face_dominating_fe(const - std::set &fes) which aims to find the least dominating finite - element w.r.t. those provided as fe_indices in @p fes. -
      - (Denis Davydov, Wolfgang Bangerth, 2015/08/31) -
    134. - -
    135. New: step-6 now has an additional subsection in the - "Possibilities for extensions" section that discusses how - to create a better mesh. -
      - (Konstantin Ladutenko, Wolfgang Bangerth, 2015/08/31) -
    136. - -
    137. New: Introduce an option for FE_Nothing to dominate any other FE. - Therefore at interfaces where, for example, a Q1 meets an FE_Nothing, - we will force the traces of the two functions to be the same. Because the - FE_Nothing encodes a space that is zero everywhere, this means that the Q1 - field will be forced to become zero at this interface. -
      - (Denis Davydov, 2015/08/31) -
    138. - -
    139. Fixed: VectorTools::integrate_difference() for VectorTools::Hdiv_seminorm - was computed incorrectly. -
      - (Timo Heister, 2015/08/31) -
    140. - -
    141. New: Jacobian second and third derivatives are now computed by the mapping classes and can be - accessed through FEValues in much the same way as the Jacobian and Jacobian gradient. -
      - (Maien Hamed, 2015/08/28-2015/08/31) -
    142. - -
    143. Fixed: The GridIn class was not instantiated for the - dim==1,spacedim==3 case. This is now fixed. -
      - (Wolfgang Bangerth, 2015/08/25) -
    144. - -
    145. Fixed: In 1d, GridIn::read_msh() ignored boundary indicators - associated with vertices. This is now fixed. -
      - (Jan Stebel, Wolfgang Bangerth, 2015/08/25) -
    146. - -
    147. New: There are now a collection of functions named GridTools::compute_active_cell_halo_layer() - that determine which cells form a layer around a specified subdomain. There is also a function - GridTools::compute_ghost_cell_halo_layer() that returns the smallest layer of ghost cells around - all locally relevant cells. -
      - (Jean-Paul Pelteret, Denis Davydov, Wolfgang Bangerth, 2015/08/21) -
    148. - -
    149. Documentation: How to set up a testsuite in a user project is now - properly documented. -
      - (Matthias Maier, 2015/08/01 - 2015/08/20) -
    150. - -
    151. Fixed: The computation of gradients in FE_PolyTensor and its derived classes (in particular in - FE_RaviartThomas and FE_Nedelec) forgot to account for terms that appear on non-affine - cells. Consequently, the computed gradients did not match the actual derivatives of the values - these elements report. This is now fixed. -
      - (Maien Hamed, 2015/08/18-2015/08/20) -
    152. - -
    153. Improved: Generalized conversion between Tensor and - DerivativeForm to general order using converting constructor - and assignment operator. -
      - (Maien Hamed, 2015/08/01-2015/08/09) -
    154. - -
    155. Changed: The function Vector::ratio() and the corresponding - functions in other vector classes have been deprecated. -
      - (Wolfgang Bangerth, Bruno Turcksin, 2015/08/13) -
    156. - -
    157. New: Direct support for Abaqus mesh files has been added to the GridIn - class through the function GridIn::read_abaqus(). -
      - (Jean-Paul Pelteret, Timo Heister, Krzysztof Bzowski, 2015/08/12) -
    158. - -
    159. Improved: Finite elements now compute hessians analytically rather than - by finite differencing. -
      - (Maien Hamed, 2015/08/01-2015/08/09) -
    160. - -
    161. New: The InterpolatedTensorProductGridData::gradient() function - is now implemented. -
      - (Daniel Shapero, 2015/08/12) -
    162. - -
    163. New: There is now a function Mapping::project_real_point_to_unit_point_on_face() - that calls Mapping::transform_real_to_unit_cell() and then projects the - result to a provided face. -
      - (Jason Sheldon, 2015/08/11) -
    164. - -
    165. New: FEFaceValues and FESubfaceValues can now also compute - gradients of the Jacobian of the transformation from unit to real cell, - controlled by update_jacobian_grads. -
      - (Martin Kronbichler, 2015/08/08) -
    166. - -
    167. New: There is now a function MemoryConsumption::memory_consumption() - for std_cxx11::unique_ptr arguments. -
      - (Wolfgang Bangerth, 2015/08/07) -
    168. - -
    169. Improved: CMake configuration: The DEAL_II_ADD_TEST now also - supports unit tests writing to stdout and stderr. Further, a second test - type consisting of an internal executable target, a configuration and a - comparison file is now supported. -
      - (Matthias Maier, 2015/08/03) -
    170. - -
    171. New: VtkFlags now stores a parameter describing the compression level - zlib uses when writing compressed output. For small problems, the flag - ZlibCompressionLevel::best_speed can make the call to write_vtu many times - faster. -
      - (David Wells, 2015/08/03) -
    172. - -
    173. Improved: The conversion Epetra_Map -> IndexSet is now an O(1) - operation for contiguous index ranges, improving over the old O(N) behavior. -
      - (Martin Kronbichler, 2015/07/30) -
    174. - -
    175. Changed: The initialization methods of TrilinosWrappers::SparseMatrix, - TrilinosWrappers::BlockSparseMatrix, TrilinosWrappers::SparsityPattern, and - TrilinosWrappers::BlockSparsityPattern with Epetra_Map arguments have been - marked as deprecated. Use the functions with IndexSet argument instead. -
      - (Martin Kronbichler, Luca Heltai, 2015/07/30) -
    176. - -
    177. New: FESystem now does some work in parallel if your system - has multiple processors. -
      - (Wolfgang Bangerth, 2015/07/19) -
    178. - -
    179. Fixed: When using FESystem with base elements that require - information other than the determinant of the Jacobian (e.g., - elements that require the Jacobian itself), then this information - was not passed down to FiniteElement::fill_fe_values of the - base element. This is now fixed. -
      - (Wolfgang Bangerth, Zhen Tao, 2015/07/17) -
    180. - -
    181. New: The parallel::distributed::Triangulation can now be told to - partition the cells so that the sum of certain weights associated with each - cell, rather than the number of cells, is roughly constant between processors. - This is done by passing a vector of weights to the function that repartitions - the triangulation, parallel::distributed::Triangulation::repartition(). -
      - (Wolfgang Bangerth, 2015/07/14) -
    182. - -
    183. New: DataOutBase::TecplotFlags now takes a third argument for solution - time which is useful to visualize transient data. If a user sets a non-negative - time, it will be saved into the tecplot file. -
      - (Praveen Chandrashekar, 2015/08/30) -
    184. -
    */ diff --git a/doc/users/doxygen.html b/doc/users/doxygen.html index 22760aeb12..25d1ab5e08 100644 --- a/doc/users/doxygen.html +++ b/doc/users/doxygen.html @@ -30,6 +30,7 @@ Doxygen, if the online documentation is available, here. For older revisions, links are provided here by revision number: + 8.4.0, 8.3.0, 8.2.0, 8.1.0,