From c60382365dc60f833e7d52177426a1b7f60ec145 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Wed, 21 Dec 2016 11:24:29 -0700 Subject: [PATCH] Remove the changes.h file. This file is now automatically generated. Let's not leave a stale file sitting around. --- doc/news/changes.h | 1417 -------------------------------------------- 1 file changed, 1417 deletions(-) delete mode 100644 doc/news/changes.h diff --git a/doc/news/changes.h b/doc/news/changes.h deleted file mode 100644 index 59bb52ffe2..0000000000 --- a/doc/news/changes.h +++ /dev/null @@ -1,1417 +0,0 @@ -// --------------------------------------------------------------------- -// -// 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_after_8_4_2 Changes after Version 8.4.2 - -

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

- - - - - - -

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. Deprecated: The DataOutInterface::write_pvd_record() and - DataOutInterface::write_visit_record() functions were actually - independent of any kind of data being written. As a consequence, - they did not depend on the state of the DataOutInterface object - to which they belonged (or any object of a derived class). Such - functions typically reside in the DataOutBase namespace instead - where they have now been moved. The functions in DataOutInterface - are now deprecated. -
    - (Wolfgang Bangerth, 2016/12/03) -
  2. - -
  3. Changed: VectorTools::create_right_hand_side and - VectorTools::create_boundary_right_hand_side now take an additional template - parameter VectorType. -
    - (Daniel Arndt, 2016/10/25) -
  4. - -
  5. Deprecated: ParameterHandler::read_input, - ParameterHandler::read_input_from_xml, and - ParameterHandler::read_input_from_string are now deprecated in favor of - ParameterHandler::parse_input, ParameterHandler::parse_input_from_xml, and - ParameterHandler::parse_input_from_string. These new functions throw - exceptions to indicate failure instead of using return codes. -
    - (David Wells, 2016/09/15) -
  6. - -
  7. Deprecated: MGCoarseGridLACIteration got deprecated in favor of - MGCoarseGridIterativeSolver. -
    - (Timo Heister, 2016/09/14) -
  8. - -
  9. Changed: The template parameter order in many VectorTools functions is now - different; this was done so that the order is the same across similar functions. - This will only effect code that explicitly specifies template parameters for - overloaded VectorTools functions (no known deal.II-based projects do this). -
    - (David Wells, 2016/09/06) -
  10. - -
  11. New: deal.II now requires at least BOOST version 1.56, rather than the - previous minimal version of 1.54. This is because 1.54 does not support - serializing objects of type std::unique_ptr if C++11 is used, but we now - use such objects in a variety of places in classes that can be serialized. - BOOST 1.56, on the other hand, supports this. deal.II bundles BOOST 1.62 - for cases where no or no sufficiently new version of BOOST is found on - a system. -
    - (Wolfgang Bangerth, 2016/08/22) -
  12. - -
  13. Removed: Deprecated classes CompressedSparsityPattern, - CompressedSimpleSparsityPattern, CompressedSetSparsityPattern, and their - block variants got removed. -
    - (Timo Heister, 2016/08/13) -
  14. - -
  15. Deprecated: MGLevelObject::clear() deprecated in favor of - MGLevelObject::clear_elements() due to clear() being inconsistent with - behavior of other container objects. -
    - (Jonathan Robey, 2016/08/08) -
  16. - -
  17. Changed: Several operators from LocalIntegrators::Divergence got moved - to LocalIntegrators::GradDiv and the never used/tested - LocalIntegrators::Divergence::grad_div() function was removed. -
    - (Timo Heister, Guido Kanschat, 2016/08/02) -
  18. - -
  19. Changed: DoFTools::make_cell_patches() only accepts block lists of type - SparsityPattern. The reason is that it has to initialize the size of the - pattern on distributed triangulations by computing the number of locally - owned cells. Initialization differs between sparsity pattern classes, so no - generic function would be possible. On the other hand, the block list is an - object, which only extends over locally owned grid cells and its size can be - determined efficiently upon initialization. Therefore, SparsityPattern is a - good choice here. -
    - At the same time, we changed the dof handler template to the type DoFHandler, - since hp::DoFHandler requires a different setup of the SparsityPattern. -
    - (Guido Kanschat, 2016/08/02) -
  20. - -
  21. Changed: The conversion constructors of class Vector from the - PETScWrappers::Vector, PETScWrappers::MPI::Vector, - TrilinosWrappers::Vector, and TrilinosWrappers::MPI::Vector classes - are now marked as explicit, i.e., they will no longer - allow implicit, silent conversions. Such conversions lead to awkward - errors that are hard to debug, and in cases where they are necessary, - are best described in code through explicit casts. -
    - (Wolfgang Bangerth, 2016/06/25) -
  22. - -
  23. Changed: The deal.II distributed vector classes do now derive from - LinearAlgebra::VectorSpaceVector and have been moved to the - LinearAlgebra::distributed namespace. In the definition of the new - interfaces, several old vector functions have been marked as deprecated. The - methods operator==, operator!=, and - is_non_negative have been removed from the new interface. -
    - (Martin Kronbichler, 2016/06/15) -
  24. - -
  25. Changed: The Triangulation::Signals::clear signal is now triggered - before, not after the internal data structures of the - triangulation are destroyed. This allows functions attached to the signal to - save information associated with the triangulation. -
    - (Wolfgang Bangerth, 2016/06/07) -
  26. - -
  27. Changed: deal.II used to create template instantiations for scalar - types double, float, and long double. Since - long double is rarely used and the additional precision does - usually not pay off because most of the other arithmetics in deal.II are - only done using double variables, it is not instantiated by default - any more. This reduces the library size by up to 20 percent. In case you - need instantiations of certain methods using long double data - structures and get linker errors stating undefined symbols involving - long double, include the respective .templates.h file(s) - with the code definitions. See the section on @ref Instantiations in the - manual for further information. -
    - (Martin Kronbichler, 2016/04/26) -
  28. - -
  29. Changed: FlatManifold takes as argument a periodicity option. This - used to be a Point, but it should have been a Tensor<1,dim>. This - is now changed. -
    - (Luca Heltai, 2016/04/09) -
  30. - -
  31. Changed: The default nodal point distribution of FE_Q, FE_DGQ, - FE_Q_DG0, FE_Q_Bubbles, and FE_TraceQ has been changed from equidistant - points to the node points of the corresponding Gauss-Lobatto quadrature - formula. For degrees one and two, the Gauss-Lobatto quadrature is - equidistant and thus the unit support points are as before. However, the - Gauss-Lobatto points are more dense towards the element boundaries at higher - degrees. This gives well-conditioned interpolation at arbitrary orders and - much more stable computations. While these node distribution was available - before, it was not very visible and often lead to misunderstandings by - inexperienced users. Most codes will not be affected by this change, even - those using cubic and higher degree polynomials, apart from slightly - different (better) interpolation behavior and different entries in solution - vectors. If you explicitly need equidistant points, use the constructors - FE_Q(QIterated<1>(QTrapez<1>(),degree)) or - FE_DGQArbitraryNodes(QIterated<1>(QTrapez<1>(),degree)). -
    - (Martin Kronbichler, 2016/04/05) -
  32. - -
  33. Removed: Support for the legacy Make.global_options - file has been removed. -
    - (Matthias Maier, 2016/03/17) -
  34. - -
  35. Removed: Functions with names containing boundary_indicator - have been removed. They had previously already been deprecated, and replaced - by functions containing the string boundary_id instead, to keep - with the style used for material_id, subdomain_id, - etc. -
    - (Wolfgang Bangerth, 2016/02/28) -
  36. - -
  37. Changed: Many functions in VectorTools and MatrixTools now require - matching data types between vectors, matrices, and Function arguments. -
    - (Denis Davydov, 2016/02/27) -
  38. - -
  39. Changed: ConstraintMatrix::distribute_local_to_global() and numerous - functions in VectorTools namespace now require matching data types. - This is done to correctly handle complex-valued case. -
    - (Denis Davydov, 2016/02/22) -
  40. -
- - - - - -

General

- -
    - -
  1. New: Implemented some standard tensor definitions for elasticity in - Physics::Elasticity::StandardTensors. Within the newly implemented - Physics::Elasticity::Kinematics namespace are some standard - definitions of kinematic quantities commonly used in elasticity. -
    - (Jean-Paul Pelteret, Andrew McBride, 2016/12/05) -
  2. - -
  3. New: The Physics::Transformations namespace defines a number of operations - that can be used to push forward and pull back quantities to and from different - body configurations. -
    - (Jean-Paul Pelteret, Andrew McBride, 2016/12/05) -
  4. - -
  5. New: The Physics namespace is dedicated to defining useful - functions and other quantities that are regularly used in the implementation - of classical (multi-)physics problems. -
    - (Jean-Paul Pelteret, 2016/12/05) -
  6. - -
  7. Improved: The step-37 tutorial program now shows the matrix-free multigrid - solver based on MPI parallelization rather than only a serial version. - Moreover, support for adaptively refined meshes has been added. -
    - (Martin Kronbichler, 2016/11/23) -
  8. - -
  9. Improved: the error codes for all MPI functions are now checked and, if the - MPI function failed for any reason, an exception with a helpful message is - thrown. -
    - (David Wells, 2016/11/09) -
  10. - -
  11. - Fixed: We have run the PVS static analysis checker on the entire code base, - to see what possible problems it uncovers (see - https://github.com/dealii/dealii/issues/3342). With the exception of - a few false positives, several dozen issues (mostly uninitialized - variables) were fixed. -
    - (Konstantin Ladutenko and many others, 2016/11/08) -
  12. - -
  13. Improved: The way DataPostprocessor receives its input has been updated. -
    - In the past, the two functions we use to postprocess data got lists of arguments - for the solution, its derivatives, the evaluation points, and normal vectors. - This is not flexible enough: We can not easily add other information that - we have needed in the past or that users have requested, such as a pointer - to the cell we're currently on, or the material-id of the cell. -
    - Rather than adding each possible argument anyone may want to use - individually to the list of the postprocessor function arguments, the - existing functions have been deprecated in favor of a new set of - functions DataPostprocessor::evaluate_scalar_field() and - DataPostprocessor::evaluate_vector_field() that - take a reference to a structure that contains these individual pieces - of information. We can extend the members of these structures without - backward compatibility issues because the functions still get a - reference to the same structure, we just grow the structure - itself. Functions that never used the new members of the structure - will continue to work as they always did. -
    - (Wolfgang Bangerth, 2016/10/31) -
  14. - -
  15. Improved: The code in class GridReordering has been rewritten from - scratch. It now follows the algorithm described in the paper by - Agelek, Anderson, Bangerth and Barth mentioned in the documentation - of that class. -
    - (Wolfgang Bangerth, 2016/10/28) -
  16. - -
  17. Improved: deal.II now bundles a subset of BOOST 1.62 instead of a subset - of BOOST 1.56. -
    - (David Wells, 2016/10/20) -
  18. - -
  19. New: Add a new FiniteElement class, FE_P1NC, to implement the scalar - version of the P1 nonconforming finite element which is a piecewise linear - element on quadrilaterals in 2d. -
    - (Jaeryun Yim, 2016/10/01) -
  20. - -
  21. New: FE_Enriched finite element class implements the partition of unitity - method which allows to enrich the finite element space based on a priori - knowledge about solution. -
    - (Denis Davydov, 2016/09/28) -
  22. - -
  23. New: The Tensor class has two new functions implemented, namely those - that return its Tensor::adjoint() and Tensor::cofactor(). -
    - (Jean-Paul Pelteret, 2016/09/25) -
  24. - -
  25. Improved: The doxygen documentation now contains nicely formatted - boxes containing the text message of each exception. Several messages - haven been clarified and improved. -
    - (Timo Heister, 2016/09/06) -
  26. - -
  27. New: There are 6 new video lectures that explain the - basics of Linux and the command line, how mesh refinement works, and some - more complicated time stepping schemes. - (@dealiiVideoLectureSeeAlso{2.9,2.91,17.25,17.5,17.75,30.25}) -
    - (Wolfgang Bangerth, 2016/08/19) -
  28. - -
  29. New: deal.II no longer uses features of the C++ language that - were deprecated with C++11, C++14, or that are scheduled to be - deprecated for C++17. -
    - (David Wells, Jonathan Robey, Wolfgang Bangerth, 2016/08/11) -
  30. - -
  31. - New: Added Python bindings to generate and manipulate a Triangulation from - Python. The Triangulation generated in Python can be saved and later, loaded - inside a C++ code. -
    - (Bruno Turcksin, 2016/08/03) -
  32. - -
  33. - Improved: A few of the introductory examples (steps five through eight) no - longer use the Function class; they use plain functions instead. -
    - (David Wells, 2016/07/25) -
  34. - -
  35. Improved: The build system now checks for usable compiler/linker - flags during various stages of the configure run. This should catch the - majority of issues by user supplied flags/libraries and unusable final - link interfaces before we actually proceed to compile the library. -
    - (Matthias Maier, 2016/07/13) -
  36. - -
  37. Improved: The testsuite now supports fine grained feature constraints - of the form test.with_[feature]_with_[...]=true corresponding - to variables DEAL_II__WITH_[...] exported to - deal.IIConfig.cmake. -
    - (Matthias Maier, 2016/07/11) -
  38. - -
  39. New: The library is now compatible with PETSc 3.7.0. Part of this change - included adding a new header, petsc_compatibility.h, which provides - some version-independent functions for using common PETSc functions. -
    - (David Wells, 2016/07/07) -
  40. - -
  41. Refactored: The contrib/ directory has been cleaned up and the - Parameter GUI has be reloacted into its own repository: - https://github.com/dealii/parameter_gui -
    - (Matthias Maier, Timo Heister, 2016/07/06) -
  42. - -
  43. New: Add new classes to expand a scalar finite element solution into - the orthogonal bases FESeries::Fourier and FESeries::Legendre. Also - provide auxiliary functions to calculate norms of subsets of expansion - coefficients FESeries::process_coefficients and linear regression - FESeries::linear_regression. Update step-27 to use this namespace to drive - the hp-adaptive FEM solution process. -
    - (Denis Davydov, 2016/06/23) -
  44. - -
  45. New: The tutorial step-55 shows how to solve the Stokes system - in parallel with PETSc or Trilinos. -
    - (Timo Heister, 2016/06/17) -
  46. - -
  47. New: The tutorial step-56 demonstrates Geometric Multigrid for the - Stokes equations. -
    - (Ryan Grove, Timo Heister, 2016/06/01) -
  48. - -
  49. Improved: The step-44 tutorial now uses the new CellDataStorage class to - store and retrieve local quadrature point data. An alternative approach to - solving the linear system using the LinearOperator class has been implemented. -
    - (Jean-Paul Pelteret, 2016/05/20) -
  50. - -
  51. New: Add a collection of classes to manage user's quadrature point data: - CellDataStorage, TransferableQuadraturePointData and - parallel::distributed::ContinuousQuadratureDataTransfer. - The implementation of CellDataStorage is flexible to support different types of - data object at different cells. parallel::distributed::ContinuousQuadratureDataTransfer - provides a convenient interface to transfer quadrature point data between cells - of parallel::distributed::Triangulation. -
    - (Denis Davydov, Jean-Paul Pelteret, 2016/04/30) -
  52. - -
  53. New: Added an interface to the GNU Scientific Library. Also introduce a - cubic spline interpolation function Functions::CSpline. -
    - (Denis Davydov, 2016/04/28) -
  54. - -
  55. New: Added move operations to BlockIndices, BlockVectorBase and - BlockVector; Vector move operations nullify old object instead of - using swap. -
    - (Daniel Shapero, 2016/04/13) -
  56. - -
  57. New: Manifold objects were previously only used to compute the - locations of individual new points on a manifold. Now, they are also - used to compute tangent vectors (via Manifold::get_tangent_vector()), and this - functionality provides the basis for computing normal vectors to manifolds - as well. -
    - In many cases, tangent vectors can be computed quite easily if the - manifold has a functional description, i.e., if it can be - represented via the ChartManifold class. In those cases, it is only - necessary to overload the ChartManifold::push_forward_gradient() - function that computes the derivatives of the push forward operation. -
    - (Luca Heltai, Wolfgang Bangerth, 2016/04/08) -
  58. - -
  59. New: Added a new Mapping class, MappingManifold, to use exact - geometrical information extracted from the Manifold description instead - of a polynomial approximation when computing transformations from the - reference to the real cell. This class allows the computation of - quadrature points, tangent vectors, and normal vectors which are exact - with respect to the geometrical description, and it uses the underlying - Manifold objects of the Triangulation. MappingManifold coincides with - MappingQ1 for the FlatManifold descriptor. -
    - (Luca Heltai, 2016/04/09) -
  60. - -
  61. New: Added indent target to indent all headers and source - files. Now you can do make (or ninja) indent inside the build - directory. -
    - (Alberto Sartori, 2016/03/02) -
  62. -
- - - - - -

Specific improvements

- -
    -
  1. New: The ArrayView class now has a default constructor that creates - an invalid object. -
    - (Wolfgang Bangerth, 2016/12/08) -
  2. - -
  3. Fixed: ArrayView objects to empty views could not be copied. - This is now fixed. -
    - (Wolfgang Bangerth, 2016/12/07) -
  4. - -
  5. Improved: The run time for the method hp::DoFHandler::distribute_dofs was - quadratic in the total number of dofs for some grids. This has been fixed. -
    - (David Wells, 2016/12/07) -
  6. - -
  7. New: The inverse of a rank-2 SymmetricTensor can now be directly computed - with SymmetricTensor::invert() instead of having to use the - Tensor::invert() function. -
    - (Jean-Paul Pelteret, 2016/12/07) -
  8. - -
  9. Changed: To improve readability, TimerOutput::print_summary() - now simply outputs "0%" if a particular section's time requires - less than 0.1 per cent of the overall run time. -
    - (Wolfgang Bangerth, 2016/12/03) -
  10. - -
  11. Improved: The trait class has_vmult_add in linear_operators.h - has been restricted to test if there is a vmult_add and a Tvmult_add - method that takes two arguments. This check now also works with - ICC 13 and ICC 14. -
    - (Daniel Arndt, 2016/11/25) -
  12. - -
  13. Fixed: DataOut::build_patches() ignored a higher order - or Eulerian mapping if no data had previously been attached - via DataOut::add_data_vector(), i.e., if all that was to be output - is the mesh itself. This is now fixed. -
    - (Wolfgang Bangerth, 2016/11/15) -
  14. - -
  15. Fixed: Calling MappingQ::clone() did not copy the - use_mapping_q_on_all_cells flag that this - mapping class gets passed to its constructor. This leads - to wrong results if you wanted to use curved cells on - interior cells and if such an object was used inside an - hp::MappingCollection, for example. There are, in addition, - several places in the library where one would pass a mapping, - and the library would clone it into a member of such a collection, - and these would also yield wrong results. An example is the use - of DataOut::build_patches with a mapping that had this flag set - upon construction. -
    - (Sebastian Gonzalez-Pintor, Wolfgang Bangerth, 2016/11/15) -
  16. - -
  17. Fixed: Objects of type TrilinosWrappers::SparsityPattern::const_iterator - were entirely unusable due to a bug. This is now fixed. -
    - (Wolfgang Bangerth, 2016/11/15) -
  18. - -
  19. Fixed: There was a memory leak if a previously used SparsityPattern - object was re-used by reading from a serialization archive via - SparsityPattern::load(). This is now fixed. -
    - (Wolfgang Bangerth, 2016/11/10) -
  20. - -
  21. New: Add PArpackSolver::reinit(const VectorType &distributed_vector) to - initialize internal data structures based on a vector. This makes PArpack - usable with MatrixFree operators. -
    - (Denis Davydov, 2016/10/31) -
  22. - -
  23. New: VectorTools::project can be used for parallel Triangulations in - specific cases. -
    - (Daniel Arndt, 2016/10/30) -
  24. - -
  25. New: Add MatrixFreeOperators::LaplaceOperator representing a Laplace matrix. -
    - (Denis Davydov, 2016/10/30) -
  26. - -
  27. New: Add VectorTools::project() to do L2 projection - of scalar-valued quadrature point data in parallel. -
    - (Denis Davydov, 2016/10/28) -
  28. - -
  29. Fixed: Increased precision of timesteps in DataOutInterface::write_pvd_record(). -
    - (Rajat Arora, 2016/10/29) -
  30. - -
  31. New: Add MatrixFreeOperators::MassOperator representing a mass matrix. -
    - (Daniel Arndt, 2016/10/27) -
  32. - -
  33. New: There is a new class DiagonalMatrix which represents a diagonal - matrix via a vector. This is useful for representing Jacobi preconditioners - with matrix-free methods. -
    - (Martin Kronbichler, 2016/10/27) -
  34. - -
  35. New: The class PreconditionChebyshev now offers a third template - parameter PreconditionerType that is passed to the preconditioner setup via - AdditionalData::preconditioner. This allows using other preconditioners than - the default (and previous) selection of a point-Jacobi preconditioner. -
    - (Martin Kronbichler, 2016/10/27) -
  36. - -
  37. >New: VectorTools::create_right_hand_side can be used for parallel - Triangulations and homogeneous constraints using a ConstraintMatrix. -
    - (Daniel Arndt, 2016/10/25) -
  38. - -
  39. Fixed: GridIn::read_vtk() had off-by-one errors in reading face - boundary indicators from VTK files. Consequently, not all boundary indicators - were correctly set. -
    - (Mayank Sabharwal, Wolfgang Bangerth, 2016/10/25) -
  40. - -
  41. New: Add ArpackSolver::set_shift() to set the shift value in spectral - transformation. -
    - (Denis Davydov, 2016/10/25) -
  42. - -
  43. New: PreconditionChebyshev now offers a PreconditionChebyshev::step() - and PreconditionChebyshev::Tstep() methods for usage in relaxation smoothers. -
    - (Martin Kronbichler, 2016/10/21) -
  44. - -
  45. Fixed: GridIn::read_vtk() accidentally only read material ids of - input cells correctly if the file listed them as integers. If they were - listed them as floating point numbers, then unpredictable numbers were used. -
    - (Wolfgang Bangerth, 2016/10/20) -
  46. - -
  47. New: Add a base class for matrix-free operators MatrixFreeOperators::Base. -
    - (Denis Davydov, 2016/10/16) -
  48. - -
  49. New: There is now a function FEEvaluation::JxW() to return the Jacobian - determinant times the quadrature weight in the matrix-free evaluation - routines similary to FEValues. -
    - (Martin Kronbichler, 2016/10/14) -
  50. - -
  51. Fixed: GridGenerator::hyper_cube_slit() with colorized set to - true is now working correctly. -
    - (Timo Heister, 2016/10/04) -
  52. - -
  53. Fixed: SphericalManifold now behaves correctly also when R>>1 - and the center is not the origin. -
    - (Luca Heltai, 2016/10/01) -
  54. - -
  55. New: FETools::extrapolate allows for using the - extrapolate algorithm on parallel::distributed::Triangulations. -
    - (Daniel Arndt, Martin Steigemann, 2016/09/28) -
  56. - -
  57. Improved: Some parts of mesh refinement are now parallelized. -
    - (Wolfgang Bangerth, 2016/09/27) -
  58. - -
  59. Improved: MGSmootherBlock is now able to use the shared memory pool for - temporary vector allocation. The constructor requiring an external memory - allocation has therefore been deprecated. -
    - (Jonathan Robey, 2016/09/21) -
  60. - -
  61. New: DoFTools::write_gnuplot_dof_support_point_info outputs - support point locations and dof indices to a format readable by - gnuplot. -
    - (Timo Heister, 2016/09/16) -
  62. - -
  63. Fixed: EmbeddedRungeKutta methods now correctly increase delta_t_guess - when the error is below coarsen_tol. -
    - (Vaibhav Palkar, Bruno Turcksin, 2016/09/16) -
  64. - -
  65. Fixed: TrilinosWrappers::MPI::Vector::locally_owned_elements() - now returns the correct IndexSet also if initialized with two - IndexSets. -
    - (Daniel Arndt, 2016/09/16) -
  66. - -
  67. Improved: The multigrid V-cycle has been rewritten for performance on - large-scale machines. Rather than transferring parts of the defect - immediately to all coarser levels with a complexity of O(n_levels) global - communication steps per V-cycle, we now transfer the full defect once to the - next coarser level only, resulting in crossing all processors only once. -
    - (Martin Kronbichler, 2016/09/16) -
  68. - -
  69. Fixed: The Multigrid W-cycle and F-cycle have been fixed (for uniform - grids). -
    - (Martin Kronbichler, 2016/09/16) -
  70. - -
  71. New: LinearAlgebra::Vector is now instantiated for float and double. -
    - (Bruno Turcksin, 2016/09/15) -
  72. - -
  73. New: The class MGCoarseGridIterativeSolver is replacing - MGCoarseGridLACIteration with a simpler interface. -
    - (Timo Heister, 2016/09/14) -
  74. - -
  75. Improved: FEValues no longer generates the mapping's internal database if - the mapping will not be required for the set of update flags specified. -
    - (Jonathan Robey, 2016/09/14) -
  76. - -
  77. Fixed: Instantiating class Vector with non-standard template - arguments did not work because of duplicate function symbols. This - is now fixed. -
    - (Dragan Nikolic, 2016/09/14) -
  78. - -
  79. Fixed: IndexSet::make_trilinos_map now treats non-ascending but - contiguous IndexSets correctly. It creates a linear EpetraMap only - if the IndexSets are ascending and 1:1. -
    - (Daniel Arndt, 2016/09/11) -
  80. - -
  81. New: IndexSet::is_ascending_and_one_to_one allows to find out - whether the nth range of indices is stored on the nth process in case - the IndexSets are contiguous. -
    - (Daniel Arndt, 2016/09/11) -
  82. - -
  83. Fixed: The CMake macros DEAL_II_(ADD_TEST|SETUP_TARGET) - now enforce a stricter CMAKE_BUILD_TYPE handling. This helps - to avoid situations where targets with different build flavors might - accidentally get linked against each other. -
    - (Matthias Maier, 2016/09/08) -
  84. - -
  85. Fixed: FE_TraceQ now provides unit support points. -
    - (Martin Kronbichler, 2016/09/08) -
  86. - -
  87. Fixed: Reimplement copy_triangulation and load in - dealii::parallel::shared::Triangulation, this avoids the loss of - partition information which causes parallel::shared::Triangulation to be in an invalid state. -
    - (Ce Qin, 2016/09/05) -
  88. - -
  89. Fixed: The build system now uses -fPIC instead of -fpic -
    - (Matthias Maier, 2016/08/31) -
  90. - -
  91. Fixed: Fix MPI_InitFinalize by correctly initializing and destroying - all p4est/libsc related objects by calls to sc_init(), p4est_init(), and - sc_finalize(); compatibility with p4est versions >1.1. -
    - (Jonathan Perry-Houts, 2016/08/31) -
  92. - -
  93. Improved: SparsityPattern::copy_from() copying from a - DynamicSparsityPattern argument had quadratic complexity in the number of - rows for sparsity patterns where most of the rows are of length zero. The bad - algorithm has been replaced by a linear complexity one. -
    - (Dustin Kumor, Martin Kronbichler, 2016/08/31) -
  94. - -
  95. New: There is now the possibility to store information about the - time of an output time step within the .visit file created by - the DataOutInterface::write_visit_record function. -
    - (Rene Gassmoeller, Juliane Dannberg, 2016/08/24) -
  96. - -
  97. New: It is now possible to generate a cell_iterator to a cell - that is identified by a CellId. CellIds are unique even across - processes in distributed computations, therefore this change allows - to identify a particular cell (e.g. a ghost cell of the local process) in - another domain. -
    - (Rene Gassmoeller, 2016/08/17) -
  98. - -
  99. New: Rank-4 symmetric tensors of type SymmetricTensor can now - be converted to rank-4 tensors of type Tensor. -
    - (Wolfgang Bangerth, 2016/08/11) -
  100. - -
  101. New: Implement MGCoarseGridApplySmoother class to do a few steps of a - smoother at the coarsest level. -
    - (Denis Davydov, 2016/08/09) -
  102. - -
  103. New: PreconditionMG can now be used as a LinearOperator. -
    - (Denis Davydov, 2016/08/09) -
  104. - -
  105. New: RelaxationBlock classes for geometric multigrid now support parallel - computations using Trilinos. -
    - (Timo Heister, Guido Kanschat, 2016/08/08) -
  106. - -
  107. - New: Added a new PolarManifold descriptor, that uses a polar coordinate - system to compute new points, and modified the existing SphericalManifold - descriptor to use geodesics on the surface of the sphere. -
    - (Luca Heltai, Mauro Bardelloni, 2016/08/04) -
  108. - -
  109. Improved: The regular and hp versions of - DoFTools::make_flux_sparsity_pattern() no longer use the user flags of the - underlying triangulation to determine if entries along a certain face have been - added to the sparsity pattern. -
    - (David Wells, 2016/03/02 - 2016/08/02) -
  110. - -
  111. New: Introduce operators for residuals and interior penalty terms for - the Grad-Div operator in LocalIntegrators::GradDiv. -
    - (Timo Heister, Guido Kanschat, 2016/08/02) -
  112. - -
  113. Improved: DoFTools::make_cell_patches() can create block lists - only extending over local cells of distributed triangulations. -
    - (Guido Kanschat, 2016/08/02) -
  114. - -
  115. Fixed: (P)ARPACK interface for non-symmetric matrices. -
    - (Joscha Gedicke, 2016/08/01) -
  116. - -
  117. Fixed: The TrilinosWrappers::SparsityPattern::print() and - TrilinosWrappers::SparsityPattern::print_gnuplot() methods did not produce - correct output on distributed computations. This is now fixed. -
    - (Martin Kronbichler, 2016/07/30) -
  118. - -
  119. Fixed: CMake now tries to pick up the full link interface for gsl. - This works around an underlinkage issue with libgsl.so not correctly - stating all shared object dependencies. -
    - (Matthias Maier, 2016/07/28) -
  120. - -
  121. Fixed: Level indices for geometric multigrid queried through - DoFAccessor::get_mg_dof_indices() would return wrong indices on lines - and faces in non-standard orientation in 3D. This is now fixed. -
    - (Martin Kronbichler, 2016/07/27) -
  122. - -
  123. New: There is now a new DoFTools::make_flux_sparsity_pattern() - which takes a constraint matrix and flux and internal dof masks, in - parallel. This is useful in the case where some components of a - finite element are continuous and some discontinuous, allowing - constraints to be imposed on the continuous part while also building - building the flux terms needed for the discontinuous part. -
    - (Sam Cox, 2016/07/25) -
  124. - -
  125. - Improved: VectorTools::interpolate() may now be used on FESystems with mixed - interpolating and non-interpolating FEs, if all of the selected components for - interpolation originate from interpolating FEs. -
    - (Jonathan Robey, 2016/07/24) -
  126. - -
  127. - Improved: VectorTools::interpolate() now takes a ComponentMask to select the - components to interpolate. -
    - (Jonathan Robey, 2016/07/21) -
  128. - -
  129. Improved: Split out pattern descriptions for LaTeX and Description - ParameterHandler OutputStyles, and add better description text. -
    - (Jonathan Robey, 2016/07/21) -
  130. - -
  131. Improved: Allow for including dofs for individual components on - boundary in DoFTools::make_vertex_patches(). -
    - (Ryan Grove, Daniel Arndt, 2016/07/21) -
  132. - -
  133. Improved: Allow for initializing the constrained - boundary DoFs in MGConstrainedDoFs using a std::set - instead of a FunctionMap whose function values were not used. - Allow for non-primitive FiniteElements. -
    - (Daniel Arndt, 2016/07/20) -
  134. - -
  135. New: Added GridGenerator::quarter_hyper_ball() to generate the - intersection of a hyper ball with the positive orthant relative - to its center. -
    - (Daniel Arndt, 2016/07/19) -
  136. - -
  137. Fixed: Work around an issue with the OpenMPI installation on certain - Ubuntu versions: The build system now automatically drops the - "-fuse-ld=gold" linker flag if openmpi is incompatible with it. -
    - (Wolfgang Bangerth, Martin Kronbichler, Matthias Maier, 2016/07/13) -
  138. - -
  139. Fixed: CMake now handles mixed compiler and linker setup via - DEAL_II_CXX_FLAGS* / DEAL_II_LINKER_FLAGS* and - CMAKE_CXX_FLAGS* properly. -
    - (Matthias Maier, 2016/07/13) -
  140. - -
  141. Fixed: FEValues::reinit() would sometimes try to be overly - clever and not re-compute information when called with the same - cell twice in a row, even if the underlying triangulation had - been moved, translated, stretched, or otherwise had its vertex - locations changed between the two calls to FEValues::reinit(). - This is now fixed. -
    - (Wolfgang Bangerth, Jean-Paul Pelteret, Rajat Arora, 2016/07/11) -
  142. - -
  143. Fixed: Allow to use FETools::get_fe_by_name for all - availabale FiniteElements. -
    - (Daniel Arndt, 2016/07/10) -
  144. - -
  145. Fixed: SymmetricTensor::access_raw_entry() erroneously produced - an indexing error for rank-4 symmetric tensors. This is now fixed. -
    - (Wolfgang Bangerth, 2016/07/08) -
  146. - -
  147. Fixed: SymmetricTensor::norm() did not work correctly for complex - underlying scalar types. This is now fixed. -
    - (Wolfgang Bangerth, 2016/07/08) -
  148. - -
  149. New: There is now a function DerivativeForm::norm(). -
    - (Wolfgang Bangerth, 2016/07/08) -
  150. - -
  151. New: A move constructor has been added to Triangulation. -
    - (Daniel Shapero, 2016/07/07) -
  152. - -
  153. Fixed: The function DoFTools::dof_couplings_from_component_couplings - for hp::FECollection arguments was compiled but not exported from the - object file. This is now fixed. -
    - (Wolfgang Bangerth, 2016/07/01) -
  154. - -
  155. New: Added TrilinosWrappers::SolveDirect::initialize and - TrilinosWrappers::SolverDirect::solve to solve distributed linear systems - with multiple right hand sides without needing to refactorize the matrix - everytime. -
    - (Michael Harmon, 2016/06/30) -
  156. - -
  157. Changed: Similar to MappingQEulerian, MappingQ1Eulerian has gained - a second constructor that reverses the order of the arguments to indicate - which DoFHandler a vector is based on. The old constructor is now - deprecated and will be removed in a future version. -
    - (Wolfgang Bangerth, 2016/06/25) -
  158. - -
  159. New: The MappingFEField class was previously only instantiated - if the vector type was dealii::Vector. It is now also instantiated - for PETSc and Trilinos wrapper vector types. -
    - (Wolfgang Bangerth, 2016/06/25) -
  160. - -
  161. New: GnuplotFlags now supports user specified space dimension labels - through a member variable. -
    - (David Wells, 2016/06/24) -
  162. - -
  163. New: Added an operator* to SynchronousIterators which returns a - reference to the stored tuple of iterators iterators. The iterators member - may be made private in a future release. -
    - (Daniel Shapero, 2016/06/24) -
  164. - -
  165. New: IndexSet::at(idx) returns an iterator pointing to the given index - or the next larger element in the set if idx is not contained. -
    - (Timo Heister, 2016/06/21) -
  166. - -
  167. Fixed: Performance of DynamicSparsityPattern::begin(r) and - DynamicSparsityPattern::end(r) has been improved dramatically in parallel - computations and if the pattern is empty. -
    - (Timo Heister, 2016/06/21) -
  168. - -
  169. Fixed: FEFieldFunction now works correctly in distributed computations, - where before exceptions of type ExcPointNotAvailableHere could occur for - evaluation points on or close to a boundary to a ghost cell. -
    - (Timo Heister, 2016/06/06) -
  170. - -
  171. Fixed: The Tensor class was not explicitly instantiated. This did - not matter in almost all contexts because its members are all defined - as @p inline in the header file. The only cases where it matters if one - (or the compiler) were to take the address of one of the static member - variables. -
    - (Wolfgang Bangerth, 2016/06/03) -
  172. - -
  173. New: Return value std::vector vertex_mapping for the - DoFTools::make_vertex_patches() function, including the optional inversion - of the vertex mapping. -
    - (Joscha Gedicke, 2016/05/25) -
  174. - -
  175. Fixed: Fix a bug where the SparsityPattern could not have more than 4 - billions entries when using 32bit indices. -
    - (Bruno Turcksin, 2016/05/22) -
  176. - -
  177. New: There are now additional functions in the FETools::Compositing namespace that build - finite elements out of simpler finite elements, either by forming tensor - products or by combining the set of shape functions. -
    - (Denis Davydov, Wolfgang Bangerth, 2016/05/20) -
  178. - -
  179. New: Added PArpackSolver::reinit() when dealing with BlockVectors. -
    - (Alberto Sartori, 2016/05/19) -
  180. - -
  181. New: Add VectorTools::compute_global_error that computes global - errors from cellwise errors obtained by VectorTools::integrate_difference() - and do MPI collectives if necessary. -
    - (Timo Heister, 2016/05/15) -
  182. - -
  183. New: Add functions to transform Cartesian coordinates to spherical and back: - GeometricUtilities::Coordinates::to_spherical and - GeometricUtilities::Coordinates::from_spherical. -
    - (Denis Davydov, 2016/05/10) -
  184. - -
  185. Fixed: Corrected the sign of curl calculated in the functions: - LocalIntegrators::curl_curl_matrix, LocalIntegrators::curl_matrix, - LocalIntegrators::nitsche_curl_matrix and LocalIntegrators::ip_curl_matrix in - integrators/maxwell.h. -
    - (Jihuan Tian, 2016/05/09) -
  186. - -
  187. Improved: The method Triangulation::create_triangulation will now throw an - exception if any cells have negative measure. This check is not run if the - triangulation keeps track of distorted cells or if the codimension is not zero. - This check was previously only run in 3D. -
    - (David Wells, 2016/05/07) -
  188. - -
  189. Fixed: Bug in the RelaxationBlock class function do_step. Before, the - corrections were not added together, which leads to a wrong update whenever the - Jacobi blocks are overlapping. For SOR, SSOR and non-overlapping Jacobi this was - not an issue. -
    - (Joscha Gedicke, 2016/05/07) -
  190. - -
  191. Fixed: The function GridGenerator::subdivided_parallelepiped and its - variants could generate meshes with cells that had negative Jacobians. - The function now detects when this will happen and raises a descriptive - exception instead of going on to produce cells which may have negative measure. -
    - (David Wells, 2016/05/11) -
  192. - -
  193. New: Added function GridOut::write_mesh_per_processor_as_vtu. This allows - the visualization of a parallel finite element mesh that can be separated into each - processor's owned and ghost cells. It also allows for the visualization of each level - of a multilevel mesh. -
    - (Conrad Clevenger, 2016/04/28) -
  194. - -
  195. Fixed: TrilinosWrappers::SparseMatrix will now exit early if there are no - entries to add to the matrix. This usually occurs when zero elision is on. This - fixes a bug where the matrix raises an exception if there are no entries to add - to a matrix and the provided row and column values are not locally stored. -
    - (David Wells, 2016/04/24) -
  196. - -
  197. Fixed: TrilinosWrappers::MPI::Vector and TrilinosWrappers::Vector could - access invalid memory in the reinit() method if the MPI communicator was - deleted before termination of the program. This usually happened when using - vectors from GrowingVectorMemory where a pool keeps vector alive. This has - been fixed. -
    - (Martin Kronbichler, 2016/04/23) -
  198. - -
  199. Fixed: The methods TrilinosWrappers::SparseMatrix::(T)mmult previously - produced invalid matrix sizes if the final matrix was non-square. This has - been fixed. -
    - (Martin Kronbichler, Daniel Jodlbauer, 2016/04/21) -
  200. - -
  201. New: Added an optional string parameter to the ParameterHandler::read_input () - and ParameterHandler::read_input_from_string() functions. - When a line which equals this string is encountered, the parsing of parameters - is terminated. -
    - (Denis Davydov, 2016/04/20) -
  202. - -
  203. New: Added move operations to IndexSet. -
    - (Daniel Shapero, 2016/04/19) -
  204. - -
  205. Improved: MeshWorker treats periodic faces as interior faces. -
    - (Daniel Arndt, 2016/04/18) -
  206. - -
  207. Improved: The parallel loops in the deal.II Vector class for - vector-vector operations have been revised for performance. This includes - adjusting the minimum parallel grain size to 4096 vector entries and using an - affinity partitioner provided by Threading Building Blocks for better data - locality, especially on multi-socket systems. -
    - (Martin Kronbichler, 2016/04/14) -
  208. - -
  209. New: added ReinitHelper for PETSc. This is required by LinearOperator - class to reinit vectors. -
    - (Mauro Bardelloni, 2016/04/13) -
  210. - -
  211. New: Added TensorProductManifold to create new manifolds from two - ChartManifold objects. This can be used, for example, to combine a - 2d manifold with a flat manifold for an extruded mesh. -
    - (Timo Heister, 2016/04/12) -
  212. - -
  213. Fixed and improved: Fix algorithm for incomplete assignment of level - subdomain ids for parallel geometric multigrid. Also optimize algorithms - used for assignment and DoF communication. -
    - (Timo Heister, Martin Kronbichler, 2016/04/12) -
  214. - -
  215. New: Added New option in the read_ucd function of the GridIn class. - A flag can now be assigned to the function, to decide wether the - indicators specified in a UCD file should be interpreted as - boundary_ids or as manifold_ids. This is particularly useful - when the indicators refer to internal faces, for which - boundary_ids cannot be used. -
    - (Andrea Mola, 2016/04/11) -
  216. - -
  217. Improved: DoFRenumbering::compute_Cuthill_McKee when used with - distributed triangulations contained parts that scaled as the global problem - size, rather than the processor-local size. This prevented its use with more - than a few hundred cores when hanging node constraints were activated. This - has been fixed. -
    - (Martin Kronbichler, 2016/04/11) -
  218. - -
  219. New: added hessenberg_signal and krylov_space_signal to SolverGMRES. - These signals allow to retrieve the Hessenberg matrix and the basis vectors - generated by the Arnoldi algorithm. -
    - (Giuseppe Pitton, Luca Heltai, 2016/04/11) -
  220. - -
  221. New: Added CompositionManifold to create new manifolds from two - ChartManifold objects. This can be used, for example, to rotate a - cylindrical Manifold, or to make a cylinders with parabolic sides. -
    - (Luca Heltai, 2016/04/09) -
  222. - -
  223. Fixed: Meshworker::Assembler::ResidualSimple now also works for - multiple blocks if no constraints are given. -
    - (Daniel Arndt, 2016/04/08) -
  224. - -
  225. New: A move constructor has been added to Quadrature. -
    - (Daniel Shapero, 2016/04/08) -
  226. - -
  227. Fixed: The multigrid transfer performed invalid data accesses on - multigrid hierarchies that define the coarse level as a level larger than - 0. This has been fixed. -
    - (Martin Kronbichler, 2016/04/03) -
  228. - -
  229. New: Add GridTools::remove_hanging_nodes() and - GridTools::remove_anisotropy() in GridTools. GridTools::remove_hanging_nodes() - detects cells with hanging nodes and refines the neighbours in the direction - that removes hanging nodes or in every directions. - GridTools::remove_anisotropy() refines a mesh until the resulting mesh is - composed by cells with ratio between the extension in each coordinate - direction lower than a fixed value. -
    - (Mauro Bardelloni, 2016/03/28) -
  230. - -
  231. New: When using C++11, a move constructor and assignment operator has - been added to SparseMatrix, so that these objects can be returned from - functions and packed into pairs and tuples. -
    - (Daniel Shapero, 2016/03/27) -
  232. - -
  233. New: The product of a rank-1 tensor (a vector) and a rank-2 - symmetric tensor (a symmetric matrix) is now defined and yields - a rank-1 tensor (a vector). The opposite product was previously - already defined. -
    - (Wolfgang Bangerth, 2016/03/25) -
  234. - -
  235. New: Triangulation::add_periodicity allows for accessing neighbors across - periodic boundaries via new functions in TriaAccessor. -
    - (Daniel Arndt, Ali Samii, 2016/03/23) -
  236. - -
  237. New: Added GridGenerator::torus() to generate the volume mesh of a - torus in three dimensions and a manifold description TorusManifold to - go with it. -
    - (Timo Heister, 2016/03/21) -
  238. - -
  239. Fixed: DoFHandler::locally_owned_dofs() could create a segmentation - fault in cases where some processors do not own any cells. This was caused - by an incorrect computation in DoFTools::locally_owned_dofs_per_subdomain(). -
    - (Wolfgang Bangerth, 2016/03/20) -
  240. - -
  241. Improved: The distribution of degrees of freedom on multigrid levels, - DoFHandler::distribute_mg_dofs(), contained a few steps that scaled - quadratically in the number of local cells for certain configurations. These - steps have been replaced by linear complexity calls. -
    - (Martin Kronbichler, 2016/03/18) -
  242. - -
  243. New: Added GridTools::rotate() in three space dimensions. -
    - (Timo Heister, 2016/03/18) -
  244. - -
  245. New: Added custom target "relocate" to Mac OS X builds, that runs - a script to make all paths absolute in the shared libraries included - in the deal.II package (only enabled when building a package, and when - including external libraries to the package) -
    - (Luca Heltai, 2016/03/14) -
  246. - -
  247. New: Added unit tests for complex-valued PETSc and SLEPc. -
    - (Toby D. Young, Denis Davydov, 2016/03/11) -
  248. - -
  249. New: Add NURBSPatchManifold. This class is a child of ChartManifold and - implements a manifold descriptor for the face of a CAD imported usign - OpenCASCADE. -
    - (Mauro Bardelloni, 2016/03/09) -
  250. - -
  251. New: When using C++11, there is now a function Threads::new_task() - that can take as an argument either a lambda function, or the result - of a std::bind expression, or anything else that can be called as in a - function call. There is also a similar function Threads::new_thread() - that takes the same kind of argument. -
    - (Wolfgang Bangerth, 2016/03/07) -
  252. - -
  253. New: Added another scaling factor to Kelly error estimator, namely h_K. -
    - (Denis Davydov, 2016/03/05) -
  254. - -
  255. New: When using C++11, the function filter_iterators() allows to filter a - range of iterators using predicates (like the ones defined in IteratorFilter). -
    - (Bruno Turcksin, 2016/03/04) -
  256. - -
  257. Fixed: The OpenCASCADE::push_forward_and_differential_forms() - function is now able to change the direction of the normal vector - according to Orientation() method. -
    - (Mauro Bardelloni, 2016/03/02) -
  258. - -
  259. Fixed: The function IndexSet::make_trilinos_map() now works if some - processors have a contiguous range of indices and others do not. -
    - (Bruno Turcksin, 2016/02/17) -
  260. - -
  261. Updated: step-44 has been been expressed in a more dimension independent - manner, and can be now run in both 2-d and 3-d. -
    - (Jean-Paul Pelteret, 2016/02/17) -
  262. - -
  263. Fixed: FE_Nedelec elements up to polynomial order 12 can now be - constructed. -
    - (Jean-Paul Pelteret, 2016/02/12) -
  264. - -
  265. Fixed: The GridTools::build_triangulation_from_patches() function now - also copies the locations of vertices from the cells of the source - triangulation to the triangulation that is built from the list of patch cells. -
    - (Spencer Patty, 2016/02/11) -
  266. -
- -*/ -- 2.39.5