From: bangerth Date: Fri, 7 Oct 2011 22:32:55 +0000 (+0000) Subject: Go through points 1&2 of the release task list. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3798bd725aa289dec16bd7a0d460cfd777851016;p=dealii-svn.git Go through points 1&2 of the release task list. git-svn-id: https://svn.dealii.org/trunk@24563 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/doc/news/7.0.0-vs-7.1.0.h b/deal.II/doc/news/7.0.0-vs-7.1.0.h new file mode 100644 index 0000000000..11b550b391 --- /dev/null +++ b/deal.II/doc/news/7.0.0-vs-7.1.0.h @@ -0,0 +1,755 @@ +/** + * @page changes_between_7_0_and_7_1 Changes between Version 7.0 and 7.1 + +

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

+ + + +

Incompatibilities

+ +

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

+ +
    +
  1. Changed: GridTools, DoFTools, MGTools, VectorTools, MatrixCreator +and MatrixTools are now namespaces. They have long +been classes that had only public, static member functions, making +the end result semantically exactly equivalent to a namespace, which is +also how it was used. This is now also reflected in the actual code. +
    +(Wolfgang Bangerth, 2011/04/27, 2011/09/14) + +
  2. Changed: The PETScWrappers::VectorBase and PETScWrappers::MatrixBase +classes tried to keep track of +whether the last operation done on a vector was to add to an element or to +write into one. If the previous such operation was of a different kind +than the current one, we would flush buffers (see the description in +@ref GlossCompress). However, trying to do this automatically turned +out to be an endless source of hard-to-find bugs in %parallel programs. +The scheme has therefore now been changed to the following: the classes +keep track of the previous operation and if it differs from the +current one, reports an error stating that the user needs to call +PETScWrapper::VectorBase::compress() or +PETScWrapper::MatrixBase::compress() instead. +
    +(Wolfgang Bangerth, 2011/08/03, 2011/08/30) + +
  3. Changed: The classes Tensor, SymmetricTensor and Point now have an +additional template argument for the number type. While a default template +value of double ensures that all old code is still valid, this +change invalidates forward declarations of the form template +@ class Point that might be present in user-defined header +files. Now forward declarations need to specify the type as well, i.e., +template @ class Point. However, +nothing changes if the full declarations in deal.II/base/tensor.h, +deal.II/base/symmetric_tensor.h and deal.II/base/point.h +are included. +
    +(Martin Kronbichler, 2011/08/02) + +
  4. Removed: deal.II no longer supports Trilinos versions prior to 10.0. +
    +(Wolfgang Bangerth, 2011/06/29) + +
  5. Changed: deal.II has a namespace std_cxx1x that was used to +import classes from BOOST that are part of the upcoming C++ 1x standard. On +the other hand, if your compiler supported a sufficiently large subset +of C++ 1x, we had code that simply did +@code + namespace std_cxx1x = std; +@endcode +allowing you to refer to everything that was part of the compiler's namespace +std under the alternative name. This turned out to be untenable +in connection to the changed outlined below for _1, _2, etc. Consequently, +if the compiler used supports C++ 1x, we now selectively import elements of the +compiler's namespace std into namespace std_cxx1x as well. This may lead to +incompatibilities if you are already using elements of the C++ 1x +standard by refering to them through the std_cxx1x namespace and these elements +are not on the list of selectively imported ones. +
    +(Wolfgang Bangerth, 2011/05/29) + +
  6. Changed: Previously, placeholder arguments like _1, _2, etc that are used +in conjunction with the std_cxx1x::bind function could be referenced as if +they are part of the global namespace. This was achieved by importing the +corresponding elements of namespace std::placeholders into the global namespace +if your compiler supported this part of the C++ 1x standard, or otherwise using +the BOOST counterparts which are already in the global namespace. However, +this leads to a conflict if one has a C++ 1x enabled compiler (e.g. GCC 4.6) +and includes certain BOOST headers, since the importation of symbols +into the global namespace now leads to ambiguous names. The only solution to +the problem is to not import names into the global namespace, but rather +import the names from either BOOST or namespace std into the deal.II namespace +std_cxx1x. The downside is that all code that uses _1, _2, etc needs to be +changed to use std_cxx1x::_1, std_cxx1x::_2, etc from now on. +
    +(Wolfgang Bangerth, 2011/05/29) +
+ + + + + +

General

+ +
    +
  1. New: Long in the making, the new tutorial program step-32 is a massively +%parallel simulator for the Boussinesq equations that describe thermal convection. +
    +(Martin Kronbichler, Timo Heister, Wolfgang Bangerth, 2011/10/06) + +
  2. New: There is now a namespace Utilities::MPI that holds some of the MPI-related +functions that were previously part of Utilities::System. Specifically, the following +functions were moved and in part renamed: Utilities::System::get_n_mpi_processes +is now Utilities::MPI::n_mpi_processes; Utilities::System::get_this_mpi_process +is now Utilities::MPI::this_mpi_process; +Utilities::System::compute_point_to_point_communication_pattern +is now Utilities::MPI::compute_point_to_point_communication_pattern; +Utilities::System::duplicate_communicator +is now Utilities::MPI::duplicate_communicator; +Utilities::System::calculate_collective_mpi_min_max_avg +is now Utilities::MPI::min_max_avg; +Utilities::System::MPI_InitFinalize +is now Utilities::MPI::MPI_InitFinalize. +In addition, some of the arguments of these functions or classes +have changed. +
    +The previous functions should still be available, though their use +is now deprecated. +
    +(Wolfgang Bangerth, 2011/09/26) + +
  3. Removed: Utilities::System::program_uses_mpi does exactly the same thing +as Utilities::System::job_supports_mpi. The former has therefore been +deprecated. +
    +(Wolfgang Bangerth, 2011/09/26) + +
  4. New: When using a new enough version of GCC, debug sections in +object files are now compressed using the -Wa,--compress-debug-sections +flag, resulting in savings in disk space on the order of 230 MB. +
    +(Wolfgang Bangerth, 2011/09/22) + +
  5. New: deal.II can now be configured and built with the +Clang C++ frontend of the LLVM compiler. +
    +(Timo Heister, Wolfgang Bangerth, 2011/08/20) + +
  6. Changed: Several of the tutorial programs used the same class +names, often LaplaceProblem in the earlier programs. +There is nothing inherently wrong with this, since these are +entirely separate programs, but this sometimes confused +integrated development environments because searching for +individual symbols would turn up several occurrences in different +files. To make this a bit simpler, the main classes for step-3 +through step-6 were renamed to StepX (steps 1 and 2 +do not have a main class). Starting with step-7, everything specific +to a tutorial program has been moved into a namespace called +StepX to make the fully qualified names unique across +different tutorial programs. +
    +(Wolfgang Bangerth, Guido Kanschat 2011/08/16) + +
  7. Extended: Many operations on objects of +type Point@<0@>, Quadrature@<0@>, etc +(including creation) were previously forbidden since such objects do not make +much sense. However, this prevented a lot of code that could otherwise work +in a dimension independent way, from working in 1d, e.g. integration on +faces. Many of these places have now been cleaned up and work. +
    +(Wolfgang Bangerth, 2011/08/12) + +
  8. Extended: The classes Tensor, SymmetricTensor and Point now have an +additional template argument for the number type. It is now possible to base +these classes on any abstract data type that implements basic arithmetic +operations, like Tensor<1,dim,std::complex >. deal.II +uses a default template argument double that ensures that all +code using e.g. Tensor<1,dim> remains valid. +
    +(Martin Kronbichler, 2011/08/02) + +
  9. Fixed: deal.II can link with Trilinos but previously it required a +very specific set of Trilinos sub-libraries; if Trilinos had been compiled +with a larger set of sub-libraries, linking would sometimes fail. This +has now been made more generic and deal.II obtains the proper set of +libraries from Trilinos. +
    +(Wolfgang Bangerth, 2011/06/29) + +
  10. Fixed: On Mac OS X, linking with some external libraries such as Trilinos +sometimes failed due to a misconfiguration of linker flags. This should now be +fixed. +
    +(Praveen C, Martin Kronbichler, Wolfgang Bangerth, 2011/06/23) + +
  11. Changed: Doing make clean was supposed to only remove object +files but not libraries; however, it also removed the TBB libraries and a +few executables. This has now been changed: make clean now only +removes stuff that isn't needed to run executables, i.e. it leaves the TBB +and other libraries alone. As before, the target make distclean +is responsible for removing everything. +
    +(Max Jensen, Wolfgang Bangerth, 2011/06/14) + +
  12. New: The Triangulation and DoFHandler classes, together with many +smaller classes can now be serialized, i.e. their data can be written +to an output stream and later retrieved to restore the state of the program. +
    +(Wolfgang Bangerth, 2011/06/13) + +
  13. New/deprecated: The Triangulation class offers ways to get informed +whenever the triangulation changes. Previously, the mechanism doing this +was through the Triangulation::RefinementListener class. This has been +deprecated and has been superceded by a BOOST signals based mechanism +that is generally more powerful and does not rely on overloading +particular virtual functions inherited from a base class. + +While the old mechanism should continue to work, you should consider +upgrading. For more information on the signals mechanism, see the +documentation of the Triangulation class. + +In addition to the change above, the new implementation now offers two +more signals one can subscribe to: Triangulation::Signals::clead for +when the triangulation is cleared, and Triangulation::Signals::any_change +that can be used for any operation that changes the mesh. Furthermore, +in a change from previous behavior, the Triangulations::Signal::create +signal is now also triggered when another triangulation is copied to +the one that owns the signal. +
    +(Wolfgang Bangerth, 2011/06/01) + +
  14. Removed: The ./configure script allowed configuring +for the GNU Scientific Library (GSL) in version 7.0 but didn't actually +use any of the GSL functions. The corresponding code has therefore been +removed again. +
    +(Wolfgang Bangerth, 2011/05/22) + +
  15. Changed: Traditionally, include directories were set through the +-I flag in make files in such a way that one would do +@code + #include +@endcode +In preparation for future changes that will make possible installing +header files in a directory under /usr/include it seemed +useful to install everything under /usr/include/deal.II +and include them as +@code + #include +@endcode +This change has been made throughout the library and tutorial programs. +However, the old way of using include directories will continue to work +for at least one release for backward compatibility. +
    +(Wolfgang Bangerth, 2011/05/16) + +
  16. Changed: The version of BOOST we ship with deal.II has been upgraded +to 1.46.1. BOOST now also resides in the directory contrib/boost-1.46.1 +instead of an unversioned directory. +
    +(Wolfgang Bangerth, 2011/05/16) + +
  17. New: The SparseDirectUMFPACK class can now also deal with matrices +provided in SparseMatrixEZ format. +
    +(Martin Genet, 2011/05/04) + +
  18. New: The new tutorial program step-46 shows how to couple different +models defined on subsets of +the domain, in this case Stokes flow around an elastic solid. The +trick here is that variables (here the flow velocity and pressure, +and the solid displacement) do not live on the entire domain, but +only on a part. The point of the program is how to represent this in +source code. +
    +(Wolfgang Bangerth, 2011/04/30) + +
  19. Fixed: On Debian, the Trilinos packages use a different layout +of include files and library names. The ./configure +script can now deal with this. +
    +(Walter Landry, 2011/02/22) + +
  20. Improved: Linking the deal.II libraries on file systems that +are mounted remotely from a file server took painfully long. This +is now fixed by linking everything on the local file system +and only subsequently moving the file into its final location. +
    +(Wolfgang Bangerth, 2011/01/28) + +
  21. Changed: Most classes in deal.II have a member function +memory_consumption that used to return an unsigned int. +However, on most 64-bit systems, unsigned int is still only 32-bit +wide, and consequently the return type does not provide enough +precision to return the size of very large objects. The return types +of all of these functions has been changed to std::size_t, which is +defined to be a type that can hold the sizes of all objects possible +on any system. +
    +(Wolfgang Bangerth, 2011/01/22) + +
  22. Fixed: When using the --enable-mpi to +./configure, the script only tried mpiCC +as the MPI C++ compiler. However, on some systems, it is called +mpicxx. The script now tries that as well. +
    +(Wolfgang Bangerth, 2011/01/22) + +
  23. Fixed: When using Trilinos and using the Intel C++ compiler, +we accidentally used invalid compiler flags that led to a warning +every time we compiled a file. +
    +(Wolfgang Bangerth, 2011/01/22) + +
  24. Fixed: At the bottom of the page of tutorial programs we show a "plain" +version of the tutorial program. However, the script that generates this plain +version was broken and sometimes truncated the file. This +should be fixed now. +
    +(Wolfgang Bangerth, 2011/01/18) + +
  25. Extended: Several missing instantiations of functions for triangulations +and DoF handlers embedded in higher dimensional space have been added. +
    +(Wolfgang Bangerth, 2011/01/15) +
+ + + + + +

Specific improvements

+ +
    +
  1. New: There is a new predicate IteratorFilters::LocallyOwnedCell +for filtered iterators. +
    +(Wolfgang Bangerth, 2011/10/03) + +
  2. Improved: The class BlockList used in RelaxationBlock has been replaced +by SparsityPattern, since it only reproduced its functionality. +
    +(Guido Kanschat, 2011/09/26) + +
  3. New: SparsityPattern::row_position() finds a column index in a row and returns +its "local" index or numbers::invalid_unsigned_int. +
    +(Guido Kanschat, 2011/09/26) + +
  4. New: The functions Utilities::MPI::sum and Utilities::MPI::max +function can be used to compute the sum or maximum of values over a number of +MPI processes without having to deal with the underlying MPI functions. +
    +(Wolfgang Bangerth, 2011/09/25) + +
  5. New: The CellAccessor::is_locally_owned function is a shortcut +for the !cell-@>is_ghost() && !cell-@>is_artificial() pattern +found in many places when dealing with distributed meshes. +
    +(Wolfgang Bangerth, 2011/09/10) + +
  6. New: The GridGenerator::torus function and TorusBoundary class can +create and describe the surface of a torus. +
    +(Daniel Castanon Quiroz, 2011/09/08) + +
  7. Fixed: FEFieldFunction class was not thread-safe because it keeps a +cache on the side that was invalidated when different +threads kept pouncing on it. This is now fixed. +
    +(Patrick Sodré, 2011/09/07) + +
  8. New: There is now a function GridTools::volume() computing the volume +of a triangulation. +
    +(Wolfgang Bangerth, 2011/09/02) + +
  9. New: Code like cell-@>face(1)-@>set_boundary_indicator(42); +now also works in 1d. +
    +(Wolfgang Bangerth, 2011/08/30) + +
  10. Fixed: The TimerOutput::print_summary() function changed the +precision of output on the stream it prints to, but didn't restore +the previous value. This is now fixed. +
    +(Wolfgang Bangerth, 2011/08/30) + +
  11. New: There are now two new functions Utilities::string_to_double. +
    +(Wolfgang Bangerth, 2011/08/25) + +
  12. Changed: The function VectorTools::compute_no_normal_flux_constraints +used to compute its constraints by evaluating the normal vector to the +surface as described by the mapping, rather than using the normal to +the surface described by the Boundary object associated with this face. +(Note that the Mapping computes its approximation by polynomial interpolation +of the surface described by the Boundary object.) This has now been changed: +the normal vector is now obtained from the Boundary object directly, at +points computed by the Mapping. +
    +(Wolfgang Bangerth, 2011/08/25) + +
  13. New: The Boundary base class now has a function Boundary::normal_vector +that returns the normal vector to the surface at a given location. Derived +classes need to implement it, of course, if they want it to be used. +
    +(Wolfgang Bangerth, 2011/08/25) + +
  14. Fixed: The function VectorTools::compute_no_normal_flux_constraints had +a problem that led to extremely difficult to pin down bugs when running +with sufficiently many processors. Basically, the constraints computed +by different processors did not agree which should be the independent +degrees of freedom and which should be the constrained ones. The result +were constraints that did not lead to a consistent linear system. +
    +(Martin Kronbichler, 2011/08/24) + +
  15. New: Added GridRefinement::hierarchical() to reorder the degrees of freedom +by going through the cells in hierarchical order. This ensures consistent +DoF numbering in parallel computations. +
    +(Timo Heister, 2011/08/24) + +
  16. Changed: Triangulation::get_boundary_indicators() returned +wrong data for dim=1. +
    +(Sebastian Pauletti 2011/08/17) + +
  17. Improved: The function LogStream::timestamp() outputs all results of the Posix +function times, namely wall time, user time and system time. +
    +(Guido Kanschat, 2011/08/18) + +
  18. Extended: GridGenerator::half_hyper_shell() got the option +colorize, which assigns different boundary indicators to the +different parts of the boundary. Added GridGenerator::quarter_hyper_shell() +with the same options. +
    +(Timo Heister, 2011/08/15) + +
  19. Fixed: The functions VectorTools::create_boundary_right_hand_side() +called with an empty set of boundary_indicators (the default), did not apply +any boundary conditions. The empty set now applies it to all boundaries. +
    +(Timo Heister, Sebastian Pauletti, 2011/08/15) + +
  20. Fixed: The function VectorTools::compute_no_normal_flux_constraints had +a bug that led to an exception whenever we were computing constraints for +vector fields located on edges shared between two faces of a 3d cell if those +faces were not perpendicular. This is now fixed. +
    +(Wolfgang Bangerth, Thomas Geenen, Timo Heister, 2011/08/10) + +
  21. New: The function FullMatrix::triple_product() adds triple products +like Schur complements to existing matrices. +
    +(Guido Kanschat, 2011/08/05) + +
  22. Improved: The PETScWrapper::VectorBase class was rather generous in +calling the PETSc VecAssembleBegin/End functions that incur +communication in the %parallel case and are therefore causes of potential +slowdowns. This has been improved. +
    +(Wolfgang Bangerth, 2011/08/03) + +
  23. Fixed: The function VectorTools::create_right_hand_side now also works +for objects of type hp::DoFHandler with different finite elements. +
    +(Daniel Gerecht, 2011/07/20) + +
  24. Improved: Evaluation of Lagrangian basis functions has been made stable +by exchanging polynomial evaluation from the standard form +$a_n x^n+\ldots+a_1 x + a_0$ to a product of linear factors, +$c (x - x_0) (x-x_1)\ldots (x-x_n)$. This ensures accurate evaluation up to +very high order and avoids inaccuracies when using high order finite elements. +
    +(Martin Kronbichler 2011/07/26) + +
  25. Improved: The internal functions in the constructor of the FE_Q element +have been improved for high order elements. Especially when the element is +constructed for a 1D quadrature formula, the initialization is now much faster. +E.g. the initialization up to order 12 in three dimension completes in less +than a second, whereas it took hundreds of seconds before. +
    +(Martin Kronbichler 2011/07/26) + +
  26. New: There is now a class Threads::ThreadLocalStorage that allows threads +to have their own copy of an object without having to fear interference from +other threads in accessing this object. +
    +(Wolfgang Bangerth 2011/07/07) + +
  27. Fixed: The 2d grid reordering algorithm that is used by all grid readers had +a component that was quadratic in its complexity, sometimes leading to cases +where reading in a mesh in debug mode could take minutes for just a few tens +of thousands of cells. This has now been fixed. +
    +(Wolfgang Bangerth 2011/07/07) + +
  28. New: The function DoFTools::count_dofs_per_component now also works +for objects of type hp::DoFHandler. +
    +(Christian Goll, Wolfgang Bangerth 2011/07/06) + +
  29. Fixed: Under some circumstances, Threads::Thread::join() could only be +called once and would generate a system exception when called a second time. +Since it is often useful to not track whether this function had already been +called, this is now worked around in such a way that one can always call +the function multiple times. +
    +(Wolfgang Bangerth 2011/07/03) + +
  30. New: The Threads::Thread::join() function can now also be called even +if no thread has been assigned to this thread object. The function then simply +does nothing. +
    +(Wolfgang Bangerth 2011/07/03) + +
  31. New: There is now a new function Threads::Thread::valid that can be used +to query whether the thread object has been assigned a thread. +
    +(Wolfgang Bangerth 2011/07/01) + +
  32. New: The new function GridGenerator::merge_triangulations can be used to compose +coarse meshes from simpler ones by merging their cells into a single +triangulation object. +
    +(Wolfgang Bangerth 2011/06/17) + +
  33. Fixed: If an FEValues object was kept around until after the triangulation +on which it works has been refined or coarsened, and is then reinitialized +with a cell from the refined triangulation, it could compute wrong results or +crash outright. This has now been fixed. +
    +(Wolfgang Bangerth 2011/06/02) + +
  34. Changed: The TrilinosWrappers::SparsityPattern::trilinos_sparsity_pattern() +function returned a reference to an object of kind Epetra_CrsMatrix. However, the +actual object pointed to is of derived class Epetra_FECrsMatrix. The function +has now been changed to return a reference to the latter type. Since derived +references can be assigned to references to base, this change should not +result in any incompatibilities. +
    +(Wolfgang Bangerth 2011/05/27) + +
  35. New: The class RelaxationBlockJacobi has been added to the relaxation classes. +
    (Guido Kanschat, 2011/05/19) + +
  36. New: discontinuous Galerkin versions of vector-valued elements have been +implemented: FE_DGBDM, FE_DGNedelec, and FE_DGRaviartThomas. +
    (Guido Kanschat, 2011/05/19) + +
  37. New: Mapping::transform_real_to_unit_cell now +works also in the codimension one case, where it performs the normal +projection of the point on the codimension one surface. +
    (Luca Heltai, 2011/05/17) + +
  38. New: The PersistentTriangulation class now works also in +the codimension one case. +
    +(Luca Heltai, 2011/05/16) + +
  39. Fixed: The TrilinosWrappers::SparseMatrix::print() function +didn't get column indices right. This is now fixed. +
    +(Habib Talavatifard, Wolfgang Bangerth 2011/05/10) + +
  40. Fixed: The TrilinosWrappers::SparseMatrix::operator() and +TrilinosWrappers::SparseMatrix::el() functions sometimes produced +wrong results for rectangular matrices. The same is true for +TrilinosWrappers::SparsityPattern::exists(). This is now fixed. +
    +(Habib Talavatifard, Wolfgang Bangerth 2011/05/09, 2011/05/27) + +
  41. New: The version of DoFTools::make_flux_sparsity_pattern that takes +the coupling masks is now also available for hp::DoFHandler objects. +
    +(Wolfgang Bangerth, 2011/04/27) + +
  42. Fixed: If Triangulation::create_triangulation is called after an +hp::DoFHandler object is attached to the triangulation object, setting active +FE indices leads to a crash. The problem did not happen if the mesh was +refined before setting the FE indices. This is now fixed. In the process, the +Triangulation::RefinementListener::create_notification function was +introduced. +
    +(Wolfgang Bangerth, 2011/04/22) + +
  43. Fixed: The function FEValuesViews::SymmetricTensor::divergence had a bug. +This is now fixed. +
    +(Wolfgang Bangerth, Feifei Cheng, Venkat Vallala 2011/04/21) + +
  44. Fixed: Under some conditions, FEFaceValues applied to an FESystem element +that contained elements of type FE_Nothing would receive an erroneous +exception. This is now fixed. +
    +(Wolfgang Bangerth, 2011/04/17) + +
  45. New: There is now an operator* for the multiplication of a SymmetricTensor@<2,dim@> +and a Tensor@<1,dim@>. +
    +(Wolfgang Bangerth, 2011/04/12) + +
  46. Fixed: Added some instantiations to make KellyErrorEstimator and SolutionTransfer +work in codimension one. Fixed some dim in spacedim. +
    +(Luca Heltai, 2011/04/11) + +
  47. Fixed: Added some instantiations to make anisotropic refinement work +in codimension one. +
    +(Luca Heltai, 2011/03/31) + +
  48. Fixed: Corrections in the creation of the face and subface +interpolation matrices in the class FE_Nedelec. +
    +(Markus Bürg, 2011/03/17) + +
  49. Fixed: In step-21, the inner iteration would sometimes not converge for +very coarse meshes because of numerical roundoff. This is now fixed by allowing +more than rhs.size() CG iterations if the number of degrees of freedom +is very small. +
    +(Jichao Yin, Wolfgang Bangerth, 2011/04/06) + +
  50. New: There is now a new function ConditionalOStream::get_stream(). +
    +(Wolfgang Bangerth, 2011/03/09) + +
  51. Fixed: FESystem::get_unit_face_support_points would refuse to return +anything if one of the base elements did not have support points. This +condition has been relaxed: it now only doesn't return anything if this +base element has no support points and also has degrees of freedom on +the face. +
    +(Wolfgang Bangerth, 2011/03/07) + +
  52. Fixed: Objects of type FE_Nothing could be generated with multiple vector components +by passing an argument to the constructor. Yet, the FE_Nothing::get_name() function +always just returned the string FE_Nothing@() independently of the +number of components. This is now fixed. +
    +(Wolfgang Bangerth, 2011/03/07) + +
  53. Fixed: PETScWrappers:MPI:SparseMatrix and apply_boundary_values() produced an error in debug mode about non-existant SparsityPattern entries. Reason: clear_rows() also eliminated the whole row in the PETSc-internal SparsityPattern, which resulted in an error in the next assembly process. +
    +(Timo Heister, 2011/02/23) + +
  54. Fixed: It wasn't possible to use the FE_Nothing element inside an FESystem +object and hand the result over to an FEValues object. This is now fixed. +
    +(Wolfgang Bangerth, 2011/02/18) + +
  55. New: There is now a function DataOutBase::write_visit_record that does +the equivalent for VisIt that DataOutBase::write_pvtu_record does for ParaView: +generate a file that contains a list of all other VTK or VTU files of which the +current parallel simulation consists. +
    +(Wolfgang Bangerth, 2011/02/16) + +
  56. New: There is now a function TrilinosWrappers::VectorBase::minimal_value. +
    +(Wolfgang Bangerth, 2011/02/16) + +
  57. Fixed: TableBase::operator= could not be compiled if the type of the +elements of the table was bool. This is now fixed. +
    +(Wolfgang Bangerth, 2011/02/16) + +
  58. Improved: The GridGenerator::hyper_shell function generated meshes in 3d +that are valid but of poor quality upon refinement. There is now an additional +option to generate a coarse mesh of 96 cells that has a much better quality. +
    +(Wolfgang Bangerth, 2011/02/12) + +
  59. Fixed: There are systems where the libz library is installed +but the zlib.h header file is not available. Since the latter +condition was not tested, this would result in compiler errors. This is now +fixed. +
    +(Wolfgang Bangerth, 2011/02/09) + +
  60. Fixed: Prolongation and restriction matrices were not computed at all +for elements of type FE_DGQ if dim@. Consequently, +consumers of this information, such as the SolutionTransfer class or +the DoFCellAccess::set_dof_values_by_interpolation function did not +work either and simply returned zero results. This is now fixed. +
    +(M. Sebastian Pauletti, Wolfgang Bangerth, 2011/02/09) + +
  61. Fixed: When refining a mesh with codimension one, edges were refined using +the same manifold description as adjacent cells, but this ignored that a +boundary indicator might have been purposefully set for edges that are truly at +the boundary of the mesh. For such edges, the boundary indicator is now honored. +
    +(M. Sebastian Pauletti, Wolfgang Bangerth, 2011/02/09) + +
  62. Fixed: The functions VectorTools::compute_mean_value and +VectorTools::integrate_difference now also work for distributed +triangulations of type parallel::distributed::Triangulation. +
    +(Wolfgang Bangerth, 2011/02/07) + +
  63. Changed: If the libz library was detected during library +configuration, the function DataOutBase::write_vtu now writes data in compressed +format, saving a good fraction of disk space (80-90% for big output files). +
    +(Wolfgang Bangerth, 2011/01/28) + +
  64. New: Trilinos and PETSc vectors now have a function has_ghost_elements(). +
    +(Timo Heister, 2011/01/26) + +
  65. Changed: The TrilinosWrappers::MPI::BlockVector::compress function now takes an +argument (with a default value) in exactly the same way as the +TrilinosWrappers::MPI::Vector::compress function already did. +
    +(Wolfgang Bangerth, 2011/01/21) + +
  66. Fixed: When calling DataOut::build_patches with a mapping, requesting more +than one subdivision, and when dim@, then some cells +were not properly mapped. This is now fixed. +
    +(Wolfgang Bangerth, 2011/01/18) + +
  67. New: Restructured the internals of PETScWrappers::Precondition* +to allow a PETSc PC object to exist without a solver. New: Use +Precondition*::vmult() to apply the preconditioner once. +Preconditioners now have a default constructor and an initialize() +function and are no longer initialized in the solver call, +but in the constructor or initialize(). +
    +(Timo Heister, 2011/01/17) + +
  68. Fixed: Boundary conditions in the step-23 tutorial program are now +applied correctly. Matrix columns get eliminated with the used method +and introduce some contribution to the right hand side coming from +inhomogeneous boundary values. The old implementation did not reset the +matrix columns before applying new boundary values. +
    +(Martin Stoll, Martin Kronbichler, 2011/01/14) + +
  69. Extended: base/tensor.h has an additional collection of +contractions between three tensors (ie. contract3). +This can be useful for writing matrix/vector assembly in a more compact +form than before. +
    +(Toby D. Young, 2011/01/12) + +
+ + +*/ diff --git a/deal.II/doc/news/changes.h b/deal.II/doc/news/changes.h index 7dd30ab3f2..556323c177 100644 --- a/deal.II/doc/news/changes.h +++ b/deal.II/doc/news/changes.h @@ -1,13 +1,16 @@ /** - * @page changes_after_7_0 Changes after Version 7.0 + * @page changes_after_7_1 Changes after Version 7.1

This is the list of changes made after the release of -deal.II version 7.0.0. +deal.II version 7.1.0. All entries are signed with the names of the author.

+ + +

Incompatibilities

@@ -21,79 +24,7 @@ inconvenience this causes.

    -
  1. Changed: GridTools, DoFTools, MGTools, VectorTools, MatrixCreator -and MatrixTools are now namespaces. They have long -been classes that had only public, static member functions, making -the end result semantically exactly equivalent to a namespace, which is -also how it was used. This is now also reflected in the actual code. -
    -(Wolfgang Bangerth, 2011/04/27, 2011/09/14) - -
  2. Changed: The PETScWrappers::VectorBase and PETScWrappers::MatrixBase -classes tried to keep track of -whether the last operation done on a vector was to add to an element or to -write into one. If the previous such operation was of a different kind -than the current one, we would flush buffers (see the description in -@ref GlossCompress). However, trying to do this automatically turned -out to be an endless source of hard-to-find bugs in %parallel programs. -The scheme has therefore now been changed to the following: the classes -keep track of the previous operation and if it differs from the -current one, reports an error stating that the user needs to call -PETScWrapper::VectorBase::compress() or -PETScWrapper::MatrixBase::compress() instead. -
    -(Wolfgang Bangerth, 2011/08/03, 2011/08/30) - -
  3. Changed: The classes Tensor, SymmetricTensor and Point now have an -additional template argument for the number type. While a default template -value of double ensures that all old code is still valid, this -change invalidates forward declarations of the form template -@ class Point that might be present in user-defined header -files. Now forward declarations need to specify the type as well, i.e., -template @ class Point. However, -nothing changes if the full declarations in deal.II/base/tensor.h, -deal.II/base/symmetric_tensor.h and deal.II/base/point.h -are included. -
    -(Martin Kronbichler, 2011/08/02) - -
  4. Removed: deal.II no longer supports Trilinos versions prior to 10.0. -
    -(Wolfgang Bangerth, 2011/06/29) - -
  5. Changed: deal.II has a namespace std_cxx1x that was used to -import classes from BOOST that are part of the upcoming C++ 1x standard. On -the other hand, if your compiler supported a sufficiently large subset -of C++ 1x, we had code that simply did -@code - namespace std_cxx1x = std; -@endcode -allowing you to refer to everything that was part of the compiler's namespace -std under the alternative name. This turned out to be untenable -in connection to the changed outlined below for _1, _2, etc. Consequently, -if the compiler used supports C++ 1x, we now selectively import elements of the -compiler's namespace std into namespace std_cxx1x as well. This may lead to -incompatibilities if you are already using elements of the C++ 1x -standard by refering to them through the std_cxx1x namespace and these elements -are not on the list of selectively imported ones. -
    -(Wolfgang Bangerth, 2011/05/29) - -
  6. Changed: Previously, placeholder arguments like _1, _2, etc that are used -in conjunction with the std_cxx1x::bind function could be referenced as if -they are part of the global namespace. This was achieved by importing the -corresponding elements of namespace std::placeholders into the global namespace -if your compiler supported this part of the C++ 1x standard, or otherwise using -the BOOST counterparts which are already in the global namespace. However, -this leads to a conflict if one has a C++ 1x enabled compiler (e.g. GCC 4.6) -and includes certain BOOST headers, since the importation of symbols -into the global namespace now leads to ambiguous names. The only solution to -the problem is to not import names into the global namespace, but rather -import the names from either BOOST or namespace std into the deal.II namespace -std_cxx1x. The downside is that all code that uses _1, _2, etc needs to be -changed to use std_cxx1x::_1, std_cxx1x::_2, etc from now on. -
    -(Wolfgang Bangerth, 2011/05/29) +
  7. None so far.
@@ -103,226 +34,7 @@ changed to use std_cxx1x::_1, std_cxx1x::_2, etc from now on.

General

    -
  1. New: Long in the making, the new tutorial program step-32 is a massively -%parallel simulator for the Boussinesq equations that describe thermal convection. -
    -(Martin Kronbichler, Timo Heister, Wolfgang Bangerth, 2011/10/06) - -
  2. New: There is now a namespace Utilities::MPI that holds some of the MPI-related -functions that were previously part of Utilities::System. Specifically, the following -functions were moved and in part renamed: Utilities::System::get_n_mpi_processes -is now Utilities::MPI::n_mpi_processes; Utilities::System::get_this_mpi_process -is now Utilities::MPI::this_mpi_process; -Utilities::System::compute_point_to_point_communication_pattern -is now Utilities::MPI::compute_point_to_point_communication_pattern; -Utilities::System::duplicate_communicator -is now Utilities::MPI::duplicate_communicator; -Utilities::System::calculate_collective_mpi_min_max_avg -is now Utilities::MPI::min_max_avg; -Utilities::System::MPI_InitFinalize -is now Utilities::MPI::MPI_InitFinalize. -In addition, some of the arguments of these functions or classes -have changed. -
    -The previous functions should still be available, though their use -is now deprecated. -
    -(Wolfgang Bangerth, 2011/09/26) - -
  3. Removed: Utilities::System::program_uses_mpi does exactly the same thing -as Utilities::System::job_supports_mpi. The former has therefore been -deprecated. -
    -(Wolfgang Bangerth, 2011/09/26) - -
  4. New: When using a new enough version of GCC, debug sections in -object files are now compressed using the -Wa,--compress-debug-sections -flag, resulting in savings in disk space on the order of 230 MB. -
    -(Wolfgang Bangerth, 2011/09/22) - -
  5. New: deal.II can now be configured and built with the -Clang C++ frontend of the LLVM compiler. -
    -(Timo Heister, Wolfgang Bangerth, 2011/08/20) - -
  6. Changed: Several of the tutorial programs used the same class -names, often LaplaceProblem in the earlier programs. -There is nothing inherently wrong with this, since these are -entirely separate programs, but this sometimes confused -integrated development environments because searching for -individual symbols would turn up several occurrences in different -files. To make this a bit simpler, the main classes for step-3 -through step-6 were renamed to StepX (steps 1 and 2 -do not have a main class). Starting with step-7, everything specific -to a tutorial program has been moved into a namespace called -StepX to make the fully qualified names unique across -different tutorial programs. -
    -(Wolfgang Bangerth, Guido Kanschat 2011/08/16) - -
  7. Extended: Many operations on objects of -type Point@<0@>, Quadrature@<0@>, etc -(including creation) were previously forbidden since such objects do not make -much sense. However, this prevented a lot of code that could otherwise work -in a dimension independent way, from working in 1d, e.g. integration on -faces. Many of these places have now been cleaned up and work. -
    -(Wolfgang Bangerth, 2011/08/12) - -
  8. Extended: The classes Tensor, SymmetricTensor and Point now have an -additional template argument for the number type. It is now possible to base -these classes on any abstract data type that implements basic arithmetic -operations, like Tensor<1,dim,std::complex >. deal.II -uses a default template argument double that ensures that all -code using e.g. Tensor<1,dim> remains valid. -
    -(Martin Kronbichler, 2011/08/02) - -
  9. Fixed: deal.II can link with Trilinos but previously it required a -very specific set of Trilinos sub-libraries; if Trilinos had been compiled -with a larger set of sub-libraries, linking would sometimes fail. This -has now been made more generic and deal.II obtains the proper set of -libraries from Trilinos. -
    -(Wolfgang Bangerth, 2011/06/29) - -
  10. Fixed: On Mac OS X, linking with some external libraries such as Trilinos -sometimes failed due to a misconfiguration of linker flags. This should now be -fixed. -
    -(Praveen C, Martin Kronbichler, Wolfgang Bangerth, 2011/06/23) - -
  11. Changed: Doing make clean was supposed to only remove object -files but not libraries; however, it also removed the TBB libraries and a -few executables. This has now been changed: make clean now only -removes stuff that isn't needed to run executables, i.e. it leaves the TBB -and other libraries alone. As before, the target make distclean -is responsible for removing everything. -
    -(Max Jensen, Wolfgang Bangerth, 2011/06/14) - -
  12. New: The Triangulation and DoFHandler classes, together with many -smaller classes can now be serialized, i.e. their data can be written -to an output stream and later retrieved to restore the state of the program. -
    -(Wolfgang Bangerth, 2011/06/13) - -
  13. New/deprecated: The Triangulation class offers ways to get informed -whenever the triangulation changes. Previously, the mechanism doing this -was through the Triangulation::RefinementListener class. This has been -deprecated and has been superceded by a BOOST signals based mechanism -that is generally more powerful and does not rely on overloading -particular virtual functions inherited from a base class. - -While the old mechanism should continue to work, you should consider -upgrading. For more information on the signals mechanism, see the -documentation of the Triangulation class. - -In addition to the change above, the new implementation now offers two -more signals one can subscribe to: Triangulation::Signals::clead for -when the triangulation is cleared, and Triangulation::Signals::any_change -that can be used for any operation that changes the mesh. Furthermore, -in a change from previous behavior, the Triangulations::Signal::create -signal is now also triggered when another triangulation is copied to -the one that owns the signal. -
    -(Wolfgang Bangerth, 2011/06/01) - -
  14. Removed: The ./configure script allowed configuring -for the GNU Scientific Library (GSL) in version 7.0 but didn't actually -use any of the GSL functions. The corresponding code has therefore been -removed again. -
    -(Wolfgang Bangerth, 2011/05/22) - -
  15. Changed: Traditionally, include directories were set through the --I flag in make files in such a way that one would do -@code - #include -@endcode -In preparation for future changes that will make possible installing -header files in a directory under /usr/include it seemed -useful to install everything under /usr/include/deal.II -and include them as -@code - #include -@endcode -This change has been made throughout the library and tutorial programs. -However, the old way of using include directories will continue to work -for at least one release for backward compatibility. -
    -(Wolfgang Bangerth, 2011/05/16) - -
  16. Changed: The version of BOOST we ship with deal.II has been upgraded -to 1.46.1. BOOST now also resides in the directory contrib/boost-1.46.1 -instead of an unversioned directory. -
    -(Wolfgang Bangerth, 2011/05/16) - -
  17. New: The SparseDirectUMFPACK class can now also deal with matrices -provided in SparseMatrixEZ format. -
    -(Martin Genet, 2011/05/04) - -
  18. New: The new tutorial program step-46 shows how to couple different -models defined on subsets of -the domain, in this case Stokes flow around an elastic solid. The -trick here is that variables (here the flow velocity and pressure, -and the solid displacement) do not live on the entire domain, but -only on a part. The point of the program is how to represent this in -source code. -
    -(Wolfgang Bangerth, 2011/04/30) - -
  19. Fixed: On Debian, the Trilinos packages use a different layout -of include files and library names. The ./configure -script can now deal with this. -
    -(Walter Landry, 2011/02/22) - -
  20. Improved: Linking the deal.II libraries on file systems that -are mounted remotely from a file server took painfully long. This -is now fixed by linking everything on the local file system -and only subsequently moving the file into its final location. -
    -(Wolfgang Bangerth, 2011/01/28) - -
  21. Changed: Most classes in deal.II have a member function -memory_consumption that used to return an unsigned int. -However, on most 64-bit systems, unsigned int is still only 32-bit -wide, and consequently the return type does not provide enough -precision to return the size of very large objects. The return types -of all of these functions has been changed to std::size_t, which is -defined to be a type that can hold the sizes of all objects possible -on any system. -
    -(Wolfgang Bangerth, 2011/01/22) - -
  22. Fixed: When using the --enable-mpi to -./configure, the script only tried mpiCC -as the MPI C++ compiler. However, on some systems, it is called -mpicxx. The script now tries that as well. -
    -(Wolfgang Bangerth, 2011/01/22) - -
  23. Fixed: When using Trilinos and using the Intel C++ compiler, -we accidentally used invalid compiler flags that led to a warning -every time we compiled a file. -
    -(Wolfgang Bangerth, 2011/01/22) - -
  24. Fixed: At the bottom of the page of tutorial programs we show a "plain" -version of the tutorial program. However, the script that generates this plain -version was broken and sometimes truncated the file. This -should be fixed now. -
    -(Wolfgang Bangerth, 2011/01/18) - -
  25. Extended: Several missing instantiations of functions for triangulations -and DoF handlers embedded in higher dimensional space have been added. -
    -(Wolfgang Bangerth, 2011/01/15) +
  26. None so far.
@@ -332,423 +44,7 @@ and DoF handlers embedded in higher dimensional space have been added.

Specific improvements

    -
  1. New: There is a new predicate IteratorFilters::LocallyOwnedCell -for filtered iterators. -
    -(Wolfgang Bangerth, 2011/10/03) - -
  2. Improved: The class BlockList used in RelaxationBlock has been replaced -by SparsityPattern, since it only reproduced its functionality. -
    -(Guido Kanschat, 2011/09/26) - -
  3. New: SparsityPattern::row_position() finds a column index in a row and returns -its "local" index or numbers::invalid_unsigned_int. -
    -(Guido Kanschat, 2011/09/26) - -
  4. New: The functions Utilities::MPI::sum and Utilities::MPI::max -function can be used to compute the sum or maximum of values over a number of -MPI processes without having to deal with the underlying MPI functions. -
    -(Wolfgang Bangerth, 2011/09/25) - -
  5. New: The CellAccessor::is_locally_owned function is a shortcut -for the !cell-@>is_ghost() && !cell-@>is_artificial() pattern -found in many places when dealing with distributed meshes. -
    -(Wolfgang Bangerth, 2011/09/10) - -
  6. New: The GridGenerator::torus function and TorusBoundary class can -create and describe the surface of a torus. -
    -(Daniel Castanon Quiroz, 2011/09/08) - -
  7. Fixed: FEFieldFunction class was not thread-safe because it keeps a -cache on the side that was invalidated when different -threads kept pouncing on it. This is now fixed. -
    -(Patrick Sodré, 2011/09/07) - -
  8. New: There is now a function GridTools::volume() computing the volume -of a triangulation. -
    -(Wolfgang Bangerth, 2011/09/02) - -
  9. New: Code like cell-@>face(1)-@>set_boundary_indicator(42); -now also works in 1d. -
    -(Wolfgang Bangerth, 2011/08/30) - -
  10. Fixed: The TimerOutput::print_summary() function changed the -precision of output on the stream it prints to, but didn't restore -the previous value. This is now fixed. -
    -(Wolfgang Bangerth, 2011/08/30) - -
  11. New: There are now two new functions Utilities::string_to_double. -
    -(Wolfgang Bangerth, 2011/08/25) - -
  12. Changed: The function VectorTools::compute_no_normal_flux_constraints -used to compute its constraints by evaluating the normal vector to the -surface as described by the mapping, rather than using the normal to -the surface described by the Boundary object associated with this face. -(Note that the Mapping computes its approximation by polynomial interpolation -of the surface described by the Boundary object.) This has now been changed: -the normal vector is now obtained from the Boundary object directly, at -points computed by the Mapping. -
    -(Wolfgang Bangerth, 2011/08/25) - -
  13. New: The Boundary base class now has a function Boundary::normal_vector -that returns the normal vector to the surface at a given location. Derived -classes need to implement it, of course, if they want it to be used. -
    -(Wolfgang Bangerth, 2011/08/25) - -
  14. Fixed: The function VectorTools::compute_no_normal_flux_constraints had -a problem that led to extremely difficult to pin down bugs when running -with sufficiently many processors. Basically, the constraints computed -by different processors did not agree which should be the independent -degrees of freedom and which should be the constrained ones. The result -were constraints that did not lead to a consistent linear system. -
    -(Martin Kronbichler, 2011/08/24) - -
  15. New: Added GridRefinement::hierarchical() to reorder the degrees of freedom -by going through the cells in hierarchical order. This ensures consistent -DoF numbering in parallel computations. -
    -(Timo Heister, 2011/08/24) - -
  16. Changed: Triangulation::get_boundary_indicators() returned -wrong data for dim=1. -
    -(Sebastian Pauletti 2011/08/17) - -
  17. Improved: The function LogStream::timestamp() outputs all results of the Posix -function times, namely wall time, user time and system time. -
    -(Guido Kanschat, 2011/08/18) - -
  18. Extended: GridGenerator::half_hyper_shell() got the option -colorize, which assigns different boundary indicators to the -different parts of the boundary. Added GridGenerator::quarter_hyper_shell() -with the same options. -
    -(Timo Heister, 2011/08/15) - -
  19. Fixed: The functions VectorTools::create_boundary_right_hand_side() -called with an empty set of boundary_indicators (the default), did not apply -any boundary conditions. The empty set now applies it to all boundaries. -
    -(Timo Heister, Sebastian Pauletti, 2011/08/15) - -
  20. Fixed: The function VectorTools::compute_no_normal_flux_constraints had -a bug that led to an exception whenever we were computing constraints for -vector fields located on edges shared between two faces of a 3d cell if those -faces were not perpendicular. This is now fixed. -
    -(Wolfgang Bangerth, Thomas Geenen, Timo Heister, 2011/08/10) - -
  21. New: The function FullMatrix::triple_product() adds triple products -like Schur complements to existing matrices. -
    -(Guido Kanschat, 2011/08/05) - -
  22. Improved: The PETScWrapper::VectorBase class was rather generous in -calling the PETSc VecAssembleBegin/End functions that incur -communication in the %parallel case and are therefore causes of potential -slowdowns. This has been improved. -
    -(Wolfgang Bangerth, 2011/08/03) - -
  23. Fixed: The function VectorTools::create_right_hand_side now also works -for objects of type hp::DoFHandler with different finite elements. -
    -(Daniel Gerecht, 2011/07/20) - -
  24. Improved: Evaluation of Lagrangian basis functions has been made stable -by exchanging polynomial evaluation from the standard form -$a_n x^n+\ldots+a_1 x + a_0$ to a product of linear factors, -$c (x - x_0) (x-x_1)\ldots (x-x_n)$. This ensures accurate evaluation up to -very high order and avoids inaccuracies when using high order finite elements. -
    -(Martin Kronbichler 2011/07/26) - -
  25. Improved: The internal functions in the constructor of the FE_Q element -have been improved for high order elements. Especially when the element is -constructed for a 1D quadrature formula, the initialization is now much faster. -E.g. the initialization up to order 12 in three dimension completes in less -than a second, whereas it took hundreds of seconds before. -
    -(Martin Kronbichler 2011/07/26) - -
  26. New: There is now a class Threads::ThreadLocalStorage that allows threads -to have their own copy of an object without having to fear interference from -other threads in accessing this object. -
    -(Wolfgang Bangerth 2011/07/07) - -
  27. Fixed: The 2d grid reordering algorithm that is used by all grid readers had -a component that was quadratic in its complexity, sometimes leading to cases -where reading in a mesh in debug mode could take minutes for just a few tens -of thousands of cells. This has now been fixed. -
    -(Wolfgang Bangerth 2011/07/07) - -
  28. New: The function DoFTools::count_dofs_per_component now also works -for objects of type hp::DoFHandler. -
    -(Christian Goll, Wolfgang Bangerth 2011/07/06) - -
  29. Fixed: Under some circumstances, Threads::Thread::join() could only be -called once and would generate a system exception when called a second time. -Since it is often useful to not track whether this function had already been -called, this is now worked around in such a way that one can always call -the function multiple times. -
    -(Wolfgang Bangerth 2011/07/03) - -
  30. New: The Threads::Thread::join() function can now also be called even -if no thread has been assigned to this thread object. The function then simply -does nothing. -
    -(Wolfgang Bangerth 2011/07/03) - -
  31. New: There is now a new function Threads::Thread::valid that can be used -to query whether the thread object has been assigned a thread. -
    -(Wolfgang Bangerth 2011/07/01) - -
  32. New: The new function GridGenerator::merge_triangulations can be used to compose -coarse meshes from simpler ones by merging their cells into a single -triangulation object. -
    -(Wolfgang Bangerth 2011/06/17) - -
  33. Fixed: If an FEValues object was kept around until after the triangulation -on which it works has been refined or coarsened, and is then reinitialized -with a cell from the refined triangulation, it could compute wrong results or -crash outright. This has now been fixed. -
    -(Wolfgang Bangerth 2011/06/02) - -
  34. Changed: The TrilinosWrappers::SparsityPattern::trilinos_sparsity_pattern() -function returned a reference to an object of kind Epetra_CrsMatrix. However, the -actual object pointed to is of derived class Epetra_FECrsMatrix. The function -has now been changed to return a reference to the latter type. Since derived -references can be assigned to references to base, this change should not -result in any incompatibilities. -
    -(Wolfgang Bangerth 2011/05/27) - -
  35. New: The class RelaxationBlockJacobi has been added to the relaxation classes. -
    (Guido Kanschat, 2011/05/19) - -
  36. New: discontinuous Galerkin versions of vector-valued elements have been -implemented: FE_DGBDM, FE_DGNedelec, and FE_DGRaviartThomas. -
    (Guido Kanschat, 2011/05/19) - -
  37. New: Mapping::transform_real_to_unit_cell now -works also in the codimension one case, where it performs the normal -projection of the point on the codimension one surface. -
    (Luca Heltai, 2011/05/17) - -
  38. New: The PersistentTriangulation class now works also in -the codimension one case. -
    -(Luca Heltai, 2011/05/16) - -
  39. Fixed: The TrilinosWrappers::SparseMatrix::print() function -didn't get column indices right. This is now fixed. -
    -(Habib Talavatifard, Wolfgang Bangerth 2011/05/10) - -
  40. Fixed: The TrilinosWrappers::SparseMatrix::operator() and -TrilinosWrappers::SparseMatrix::el() functions sometimes produced -wrong results for rectangular matrices. The same is true for -TrilinosWrappers::SparsityPattern::exists(). This is now fixed. -
    -(Habib Talavatifard, Wolfgang Bangerth 2011/05/09, 2011/05/27) - -
  41. New: The version of DoFTools::make_flux_sparsity_pattern that takes -the coupling masks is now also available for hp::DoFHandler objects. -
    -(Wolfgang Bangerth, 2011/04/27) - -
  42. Fixed: If Triangulation::create_triangulation is called after an -hp::DoFHandler object is attached to the triangulation object, setting active -FE indices leads to a crash. The problem did not happen if the mesh was -refined before setting the FE indices. This is now fixed. In the process, the -Triangulation::RefinementListener::create_notification function was -introduced. -
    -(Wolfgang Bangerth, 2011/04/22) - -
  43. Fixed: The function FEValuesViews::SymmetricTensor::divergence had a bug. -This is now fixed. -
    -(Wolfgang Bangerth, Feifei Cheng, Venkat Vallala 2011/04/21) - -
  44. Fixed: Under some conditions, FEFaceValues applied to an FESystem element -that contained elements of type FE_Nothing would receive an erroneous -exception. This is now fixed. -
    -(Wolfgang Bangerth, 2011/04/17) - -
  45. New: There is now an operator* for the multiplication of a SymmetricTensor@<2,dim@> -and a Tensor@<1,dim@>. -
    -(Wolfgang Bangerth, 2011/04/12) - -
  46. Fixed: Added some instantiations to make KellyErrorEstimator and SolutionTransfer -work in codimension one. Fixed some dim in spacedim. -
    -(Luca Heltai, 2011/04/11) - -
  47. Fixed: Added some instantiations to make anisotropic refinement work -in codimension one. -
    -(Luca Heltai, 2011/03/31) - -
  48. Fixed: Corrections in the creation of the face and subface -interpolation matrices in the class FE_Nedelec. -
    -(Markus Bürg, 2011/03/17) - -
  49. Fixed: In step-21, the inner iteration would sometimes not converge for -very coarse meshes because of numerical roundoff. This is now fixed by allowing -more than rhs.size() CG iterations if the number of degrees of freedom -is very small. -
    -(Jichao Yin, Wolfgang Bangerth, 2011/04/06) - -
  50. New: There is now a new function ConditionalOStream::get_stream(). -
    -(Wolfgang Bangerth, 2011/03/09) - -
  51. Fixed: FESystem::get_unit_face_support_points would refuse to return -anything if one of the base elements did not have support points. This -condition has been relaxed: it now only doesn't return anything if this -base element has no support points and also has degrees of freedom on -the face. -
    -(Wolfgang Bangerth, 2011/03/07) - -
  52. Fixed: Objects of type FE_Nothing could be generated with multiple vector components -by passing an argument to the constructor. Yet, the FE_Nothing::get_name() function -always just returned the string FE_Nothing@() independently of the -number of components. This is now fixed. -
    -(Wolfgang Bangerth, 2011/03/07) - -
  53. Fixed: PETScWrappers:MPI:SparseMatrix and apply_boundary_values() produced an error in debug mode about non-existant SparsityPattern entries. Reason: clear_rows() also eliminated the whole row in the PETSc-internal SparsityPattern, which resulted in an error in the next assembly process. -
    -(Timo Heister, 2011/02/23) - -
  54. Fixed: It wasn't possible to use the FE_Nothing element inside an FESystem -object and hand the result over to an FEValues object. This is now fixed. -
    -(Wolfgang Bangerth, 2011/02/18) - -
  55. New: There is now a function DataOutBase::write_visit_record that does -the equivalent for VisIt that DataOutBase::write_pvtu_record does for ParaView: -generate a file that contains a list of all other VTK or VTU files of which the -current parallel simulation consists. -
    -(Wolfgang Bangerth, 2011/02/16) - -
  56. New: There is now a function TrilinosWrappers::VectorBase::minimal_value. -
    -(Wolfgang Bangerth, 2011/02/16) - -
  57. Fixed: TableBase::operator= could not be compiled if the type of the -elements of the table was bool. This is now fixed. -
    -(Wolfgang Bangerth, 2011/02/16) - -
  58. Improved: The GridGenerator::hyper_shell function generated meshes in 3d -that are valid but of poor quality upon refinement. There is now an additional -option to generate a coarse mesh of 96 cells that has a much better quality. -
    -(Wolfgang Bangerth, 2011/02/12) - -
  59. Fixed: There are systems where the libz library is installed -but the zlib.h header file is not available. Since the latter -condition was not tested, this would result in compiler errors. This is now -fixed. -
    -(Wolfgang Bangerth, 2011/02/09) - -
  60. Fixed: Prolongation and restriction matrices were not computed at all -for elements of type FE_DGQ if dim@. Consequently, -consumers of this information, such as the SolutionTransfer class or -the DoFCellAccess::set_dof_values_by_interpolation function did not -work either and simply returned zero results. This is now fixed. -
    -(M. Sebastian Pauletti, Wolfgang Bangerth, 2011/02/09) - -
  61. Fixed: When refining a mesh with codimension one, edges were refined using -the same manifold description as adjacent cells, but this ignored that a -boundary indicator might have been purposefully set for edges that are truly at -the boundary of the mesh. For such edges, the boundary indicator is now honored. -
    -(M. Sebastian Pauletti, Wolfgang Bangerth, 2011/02/09) - -
  62. Fixed: The functions VectorTools::compute_mean_value and -VectorTools::integrate_difference now also work for distributed -triangulations of type parallel::distributed::Triangulation. -
    -(Wolfgang Bangerth, 2011/02/07) - -
  63. Changed: If the libz library was detected during library -configuration, the function DataOutBase::write_vtu now writes data in compressed -format, saving a good fraction of disk space (80-90% for big output files). -
    -(Wolfgang Bangerth, 2011/01/28) - -
  64. New: Trilinos and PETSc vectors now have a function has_ghost_elements(). -
    -(Timo Heister, 2011/01/26) - -
  65. Changed: The TrilinosWrappers::MPI::BlockVector::compress function now takes an -argument (with a default value) in exactly the same way as the -TrilinosWrappers::MPI::Vector::compress function already did. -
    -(Wolfgang Bangerth, 2011/01/21) - -
  66. Fixed: When calling DataOut::build_patches with a mapping, requesting more -than one subdivision, and when dim@, then some cells -were not properly mapped. This is now fixed. -
    -(Wolfgang Bangerth, 2011/01/18) - -
  67. New: Restructured the internals of PETScWrappers::Precondition* -to allow a PETSc PC object to exist without a solver. New: Use -Precondition*::vmult() to apply the preconditioner once. -Preconditioners now have a default constructor and an initialize() -function and are no longer initialized in the solver call, -but in the constructor or initialize(). -
    -(Timo Heister, 2011/01/17) - -
  68. Fixed: Boundary conditions in the step-23 tutorial program are now -applied correctly. Matrix columns get eliminated with the used method -and introduce some contribution to the right hand side coming from -inhomogeneous boundary values. The old implementation did not reset the -matrix columns before applying new boundary values. -
    -(Martin Stoll, Martin Kronbichler, 2011/01/14) - -
  69. Extended: base/tensor.h has an additional collection of -contractions between three tensors (ie. contract3). -This can be useful for writing matrix/vector assembly in a more compact -form than before. -
    -(Toby D. Young, 2011/01/12) - +
  70. None so far.
diff --git a/deal.II/doc/news/news.html b/deal.II/doc/news/news.html index 34758d4c08..02d1e7c90e 100644 --- a/deal.II/doc/news/news.html +++ b/deal.II/doc/news/news.html @@ -28,10 +28,19 @@ mailing list for additional news.

-

Changes in the library since the last major release are - here.

-
+
+ 2011/10/09: Version 7.1 released +
+
+ Version 7.1.0 was released today. This release provides two + new tutorial programs and many smaller enhancements + throughout the entire library. A complete list of new + features is found here. +
+ +
2011/10/06: step-32, a massively parallel thermal convection solver