From: Daniel Arndt Date: Fri, 18 Nov 2016 17:21:24 +0000 (+0100) Subject: Automatically recreate changes.h X-Git-Tag: v8.5.0-rc1~330^2~5 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=295d738c5c8b1c2c09a4c0c04b5a89604ef8f9d1;p=dealii.git Automatically recreate changes.h --- diff --git a/doc/news/changes.h b/doc/news/changes.h deleted file mode 100644 index 3fe38893dc..0000000000 --- a/doc/news/changes.h +++ /dev/null @@ -1,1315 +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. 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) -
  2. - -
  3. 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) -
  4. - -
  5. Deprecated: MGCoarseGridLACIteration got deprecated in favor of - MGCoarseGridIterativeSolver. -
    - (Timo Heister, 2016/09/14) -
  6. - -
  7. 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) -
  8. - -
  9. 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) -
  10. - -
  11. Removed: Deprecated classes CompressedSparsityPattern, - CompressedSimpleSparsityPattern, CompressedSetSparsityPattern, and their - block variants got removed. -
    - (Timo Heister, 2016/08/13) -
  12. - -
  13. 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) -
  14. - -
  15. 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) -
  16. - -
  17. 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) -
  18. - -
  19. 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) -
  20. - -
  21. 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) -
  22. - -
  23. 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) -
  24. - -
  25. 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) -
  26. - -
  27. 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) -
  28. - -
  29. 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) -
  30. - -
  31. Removed: Support for the legacy Make.global_options - file has been removed. -
    - (Matthias Maier, 2016/03/17) -
  32. - -
  33. 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) -
  34. - -
  35. Changed: Many functions in VectorTools and MatrixTools now require - matching data types between vectors, matrices, and Function arguments. -
    - (Denis Davydov, 2016/02/27) -
  36. - -
  37. 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) -
  38. -
- - - - - -

General

- -
    -
  1. 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) -
  2. - -
  3. - 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) -
  4. - -
  5. 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 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) -
  6. - -
  7. 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) -
  8. - -
  9. Improved: deal.II now bundles a subset of BOOST 1.62 instead of a subset - of BOOST 1.56. -
    - (David Wells, 2016/10/20) -
  10. - -
  11. 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) -
  12. - -
  13. 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) -
  14. - -
  15. 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) -
  16. - -
  17. 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) -
  18. - -
  19. 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) -
  20. - -
  21. - 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) -
  22. - -
  23. - 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) -
  24. - -
  25. 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) -
  26. - -
  27. 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) -
  28. - -
  29. 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) -
  30. - -
  31. 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) -
  32. - -
  33. 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) -
  34. - -
  35. New: The tutorial step-55 shows how to solve the Stokes system - in parallel with PETSc or Trilinos. -
    - (Timo Heister, 2016/06/17) -
  36. - -
  37. New: The tutorial step-56 demonstrates Geometric Multigrid for the - Stokes equations. -
    - (Ryan Grove, Timo Heister, 2016/06/01) -
  38. - -
  39. 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) -
  40. - -
  41. 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) -
  42. - -
  43. New: Added an interface to the GNU Scientific Library. Also introduce a - cubic spline interpolation function Functions::CSpline. -
    - (Denis Davydov, 2016/04/28) -
  44. - -
  45. New: Added move operations to BlockIndices, BlockVectorBase and - BlockVector; Vector move operations nullify old object instead of - using swap. -
    - (Daniel Shapero, 2016/04/13) -
  46. - -
  47. 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) -
  48. - -
  49. 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) -
  50. - -
  51. 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) -
  52. -
- - - - - -

Specific improvements

- -
    -
  1. 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) -
  2. - -
  3. Fixed: Objects of type TrilinosWrappers::SparsityPattern::const_iterator - were entirely unusable due to a bug. This is now fixed. -
    - (Wolfgang Bangerth, 2016/11/15) -
  4. - -
  5. 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) -
  6. - -
  7. 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) -
  8. - -
  9. New: Add MatrixFreeOperators::LaplaceOperator representing a Laplace matrix. -
    - (Denis Davydov, 2016/10/30) -
  10. - -
  11. New: Add VectorTools::project() to do L2 projection - of scalar-valued quadrature point data in parallel. -
    - (Denis Davydov, 2016/10/28) -
  12. - -
  13. Fixed: Increased precision of timesteps in DataOutInterface::write_pvd_record(). -
    - (Rajat Arora, 2016/10/29) -
  14. - -
  15. New: Add MatrixFreeOperators::MassOperator representing a mass matrix. -
    - (Daniel Arndt, 2016/10/27) -
  16. - -
  17. 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) -
  18. - -
  19. 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) -
  20. - -
  21. >New: VectorTools::create_right_hand_side can be used for parallel - Triangulations and homogeneous constraints using a ConstraintMatrix. -
    - (Daniel Arndt, 2016/10/25) -
  22. - -
  23. 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) -
  24. - - -
  25. New: Add ArpackSolver::set_shift() to set the shift value in spectral - transformation. -
    - (Denis Davydov, 2016/10/25) -
  26. - -
  27. New: PreconditionChebyshev now offers a PreconditionChebyshev::step() - and PreconditionChebyshev::Tstep() methods for usage in relaxation smoothers. -
    - (Martin Kronbichler, 2016/10/21) -
  28. - -
  29. 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) -
  30. - -
  31. New: Add a base class for matrix-free operators MatrixFreeOperators::Base. -
    - (Denis Davydov, 2016/10/16) -
  32. - -
  33. 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) -
  34. - -
  35. Fixed: GridGenerator::hyper_cube_slit() with colorized set to - true is now working correctly. -
    - (Timo Heister, 2016/10/04) -
  36. - -
  37. Fixed: SphericalManifold now behaves correctly also when R>>1 - and the center is not the origin. -
    - (Luca Heltai, 2016/10/01) -
  38. - -
  39. New: FETools::extrapolate allows for using the - extrapolate algorithm on parallel::distributed::Triangulations. -
    - (Daniel Arndt, Martin Steigemann, 2016/09/28) -
  40. - -
  41. Improved: Some parts of mesh refinement are now parallelized. -
    - (Wolfgang Bangerth, 2016/09/27) -
  42. - -
  43. 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) -
  44. - -
  45. 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) -
  46. - -
  47. Fixed: EmbeddedRungeKutta methods now correctly increase delta_t_guess - when the error is below coarsen_tol. -
    - (Vaibhav Palkar, Bruno Turcksin, 2016/09/16) -
  48. - -
  49. Fixed: TrilinosWrappers::MPI::Vector::locally_owned_elements() - now returns the correct IndexSet also if initialized with two - IndexSets. -
    - (Daniel Arndt, 2016/09/16) -
  50. - -
  51. 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) -
  52. - -
  53. Fixed: The Multigrid W-cycle and F-cycle have been fixed (for uniform - grids). -
    - (Martin Kronbichler, 2016/09/16) -
  54. - -
  55. New: LinearAlgebra::Vector is now instantiated for float and double. -
    - (Bruno Turcksin, 2016/09/15) -
  56. - -
  57. New: The class MGCoarseGridIterativeSolver is replacing - MGCoarseGridLACIteration with a simpler interface. -
    - (Timo Heister, 2016/09/14) -
  58. - -
  59. 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) -
  60. - -
  61. 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) -
  62. - -
  63. 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) -
  64. - -
  65. 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) -
  66. - -
  67. 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) -
  68. - -
  69. Fixed: FE_TraceQ now provides unit support points. -
    - (Martin Kronbichler, 2016/09/08) -
  70. - -
  71. 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) -
  72. - -
  73. Fixed: The build system now uses -fPIC instead of -fpic -
    - (Matthias Maier, 2016/08/31) -
  74. - -
  75. 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) -
  76. - -
  77. 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) -
  78. - -
  79. 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) -
  80. - -
  81. 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) -
  82. - -
  83. New: Rank-4 symmetric tensors of type SymmetricTensor can now - be converted to rank-4 tensors of type Tensor. -
    - (Wolfgang Bangerth, 2016/08/11) -
  84. - -
  85. New: Implement MGCoarseGridApplySmoother class to do a few steps of a - smoother at the coarsest level. -
    - (Denis Davydov, 2016/08/09) -
  86. - -
  87. New: PreconditionMG can now be used as a LinearOperator. -
    - (Denis Davydov, 2016/08/09) -
  88. - -
  89. New: RelaxationBlock classes for geometric multigrid now support parallel - computations using Trilinos. -
    - (Timo Heister, Guido Kanschat, 2016/08/08) -
  90. - -
  91. - 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) -
  92. - -
  93. 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) -
  94. - -
  95. New: Introduce operators for residuals and interior penalty terms for - the Grad-Div operator in LocalIntegrators::GradDiv. -
    - (Timo Heister, Guido Kanschat, 2016/08/02) -
  96. - -
  97. Improved: DoFTools::make_cell_patches() can create block lists - only extending over local cells of distributed triangulations. -
    - (Guido Kanschat, 2016/08/02) -
  98. - -
  99. Fixed: (P)ARPACK interface for non-symmetric matrices. -
    - (Joscha Gedicke, 2016/08/01) -
  100. - -
  101. 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) -
  102. - -
  103. 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) -
  104. - -
  105. 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) -
  106. - -
  107. 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) -
  108. - -
  109. - 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) -
  110. - -
  111. - Improved: VectorTools::interpolate() now takes a ComponentMask to select the - components to interpolate. -
    - (Jonathan Robey, 2016/07/21) -
  112. - -
  113. Improved: Split out pattern descriptions for LaTeX and Description - ParameterHandler OutputStyles, and add better description text. -
    - (Jonathan Robey, 2016/07/21) -
  114. - -
  115. Improved: Allow for including dofs for individual components on - boundary in DoFTools::make_vertex_patches(). -
    - (Ryan Grove, Daniel Arndt, 2016/07/21) -
  116. - -
  117. 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) -
  118. - -
  119. 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) -
  120. - -
  121. 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) -
  122. - -
  123. 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) -
  124. - -
  125. 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) -
  126. - -
  127. Fixed: Allow to use FETools::get_fe_by_name for all - availabale FiniteElements. -
    - (Daniel Arndt, 2016/07/10) -
  128. - -
  129. Fixed: SymmetricTensor::access_raw_entry() erroneously produced - an indexing error for rank-4 symmetric tensors. This is now fixed. -
    - (Wolfgang Bangerth, 2016/07/08) -
  130. - -
  131. Fixed: SymmetricTensor::norm() did not work correctly for complex - underlying scalar types. This is now fixed. -
    - (Wolfgang Bangerth, 2016/07/08) -
  132. - -
  133. New: There is now a function DerivativeForm::norm(). -
    - (Wolfgang Bangerth, 2016/07/08) -
  134. - -
  135. New: A move constructor has been added to Triangulation. -
    - (Daniel Shapero, 2016/07/07) -
  136. - -
  137. 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) -
  138. - -
  139. 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) -
  140. - -
  141. 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) -
  142. - -
  143. 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) -
  144. - -
  145. New: GnuplotFlags now supports user specified space dimension labels - through a member variable. -
    - (David Wells, 2016/06/24) -
  146. - -
  147. 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) -
  148. - -
  149. 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) -
  150. - -
  151. 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) -
  152. - -
  153. 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) -
  154. - -
  155. 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) -
  156. - -
  157. 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) -
  158. - -
  159. Fixed: Fix a bug where the SparsityPattern could not have more than 4 - billions entries when using 32bit indices. -
    - (Bruno Turcksin, 2016/05/22) -
  160. - -
  161. 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) -
  162. - -
  163. New: Added PArpackSolver::reinit() when dealing with BlockVectors. -
    - (Alberto Sartori, 2016/05/19) -
  164. - -
  165. 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) -
  166. - -
  167. 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) -
  168. - -
  169. 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) -
  170. - -
  171. 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) -
  172. - -
  173. 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) -
  174. - -
  175. 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) -
  176. - -
  177. 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) -
  178. - -
  179. 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) -
  180. - -
  181. 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) -
  182. - -
  183. 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) -
  184. - -
  185. 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) -
  186. - -
  187. New: Added move operations to IndexSet. -
    - (Daniel Shapero, 2016/04/19) -
  188. - -
  189. Improved: MeshWorker treats periodic faces as interior faces. -
    - (Daniel Arndt, 2016/04/18) -
  190. - -
  191. 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) -
  192. - -
  193. New: added ReinitHelper for PETSc. This is required by LinearOperator - class to reinit vectors. -
    - (Mauro Bardelloni, 2016/04/13) -
  194. - -
  195. 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) -
  196. - -
  197. 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) -
  198. - -
  199. 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) -
  200. - -
  201. 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) -
  202. - -
  203. 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) -
  204. - -
  205. 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) -
  206. - -
  207. Fixed: Meshworker::Assembler::ResidualSimple now also works for - multiple blocks if no constraints are given. -
    - (Daniel Arndt, 2016/04/08) -
  208. - -
  209. New: A move constructor has been added to Quadrature. -
    - (Daniel Shapero, 2016/04/08) -
  210. - -
  211. 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) -
  212. - -
  213. 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) -
  214. - -
  215. 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) -
  216. - -
  217. 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) -
  218. - -
  219. New: Triangulation::add_periodicity allows for accessing neighbors across - periodic boundaries via new functions in TriaAccessor. -
    - (Daniel Arndt, Ali Samii, 2016/03/23) -
  220. - -
  221. 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) -
  222. - -
  223. 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) -
  224. - -
  225. 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) -
  226. - -
  227. New: Added GridTools::rotate() in three space dimensions. -
    - (Timo Heister, 2016/03/18) -
  228. - -
  229. 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) -
  230. - -
  231. New: Added unit tests for complex-valued PETSc and SLEPc. -
    - (Toby D. Young, Denis Davydov, 2016/03/11) -
  232. - -
  233. 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) -
  234. - -
  235. 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) -
  236. - -
  237. New: Added another scaling factor to Kelly error estimator, namely h_K. -
    - (Denis Davydov, 2016/03/05) -
  238. - -
  239. 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) -
  240. - -
  241. 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) -
  242. - -
  243. 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) -
  244. - -
  245. 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) -
  246. - -
  247. Fixed: FE_Nedelec elements up to polynomial order 12 can now be - constructed. -
    - (Jean-Paul Pelteret, 2016/02/12) -
  248. - -
  249. 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) -
  250. -
- -*/ diff --git a/doc/news/create_changes_h.sh b/doc/news/create_changes_h.sh new file mode 100755 index 0000000000..a2dc65ab0f --- /dev/null +++ b/doc/news/create_changes_h.sh @@ -0,0 +1,89 @@ +#!/bin/bash +## --------------------------------------------------------------------- +## +## Copyright (C) 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. +## +## --------------------------------------------------------------------- + +# +# This script creates changes.h from the contributions in the subfolders +# of ./doc/news. +# +# The script needs to be executed as +# ./create_changes_h.sh +# from ./doc_news. + + + +if test ! -d incompatibilities -o ! -d general -o ! -d specific ; then + echo "*** This script must be run from ./doc/news!" + exit 1 +fi + +echo INCOMPATIBILITIES +cat header_incompatibilities > changes.h +echo "
    " >> changes.h +ARRAY=($(ls incompatibilities | sort -r)) +if ! [ -z "$ARRAY" ]; then + echo -n "
  1. " >> changes.h + sed 's/^/ /' incompatibilities/${ARRAY[0]} >> changes.h + echo "
  2. " >> changes.h + unset ARRAY[0] + + for f in ${ARRAY[@]}; do + echo "" >> changes.h + echo -n "
  3. " >> changes.h + sed 's/^/ /' incompatibilities/$f >> changes.h + echo "
  4. " >> changes.h + done +fi +echo "
" >> changes.h + +echo GENERAL +cat header_general >> changes.h +echo "
    " >> changes.h +ARRAY=($(ls general | sort -r)) +if ! [ -z $ARRAY ]; then + echo -n "
  1. " >> changes.h + sed 's/^/ /' general/${ARRAY[0]} >> changes.h + echo "
  2. " >> changes.h + unset ARRAY[0] + + for f in ${ARRAY[@]}; do + echo "" >> changes.h + echo -n "
  3. " >> changes.h + sed 's/^/ /' general/$f >> changes.h + echo "
  4. " >> changes.h + done +fi +echo "
" >> changes.h + +echo SPECIFIC +cat header_specific >> changes.h +echo "
    " >> changes.h +ARRAY=($(ls specific | sort -r)) +if ! [ -z $ARRAY ]; then + echo -n "
  1. " >> changes.h + sed 's/^/ /' specific/${ARRAY[0]} >> changes.h + echo "
  2. " >> changes.h + unset ARRAY[0] + + for f in ${ARRAY[@]}; do + echo "" >> changes.h + echo -n "
  3. " >> changes.h + sed 's/^/ /' specific/$f >> changes.h + echo "
  4. " >> changes.h + done +fi +echo "
" >> changes.h + +cat footer >> changes.h diff --git a/doc/news/footer b/doc/news/footer new file mode 100644 index 0000000000..d7365df165 --- /dev/null +++ b/doc/news/footer @@ -0,0 +1,2 @@ + +*/ diff --git a/doc/news/general/.dummy b/doc/news/general/.dummy new file mode 100644 index 0000000000..e69de29bb2 diff --git a/doc/news/header_general b/doc/news/header_general new file mode 100644 index 0000000000..1abe12c673 --- /dev/null +++ b/doc/news/header_general @@ -0,0 +1,7 @@ + + + + + +

General

+ diff --git a/doc/news/header_incompatibilities b/doc/news/header_incompatibilities new file mode 100644 index 0000000000..c2f3305453 --- /dev/null +++ b/doc/news/header_incompatibilities @@ -0,0 +1,39 @@ +// --------------------------------------------------------------------- +// +// 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. +

+ diff --git a/doc/news/header_specific b/doc/news/header_specific new file mode 100644 index 0000000000..34fc65bf86 --- /dev/null +++ b/doc/news/header_specific @@ -0,0 +1,7 @@ + + + + + +

Specific improvements

+ diff --git a/doc/news/incompatibilities/.dummy b/doc/news/incompatibilities/.dummy new file mode 100644 index 0000000000..e69de29bb2 diff --git a/doc/news/specific/.dummy b/doc/news/specific/.dummy new file mode 100644 index 0000000000..e69de29bb2 diff --git a/doc/news/specific/20161118DanielArndt b/doc/news/specific/20161118DanielArndt new file mode 100644 index 0000000000..a9c905b42d --- /dev/null +++ b/doc/news/specific/20161118DanielArndt @@ -0,0 +1,4 @@ +New: Automatically recreate changes.h from files in +subfolders of./doc/news +
+(Daniel Arndt, 2016/11/18) diff --git a/doc/news/split_changes_h.sh b/doc/news/split_changes_h.sh new file mode 100755 index 0000000000..24b52d8734 --- /dev/null +++ b/doc/news/split_changes_h.sh @@ -0,0 +1,65 @@ +#!/bin/bash +## --------------------------------------------------------------------- +## +## Copyright (C) 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. +## +## --------------------------------------------------------------------- + +# +# This script splits the previously used into contributions in the folders: +# incompatibilities/ general/ specific/ +# The resulting files can be used in ./create_changes_h.sh to create +# changes.h anew. +# +# The script needs to be executed as +# ./split_changes_h.sh +# from ./doc_news. + +if test ! -d incompatibilities -o ! -d specific -o ! -d general ; then + echo "*** This script must be run from ./doc/news!" + exit 1 +fi + + +csplit --silent changes.h '/^
    \|<\/ol>$/' '{*}' + +for f in `ls xx*`; do + #remove HTML list tags + #sed -i'' '/
      \|<\/ol>/!p' $f + sed -i'' '/
        \|<\/ol>/d' $f +done + +mv xx00 header_incompatibilities +mv xx01 incompatibilities/summary +mv xx02 header_general +mv xx03 general/summary +mv xx04 header_specific +mv xx05 specific/summary +mv xx06 footer + +echo INCOMPATIBILITIES +cd incompatibilities +csplit --silent summary '/^
      1. \|<\/li>$/' '{*}' +../split_summary.sh +cd .. + +echo GENERAL +cd general +csplit --silent summary '/^
      2. \|<\/li>$/' '{*}' +../split_summary.sh +cd .. + +echo SPECIFIC +cd specific +csplit --silent summary '/^
      3. \|<\/li>$/' '{*}' +../split_summary.sh +cd .. diff --git a/doc/news/split_summary.sh b/doc/news/split_summary.sh new file mode 100755 index 0000000000..f55eb5882a --- /dev/null +++ b/doc/news/split_summary.sh @@ -0,0 +1,56 @@ +#!/bin/bash +## --------------------------------------------------------------------- +## +## Copyright (C) 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. +## +## --------------------------------------------------------------------- + +# +# This script is used in ./split_changes_h.sh to split entries +# in the respective into small files. +# +# The script needs to be executed as +# ../split_summary.sh +# from one of the subfolders of doc/news that contains a 'summary' file +# created by ./split_changes.h. +# + +if test ! -f summary ; then + echo "*** No 'summary' file found!" + exit 1 +fi + + +rm summary +for f in `ls xx*`; do + #remove HTML list tags + sed -i'' 's/
      4. \|<\/li>\|
          \|<\/ol>//g' $f + #remove trailing whitespace + sed -i'' 's/^[ \t]*//' $f + #remove empty lines + sed -i'' '/^\s*$/d' $f + #only consider non-empty files + if [[ -s $f ]] ; then + cat $f > tmp + DATE=`sed -n -r 's/^.*([0-9]{4})\/([0-1][0-9])\/([0-3][0-9]).*$/\1\2\3/p' $f` + TMP=`tail $f | sed -n -r 's/.*\(([A-Za-z0-9, ]*).*[0-9]{4}\/[0-1][0-9]\/([0-3][0-9])\).*/\1/p'` + NAME=`echo $TMP | sed -r 's/[ ,]+//g'` + OLDNAME=$NAME + COUNTER=0 + while [[ -s ${DATE}${NAME} ]] ; do + COUNTER=$((COUNTER+1)) + NAME="${OLDNAME}_${COUNTER}" + done + mv tmp ${DATE}${NAME} + fi + rm $f +done