From 9c9c3fef08b23a1ae30a4dc818e029718a867f7e Mon Sep 17 00:00:00 2001 From: Timo Heister Date: Tue, 14 Jul 2015 16:16:45 -0400 Subject: [PATCH] update changes and news for release --- doc/news/8.2.1-vs-8.3.0.h | 1124 +++++++++++++++++++++++++++++++++++++ doc/news/changes.h | 1060 +--------------------------------- doc/users/doxygen.html | 1 + 3 files changed, 1127 insertions(+), 1058 deletions(-) create mode 100644 doc/news/8.2.1-vs-8.3.0.h diff --git a/doc/news/8.2.1-vs-8.3.0.h b/doc/news/8.2.1-vs-8.3.0.h new file mode 100644 index 0000000000..b7c80ebea7 --- /dev/null +++ b/doc/news/8.2.1-vs-8.3.0.h @@ -0,0 +1,1124 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2014 - 2015 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_2_1 Changes between Version 8.3 and 8.2.1 + +

+This is the list of changes made between the release of deal.II version +8.2.1 and that of 8.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: GridTools::distort_random is now deterministic (gives the same + distorted mesh when called with the same input Triangulation). +
    + (Timo Heister, 2015/07/09) +
  2. + +
  3. Changed: MatrixCreator::create_mass_matrix() took matrix and vector + objects where the scalar type of the matrix was a template argument + but the scalar type of the vector was always double. This + has been changed so that the two always need to match. +
    + (Denis Davydov, Wolfgang Bangerth, 2015/06/17) +
  4. + +
  5. Changed: Functions such as FEValuesBase::get_function_values() that + extracted the values of functions at the quadrature points of a cell + implicitly always assumed that double is a reasonable + type to store the result in. This, however, is not true if the solution + vector's underlying scalar type was, for example, + std::complex@. All of the functions of + FEValuesBase as well as of the various FEValuesViews class that extract + values from solution vectors have been changed so that they now return + their results in vectors that use the same underlying scalar type + (float, double, or std::complex) as was used in the solution vector. +
    + Most user codes will be entirely unaffected by this because they simply + use the default vector types which all store their data as doubles. + You may have to adjust your code, though, if you use non-standard + types such as Vector@ for solution vectors, or use + complex-valued data types. This includes compiling PETSc with + complex scalars. +
    + (Denis Davydov, 2015/05/08) +
  6. + +
  7. Removed: The generic, templated vmult, Tvmult, etc. -interfaces of + LAPACKFullMatrix - they were never implemented. +
    + (Matthias Maier, 2015/04/10) +
  8. + +
  9. Removed: SparseDirectUMFPACK::vmult_add and + SparseDirectUMFPACK::Tvmult_add - they were never implemented. +
    + (Matthias Maier, 2015/04/10) +
  10. + +
  11. Removed: The class NamedData has been removed after it had been + superseded by AnyData a while ago. This affects the use of classes + in Algorithms and MeshWorker +
    + (Guido Kanschat, 2015/04/02) +
  12. + +
  13. Removed: The CMake configuration does not use the variable + DEAL_II_CMAKE_MACROS_RELDIR any more. Instead, the fixed + location \${DEAL_II_SHARE_RELDIR}/macros is used + unconditionally +
    + (Matthias Maier, 2015/03/26) +
  14. + +
  15. Changed: The TrilinosWrappers::SparseMatrix::clear_row() function used + to call TrilinosWrappers::SparseMatrix::compress() before doing its work, + but this is neither efficient nor safe. You will now have to do this + yourself after assembling a matrix and before clearing rows. +
    + The changes to the function above also affect the + MatrixTools::apply_boundary_values() variants that operate on Trilinos + matrices. +
    + (Wolfgang Bangerth, 2015/03/09) +
  16. + +
  17. Changed: Implicit conversion from Tensor@<1,dim@> to Point@ was + previously possible. This has now been prohibited (but you can still + do the conversion with an explicit cast) as such conversions are + likely incorrect uses of class Point (which should represent only + points in space, i.e., vectors anchored at the origin) whereas Tensor + should be used for vectors anchored elsewhere (such as normal vectors, + directions, differences between points, etc). The difference in + usage between Point and Tensor have now been clarified in the documentation + of class Point. +
    + (Wolfgang Bangerth, 2015/01/12) +
  18. + +
  19. Changed: The project configuration no longer exports + [...]/include/deal.II. Thus it is now mandatory to prefix + all includes of deal.II headers with deal.II/, i.e. + #include <deal.II/[...]>. +
    + (Matthias Maier, 2015/01/19) +
  20. + +
  21. Changed: ParameterHandler::leave_subsection() no longer returns a bool + indicating if there was a subsection to leave. This never worked in the + first place, because an exception was thrown. +
    + (Timo Heister, 2015/01/19) +
  22. + +
  23. Changed: Make.global_options was completely redesigned. It still + contains Makefile sourcable information, but they now closely mimic the + declarative style of deal.IIConfig.cmake. Thus, projects that still use + Makefiles that source Make.global_options have to be ported to the new + layout. +
    + (Matthias Maier, 2015/01/13) +
  24. + +
  25. Removed: The Component compat_files was removed entirely. deal.II + now always configures and installs with a somewhat FSHS compliant + directory structure. Further, the ancient make_dependencies binary was + removed. Either migrate your project to CMake, or port your build system + to the new (incompatible) Make.global_options found at + \${DEAL_II_SHARE_RELDIR}. +
    + (Matthias Maier, 2015/01/13) +
  26. + +
  27. Changed: The two-argument call to the MPI_InitFinalize constructor + used to imply that the user wanted only one thread per MPI process. This + has been changed and now means that every processor core on the system is + used. If you run as many MPI processes as there are processor cores, then + this means one thread per MPI process, as before. On the other hand, if you + start fewer MPI processes than there are cores, then your program will now + be allowed to use more than one thread. You can get the old behavior by + setting the third (optional) argument to one. +
    + (Wolfgang Bangerth, 2015/01/14) +
  28. + +
  29. Removed: TrilinosWrappers::SparseMatrix copy constructor got removed + to be in line with PETSc and dealii::SparseMatrix. You can use reinit() + and copy_from(). +
    + (Timo Heister, 2015/01/12) +
  30. + +
  31. Removed: The following compatibility definitions were removed from + include/deal.II/base/config.h.in (replacement in brackets): + - DEAL_II_CAN_USE_CXX11 (new: DEAL_II_WITH_CXX11) + - DEAL_II_CAN_USE_CXX1X (new: DEAL_II_WITH_CXX11) + - DEAL_II_COMPILER_SUPPORTS_MPI (new: DEAL_II_WITH_MPI) + - DEAL_II_MAJOR (new: DEAL_II_VERSION_MAJOR) + - DEAL_II_MINOR (new: DEAL_II_VERSION_MINOR) + - DEAL_II_USE_ARPACK (new: DEAL_II_WITH_ARPACK) + - DEAL_II_USE_CXX11 (new: DEAL_II_WITH_CXX11) + - DEAL_II_USE_METIS (new: DEAL_II_WITH_METIS) + - DEAL_II_USE_MT (new: DEAL_II_WITH_THREADS) + - DEAL_II_USE_P4EST (new: DEAL_II_WITH_P4EST) + - DEAL_II_USE_PETSC (new: DEAL_II_WITH_PETSC) + - DEAL_II_USE_SLEPC (new: DEAL_II_WITH_SLEPC) + - DEAL_II_USE_TRILINOS (new: DEAL_II_WITH_TRILINOS) +
    + (Matthias Maier, 2015/01/12) +
  32. + +
  33. Removed: The direct Mumps interface through + SparseDirectMUMPS has been removed. The MUMPS solver is + still available through the Trilinos or PETSc interfaces. Alternatively, + there is SparseDirectUMFPACK, which has a similar interface. +
    + (Matthias Maier, 2015/01/11) +
  34. + +
  35. Removed: This release removes a number of functions that have long + been deprecated and that were previously already marked as + deprecated (i.e., they would have yielded warnings by the compiler whenever + you tried to use them). In almost all cases, there is a function with same + name but different argument list that should be used instead. + Specifically, the removed functions and classes are: +
    + With headers in deal.II/base/: + - ThreadManagement::spawn. + - Threads::ThreadCondition and Threads::ThreadMutex. + - DataOutBase::create_xdmf_entry with 3 arguments. + - DataOutBase::write_hdf5_parallel with 2 arguments. + - The versions of FunctionParser::initialize that took a + use_degrees or constants argument. + The implementation as it is now no longer supports either of + these two concepts (since we switched from the FunctionParser + library to the muparser library after the deal.II 8.1 release). + - GridOutFlags::XFig::level_color. + - class BlockList. + - The MPI support functions in namespace Utilities and Utilities::System. + - Deprecated members of namespace types. + - Namespace deal_II_numbers. + - MultithreadInfo::n_default_threads. + - Table::data. + +
    + With headers in deal.II/lac/: + - The deprecated constructors of SparseMIC, + SparseILU, and SparseLUDecomposition. + - SparseMIC::decompose and SparseILU::decompose. + - SparseMIC::reinit and SparseLUDecomposition::reinit. + - SparseILU::apply_decomposition. + - SparseLUDecomposition::decompose and SparseLUDecomposition::is_decomposed. + - The compress() functions without argument in the various vector + classes. You should use the versions with a VectorOperation + argument instead. + - Vector::scale. + - TrilinosWrappers::*Vector*::compress with an Epetra_CombineMode + argument. + - SparsityPattern and ChunkSparsityPattern functions that take an + optimize_diagonal argument. + - SparsityPattern::partition. + - SparsityPattern::get_rowstart_indices and + SparsityPattern::get_column_numbers. + - SparsityPattern::row_iterator and corresponding row_begin() and row_end() + functions. + - CompressedSparsityPattern::row_iterator and corresponding row_begin() + and row_end() functions. + - The typedef CompressedBlockSparsityPattern. + - The deprecated constructors of SparsityPattern iterator classes. + - The deprecated variants of DoFTools::make_periodicity_constraints. + - BlockMatrixArray and BlockTrianglePreconditioner functions that + take an explicit VectorMemory object. + - The SolverSelector constructor that takes a VectorMemory argument. + - The version of parallel::distributed::Vector::compress_finish + function that takes a boolean as argument. + - The version of BlockVector::scale and + parallel::distributed::Vector::scale, + parallel::distributed::BlockVector::scale + function that takes a scalar as argument. + - PreconditionBlock::size. + - Classes PreconditionedMatrix and PreconditionLACSolver. + - PETScWrappers::VectorBase::update_ghost_values. + - PETScWrappers::MPI::Vector constructors and reinit variants. + - SparseMatrixIterators::Accessor and SparseMatrixIterators::Iterator + constructors. + - SparseMatrix::raw_entry and SparseMatrix::global_entry. + - The ConstraintMatrix functions that transform a matrix, vector, or + linear system into a smaller by not just setting the corresponding + rows and columns to zero, but actually shrinking the size of the + linear system. + +
    + With headers in deal.II/deal.II/: + - GridGenerator::laplace_transformation. + - The version of GridGenerator::parallelogram where the corners are given + as a rank-2 tensor rather than as an array of points. + - GridTools::create_union_triangulation. + - GridTools::extract_boundary_mesh. + - Triangulation::distort_random. + - Triangulation::clear_user_pointers. + - The refinement listener concept of the Triangulation class. This + approach to getting notified about what happens to triangulations + has been superseded by the signals defined by the triangulation + class. + +
    + With headers in deal.II/fe/: + - In FEValues and related classes, the functions that contain the + term 2nd_derivatives were removed in favor of those + with names containing hessian. Similarly, functions + with names including function_grads were removed in + favor of those called function_gradients. Finally, + the cell_normal_vector functions were replaced by + normal_vector ones. In all cases, the new functions + have been around for a while. + - Mapping::transform_covariant and Mapping::transform_contravariant. + +
    + With headers in deal.II/dofs/: + - DoFRenumbering::downstream_dg. + - DoFTools::count_dofs_per_component. + - DoFTools::make_sparsity_pattern with a vector-of-vector mask. + +
    + With headers in deal.II/multigrid/: + - The constructors of classes MGSmoother, MGSmootherRelaxation and + MGSmootherPrecondition that take a VectorMemory object. + - MGLevelObject::get_minlevel and MGLevelObject::get_maxlevel. + - MGConstrainedDoFs::non_refinement_edge_index + - MGConstrainedDoFs::at_refinement_edge_boundary + - MGTools::count_dofs_per_component. + - MGTools::apply_boundary_values. + - MGTools::extract_inner_interface_dofs. + - Class MGMatrix. + - Multigrid::vmult and friends. + +
    + With headers in deal.II/matrix_free/: + - Classes FEEvaluationDGP, FEEvaluationGeneral and FEEvaluationGL. + +
    + With headers in deal.II/mesh_worker/: + - Deprecated variants of MeshWorker::loop and MeshWorker::integration_loop. + +
    + With headers in deal.II/algorithm/: + - Algorithms::ThetaTimestepping::operator(). + - Algorithms::ThetaTimestepping::initialize. + - Algorithms::Newton::initialize. + +
    + With headers in deal.II/numerics/: + - TimeDependent::end_sweep (with an argument). + - PointValueHistory::mark_locations. + - The DataPostprocessor::compute_derived_quantities_scalar and + DataPostprocessor::compute_derived_quantities_vector functions without + evaluation points. If you have + data postprocessor classes implemented in your program that overload these + functions, you will have to change it in a way that they overload the + functions of same name but with the evaluation point argument instead. +
    + This release also removes the deprecated class MGDoFHandler. The + functionality of this class had previously been incorporated into + the DoFHandler class. Unlike the changes above, if you were still + using this class, you will need to do the following changes to + your code: + - Where you called mg_dof_handler.distribute_dofs() + you now also need to explicitly call + mg_dof_handler.distribute_mg_dofs(). + - If you called mg_dof_handler.begin(level), you + will now have to write this as + mg_dof_handler.begin_mg(level) to make clear that + you are not just interested in an iterator to a cell on a given + level, but in fact to a cell that can access the degrees of + freedom on a particular level of a multigrid hierarchy. + - The type previously referred to as + MGDoFHandler::cell_iterator now corresponds to + MGDoFHandler::level_cell_iterator. + - Where you previously called DoFRenumbering::component_wise + for the entire MGDoFHandler object, you now need to call + this function for the DoFHandler object, and then call the + same function with the level argument for each + of the levels of the triangulation individually. +
    + (Wolfgang Bangerth, 2014/12/29-2015/01/22) +
  36. + +
  37. Removed: The config.h file no longer exports HAVE_* definitions. + Those are either entirely removed (for the blas/lapack symbols) or + renamed to DEAL_II_HAVE_*. This change is done in order to avoid clashes + with external projects also exporting HAVE_* definitions in their header + files. +
    + (Matthias Maier, 2014/12/29) +
  38. +
+ + + + + +

General

+ + +
    +
  1. New: Added the class Functions::Polynomial for representation of polynomials. + The new class is derived from the Function class. +
    + (Angel Rodriguez, 2015/07/01) +
  2. + +
  3. New: deal.II now supports compilation in C++14 mode, which may be + enabled with the CMake option DEAL_II_WITH_CXX14. +
    + (David Wells, 2015/06/21) +
  4. + +
  5. New: Implement a modified version of the Kelly error estimator, which + effectively provides the boundary residual term for the hp-FEM error estimators. +
    + (Denis Davydov, 2015/06/17) +
  6. + +
  7. New: DerivativeForm() now takes an additional optional + template argument specifying the type, similarly to Tensor() classes. +
    + (Luca Heltai, 2015/05/16) +
  8. + +
  9. New: Utilities::MPI::min() functions. +
    + (Timo Heister, 2015/05/12) +
  10. + +
  11. New: A PackagedOperation class that stores computation expressions. + The primary purpose of this class is to provide syntactic sugar for vector + operations (vector space addition, scalar multiplication, application of a + linear operator) while avoiding intermediate storage. +
    + (Matthias Maier, 2015/05/10) +
  12. + +
  13. Fixed: Utilities::generate_normal_random_number() will now + produce a deterministic sequence of numbers on every thread. + Furthermore, it will also work on systems that do not have the + rand_r library function, such as Cygwin. +
    + (Wolfgang Bangerth, 2015/04/19) +
  14. + +
  15. New: A LinearOperator class that stores the abstract concept of a + linear operator. The class is fully compatible with the solver and + preconditioner interfaces. The primary purpose of this class is to + provide syntactic sugar for complex matrix-vector operations and free the + user from having to create, set up and handle intermediate storage + locations by hand. +
    + (Matthias Maier, 2015/04/08) +
  16. + +
  17. Fixed: There were a number of places in the library where we unconditionally + called functions _mm_malloc()/_mm_free() to allocate and free + memory with a known alignment. This function, however, is only available on + systems with x86 or x64_64 compatible processors. These places have now been + replaced by calling posix_memalign() instead, a function that + should be more widely available. +
    + (Wolfgang Bangerth, 2015/04/15) +
  18. + +
  19. Deprecated: The library uses functions such as CellAccessor::subdomain_id(), + TriaAccessor::manifold_id(), etc, but used the deviant spelling + TriaAccessor::boundary_indicator(), TriaAccessor::set_boundary_indicator(), + TriaAccessor::set_all_boundary_indicators(). These last three functions are now + deprecated and have been replaced by TriaAccessor::boundary_id(), + TriaAccessor::set_boundary_id(), and TriaAccessor::set_all_boundary_ids() for + consistency. Similar, Triangulation::get_boundary_indicators() has been + deprecated in favor of Triangulation::get_boundary_ids(). +
    + (Wolfgang Bangerth, 2015/04/11) +
  20. + +
  21. Changed: All example programs used to have calls to set_boundary() + methods to deal with curved boundaries. These have been replaced with + the corresponding set_manifold() equivalent. +
    + (Luca Heltai, 2015/04/06) +
  22. + +
  23. New: A new flag no_automatic_repartitioning in + parallel::distributed::Triangulation will disable the automatic + repartitioning when calling execute_coarsening_and_refinement() (or things + like refine_global(), ...), resulting in all cells staying on the processor + they were before. The new function repartition() will execute the + repartitioning as done automatically before. +
    + (Timo Heister, 2015/03/22) +
  24. + +
  25. Changed: All (Block)Compressed*SparsityPattern classes got + replaced by DynamicSparsityPattern and + BlockDynamicSparsityPattern, respectively and all examples now + teach the dynamic way of creating dynamic sparsity patterns. +
    + (Timo Heister, 2015/03/22) +
  26. + +
  27. Improved: We have traditionally had a large number of exceptions + that did not output any useful error message other than the name + of the exception class. This name was suggestive of the error that + had happened, but did not convey a sufficient amount of information + to what happened in many of the places where these kinds of exceptions + were used, nor what may have caused the exception, or how it could + be avoided. We have gone through many of these places and changed + the exception to be much more verbose in what they state about the + problem, its origin, and how it may be solved. +
    + (Wolfgang Bangerth, 2015/02/28-2015/03/31) +
  28. + +
  29. Changed: We have traditionally used Point@ to represent points + in physical space, i.e., vectors that are anchored at the origin, whereas + for vectors anchored elsewhere (e.g., differences between points, normal + vectors, gradients, etc) we have used Tensor@<1,dim@>. This has now be + made more formal in the documentation but also in the return types of + operator-() for Point objects: The difference between two + points, p1-p2 now returns a Tensor@<1,dim@>. On the other + hand, subtracting a Tensor@<1,dim@> object from a Point, p-t, + results in a Point@. +
    + (Wolfgang Bangerth, 2015/02/05) +
  30. + +
  31. New: Examples from 1 to 16 now use the Manifold interface + instead of the old Boundary interface to describe curved boundaries + and domains. +
    + (Luca Heltai, 2015/01/15) +
  32. + +
  33. New: The build system now queries for git branch name and + revision sha1 (and automatically reconfigures if necessary). This + information is used to annotate summary.log and detailed.log with the + current revision sha1. Further, a header file + is now available that exports the macros: DEAL_II_GIT_BRANCH, + DEAL_II_GIT_REVISION, DEAL_II_GIT_REVISION_SHORT. +
    + (Matthias Maier, 2015/01/02) +
  34. +
+ + + + + +

Specific improvements

+ + + +
    +
  1. New: parallel::distributed::Triangulation::add_periodicity + now allows for arbitrary orientations between matching faces. +
    + (Daniel Arndt, 2015/07/12) +
  2. + +
  3. New: Utilities::trim() function removes trailing and leading spaces. +
    + (Timo Heister, 2015/07/11) +
  4. + +
  5. Changed: The IsBlockMatrix class is now declared in + constraint_matrix.h instead of its former home in + block_indices.h. +
    + (Wolfgang Bangerth, 2015/07/10) +
  6. + +
  7. New: CellId::to_string() returns a string representation of a CellId object. +
    + (Timo Heister, 2015/07/05) +
  8. + +
  9. New: Utilities::replace_in_string(). +
    + (Timo Heister, 2015/07/05) +
  10. + +
  11. Improved: GridOut::write_vtk() and GridOut::write_vtu() now + output material id, level and subdomain ids of the cells. +
    + (Guido Kanschat, 2015/07/05) +
  12. + +
  13. Improved: The font scaling in GridOut::write_svg() was broken, + since the units were missing. It has been fixed and an additional + parameter GridOutFlags::Svg::cell_font_scaling has been introduced + for tuning. +
    + (Guido Kanschat, 2015/07/04) +
  14. + +
  15. New: VectorizedArray now provides two methods + vectorized_load_and_transpose() and vectorized_transpose_and_store() that + perform vectorized reads or writes and convert from array-of-struct into + struct-of-array or the other way around. +
    + (Martin Kronbichler, 2015/07/02) +
  16. + +
  17. New: GridGenerator::cheese() for a mesh with many holes; + GridGenerator::simplex() for simplices in 2 and 3 dimensions; + GridGenerator::hyper_cross() for crosses in 2 and 3 dimensions. +
    + (Guido Kanschat, 2015/07/02) +
  18. + +
  19. Fixed: The specialization of DoFAccessor for zero-dimensional objects, + i.e., for vertices as created by accessing the faces of one-dimensional + cells, had a member function DoFAccessor::child() that was declared but not + implemented. This is now fixed. +
    + (Wolfgang Bangerth, 2015/07/01) +
  20. + +
  21. Improved: Functions::Monomial::gradient function now works when both base and exponent + are equal to zero for one or more components of the monomial. + Also, an assertion is added to avoid exponentiation of negative base numbers with real exponents. +
    + (Angel Rodriguez, 2015/06/29) +
  22. + +
  23. Fixed: The function numbers::is_finite() produced incorrect results when + called with a NaN number (specifically, it produces an uncatchable floating + point exception when called with a signaling NaN). This was clearly not + intended since such values are definitely not finite. +
    + (Wolfgang Bangerth, 2015/06/29) +
  24. + +
  25. Improved: The SparseMatrix class can now also use std::complex + scalars for its elements. +
    + (Wolfgang Bangerth, 2015/06/26) +
  26. + +
  27. Improved: FE_DGQArbitraryNodes::get_name() now also detects if + the quadrature rule was Gauss points. +
    + (Guido Kanschat, 2015/06/22) +
  28. + +
  29. Improved: DoFRenumbering::Cuthill_McKee() can now also + use starting indices for parallel triangulations. +
    + (Wolfgang Bangerth, 2015/06/11) +
  30. + +
  31. Improved: VectorTools::interpolate now works with FE_Nothing. +
    + (Angel Rodriguez, 2015/06/03) +
  32. + +
  33. Improved: deal.II now uses a variety of strategies to silence compiler + warnings about unused variables and unused parameters. +
    + (David Wells, 2015/04/13) +
  34. + +
  35. New: Add a clear function to the PETSc::Vector + and PETSc::MPI::Vector classes similar to the Trilinos vector classes. +
    + (Martin Steigemann 2015/05/22) +
  36. + +
  37. New: Three new quadrature formulas in quadrature_lib, based on + Chebyshev quadrature rules. See functions QGaussChebyshev, + QGaussRadauChebyshev and QGaussLobattoChebyshev. +
    + (Giuseppe Pitton, Luca Heltai 2015/05/11) +
  38. + +
  39. Fixed: MatrixOut now also works with Trilinos and PETSc matrices. +
    + (Wolfgang Bangerth, 2015/05/11) +
  40. + +
  41. Changed: TrilinosWrappers::Vector, TrilinosWrappers::BlockVector, + PETScWrappers::Vector, and PETScWrappers::BlockVector are deprecated. Either + use the MPI or the deal.II version of the Vector/BlockVector. +
    + (Bruno Turcksin, 2015/05/04) +
  42. + +
  43. Fixed: GridGenerator::half_hyper_shell can now be colorized. +
    + (Daniel Arndt, 2015/05/05) +
  44. + +
  45. New: The function VectorTools::point_gradient has been added to compute + the gradient of a given FE function. +
    + (Daniel Arndt, 2015/05/03) +
  46. + +
  47. New: dealii:Vector, dealii::BlockVector, + TrilinosWrappers::MPI::Vector, TrilinosWrappers::MPI::BlockVector, + PETScWrappers::MPI::Vector and PETScWrappers::MPI::BlockVector now have + move constructors and move assignment operators in C++11 mode. +
    + (Matthias Maier, 2015/05/01) +
  48. + +
  49. New: Introduce DoFRenumbering::block_wise for multigrid computation. +
    + (Timo Heister, Florian Sonner, 2015/04/30) +
  50. + +
  51. New: There are now MPI sum functions for Tensors and SymmetricTensors + in the Utilities::MPI namespace. +
    + (Ian Rose, 2015/04/24) +
  52. + +
  53. Fixed: project_boundary_values_curl_conforming_l2() produced incorrect + results for non-uniform grids in 2D. Adjustment to the way 2D tangents to edges are + computed fixes this. +
    + (Ross Kynch, 2015/04/23) +
  54. + +
  55. Fixed: The TimerOutput class reported abnormally large cpu time when run + with more than one process with MPI. Now this is fixed. +
    + (Lei Qiao, 2015/04/19) +
  56. + +
  57. New: The VectorTools::integrate_difference() function can now + also compute the $H_\text{div}$ seminorm, using the + VectorTools::NormType::Hdiv_seminorm argument. +
    + (Zhen Tao, Arezou Ghesmati, Wolfgang Bangerth, 2015/04/17) +
  58. + +
  59. Fixed: The class SymmetricTensor<2,dim> is now usable also for dim>3. +
    + (Martin Kronbichler, 2015/04/14) +
  60. + +
  61. New: The DynamicSparsityPattern class (formerly called + CompressedSparsityPattern) now has an iterator class that allows to + walk over the nonzero elements of a matrix represented by this class. +
    + (Wolfgang Bangerth, 2015/04/13) +
  62. + +
  63. New: The GridGenerator::subdivided_hyper_cube() and + GridGenerator::subdivided_hyper_rectangle() now work also for codimension + one and two Triangulation; +
    + (Luca Heltai, 2015/04/12) +
  64. + +
  65. New: A new VectorTools::get_position_vector() function has been + added to the library that allows one to interpolate the Geometry of + a (possibly curved) triangulation to vector finite element fields + of at least spacedim components. +
    + (Luca Heltai, 2015/04/11) +
  66. + +
  67. New: TrilinosWrappers::BlockSparseMatrix now has member functions + TrilinosWrappers::BlockSparseMatrix::domain_paritioner() and + TrilinosWrappers::BlockSparseMatrix::range_partitioner() that return a + vector of the underlying block Epetra_Map. +
    + (Matthias Maier, 2015/04/08) +
  68. + +
  69. New: A new MappingFEField() class has been added to the library + that generalizes MappingQEulerian to allow arbitrary FiniteElements. +
    + (Marco Tezzele, Luca Heltai, 2015/04/06) +
  70. + +
  71. Changed: The cells of coarse meshes in + parallel::distributed::Triangulation used to be ordered in a Cuthill-McKee + numbering, which yields very high surface-to-volume ratios of the individual + processors' partition in case the coarse mesh consists of many cells, in + particular in 3D. The algorithm now uses SparsityTools::reorder_hierarchical + in order to get more compact partitions, similarly to the z-ordering applied + by p4est. +
    + (Martin Kronbichler, 2015/04/10) +
  72. + +
  73. New: There is now a new method + GridTools::get_vertex_connectivity_of_cells. +
    + (Martin Kronbichler, 2015/04/10) +
  74. + +
  75. New: There is now a new method SparsityTools::reorder_hierarchical to + sort nodes of a graph (sparsity pattern) in a z-like way by hierarchical + grouping of neighboring nodes. +
    + (Martin Kronbichler, 2015/04/10) +
  76. + +
  77. Changed: The methods SparsityTools::reorder_Cuthill_McKee and + GridTools::get_face_connectivity_of_cells used to take a SparsityPattern as + argument. The data type has been changed to DynamicSparsityPattern in order + to avoid copying things around. The old interface is still available but + marked as deprecated. +
    + (Martin Kronbichler, 2015/04/10) +
  78. + +
  79. New: One can now ask a cell the how many-th active cell it is, + using CellAccessor::active_cell_index() (which is called as + cell-@>active_cell_index()). +
    + (Wolfgang Bangerth, 2015/04/10) +
  80. + +
  81. Fixed: Added missing hp-related functions to FE_Q_Hierarchical together with + a couple of unit tests. Improved code comments. +
    + (Denis Davydov, 2015/04/10) +
  82. + +
  83. Fixed: deal.II did not compile on 32-bit systems when using newer + p4est versions (1.0 and later) due to a type mismatch. This is now fixed. +
    + (Wolfgang Bangerth, 2015/04/08) +
  84. + +
  85. Changed: In the spirit of the changes made to the distinction + between Point and Tensor objects discussed above, the first argument + to GridTools::shift() has been changed from a Point to a Tensor@<1,dim@>. +
    + (Wolfgang Bangerth, 2015/04/02) +
  86. + +
  87. New: There is now a new quadrature formula in quadrature_lib. It is + now possible to use Telles' quadrature rules through the function QTelles + to integrate singular integrals +
    + (Nicola Giuliani, 2015/04/01) +
  88. + +
  89. New: Added FE_Bernstein: a scalar finite element based on Bernstein basis polynomials. +
    + (Marco Tezzele, Luca Heltai, 2015/03/31) +
  90. + +
  91. New: A function to get a map with all vertices at boundaries has + been added at GridTools::get_all_vertices_at_boundary(). This function + will return a map which can be used in functions like + GridTools::laplace_transform(). +
    + (Fernando Posada, 2015/03/31) +
  92. + +
  93. Fixed: TrilinosWrappers::SparseMatrix::local_range() erroneously + threw an exception in 64-bit mode. This is now fixed. +
    + (Wolfgang Bangerth, 2015/03/24) +
  94. + +
  95. New: The GridOut::write_gnuplot() function produced output + for 1d meshes embedded in higher dimensional spaces that was + invalid in that the lines showing individual cells were connected. + While this is not wrong for singly connected 1d meshes, it leads to wrong + results if the domain is not singly connected and not every cell is the + right neighbor of the previous cell. +
    + (Wolfgang Bangerth, 2015/03/23) +
  96. + +
  97. New: The various file format writers of class GridOut were not + instantiated for 1d meshes in 3d space. This is now fixed. +
    + (Wolfgang Bangerth, 2015/03/23) +
  98. + +
  99. New: ParameterHandler::declare_alias() allows to define + alternate names for parameters. This is primarily intended to allow + for backward compatible ways of changing the names of parameters + to applications. +
    + (Wolfgang Bangerth, 2015/03/22) +
  100. + +
  101. New: GridGenerator::create_triangulation_with_removed_cells() creates + a new mesh out of an existing one by dropping individual cells. +
    + (Wolfgang Bangerth, 2015/03/13) +
  102. + +
  103. New: Add MueLu preconditioner from Trilinos through the class + TrilinosWrappers::PreconditionAMGMueLu. This is a new algebraic + multigrid package. The input parameters are almost the same as the ones + from ML so that the two preconditioners can be easily swapped. +
    + (Bruno Turcksin, 2015/03/11) +
  104. + +
  105. Fixed: Iterating over the elements of a TrilinosWrappers::SparseMatrix + object previously led to errors if the matrix was in fact stored in + parallel across multiple MPI processes. This is now fixed: rows not + stored locally on the processor where you run the iteration simply look + like they're empty. +
    + (Wolfgang Bangerth, 2015/03/08) +
  106. + +
  107. New: There is now a new macro DeclExceptionMsg that allows to + declare an exception that does not take any run-time arguments + yet still allows to specify an error message. +
    + (Wolfgang Bangerth, 2015/02/27) +
  108. + +
  109. New: There is now a class std_cxx11::unique_ptr that provides + the functionality of std::unique_ptr in C++11 mode, and that + provides an emulation for older compilers. +
    + (Wolfgang Bangerth, 2015/02/22) +
  110. + +
  111. New: IndexSet now has a local typedef IndexSet::value_type. +
    + (Wolfgang Bangerth, 2015/02/22) +
  112. + +
  113. New: FE_TraceQ can now also be used in 1D. +
    + (Martin Kronbichler, 2015/02/21) +
  114. + +
  115. New: FE_TraceQ now implements get_face_interpolation_matrix and + get_subface_interpolation_matrix, enabling + DoFTools::make_hanging_node_constraints on this element. +
    + (Anton Evgrafov, 2015/02/21) +
  116. + +
  117. Fixed: MappingQEulerian would previously not move interior points + in 1D for higher order mappings. This has been fixed by removing a few + specializations of MappingQ for 1D that are no longer necessary. +
    + (Martin Kronbichler, 2015/02/19) +
  118. + +
  119. Fixed: The implementation of the class GrowingVectorMemory has been + moved from source/lac/vector_memory.cc to the new file + include/deal.II/lac/vector_memory.templates.h. This allows users to + create instantiations of GrowingVectorMemory for their own vector classes + in case they intend to use them for the deal.II solvers. +
    + (Martin Kronbichler, 2015/02/18) +
  120. + +
  121. Changed: All members of MultithreadInfo are now static so it is no + longer necessary to use the global instance multithread_info (now + deprecated) or create your own instance (which does not work correctly + anyway). +
    + (Timo Heister, 2015/02/13) +
  122. + +
  123. Fixed: There was a bug in the energy source term of step-33 whereby + the term was erroneously multiplied by the density. This is now fixed. +
    + (Praveen C, Lei Qiao, 2015/02/13) +
  124. + +
  125. Changed: If you take the product of a Tensor and a scalar number, + you previously got a Tensor back that stored its elements in the same + data type as the original tensor. This leads to problems if you + multiply a Tensor@<1,dim,double@> by a + std::complex@ because the result clearly needs + to store its elements as complex numbers, rather than as double + variables. This is now changed: The result of the product of a Tensor + and a scalar number is now a Tensor that stores its elements in a data + type appropriate for this product. The same approach is taken for the + SymmetricTensor class. +
    + (Wolfgang Bangerth, 2015/02/11) +
  126. + +
  127. New: There is now a new class ProductType that can be used + to infer the type of the product of two objects. There is now also + a class EnableIfScalar that helps restrict some templates to only + cases where a type is a scalar. +
    + (Wolfgang Bangerth, 2015/02/04) +
  128. + +
  129. New: The Tensor classes now have copy constructors and copy + operators that allow assignment from other tensors with different + underlying scalar types. +
    + (Denis Davydov, 2015/02/03) +
  130. + +
  131. New: Class hp::DoFHandler can now also be serialized. +
    + (Lukas Korous, 2015/01/31) +
  132. + +
  133. Bugfix: deal.II now correctly links against librt in case of bundled + boost being used. +
    + (Matthias Maier, 2015/01/27) +
  134. + +
  135. New: A new macro DEAL_II_QUERY_GIT_INFORMATION is + provided to query user projects for git repository information simmilarly + to those exported by deal.II. +
    + (Matthias Maier, 2015/01/21) +
  136. + +
  137. Fixed: FEFaceValues and FESubfaceValues did not fill the + jacobians and inverse jacobians if requested via the update flags. + This is now fixed. +
    + (Martin Kronbichler, 2015/01/23) +
  138. + +
  139. Fixed: ParameterHandler::read_input() now checks that + 'subsection'/'end' are balanced in the input. +
    + (Timo Heister, 2015/01/19) +
  140. + +
  141. Fixed: In 3d, when you set the colorize flag of + GridGenerator::hyper_shell(), the faces of the domain were colored but + the edges were not. This was an oversight because to refine correctly, + the edges also have to have the appropriate boundary indicator set. +
    + (Wolfgang Bangerth, 2015/01/16) +
  142. + +
  143. New: dealii::multithread_info.n_cpus returns the correct number of CPU + on FreeBSD. +
    + (Bruno Turcksin, 2015/01/14) +
  144. + +
  145. Improved: MPI collective operations such as MPI::sum, MPI::max now + check for job_supports_mpi() internally, which allows running them also + without a call to MPI_Init. +
    + (Martin Kronbichler, 2015/01/13) +
  146. + +
  147. Changed: The method job_supports_mpi() now resides in the namespace + Utilities::MPI instead of Utilities::System for consistency with other MPI + methods. The old method has been marked deprecated and will be removed in + a future version. +
    + (Martin Kronbichler, 2015/01/13) +
  148. + +
  149. Fixed: The update of ghost values in parallel::distributed::Vector when + calling the assignment operator is now active when one of the two vector had + its ghost values updated before or when the layout of the right hand side + vector is one-to-one, more consistent with parallel PETSc and Trilinos + vectors. +
    + (Martin Kronbichler, 2015/01/13) +
  150. + +
  151. New: PETScWrappers::MPI::SparseMatrix::reinit(other) copies + the layout of another matrix. TrilinosWrappers::SparseMatrix + operator= and copy constructor are now disabled. This brings + functionality between PETSc and Trilinos in line. +
    + (Timo Heister, 2015/01/12) +
  152. + +
  153. New: Triangulation::set_all_manifold_ids() and + Triangulation::set_all_manifold_ids_on_boundaries() + set all manifold ids on every object or on every + boundary object respectively. +
    + (Luca Heltai, 2015/01/12) +
  154. + +
  155. New: GridTools::copy_boundary_to_manifold_id() and + GridTools::copy_material_to_manifold_id() copy + boundary_ids and material_ids to manifold_ids for + faces on the boundary and for cells respectively. +
    + (Luca Heltai, 2015/01/09) +
  156. + +
  157. Fixed: Utilities::int_to_string() produced wrong results if + the number of digits specified was ten or greater. +
    + (David Wells, 2015/01/08) +
  158. + +
  159. Fixed: VectorTools::interpolate_to_different_mesh() was accidentally + only instantiated for dealii::Vector arguments, rather than all vector + classes. This is now fixed. +
    + (Benjamin Brands, Wolfgang Bangerth, 2014/12/29) +
  160. + +
  161. Fixed: Use CASROOT environment variable as additional hint for + opencasacade. +
    + (Matthias Maier, 2014/12/29) +
  162. + +
  163. Fixed: Update the run_testsuite.cmake script to also pick up + muparser and opencascade configuration. +
    + (Matthias Maier, 2014/12/29) +
  164. + +
  165. Fixed: Update several places in the documentation that were not + updated from functionparser to muparser. Add several forgotten + DEAL_II_WITH_* variables to certain places in the documentation. +
    + (Matthias Maier, 2014/12/29) +
  166. +
+ +*/ diff --git a/doc/news/changes.h b/doc/news/changes.h index a159708d3e..f789e10d59 100644 --- a/doc/news/changes.h +++ b/doc/news/changes.h @@ -14,11 +14,11 @@ // --------------------------------------------------------------------- /** -@page changes_after_8_2_1 Changes after Version 8.2.1 +@page changes_after_8_3 Changes after Version 8.3.0

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

@@ -39,349 +39,6 @@ inconvenience this causes.
    -
  1. Changed: GridTools::distort_random is now deterministic (gives the same - distorted mesh when called with the same input Triangulation). -
    - (Timo Heister, 2015/07/09) -
  2. - -
  3. Changed: MatrixCreator::create_mass_matrix() took matrix and vector - objects where the scalar type of the matrix was a template argument - but the scalar type of the vector was always double. This - has been changed so that the two always need to match. -
    - (Denis Davydov, Wolfgang Bangerth, 2015/06/17) -
  4. - -
  5. Changed: Functions such as FEValuesBase::get_function_values() that - extracted the values of functions at the quadrature points of a cell - implicitly always assumed that double is a reasonable - type to store the result in. This, however, is not true if the solution - vector's underlying scalar type was, for example, - std::complex@. All of the functions of - FEValuesBase as well as of the various FEValuesViews class that extract - values from solution vectors have been changed so that they now return - their results in vectors that use the same underlying scalar type - (float, double, or std::complex) as was used in the solution vector. -
    - Most user codes will be entirely unaffected by this because they simply - use the default vector types which all store their data as doubles. - You may have to adjust your code, though, if you use non-standard - types such as Vector@ for solution vectors, or use - complex-valued data types. This includes compiling PETSc with - complex scalars. -
    - (Denis Davydov, 2015/05/08) -
  6. - -
  7. Removed: The generic, templated vmult, Tvmult, etc. -interfaces of - LAPACKFullMatrix - they were never implemented. -
    - (Matthias Maier, 2015/04/10) -
  8. - -
  9. Removed: SparseDirectUMFPACK::vmult_add and - SparseDirectUMFPACK::Tvmult_add - they were never implemented. -
    - (Matthias Maier, 2015/04/10) -
  10. - -
  11. Removed: The class NamedData has been removed after it had been - superseded by AnyData a while ago. This affects the use of classes - in Algorithms and MeshWorker -
    - (Guido Kanschat, 2015/04/02) -
  12. - -
  13. Removed: The CMake configuration does not use the variable - DEAL_II_CMAKE_MACROS_RELDIR any more. Instead, the fixed - location \${DEAL_II_SHARE_RELDIR}/macros is used - unconditionally -
    - (Matthias Maier, 2015/03/26) -
  14. - -
  15. Changed: The TrilinosWrappers::SparseMatrix::clear_row() function used - to call TrilinosWrappers::SparseMatrix::compress() before doing its work, - but this is neither efficient nor safe. You will now have to do this - yourself after assembling a matrix and before clearing rows. -
    - The changes to the function above also affect the - MatrixTools::apply_boundary_values() variants that operate on Trilinos - matrices. -
    - (Wolfgang Bangerth, 2015/03/09) -
  16. - -
  17. Changed: Implicit conversion from Tensor@<1,dim@> to Point@ was - previously possible. This has now been prohibited (but you can still - do the conversion with an explicit cast) as such conversions are - likely incorrect uses of class Point (which should represent only - points in space, i.e., vectors anchored at the origin) whereas Tensor - should be used for vectors anchored elsewhere (such as normal vectors, - directions, differences between points, etc). The difference in - usage between Point and Tensor have now been clarified in the documentation - of class Point. -
    - (Wolfgang Bangerth, 2015/01/12) -
  18. - -
  19. Changed: The project configuration no longer exports - [...]/include/deal.II. Thus it is now mandatory to prefix - all includes of deal.II headers with deal.II/, i.e. - #include <deal.II/[...]>. -
    - (Matthias Maier, 2015/01/19) -
  20. - -
  21. Changed: ParameterHandler::leave_subsection() no longer returns a bool - indicating if there was a subsection to leave. This never worked in the - first place, because an exception was thrown. -
    - (Timo Heister, 2015/01/19) -
  22. - -
  23. Changed: Make.global_options was completely redesigned. It still - contains Makefile sourcable information, but they now closely mimic the - declarative style of deal.IIConfig.cmake. Thus, projects that still use - Makefiles that source Make.global_options have to be ported to the new - layout. -
    - (Matthias Maier, 2015/01/13) -
  24. - -
  25. Removed: The Component compat_files was removed entirely. deal.II - now always configures and installs with a somewhat FSHS compliant - directory structure. Further, the ancient make_dependencies binary was - removed. Either migrate your project to CMake, or port your build system - to the new (incompatible) Make.global_options found at - \${DEAL_II_SHARE_RELDIR}. -
    - (Matthias Maier, 2015/01/13) -
  26. - -
  27. Changed: The two-argument call to the MPI_InitFinalize constructor - used to imply that the user wanted only one thread per MPI process. This - has been changed and now means that every processor core on the system is - used. If you run as many MPI processes as there are processor cores, then - this means one thread per MPI process, as before. On the other hand, if you - start fewer MPI processes than there are cores, then your program will now - be allowed to use more than one thread. You can get the old behavior by - setting the third (optional) argument to one. -
    - (Wolfgang Bangerth, 2015/01/14) -
  28. - -
  29. Removed: TrilinosWrappers::SparseMatrix copy constructor got removed - to be in line with PETSc and dealii::SparseMatrix. You can use reinit() - and copy_from(). -
    - (Timo Heister, 2015/01/12) -
  30. - -
  31. Removed: The following compatibility definitions were removed from - include/deal.II/base/config.h.in (replacement in brackets): - - DEAL_II_CAN_USE_CXX11 (new: DEAL_II_WITH_CXX11) - - DEAL_II_CAN_USE_CXX1X (new: DEAL_II_WITH_CXX11) - - DEAL_II_COMPILER_SUPPORTS_MPI (new: DEAL_II_WITH_MPI) - - DEAL_II_MAJOR (new: DEAL_II_VERSION_MAJOR) - - DEAL_II_MINOR (new: DEAL_II_VERSION_MINOR) - - DEAL_II_USE_ARPACK (new: DEAL_II_WITH_ARPACK) - - DEAL_II_USE_CXX11 (new: DEAL_II_WITH_CXX11) - - DEAL_II_USE_METIS (new: DEAL_II_WITH_METIS) - - DEAL_II_USE_MT (new: DEAL_II_WITH_THREADS) - - DEAL_II_USE_P4EST (new: DEAL_II_WITH_P4EST) - - DEAL_II_USE_PETSC (new: DEAL_II_WITH_PETSC) - - DEAL_II_USE_SLEPC (new: DEAL_II_WITH_SLEPC) - - DEAL_II_USE_TRILINOS (new: DEAL_II_WITH_TRILINOS) -
    - (Matthias Maier, 2015/01/12) -
  32. - -
  33. Removed: The direct Mumps interface through - SparseDirectMUMPS has been removed. The MUMPS solver is - still available through the Trilinos or PETSc interfaces. Alternatively, - there is SparseDirectUMFPACK, which has a similar interface. -
    - (Matthias Maier, 2015/01/11) -
  34. - -
  35. Removed: This release removes a number of functions that have long - been deprecated and that were previously already marked as - deprecated (i.e., they would have yielded warnings by the compiler whenever - you tried to use them). In almost all cases, there is a function with same - name but different argument list that should be used instead. - Specifically, the removed functions and classes are: -
    - With headers in deal.II/base/: - - ThreadManagement::spawn. - - Threads::ThreadCondition and Threads::ThreadMutex. - - DataOutBase::create_xdmf_entry with 3 arguments. - - DataOutBase::write_hdf5_parallel with 2 arguments. - - The versions of FunctionParser::initialize that took a - use_degrees or constants argument. - The implementation as it is now no longer supports either of - these two concepts (since we switched from the FunctionParser - library to the muparser library after the deal.II 8.1 release). - - GridOutFlags::XFig::level_color. - - class BlockList. - - The MPI support functions in namespace Utilities and Utilities::System. - - Deprecated members of namespace types. - - Namespace deal_II_numbers. - - MultithreadInfo::n_default_threads. - - Table::data. - -
    - With headers in deal.II/lac/: - - The deprecated constructors of SparseMIC, - SparseILU, and SparseLUDecomposition. - - SparseMIC::decompose and SparseILU::decompose. - - SparseMIC::reinit and SparseLUDecomposition::reinit. - - SparseILU::apply_decomposition. - - SparseLUDecomposition::decompose and SparseLUDecomposition::is_decomposed. - - The compress() functions without argument in the various vector - classes. You should use the versions with a VectorOperation - argument instead. - - Vector::scale. - - TrilinosWrappers::*Vector*::compress with an Epetra_CombineMode - argument. - - SparsityPattern and ChunkSparsityPattern functions that take an - optimize_diagonal argument. - - SparsityPattern::partition. - - SparsityPattern::get_rowstart_indices and - SparsityPattern::get_column_numbers. - - SparsityPattern::row_iterator and corresponding row_begin() and row_end() - functions. - - CompressedSparsityPattern::row_iterator and corresponding row_begin() - and row_end() functions. - - The typedef CompressedBlockSparsityPattern. - - The deprecated constructors of SparsityPattern iterator classes. - - The deprecated variants of DoFTools::make_periodicity_constraints. - - BlockMatrixArray and BlockTrianglePreconditioner functions that - take an explicit VectorMemory object. - - The SolverSelector constructor that takes a VectorMemory argument. - - The version of parallel::distributed::Vector::compress_finish - function that takes a boolean as argument. - - The version of BlockVector::scale and - parallel::distributed::Vector::scale, - parallel::distributed::BlockVector::scale - function that takes a scalar as argument. - - PreconditionBlock::size. - - Classes PreconditionedMatrix and PreconditionLACSolver. - - PETScWrappers::VectorBase::update_ghost_values. - - PETScWrappers::MPI::Vector constructors and reinit variants. - - SparseMatrixIterators::Accessor and SparseMatrixIterators::Iterator - constructors. - - SparseMatrix::raw_entry and SparseMatrix::global_entry. - - The ConstraintMatrix functions that transform a matrix, vector, or - linear system into a smaller by not just setting the corresponding - rows and columns to zero, but actually shrinking the size of the - linear system. - -
    - With headers in deal.II/deal.II/: - - GridGenerator::laplace_transformation. - - The version of GridGenerator::parallelogram where the corners are given - as a rank-2 tensor rather than as an array of points. - - GridTools::create_union_triangulation. - - GridTools::extract_boundary_mesh. - - Triangulation::distort_random. - - Triangulation::clear_user_pointers. - - The refinement listener concept of the Triangulation class. This - approach to getting notified about what happens to triangulations - has been superseded by the signals defined by the triangulation - class. - -
    - With headers in deal.II/fe/: - - In FEValues and related classes, the functions that contain the - term 2nd_derivatives were removed in favor of those - with names containing hessian. Similarly, functions - with names including function_grads were removed in - favor of those called function_gradients. Finally, - the cell_normal_vector functions were replaced by - normal_vector ones. In all cases, the new functions - have been around for a while. - - Mapping::transform_covariant and Mapping::transform_contravariant. - -
    - With headers in deal.II/dofs/: - - DoFRenumbering::downstream_dg. - - DoFTools::count_dofs_per_component. - - DoFTools::make_sparsity_pattern with a vector-of-vector mask. - -
    - With headers in deal.II/multigrid/: - - The constructors of classes MGSmoother, MGSmootherRelaxation and - MGSmootherPrecondition that take a VectorMemory object. - - MGLevelObject::get_minlevel and MGLevelObject::get_maxlevel. - - MGConstrainedDoFs::non_refinement_edge_index - - MGConstrainedDoFs::at_refinement_edge_boundary - - MGTools::count_dofs_per_component. - - MGTools::apply_boundary_values. - - MGTools::extract_inner_interface_dofs. - - Class MGMatrix. - - Multigrid::vmult and friends. - -
    - With headers in deal.II/matrix_free/: - - Classes FEEvaluationDGP, FEEvaluationGeneral and FEEvaluationGL. - -
    - With headers in deal.II/mesh_worker/: - - Deprecated variants of MeshWorker::loop and MeshWorker::integration_loop. - -
    - With headers in deal.II/algorithm/: - - Algorithms::ThetaTimestepping::operator(). - - Algorithms::ThetaTimestepping::initialize. - - Algorithms::Newton::initialize. - -
    - With headers in deal.II/numerics/: - - TimeDependent::end_sweep (with an argument). - - PointValueHistory::mark_locations. - - The DataPostprocessor::compute_derived_quantities_scalar and - DataPostprocessor::compute_derived_quantities_vector functions without - evaluation points. If you have - data postprocessor classes implemented in your program that overload these - functions, you will have to change it in a way that they overload the - functions of same name but with the evaluation point argument instead. -
    - This release also removes the deprecated class MGDoFHandler. The - functionality of this class had previously been incorporated into - the DoFHandler class. Unlike the changes above, if you were still - using this class, you will need to do the following changes to - your code: - - Where you called mg_dof_handler.distribute_dofs() - you now also need to explicitly call - mg_dof_handler.distribute_mg_dofs(). - - If you called mg_dof_handler.begin(level), you - will now have to write this as - mg_dof_handler.begin_mg(level) to make clear that - you are not just interested in an iterator to a cell on a given - level, but in fact to a cell that can access the degrees of - freedom on a particular level of a multigrid hierarchy. - - The type previously referred to as - MGDoFHandler::cell_iterator now corresponds to - MGDoFHandler::level_cell_iterator. - - Where you previously called DoFRenumbering::component_wise - for the entire MGDoFHandler object, you now need to call - this function for the DoFHandler object, and then call the - same function with the level argument for each - of the levels of the triangulation individually. -
    - (Wolfgang Bangerth, 2014/12/29-2015/01/22) -
  36. - -
  37. Removed: The config.h file no longer exports HAVE_* definitions. - Those are either entirely removed (for the blas/lapack symbols) or - renamed to DEAL_II_HAVE_*. This change is done in order to avoid clashes - with external projects also exporting HAVE_* definitions in their header - files. -
    - (Matthias Maier, 2014/12/29) -
@@ -392,150 +49,7 @@ inconvenience this causes.
    -
  1. New: Added the class Functions::Polynomial for representation of polynomials. - The new class is derived from the Function class. -
    - (Angel Rodriguez, 2015/07/01) -
  2. - -
  3. New: deal.II now supports compilation in C++14 mode, which may be - enabled with the CMake option DEAL_II_WITH_CXX14. -
    - (David Wells, 2015/06/21) -
  4. - -
  5. New: Implement a modified version of the Kelly error estimator, which - effectively provides the boundary residual term for the hp-FEM error estimators. -
    - (Denis Davydov, 2015/06/17) -
  6. - -
  7. New: DerivativeForm() now takes an additional optional - template argument specifying the type, similarly to Tensor() classes. -
    - (Luca Heltai, 2015/05/16) -
  8. - -
  9. New: Utilities::MPI::min() functions. -
    - (Timo Heister, 2015/05/12) -
  10. -
  11. New: A PackagedOperation class that stores computation expressions. - The primary purpose of this class is to provide syntactic sugar for vector - operations (vector space addition, scalar multiplication, application of a - linear operator) while avoiding intermediate storage. -
    - (Matthias Maier, 2015/05/10) -
  12. - -
  13. Fixed: Utilities::generate_normal_random_number() will now - produce a deterministic sequence of numbers on every thread. - Furthermore, it will also work on systems that do not have the - rand_r library function, such as Cygwin. -
    - (Wolfgang Bangerth, 2015/04/19) -
  14. - -
  15. New: A LinearOperator class that stores the abstract concept of a - linear operator. The class is fully compatible with the solver and - preconditioner interfaces. The primary purpose of this class is to - provide syntactic sugar for complex matrix-vector operations and free the - user from having to create, set up and handle intermediate storage - locations by hand. -
    - (Matthias Maier, 2015/04/08) -
  16. - -
  17. Fixed: There were a number of places in the library where we unconditionally - called functions _mm_malloc()/_mm_free() to allocate and free - memory with a known alignment. This function, however, is only available on - systems with x86 or x64_64 compatible processors. These places have now been - replaced by calling posix_memalign() instead, a function that - should be more widely available. -
    - (Wolfgang Bangerth, 2015/04/15) -
  18. - -
  19. Deprecated: The library uses functions such as CellAccessor::subdomain_id(), - TriaAccessor::manifold_id(), etc, but used the deviant spelling - TriaAccessor::boundary_indicator(), TriaAccessor::set_boundary_indicator(), - TriaAccessor::set_all_boundary_indicators(). These last three functions are now - deprecated and have been replaced by TriaAccessor::boundary_id(), - TriaAccessor::set_boundary_id(), and TriaAccessor::set_all_boundary_ids() for - consistency. Similar, Triangulation::get_boundary_indicators() has been - deprecated in favor of Triangulation::get_boundary_ids(). -
    - (Wolfgang Bangerth, 2015/04/11) -
  20. - -
  21. Changed: All example programs used to have calls to set_boundary() - methods to deal with curved boundaries. These have been replaced with - the corresponding set_manifold() equivalent. -
    - (Luca Heltai, 2015/04/06) -
  22. - -
  23. New: A new flag no_automatic_repartitioning in - parallel::distributed::Triangulation will disable the automatic - repartitioning when calling execute_coarsening_and_refinement() (or things - like refine_global(), ...), resulting in all cells staying on the processor - they were before. The new function repartition() will execute the - repartitioning as done automatically before. -
    - (Timo Heister, 2015/03/22) -
  24. - -
  25. Changed: All (Block)Compressed*SparsityPattern classes got - replaced by DynamicSparsityPattern and - BlockDynamicSparsityPattern, respectively and all examples now - teach the dynamic way of creating dynamic sparsity patterns. -
    - (Timo Heister, 2015/03/22) -
  26. - -
  27. Improved: We have traditionally had a large number of exceptions - that did not output any useful error message other than the name - of the exception class. This name was suggestive of the error that - had happened, but did not convey a sufficient amount of information - to what happened in many of the places where these kinds of exceptions - were used, nor what may have caused the exception, or how it could - be avoided. We have gone through many of these places and changed - the exception to be much more verbose in what they state about the - problem, its origin, and how it may be solved. -
    - (Wolfgang Bangerth, 2015/02/28-2015/03/31) -
  28. - -
  29. Changed: We have traditionally used Point@ to represent points - in physical space, i.e., vectors that are anchored at the origin, whereas - for vectors anchored elsewhere (e.g., differences between points, normal - vectors, gradients, etc) we have used Tensor@<1,dim@>. This has now be - made more formal in the documentation but also in the return types of - operator-() for Point objects: The difference between two - points, p1-p2 now returns a Tensor@<1,dim@>. On the other - hand, subtracting a Tensor@<1,dim@> object from a Point, p-t, - results in a Point@. -
    - (Wolfgang Bangerth, 2015/02/05) -
  30. - -
  31. New: Examples from 1 to 16 now use the Manifold interface - instead of the old Boundary interface to describe curved boundaries - and domains. -
    - (Luca Heltai, 2015/01/15) -
  32. - -
  33. New: The build system now queries for git branch name and - revision sha1 (and automatically reconfigures if necessary). This - information is used to annotate summary.log and detailed.log with the - current revision sha1. Further, a header file - is now available that exports the macros: DEAL_II_GIT_BRANCH, - DEAL_II_GIT_REVISION, DEAL_II_GIT_REVISION_SHORT. -
    - (Matthias Maier, 2015/01/02) -
@@ -547,577 +61,7 @@ inconvenience this causes.
    -
  1. New: parallel::distributed::Triangulation::add_periodicity - now allows for arbitrary orientations between matching faces. -
    - (Daniel Arndt, 2015/07/12) -
  2. - -
  3. New: Utilities::trim() function removes trailing and leading spaces. -
    - (Timo Heister, 2015/07/11) -
  4. - -
  5. Changed: The IsBlockMatrix class is now declared in - constraint_matrix.h instead of its former home in - block_indices.h. -
    - (Wolfgang Bangerth, 2015/07/10) -
  6. - -
  7. New: CellId::to_string() returns a string representation of a CellId object. -
    - (Timo Heister, 2015/07/05) -
  8. - -
  9. New: Utilities::replace_in_string(). -
    - (Timo Heister, 2015/07/05) -
  10. - -
  11. Improved: GridOut::write_vtk() and GridOut::write_vtu() now - output material id, level and subdomain ids of the cells. -
    - (Guido Kanschat, 2015/07/05) -
  12. - -
  13. Improved: The font scaling in GridOut::write_svg() was broken, - since the units were missing. It has been fixed and an additional - parameter GridOutFlags::Svg::cell_font_scaling has been introduced - for tuning. -
    - (Guido Kanschat, 2015/07/04) -
  14. - -
  15. New: VectorizedArray now provides two methods - vectorized_load_and_transpose() and vectorized_transpose_and_store() that - perform vectorized reads or writes and convert from array-of-struct into - struct-of-array or the other way around. -
    - (Martin Kronbichler, 2015/07/02) -
  16. - -
  17. New: GridGenerator::cheese() for a mesh with many holes; - GridGenerator::simplex() for simplices in 2 and 3 dimensions; - GridGenerator::hyper_cross() for crosses in 2 and 3 dimensions. -
    - (Guido Kanschat, 2015/07/02) -
  18. - -
  19. Fixed: The specialization of DoFAccessor for zero-dimensional objects, - i.e., for vertices as created by accessing the faces of one-dimensional - cells, had a member function DoFAccessor::child() that was declared but not - implemented. This is now fixed. -
    - (Wolfgang Bangerth, 2015/07/01) -
  20. - -
  21. Improved: Functions::Monomial::gradient function now works when both base and exponent - are equal to zero for one or more components of the monomial. - Also, an assertion is added to avoid exponentiation of negative base numbers with real exponents. -
    - (Angel Rodriguez, 2015/06/29) -
  22. - -
  23. Fixed: The function numbers::is_finite() produced incorrect results when - called with a NaN number (specifically, it produces an uncatchable floating - point exception when called with a signaling NaN). This was clearly not - intended since such values are definitely not finite. -
    - (Wolfgang Bangerth, 2015/06/29) -
  24. - -
  25. Improved: The SparseMatrix class can now also use std::complex - scalars for its elements. -
    - (Wolfgang Bangerth, 2015/06/26) -
  26. - -
  27. Improved: FE_DGQArbitraryNodes::get_name() now also detects if - the quadrature rule was Gauss points. -
    - (Guido Kanschat, 2015/06/22) -
  28. - -
  29. Improved: DoFRenumbering::Cuthill_McKee() can now also - use starting indices for parallel triangulations. -
    - (Wolfgang Bangerth, 2015/06/11) -
  30. - -
  31. Improved: VectorTools::interpolate now works with FE_Nothing. -
    - (Angel Rodriguez, 2015/06/03) -
  32. - -
  33. Improved: deal.II now uses a variety of strategies to silence compiler - warnings about unused variables and unused parameters. -
    - (David Wells, 2015/04/13) -
  34. - -
  35. New: Add a clear function to the PETSc::Vector - and PETSc::MPI::Vector classes similar to the Trilinos vector classes. -
    - (Martin Steigemann 2015/05/22) -
  36. - -
  37. New: Three new quadrature formulas in quadrature_lib, based on - Chebyshev quadrature rules. See functions QGaussChebyshev, - QGaussRadauChebyshev and QGaussLobattoChebyshev. -
    - (Giuseppe Pitton, Luca Heltai 2015/05/11) -
  38. - -
  39. Fixed: MatrixOut now also works with Trilinos and PETSc matrices. -
    - (Wolfgang Bangerth, 2015/05/11) -
  40. - -
  41. Changed: TrilinosWrappers::Vector, TrilinosWrappers::BlockVector, - PETScWrappers::Vector, and PETScWrappers::BlockVector are deprecated. Either - use the MPI or the deal.II version of the Vector/BlockVector. -
    - (Bruno Turcksin, 2015/05/04) -
  42. - -
  43. Fixed: GridGenerator::half_hyper_shell can now be colorized. -
    - (Daniel Arndt, 2015/05/05) -
  44. - -
  45. New: The function VectorTools::point_gradient has been added to compute - the gradient of a given FE function. -
    - (Daniel Arndt, 2015/05/03) -
  46. - -
  47. New: dealii:Vector, dealii::BlockVector, - TrilinosWrappers::MPI::Vector, TrilinosWrappers::MPI::BlockVector, - PETScWrappers::MPI::Vector and PETScWrappers::MPI::BlockVector now have - move constructors and move assignment operators in C++11 mode. -
    - (Matthias Maier, 2015/05/01) -
  48. - -
  49. New: Introduce DoFRenumbering::block_wise for multigrid computation. -
    - (Timo Heister, Florian Sonner, 2015/04/30) -
  50. - -
  51. New: There are now MPI sum functions for Tensors and SymmetricTensors - in the Utilities::MPI namespace. -
    - (Ian Rose, 2015/04/24) -
  52. - -
  53. Fixed: project_boundary_values_curl_conforming_l2() produced incorrect - results for non-uniform grids in 2D. Adjustment to the way 2D tangents to edges are - computed fixes this. -
    - (Ross Kynch, 2015/04/23) -
  54. - -
  55. Fixed: The TimerOutput class reported abnormally large cpu time when run - with more than one process with MPI. Now this is fixed. -
    - (Lei Qiao, 2015/04/19) -
  56. - -
  57. New: The VectorTools::integrate_difference() function can now - also compute the $H_\text{div}$ seminorm, using the - VectorTools::NormType::Hdiv_seminorm argument. -
    - (Zhen Tao, Arezou Ghesmati, Wolfgang Bangerth, 2015/04/17) -
  58. - -
  59. Fixed: The class SymmetricTensor<2,dim> is now usable also for dim>3. -
    - (Martin Kronbichler, 2015/04/14) -
  60. - -
  61. New: The DynamicSparsityPattern class (formerly called - CompressedSparsityPattern) now has an iterator class that allows to - walk over the nonzero elements of a matrix represented by this class. -
    - (Wolfgang Bangerth, 2015/04/13) -
  62. - -
  63. New: The GridGenerator::subdivided_hyper_cube() and - GridGenerator::subdivided_hyper_rectangle() now work also for codimension - one and two Triangulation; -
    - (Luca Heltai, 2015/04/12) -
  64. - -
  65. New: A new VectorTools::get_position_vector() function has been - added to the library that allows one to interpolate the Geometry of - a (possibly curved) triangulation to vector finite element fields - of at least spacedim components. -
    - (Luca Heltai, 2015/04/11) -
  66. - -
  67. New: TrilinosWrappers::BlockSparseMatrix now has member functions - TrilinosWrappers::BlockSparseMatrix::domain_paritioner() and - TrilinosWrappers::BlockSparseMatrix::range_partitioner() that return a - vector of the underlying block Epetra_Map. -
    - (Matthias Maier, 2015/04/08) -
  68. - -
  69. New: A new MappingFEField() class has been added to the library - that generalizes MappingQEulerian to allow arbitrary FiniteElements. -
    - (Marco Tezzele, Luca Heltai, 2015/04/06) -
  70. - -
  71. Changed: The cells of coarse meshes in - parallel::distributed::Triangulation used to be ordered in a Cuthill-McKee - numbering, which yields very high surface-to-volume ratios of the individual - processors' partition in case the coarse mesh consists of many cells, in - particular in 3D. The algorithm now uses SparsityTools::reorder_hierarchical - in order to get more compact partitions, similarly to the z-ordering applied - by p4est. -
    - (Martin Kronbichler, 2015/04/10) -
  72. - -
  73. New: There is now a new method - GridTools::get_vertex_connectivity_of_cells. -
    - (Martin Kronbichler, 2015/04/10) -
  74. - -
  75. New: There is now a new method SparsityTools::reorder_hierarchical to - sort nodes of a graph (sparsity pattern) in a z-like way by hierarchical - grouping of neighboring nodes. -
    - (Martin Kronbichler, 2015/04/10) -
  76. - -
  77. Changed: The methods SparsityTools::reorder_Cuthill_McKee and - GridTools::get_face_connectivity_of_cells used to take a SparsityPattern as - argument. The data type has been changed to DynamicSparsityPattern in order - to avoid copying things around. The old interface is still available but - marked as deprecated. -
    - (Martin Kronbichler, 2015/04/10) -
  78. - -
  79. New: One can now ask a cell the how many-th active cell it is, - using CellAccessor::active_cell_index() (which is called as - cell-@>active_cell_index()). -
    - (Wolfgang Bangerth, 2015/04/10) -
  80. - -
  81. Fixed: Added missing hp-related functions to FE_Q_Hierarchical together with - a couple of unit tests. Improved code comments. -
    - (Denis Davydov, 2015/04/10) -
  82. - -
  83. Fixed: deal.II did not compile on 32-bit systems when using newer - p4est versions (1.0 and later) due to a type mismatch. This is now fixed. -
    - (Wolfgang Bangerth, 2015/04/08) -
  84. - -
  85. Changed: In the spirit of the changes made to the distinction - between Point and Tensor objects discussed above, the first argument - to GridTools::shift() has been changed from a Point to a Tensor@<1,dim@>. -
    - (Wolfgang Bangerth, 2015/04/02) -
  86. - -
  87. New: There is now a new quadrature formula in quadrature_lib. It is - now possible to use Telles' quadrature rules through the function QTelles - to integrate singular integrals -
    - (Nicola Giuliani, 2015/04/01) -
  88. - -
  89. New: Added FE_Bernstein: a scalar finite element based on Bernstein basis polynomials. -
    - (Marco Tezzele, Luca Heltai, 2015/03/31) -
  90. - -
  91. New: A function to get a map with all vertices at boundaries has - been added at GridTools::get_all_vertices_at_boundary(). This function - will return a map which can be used in functions like - GridTools::laplace_transform(). -
    - (Fernando Posada, 2015/03/31) -
  92. - -
  93. Fixed: TrilinosWrappers::SparseMatrix::local_range() erroneously - threw an exception in 64-bit mode. This is now fixed. -
    - (Wolfgang Bangerth, 2015/03/24) -
  94. - -
  95. New: The GridOut::write_gnuplot() function produced output - for 1d meshes embedded in higher dimensional spaces that was - invalid in that the lines showing individual cells were connected. - While this is not wrong for singly connected 1d meshes, it leads to wrong - results if the domain is not singly connected and not every cell is the - right neighbor of the previous cell. -
    - (Wolfgang Bangerth, 2015/03/23) -
  96. - -
  97. New: The various file format writers of class GridOut were not - instantiated for 1d meshes in 3d space. This is now fixed. -
    - (Wolfgang Bangerth, 2015/03/23) -
  98. - -
  99. New: ParameterHandler::declare_alias() allows to define - alternate names for parameters. This is primarily intended to allow - for backward compatible ways of changing the names of parameters - to applications. -
    - (Wolfgang Bangerth, 2015/03/22) -
  100. - -
  101. New: GridGenerator::create_triangulation_with_removed_cells() creates - a new mesh out of an existing one by dropping individual cells. -
    - (Wolfgang Bangerth, 2015/03/13) -
  102. - -
  103. New: Add MueLu preconditioner from Trilinos through the class - TrilinosWrappers::PreconditionAMGMueLu. This is a new algebraic - multigrid package. The input parameters are almost the same as the ones - from ML so that the two preconditioners can be easily swapped. -
    - (Bruno Turcksin, 2015/03/11) -
  104. - -
  105. Fixed: Iterating over the elements of a TrilinosWrappers::SparseMatrix - object previously led to errors if the matrix was in fact stored in - parallel across multiple MPI processes. This is now fixed: rows not - stored locally on the processor where you run the iteration simply look - like they're empty. -
    - (Wolfgang Bangerth, 2015/03/08) -
  106. - -
  107. New: There is now a new macro DeclExceptionMsg that allows to - declare an exception that does not take any run-time arguments - yet still allows to specify an error message. -
    - (Wolfgang Bangerth, 2015/02/27) -
  108. - -
  109. New: There is now a class std_cxx11::unique_ptr that provides - the functionality of std::unique_ptr in C++11 mode, and that - provides an emulation for older compilers. -
    - (Wolfgang Bangerth, 2015/02/22) -
  110. - -
  111. New: IndexSet now has a local typedef IndexSet::value_type. -
    - (Wolfgang Bangerth, 2015/02/22) -
  112. - -
  113. New: FE_TraceQ can now also be used in 1D. -
    - (Martin Kronbichler, 2015/02/21) -
  114. - -
  115. New: FE_TraceQ now implements get_face_interpolation_matrix and - get_subface_interpolation_matrix, enabling - DoFTools::make_hanging_node_constraints on this element. -
    - (Anton Evgrafov, 2015/02/21) -
  116. - -
  117. Fixed: MappingQEulerian would previously not move interior points - in 1D for higher order mappings. This has been fixed by removing a few - specializations of MappingQ for 1D that are no longer necessary. -
    - (Martin Kronbichler, 2015/02/19) -
  118. - -
  119. Fixed: The implementation of the class GrowingVectorMemory has been - moved from source/lac/vector_memory.cc to the new file - include/deal.II/lac/vector_memory.templates.h. This allows users to - create instantiations of GrowingVectorMemory for their own vector classes - in case they intend to use them for the deal.II solvers. -
    - (Martin Kronbichler, 2015/02/18) -
  120. - -
  121. Changed: All members of MultithreadInfo are now static so it is no - longer necessary to use the global instance multithread_info (now - deprecated) or create your own instance (which does not work correctly - anyway). -
    - (Timo Heister, 2015/02/13) -
  122. - -
  123. Fixed: There was a bug in the energy source term of step-33 whereby - the term was erroneously multiplied by the density. This is now fixed. -
    - (Praveen C, Lei Qiao, 2015/02/13) -
  124. - -
  125. Changed: If you take the product of a Tensor and a scalar number, - you previously got a Tensor back that stored its elements in the same - data type as the original tensor. This leads to problems if you - multiply a Tensor@<1,dim,double@> by a - std::complex@ because the result clearly needs - to store its elements as complex numbers, rather than as double - variables. This is now changed: The result of the product of a Tensor - and a scalar number is now a Tensor that stores its elements in a data - type appropriate for this product. The same approach is taken for the - SymmetricTensor class. -
    - (Wolfgang Bangerth, 2015/02/11) -
  126. - -
  127. New: There is now a new class ProductType that can be used - to infer the type of the product of two objects. There is now also - a class EnableIfScalar that helps restrict some templates to only - cases where a type is a scalar. -
    - (Wolfgang Bangerth, 2015/02/04) -
  128. - -
  129. New: The Tensor classes now have copy constructors and copy - operators that allow assignment from other tensors with different - underlying scalar types. -
    - (Denis Davydov, 2015/02/03) -
  130. - -
  131. New: Class hp::DoFHandler can now also be serialized. -
    - (Lukas Korous, 2015/01/31) -
  132. - -
  133. Bugfix: deal.II now correctly links against librt in case of bundled - boost being used. -
    - (Matthias Maier, 2015/01/27) -
  134. - -
  135. New: A new macro DEAL_II_QUERY_GIT_INFORMATION is - provided to query user projects for git repository information simmilarly - to those exported by deal.II. -
    - (Matthias Maier, 2015/01/21) -
  136. - -
  137. Fixed: FEFaceValues and FESubfaceValues did not fill the - jacobians and inverse jacobians if requested via the update flags. - This is now fixed. -
    - (Martin Kronbichler, 2015/01/23) -
  138. - -
  139. Fixed: ParameterHandler::read_input() now checks that - 'subsection'/'end' are balanced in the input. -
    - (Timo Heister, 2015/01/19) -
  140. - -
  141. Fixed: In 3d, when you set the colorize flag of - GridGenerator::hyper_shell(), the faces of the domain were colored but - the edges were not. This was an oversight because to refine correctly, - the edges also have to have the appropriate boundary indicator set. -
    - (Wolfgang Bangerth, 2015/01/16) -
  142. - -
  143. New: dealii::multithread_info.n_cpus returns the correct number of CPU - on FreeBSD. -
    - (Bruno Turcksin, 2015/01/14) -
  144. - -
  145. Improved: MPI collective operations such as MPI::sum, MPI::max now - check for job_supports_mpi() internally, which allows running them also - without a call to MPI_Init. -
    - (Martin Kronbichler, 2015/01/13) -
  146. - -
  147. Changed: The method job_supports_mpi() now resides in the namespace - Utilities::MPI instead of Utilities::System for consistency with other MPI - methods. The old method has been marked deprecated and will be removed in - a future version. -
    - (Martin Kronbichler, 2015/01/13) -
  148. - -
  149. Fixed: The update of ghost values in parallel::distributed::Vector when - calling the assignment operator is now active when one of the two vector had - its ghost values updated before or when the layout of the right hand side - vector is one-to-one, more consistent with parallel PETSc and Trilinos - vectors. -
    - (Martin Kronbichler, 2015/01/13) -
  150. - -
  151. New: PETScWrappers::MPI::SparseMatrix::reinit(other) copies - the layout of another matrix. TrilinosWrappers::SparseMatrix - operator= and copy constructor are now disabled. This brings - functionality between PETSc and Trilinos in line. -
    - (Timo Heister, 2015/01/12) -
  152. - -
  153. New: Triangulation::set_all_manifold_ids() and - Triangulation::set_all_manifold_ids_on_boundaries() - set all manifold ids on every object or on every - boundary object respectively. -
    - (Luca Heltai, 2015/01/12) -
  154. - -
  155. New: GridTools::copy_boundary_to_manifold_id() and - GridTools::copy_material_to_manifold_id() copy - boundary_ids and material_ids to manifold_ids for - faces on the boundary and for cells respectively. -
    - (Luca Heltai, 2015/01/09) -
  156. - -
  157. Fixed: Utilities::int_to_string() produced wrong results if - the number of digits specified was ten or greater. -
    - (David Wells, 2015/01/08) -
  158. - -
  159. Fixed: VectorTools::interpolate_to_different_mesh() was accidentally - only instantiated for dealii::Vector arguments, rather than all vector - classes. This is now fixed. -
    - (Benjamin Brands, Wolfgang Bangerth, 2014/12/29) -
  160. - -
  161. Fixed: Use CASROOT environment variable as additional hint for - opencasacade. -
    - (Matthias Maier, 2014/12/29) -
  162. - -
  163. Fixed: Update the run_testsuite.cmake script to also pick up - muparser and opencascade configuration. -
    - (Matthias Maier, 2014/12/29) -
  164. -
  165. Fixed: Update several places in the documentation that were not - updated from functionparser to muparser. Add several forgotten - DEAL_II_WITH_* variables to certain places in the documentation. -
    - (Matthias Maier, 2014/12/29) -
*/ diff --git a/doc/users/doxygen.html b/doc/users/doxygen.html index 143526b1ad..22760aeb12 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.3.0, 8.2.0, 8.1.0, 8.0.0, -- 2.39.5