From: Wolfgang Bangerth Date: Thu, 23 Mar 2017 15:56:54 +0000 (-0600) Subject: Update the changelog file for the release. X-Git-Tag: v8.5.0-rc1~12^2~2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4219efdbb982892fa7ddec26031afceb93341880;p=dealii.git Update the changelog file for the release. --- diff --git a/doc/news/8.4.2-vs-8.5.0.h b/doc/news/8.4.2-vs-8.5.0.h new file mode 100644 index 0000000000..16af22af07 --- /dev/null +++ b/doc/news/8.4.2-vs-8.5.0.h @@ -0,0 +1,2119 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2017 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + +/** +@page changes_between_8_4_2_and_8_5_0 Changes between Version 8.4.2 and 8.5.0 + +

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

+ + + + + + +

Incompatibilities

+ +

+Following are a few modifications to the library that unfortunately +are incompatible with previous versions of the library, but which we +deem necessary for the future maintainability of the +library. Unfortunately, some of these changes will require +modifications to application programs. We apologize for the +inconvenience this causes. +

+ +
    + +
  1. + Changed: LAPACKFullMatrix::print_formatted is only allowed + if the state is 'matrix' or 'inverse_matrix'. +
    + (Daniel Arndt, 2017/03/18) +
  2. + +
  3. + Changed: The template arguments to the + DerivativeApproximation::approximate_derivative_tensor() function have + been modified. It is no longer necessary to explicitly specify the + dim and spacedim arguments as they are determined from + the input DoFHandler. +
    + (Jean-Paul Pelteret, 2017/02/16) +
  4. + +
  5. + Changed: PETScWrappers::VectorBase::operator= is now both private and + undefined. This operator was formerly implicitly defined (i.e., it did a + byte-for-byte copy of VectorBase's members), which provided, almost certainly, + the wrong behavior since the underlying Vec (the managed PETSc + object) would then be destroyed twice. Since both inheriting classes + (PETScWrappers::Vector and PETScWrappers::MPI::Vector) define their own + operator= overloads this operator is also not necessary. +
    + (David Wells, 2017/02/11) +
  6. + +
  7. + Fixed: The MappingQGeneric class (which is a base class of MappingQ) + sometimes set the update_JxW_values flag internally, even though this + was not necessary. This resulted in doing more work than was actually + necessary, and this has been rectified. On the other hand, this change + means that in some circumstances, codes may not have explicitly + told an FEValues or FEFaceValues object that they actually need the + JxW values, but could access them anyway without getting an + error. This will now yield an error that is easily fixed by + explicitly listing update_JxW_values as a required flag where you + create the FEValues object. +
    + (Wolfgang Bangerth, 2017/01/16) +
  8. + +
  9. + Changed: The class FE_DGQ used to provide a protected constructor taking a + one-dimensional Quadrature argument. This has been changed in favor of a + constructor taking a vector of polynomials. To use the old constructor, you + can create a vector of polynomials by replacing the argument + quadrature_1d by + Polynomials::generate_complete_Lagrange_basis(quadrature_1d.get_points()). In + addition, the class FE_DGQArbitraryNodes that defines the public interface + taking a one-dimensional quadrature formula is unchanged, so only user codes + that derive directly from FE_DGQ should be affected. +
    + (Martin Kronbichler, 2017/01/11) +
  10. + +
  11. + 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) +
  12. + +
  13. + 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) +
  14. + +
  15. + 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) +
  16. + +
  17. + Deprecated: MGCoarseGridLACIteration got deprecated in favor of + MGCoarseGridIterativeSolver. +
    + (Timo Heister, 2016/09/14) +
  18. + +
  19. + 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) +
  20. + +
  21. + 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) +
  22. + +
  23. + Removed: Deprecated classes CompressedSparsityPattern, + CompressedSimpleSparsityPattern, CompressedSetSparsityPattern, and their + block variants got removed. +
    + (Timo Heister, 2016/08/13) +
  24. + +
  25. + 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) +
  26. + +
  27. + 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) +
  28. + +
  29. + 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) +
  30. + +
  31. + 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) +
  32. + +
  33. + 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!=, is_non_negative, and + norm_sqr have been removed from the new interface. For the latter, + there exists a simple workaround as it simply corresponds to the square of + l2_norm. +
    + (Martin Kronbichler, 2016/06/15) +
  34. + +
  35. + 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) +
  36. + +
  37. + 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) +
  38. + +
  39. + 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) +
  40. + +
  41. + 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) +
  42. + +
  43. + Removed: Support for the legacy Make.global_options + file has been removed. +
    + (Matthias Maier, 2016/03/17) +
  44. + +
  45. + 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) +
  46. + +
  47. + Changed: Many functions in VectorTools and MatrixTools now require + matching data types between vectors, matrices, and Function arguments. +
    + (Denis Davydov, 2016/02/27) +
  48. + +
  49. + 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) +
  50. + +
+ + + + + +

General

+ +
    + +
  1. + New: The new code gallery example, "Quasi-Static Finite-Strain + Quasi-incompressible Visco-elasticity", demonstrates the parallel solution of + a near incompressible rate-dependent elastomeric strip. +
    + (Jean-Paul Pelteret, 2017/02/24) +
  2. + +
  3. + New: The tutorial step-57 shows how to solve the stationary Navier-Stokes + equations using Newton's method. +
    + (Liang Zhao, Timo Heister, 2017/01/17) +
  4. + +
  5. + New: A LinearOperator Payload class supporting Trilinos sparse matrices and + preconditioners has been developed. LinearOperator's, and their associated + functionality, have thus been extended so that they can now be used with + Trilinos algebra types. +
    + (Jean-Paul Pelteret, Matthias Maier, 2017/01/04) +
  6. + +
  7. + 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) +
  8. + +
  9. + 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) +
  10. + +
  11. + 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) +
  12. + +
  13. + 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) +
  14. + +
  15. + 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) +
  16. + +
  17. + 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) +
  18. + +
  19. + 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. +
    + As an example of what is possible, the + DataPostprocessorInputs classes that are now handed to the evaluation + functions contain a way to access the cell that is currently being + evaluated. +
    + (Wolfgang Bangerth, 2016/10/31-2016/12/21) +
  20. + +
  21. + 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) +
  22. + +
  23. + Improved: deal.II now bundles a subset of BOOST 1.62 instead of a subset + of BOOST 1.56. +
    + (David Wells, 2016/10/20) +
  24. + +
  25. + 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) +
  26. + +
  27. + 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) +
  28. + +
  29. + New: The Tensor class has two new functions implemented, namely those + that return its Tensor::adjugate() and Tensor::cofactor(). +
    + (Jean-Paul Pelteret, 2016/09/25) +
  30. + +
  31. + 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) +
  32. + +
  33. + 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) +
  34. + +
  35. + 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) +
  36. + +
  37. + 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) +
  38. + +
  39. + 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) +
  40. + +
  41. + 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) +
  42. + +
  43. + 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) +
  44. + +
  45. + 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) +
  46. + +
  47. + 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) +
  48. + +
  49. + 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) +
  50. + +
  51. + New: The tutorial step-55 shows how to solve the Stokes system + in parallel with PETSc or Trilinos. +
    + (Timo Heister, 2016/06/17) +
  52. + +
  53. + New: The tutorial step-56 demonstrates Geometric Multigrid for the + Stokes equations. +
    + (Ryan Grove, Timo Heister, 2016/06/01) +
  54. + +
  55. + 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) +
  56. + +
  57. + 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) +
  58. + +
  59. + New: Added an interface to the GNU Scientific Library. Also introduce a + cubic spline interpolation function Functions::CSpline. +
    + (Denis Davydov, 2016/04/28) +
  60. + +
  61. + New: Added move operations to BlockIndices, BlockVectorBase and + BlockVector; Vector move operations nullify old object instead of + using swap. +
    + (Daniel Shapero, 2016/04/13) +
  62. + +
  63. + 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) +
  64. + +
  65. + 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) +
  66. + +
  67. + 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) +
  68. + +
+ + + + + +

Specific improvements

+ +
    + +
  1. + Fixed: Configuration and compilation with opencascade 7 +
    + (Matthias Maier, 2017/03/21) +
  2. + +
  3. + Fixed: FEFieldFunction now correctly throws ExcPointNotAvailableHere if used in parallel with points not available locally. +
    + (Timo Heister, 2017/03/18) +
  4. + +
  5. + New: The Manifold class and derived classes now provide a function + Manifold::add_new_points that allows to compute multiple new points according + to a matrix of weights that are appended to the last argument of the + function. This function is used in MappingQGeneric and can be much more + efficient for ChartManifold because ChartManifold::pull_back() calls are + reused for several interpolation operations. +
    + (Martin Kronbichler, 2017/03/17) +
  6. + +
  7. + Improved: The mechanism for placing the additional points of a MappingQ or + MappingQGeneric between different Manifolds or between an old-style Boundary + class and the interior StraightBoundary has been reworked. In the new + implementation, a smoothing algorithm is invoked that interpolates from the + whole perimeter of a cell's (or a face's) interior in case two or more + manifolds are adjacent to the cell, like a Boundary object and the + StraightBoundary in the interior. If only one manifold is present, the new + points are interpolated from the surrounding vertices only. +
    + (Martin Kronbichler, 2017/03/17) +
  8. + +
  9. + Fixed: By moving a forward declaration of VectorizedArray to a more central + place, it is now possible to use the norm() methods of Tensor, Point or + SymmetricTensor objects of VectorizedArray classes without particular order of + include files. +
    + (Martin Kronbichler, 2017/03/12) +
  10. + +
  11. + Changed: The parallel triangulation classes parallel::shared::Triangulation + and parallel::distributed::Triangulation used to duplicate the MPI + communicator given to the constructor, which could lead to access-after-free + problems in Trilinos data structures based on this communicator that stayed + alive longer than the Triangulation. The new implementation simply uses the + MPI communicator provided by the user and thus avoids these problems. It is + the user's responsibility to make sure MPI_Comm_free is only called when all + data structures initialized with it are deleted. +
    + (Martin Kronbichler, 2017/03/08) +
  12. + +
  13. + Fixed: The CellSimilarity detection was broken on two corner cases involving + complicated elements such as FE_RaviartThomas inside an FESystem and when + preserving an FEValues object using GridTools::transform. These have been + fixed. +
    + (Martin Kronbichler, 2017/03/07) +
  14. + +
  15. + Improved: MatrixFreeOperators::Base also supports block vectors. + Derived operators may act on multiple blocks. +
    + (Daniel Arndt, 2017/03/05) +
  16. + +
  17. + New: Reworked Physics::Elasticity::Kinematics + so that it is usable with vectorization +
    + (Mathias Mentler, 2017/03/01) +
  18. + +
  19. + Fixed: Fixed a bug in IndexSet::index_within_set() for the case when an index + set is empty. +
    + (Denis Davydov, 2017/02/28) +
  20. + +
  21. + Fixed: The function AlignedVector::push_back did not work correctly for + types that do not provide a default constructor. This is now fixed. +
    + (Martin Kronbichler, 2017/02/22) +
  22. + +
  23. + Fixed: The class MGTransferMatrixFree::clear() did not reset all member + variables, sometimes treating Dirichlet boundary conditions incorrectly if a + transfer object was reused. This is now fixed. +
    + (Martin Kronbichler, 2017/02/22) +
  24. + +
  25. + Fixed: The DoFAccessor specialization for structdim == 0 and + dimension == 1 was missing several definitions, which were + required for use of hp::DoFHandler in 1D. These have now been added. +
    + (David Wells, 2017/02/19) +
  26. + +
  27. + Fixed: Fixed a bug in GridTools::laplace_transform() which was previously solving + for the final position field instead of displacement. The two formulations are + not equivalent when a non-constant coefficient is provided, which is commonly + used with displacement formulation. +
    + (Denis Davydov, 2017/02/17) +
  28. + +
  29. + Improved: The class FEEvaluation can now also be used without compile-time + knowledge of the polynomial degree. If the template parameter @p fe_degree is + set to -1, the degree will be deduced from the underlying finite element. Note + that performance is 2-3 times slower, though. +
    + (Martin Kronbichler, 2017/02/16) +
  30. + +
  31. + Fixed: The GridOut::write_mesh_per_processor_as_vtu() function now works for a mesh whose multilevel hierarchy is not distributed, as well as a mesh whose level_subdomain_ids do not necessarily match its subdomain_ids for every active cell. +
    + (Conrad Clevenger, 2017/02/09) +
  32. + +
  33. + Fixed: Patterns::Selection now ignores spaces at the beginning and the end + of the sequence string. +
    + (Rajat Arora, 2017/02/09) +
  34. + +
  35. + Fixed: Trilinos solvers now respect the convergence criterion specified by + ReductionControl. +
    + (Jean-Paul Pelteret, 2017/01/28) +
  36. + +
  37. + New: Implement Functions::Spherical to represent a function given in spherical + coordinates. +
    + (Denis Davydov, 2017/01/28) +
  38. + +
  39. + New: numbers::signaling_nan() can now also be called with Point@ + as argument. +
    + (Wolfgang Bangerth, 2017/01/18) +
  40. + +
  41. + Changed: The function FETools::compute_node_matrix() used to return + its result by reference through its first argument (a reference to a + FullMatrix object). It now returns this matrix as an object. +
    + (Wolfgang Bangerth, 2017/01/16) +
  42. + +
  43. + New: Two ConstraintMatrix objects can be merged even if their + local_lines are not the same. +
    + (Daniel Arndt, 2017/01/13) +
  44. + +
  45. + Fixed: The FE_PolyTensor class (and all of its descendants) was not + thread-safe. This is now fixed. +
    + (Wolfgang Bangerth, 2017/01/09) +
  46. + +
  47. + Fixed: The FE_ABF class reported the maximal polynomial degree (via + FiniteElement::degree) for elements of order $r$ as $r+1$, but this is + wrong. It should be $r+2$ (see Section 5 of the original paper of + Arnold, Boffi, and Falk). This is now fixed. +
    + (Wolfgang Bangerth, 2017/01/13) +
  48. + +
  49. + Fixed: Various issues with the CMake configuration of the cuda + configuration have been addressed, including correct handling of compiler + flags and preprocessor definitions. +
    + (Matthias Maier, 2017/01/12) +
  50. + +
  51. + Improved: The results for step-18 have been updated to reflect the influence of + the recent corrections to the rotation matrix. +
    + (Jean-Paul Pelteret, 2017/01/12) +
  52. + +
  53. + New: There are two new finite elements FE_DGQLegendre and FE_DGQHermite which + are similar to FE_DGQ but use the class Polynomials::Legendre and + Polynomials::HermiteInterpolation as shape functions. +
    + (Martin Kronbichler, 2017/01/11) +
  54. + +
  55. + Fixed: LinearAlgebra::distributed::Vector used persistent MPI communicators + for data exchange, which are not as well-tuned as the usual MPI_Isend and + MPI_Irecv calls on some implementations, including memory leaks on IBM MPI if + the communicators are alive over a longer time. Therefore, the communication + has been changed to non-blocking MPI_Isend and MPI_Irecv calls. +
    + (Martin Kronbichler, 2017/01/11) +
  56. + +
  57. + New: The class VectorizedArray has gained two new access functions, gather and + scatter, that map to more efficient hardware versions on new architectures + (AVX2 or AVX-512). Furthermore, support for AVX-512 has been improved by + providing optimized vectorized_load_and_transpose() and + vectorized_transpose_and_store(). +
    + (Martin Kronbichler, 2017/01/11) +
  58. + +
  59. + New: MatrixFree allows to be asked if a certain FiniteElement is supported. +
    + (Daniel Arndt, 2017/01/11) +
  60. + +
  61. + Fixed: FE_Q::compare_for_face_domination() could not deal with + FE_Nothing if dim != spacedim. +
    + (Wolfgang Bangerth, 2017/01/11) +
  62. + +
  63. + Fixed: FE_Q::compare_for_face_domination() did not know how to deal + with situations where the neighboring cell was an FE_DGQ, even though + the reverse situation worked just fine. This is now fixed. +
    + (Wolfgang Bangerth, 2017/01/11) +
  64. + +
  65. + Improved: The contract3() function has been extended accommodate both Tensor + and SymmetricTensors arguments. +
    + (Jean-Paul Pelteret, Matthias Maier, 2017/01/10) +
  66. + +
  67. + Fixed: A bug in the rotation matrix used in step-18 has now been corrected. + This tutorial now uses the function + Physics::Transformations::Rotations::rotation_matrix_3d to compute the 3d + rotation matrix. +
    + (Jean-Paul Pelteret, Paul Kuberry, 2017/01/09) +
  68. + +
  69. + New: Functions to compute the 2d and 3d rotation matrix have been implemented + and can be found in the Physics::Transformations::Rotations namespace. +
    + (Jean-Paul Pelteret, 2017/01/09) +
  70. + +
  71. + New: LocalIntegrators::Laplace::ip_tangential_matrix() and + LocalIntegrators::Laplace::nitsche_tangential_matrix() implement + interior penalty and Nitsche boundary conditions for vector valued + Poisson problems. +
    + (Guido Kanschat, 2017/01/09) +
  72. + +
  73. + Fixed: Copying objects of type PolynomialsABF would lead to memory + corruption once one of the two copies is destroyed. This is now fixed. +
    + (Wolfgang Bangerth, 2017/01/09) +
  74. + +
  75. + Fixed: PolynomialsABF::compute_n_pols() returned the wrong value in 3d. +
    + (Wolfgang Bangerth, 2017/01/09) +
  76. + +
  77. + Improved: The MPI_Comm used in MatrixFree is not configurable via + AdditionalData anymore but set to the MPI_Comm of the Triangulation. +
    + (Daniel Arndt, 2017/01/08) +
  78. + +
  79. + Fixed: The testsuite now handles paths containing spaces correctly. +
    + (Matthias Maier, 2017/01/06) +
  80. + +
  81. + New: hp::DoFHandler now uses a compressed data structure for its + internal representation of DoF indices. This saves memory. +
    + (Wolfgang Bangerth, 2017/01/06) +
  82. + +
  83. + Fixed: MappingQGeneric, when computing values on a given cell, sometimes reused information computed on a different cell whose faces were curved in a different way. MappingQGeneric now recomputes all values when its order is greater than one (that is, when it can represent curved cells). +
    + (David Wells, 2017/01/05) +
  84. + +
  85. + New: Additional solve() functions have been added to the Trilinos solver + classes, which provide the necessary extension for them to be compatible + with LinearOperators. +
    + (Jean-Paul Pelteret, 2017/01/04) +
  86. + +
  87. + New: The Trilinos preconditioner classes have been extended to be compatible + with LinearOperators. +
    + (Jean-Paul Pelteret, 2017/01/04) +
  88. + +
  89. + New: LinearOperator now derive from an arbitrary Payload class. This allows + their functionality to be extended to support matrix and vector classes + such as the wrappers to PETSc or Trilinos. +
    + (Jean-Paul Pelteret, Matthias Maier, 2017/01/04) +
  90. + +
  91. + Improved: The representation of the two polynomial classes + Polynomials::Legendre and Polynomials::HermiteInterpolation has been changed + to the root form, which ensures stable evaluation at high degrees as opposed + to the coefficient form previously used. +
    + (Martin Kronbichler, 2017/01/03) +
  92. + +
  93. + Fixed: ConstraintMatrix::shift also works if the object + is initialized with an IndexSet object. +
    + (Daniel Arndt, 2017/01/03) +
  94. + +
  95. + New: Modify IndexSet::index_within_set() to return numbers::invalid_dof_index + if the global index is not a member of this index set. +
    + (Denis Davydov, 2016/12/23) +
  96. + +
  97. + Improved: ContraintMatrix::distribute_local_to_global now does a bulk write of + all vector values at once. This improves performance with + PETScWrappers::MPI::Vector by about 10%. +
    + (David Wells, 2016/12/21) +
  98. + +
  99. + Changed: IndexSet::compress() and, by extension, all of the + "const" member functions of the IndexSet class, are now thread-safe. +
    + (Wolfgang Bangerth, 2016/12/20) +
  100. + +
  101. + Changed: IndexSet::nth_index_in_set() can now be called without + calling IndexSet::compress() first. +
    + (Wolfgang Bangerth, 2016/12/19) +
  102. + +
  103. + Fixed: The SymmetricTensor copy constructor that accepted another + SymmetricTensor of a different number type had an error in its internal data + initialization loop range. This bug was only triggered when copying rank-4 + tensors. +
    + (Jean-Paul Pelteret, 2016/12/16) +
  104. + +
  105. + Fixed: The DataOutFaces class did not work with parallel triangulations + if a process had no faces to deal with. +
    + (Justin Kauffman, Wolfgang Bangerth, 2016/12/15) +
  106. + +
  107. + New: The ArrayView class now has a default constructor that creates + an invalid object. +
    + (Wolfgang Bangerth, 2016/12/08) +
  108. + +
  109. + Fixed: ArrayView objects to empty views could not be copied. + This is now fixed. +
    + (Wolfgang Bangerth, 2016/12/07) +
  110. + +
  111. + 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) +
  112. + +
  113. + 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) +
  114. + +
  115. + 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) +
  116. + +
  117. + 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) +
  118. + +
  119. + New: Automatically recreate changes.h from files in + subfolders of ./doc/news +
    + (Daniel Arndt, 2016/11/18) +
  120. + +
  121. + Fixed: Objects of type TrilinosWrappers::SparsityPattern::const_iterator + were entirely unusable due to a bug. This is now fixed. +
    + (Wolfgang Bangerth, 2016/11/15) +
  122. + +
  123. + 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) +
  124. + +
  125. + 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) +
  126. + +
  127. + 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) +
  128. + +
  129. + 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) +
  130. + +
  131. + New: Add MatrixFreeOperators::LaplaceOperator representing a Laplace matrix. +
    + (Denis Davydov, 2016/10/30) +
  132. + +
  133. + New: VectorTools::project can be used for parallel Triangulations in + specific cases. +
    + (Daniel Arndt, 2016/10/30) +
  134. + +
  135. + Fixed: Increased precision of timesteps in DataOutInterface::write_pvd_record(). +
    + (Rajat Arora, 2016/10/29) +
  136. + +
  137. + New: Add VectorTools::project() to do L2 projection + of scalar-valued quadrature point data in parallel. +
    + (Denis Davydov, 2016/10/28) +
  138. + +
  139. + 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) +
  140. + +
  141. + 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) +
  142. + +
  143. + New: Add MatrixFreeOperators::MassOperator representing a mass matrix. +
    + (Daniel Arndt, 2016/10/27) +
  144. + +
  145. + 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) +
  146. + +
  147. + New: Add ArpackSolver::set_shift() to set the shift value in spectral + transformation. +
    + (Denis Davydov, 2016/10/25) +
  148. + +
  149. + New: VectorTools::create_right_hand_side can be used for parallel + Triangulations and homogeneous constraints using a ConstraintMatrix. +
    + (Daniel Arndt, 2016/10/25) +
  150. + +
  151. + New: PreconditionChebyshev now offers a PreconditionChebyshev::step() + and PreconditionChebyshev::Tstep() methods for usage in relaxation smoothers. +
    + (Martin Kronbichler, 2016/10/21) +
  152. + +
  153. + 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) +
  154. + +
  155. + New: Add a base class for matrix-free operators MatrixFreeOperators::Base. +
    + (Denis Davydov, 2016/10/16) +
  156. + +
  157. + 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) +
  158. + +
  159. + Fixed: GridGenerator::hyper_cube_slit() with colorized set to + true is now working correctly. +
    + (Timo Heister, 2016/10/04) +
  160. + +
  161. + Fixed: SphericalManifold now behaves correctly also when R>>1 + and the center is not the origin. +
    + (Luca Heltai, 2016/10/01) +
  162. + +
  163. + New: FETools::extrapolate allows for using the + extrapolate algorithm on parallel::distributed::Triangulations. +
    + (Daniel Arndt, Martin Steigemann, 2016/09/28) +
  164. + +
  165. + Improved: Some parts of mesh refinement are now parallelized. +
    + (Wolfgang Bangerth, 2016/09/27) +
  166. + +
  167. + 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) +
  168. + +
  169. + Fixed: EmbeddedRungeKutta methods now correctly increase delta_t_guess + when the error is below coarsen_tol. +
    + (Vaibhav Palkar, Bruno Turcksin, 2016/09/16) +
  170. + +
  171. + 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) +
  172. + +
  173. + Fixed: The Multigrid W-cycle and F-cycle have been fixed (for uniform + grids). +
    + (Martin Kronbichler, 2016/09/16) +
  174. + +
  175. + 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) +
  176. + +
  177. + Fixed: TrilinosWrappers::MPI::Vector::locally_owned_elements() + now returns the correct IndexSet also if initialized with two + IndexSets. +
    + (Daniel Arndt, 2016/09/16) +
  178. + +
  179. + New: LinearAlgebra::Vector is now instantiated for float and double. +
    + (Bruno Turcksin, 2016/09/15) +
  180. + +
  181. + New: The class MGCoarseGridIterativeSolver is replacing + MGCoarseGridLACIteration with a simpler interface. +
    + (Timo Heister, 2016/09/14) +
  182. + +
  183. + 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) +
  184. + +
  185. + 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) +
  186. + +
  187. + 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) +
  188. + +
  189. + 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) +
  190. + +
  191. + 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) +
  192. + +
  193. + Fixed: FE_TraceQ now provides unit support points. +
    + (Martin Kronbichler, 2016/09/08) +
  194. + +
  195. + 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) +
  196. + +
  197. + Fixed: The build system now uses -fPIC instead of -fpic +
    + (Matthias Maier, 2016/08/31) +
  198. + +
  199. + 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) +
  200. + +
  201. + 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) +
  202. + +
  203. + 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) +
  204. + +
  205. + 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) +
  206. + +
  207. + New: Rank-4 symmetric tensors of type SymmetricTensor can now + be converted to rank-4 tensors of type Tensor. +
    + (Wolfgang Bangerth, 2016/08/11) +
  208. + +
  209. + New: PreconditionMG can now be used as a LinearOperator. +
    + (Denis Davydov, 2016/08/09) +
  210. + +
  211. + New: Implement MGCoarseGridApplySmoother class to do a few steps of a + smoother at the coarsest level. +
    + (Denis Davydov, 2016/08/09) +
  212. + +
  213. + New: RelaxationBlock classes for geometric multigrid now support parallel + computations using Trilinos. +
    + (Timo Heister, Guido Kanschat, 2016/08/08) +
  214. + +
  215. + 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) +
  216. + +
  217. + New: Introduce operators for residuals and interior penalty terms for + the Grad-Div operator in LocalIntegrators::GradDiv. +
    + (Timo Heister, Guido Kanschat, 2016/08/02) +
  218. + +
  219. + Improved: DoFTools::make_cell_patches() can create block lists + only extending over local cells of distributed triangulations. +
    + (Guido Kanschat, 2016/08/02) +
  220. + +
  221. + 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) +
  222. + +
  223. + Fixed: (P)ARPACK interface for non-symmetric matrices. +
    + (Joscha Gedicke, 2016/08/01) +
  224. + +
  225. + 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) +
  226. + +
  227. + 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) +
  228. + +
  229. + 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) +
  230. + +
  231. + 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) +
  232. + +
  233. + 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) +
  234. + +
  235. + Improved: Allow for including dofs for individual components on + boundary in DoFTools::make_vertex_patches(). +
    + (Ryan Grove, Daniel Arndt, 2016/07/21) +
  236. + +
  237. + Improved: Split out pattern descriptions for LaTeX and Description + ParameterHandler OutputStyles, and add better description text. +
    + (Jonathan Robey, 2016/07/21) +
  238. + +
  239. + Improved: VectorTools::interpolate() now takes a ComponentMask to select the + components to interpolate. +
    + (Jonathan Robey, 2016/07/21) +
  240. + +
  241. + 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) +
  242. + +
  243. + 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) +
  244. + +
  245. + 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) +
  246. + +
  247. + 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) +
  248. + +
  249. + 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) +
  250. + +
  251. + Fixed: Allow to use FETools::get_fe_by_name for all + availabale FiniteElements. +
    + (Daniel Arndt, 2016/07/10) +
  252. + +
  253. + New: There is now a function DerivativeForm::norm(). +
    + (Wolfgang Bangerth, 2016/07/08) +
  254. + +
  255. + Fixed: SymmetricTensor::norm() did not work correctly for complex + underlying scalar types. This is now fixed. +
    + (Wolfgang Bangerth, 2016/07/08) +
  256. + +
  257. + Fixed: SymmetricTensor::access_raw_entry() erroneously produced + an indexing error for rank-4 symmetric tensors. This is now fixed. +
    + (Wolfgang Bangerth, 2016/07/08) +
  258. + +
  259. + New: A move constructor has been added to Triangulation. +
    + (Daniel Shapero, 2016/07/07) +
  260. + +
  261. + 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) +
  262. + +
  263. + 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) +
  264. + +
  265. + 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) +
  266. + +
  267. + 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) +
  268. + +
  269. + New: GnuplotFlags now supports user specified space dimension labels + through a member variable. +
    + (David Wells, 2016/06/24) +
  270. + +
  271. + 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) +
  272. + +
  273. + 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) +
  274. + +
  275. + 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) +
  276. + +
  277. + 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) +
  278. + +
  279. + 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) +
  280. + +
  281. + 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) +
  282. + +
  283. + Fixed: Fix a bug where the SparsityPattern could not have more than 4 + billions entries when using 32bit indices. +
    + (Bruno Turcksin, 2016/05/22) +
  284. + +
  285. + 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) +
  286. + +
  287. + New: Added PArpackSolver::reinit() when dealing with BlockVectors. +
    + (Alberto Sartori, 2016/05/19) +
  288. + +
  289. + 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) +
  290. + +
  291. + 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) +
  292. + +
  293. + 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) +
  294. + +
  295. + 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) +
  296. + +
  297. + 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) +
  298. + +
  299. + 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) +
  300. + +
  301. + 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) +
  302. + +
  303. + 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) +
  304. + +
  305. + 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) +
  306. + +
  307. + 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) +
  308. + +
  309. + 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) +
  310. + +
  311. + New: Added move operations to IndexSet. +
    + (Daniel Shapero, 2016/04/19) +
  312. + +
  313. + Improved: MeshWorker treats periodic faces as interior faces. +
    + (Daniel Arndt, 2016/04/18) +
  314. + +
  315. + 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) +
  316. + +
  317. + New: added ReinitHelper for PETSc. This is required by LinearOperator + class to reinit vectors. +
    + (Mauro Bardelloni, 2016/04/13) +
  318. + +
  319. + 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) +
  320. + +
  321. + 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) +
  322. + +
  323. + 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) +
  324. + +
  325. + 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) +
  326. + +
  327. + 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) +
  328. + +
  329. + 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) +
  330. + +
  331. + New: A move constructor has been added to Quadrature. +
    + (Daniel Shapero, 2016/04/08) +
  332. + +
  333. + Fixed: Meshworker::Assembler::ResidualSimple now also works for + multiple blocks if no constraints are given. +
    + (Daniel Arndt, 2016/04/08) +
  334. + +
  335. + 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) +
  336. + +
  337. + 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) +
  338. + +
  339. + 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) +
  340. + +
  341. + 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) +
  342. + +
  343. + New: Triangulation::add_periodicity allows for accessing neighbors across + periodic boundaries via new functions in TriaAccessor. +
    + (Daniel Arndt, Ali Samii, 2016/03/23) +
  344. + +
  345. + 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) +
  346. + +
  347. + 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) +
  348. + +
  349. + New: Added GridTools::rotate() in three space dimensions. +
    + (Timo Heister, 2016/03/18) +
  350. + +
  351. + 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) +
  352. + +
  353. + 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) +
  354. + +
  355. + New: Added unit tests for complex-valued PETSc and SLEPc. +
    + (Toby D. Young, Denis Davydov, 2016/03/11) +
  356. + +
  357. + 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) +
  358. + +
  359. + 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) +
  360. + +
  361. + New: Added another scaling factor to Kelly error estimator, namely h_K. +
    + (Denis Davydov, 2016/03/05) +
  362. + +
  363. + 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) +
  364. + +
  365. + 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) +
  366. + +
  367. + 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) +
  368. + +
  369. + 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) +
  370. + +
  371. + Fixed: Double contraction of two SymmetricTensor<..,VectorizedArray> now + works. Introduced internal::NumberType with static member + internal::Numbertype::value to be called instead of the constructor Number() + in symmetric_tensor.h. +
    + (Mathias Mentler, 2016/02/14) +
  372. + +
  373. + Fixed: FE_Nedelec elements up to polynomial order 12 can now be + constructed. +
    + (Jean-Paul Pelteret, 2016/02/12) +
  374. + +
  375. + 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) +
  376. + +
+ +*/