From 3a897d5407b6c73fb1ec60c568d638388321c60f Mon Sep 17 00:00:00 2001 From: bangerth Date: Thu, 24 Jun 2010 22:13:26 +0000 Subject: [PATCH] First steps for release. git-svn-id: https://svn.dealii.org/trunk@21345 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/doc/news/6.2.0-vs-6.3.0.h | 1087 +++++++++++++++++++++++++++++ deal.II/doc/news/changes.h | 1037 +-------------------------- deal.II/doc/news/news.html | 4 +- 3 files changed, 1095 insertions(+), 1033 deletions(-) create mode 100644 deal.II/doc/news/6.2.0-vs-6.3.0.h diff --git a/deal.II/doc/news/6.2.0-vs-6.3.0.h b/deal.II/doc/news/6.2.0-vs-6.3.0.h new file mode 100644 index 0000000000..d15bf10f7b --- /dev/null +++ b/deal.II/doc/news/6.2.0-vs-6.3.0.h @@ -0,0 +1,1087 @@ +/** + * @page changes_between_6.2_and_6.3 Changes between Version 6.2 and 6.3 + +

+This is the list of changes made between the release of +deal.II version 6.2 and version 6.3. It is subdivided into changes +made to the three sub-libraries base, +lac, and deal.II, as well as +changes to the general infrastructure, +documentation, etc. +

+ +

+All entries are signed with the names of the author. Regular +contributor's names are abbreviated by WB (Wolfgang Bangerth), GK +(Guido Kanschat), RH (Ralf Hartmann). +

+ + + +

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. +

    + Removed: The class TrilinosWrappers::SolverBlock and + TrilinosWrappers::PreconditionBlock have been deleted for compatibility + reasons with Trilinos 10.2. These solvers can be exchanged by deal.II's + own iterative solvers with block matrices and vectors without loss in + performance. +
    + (Martin Kronbichler 2010/06/24) +

    + +
  2. +

    + Changed: The SparseMatrix::operator() used to always check that an entry + exists when accessing it. If it didn't, it would throw an exception that + could be caught in a user program. Since these accesses are very frequent, + this check now only happens in debug mode when the program aborts if a + nonexistent element is accessed. If you access a nonexistent element in + optimized mode, anything might happen (as in many other functions if + input arguments do not satisfy their constraints). +
    + (WB 2010/06/04) +

    + +
  3. +

    + Removed: The interface to PETSc has been simplified to better handle + incremental changes in PETSc versions and accomodate changes in + functionality between versions. As a part of this process, the + deal.II configure script no longer handles PETSc versions + <2.3.0. Attempting to configure deal.II with PETSc versions that are + not supported will result in the error message, "Unknown PETSc + version". The usage of the PETScWrappers are otherwise not affected + by this change. +
    + (Toby D. Young 2010/03/06) +

    + +
  4. +

    + Removed: The class TrilinosWrappers::PreconditionStokes has been deleted + because it did not work properly, and it is too specific to be part of + the general library. A preconditioner that has the same properties is + explained in the @ref step_31 step-31 tutorial program. +
    + (Martin Kronbichler 2009/11/23) +

    + +
  5. +

    + Changed: The class MGSmootherRelaxation now instead of a + preconditioner takes a relaxation method with the functions + step and Tstep. These perform a complete + relaxation step, thus saving an auxiliary vector and computational + effort for Gauss-Seidel type methods. + + While all relaxation preconditioners have been provided with the new + two functions, you may have used MGSmootherRelaxation with your own + preconditioner. In that case, you have two options: +

      +
    1. Configure deal.II with --enable-mgcompatibility, + which restores the old behavior of MGSmootherRelaxation. +
    2. Use MGSmootherPrecondition, which does what + MGSmootherRelaxation did before. +
    +
    + (GK 2009/08/04) +

    +
+ + + +

General

+ +
    +
  1. +

    + New: The new tutorial program step-37, + contributed by Markus Bürg, shows how to implement periodic boundary + conditions. +
    + (Markus Bürg, 2010/06/23) +

    +
  2. + +
  3. +

    + Improved: Exception classes declared locally to another class using + DeclException0 through DeclException5 were previously shown as local + classes in the class overview of the library. This was annoying since + they were not really of interest but made up most of the list. + The documentation now shows them in one central place in the + @ref Exceptions module. +
    + (WB 2010/04/26) +

    +
  4. + +
  5. +

    + Improved: We now compile all files with their full path name on the command + line. This makes it simpler for tools like debuggers or profilers (e.g. + valgrind) to find the source files that corresponds to an executable. +
    + (WB 2010/04/15) +

    +
  6. + +
  7. +

    + Improved: + Over the last few months, the multigrid implementation has seen + significant rewrites, with much of the work done by Bärbel + Janssen. The goal — now achieved — was to finally fully + support multigrid also for continuous finite elements on adaptively + refined meshes (uniformly refined meshes and discontinuous elements + have worked for a long time). As part of this process, + step-16 has + been rewritten and now solves the same problem + step-6 solves, just + with a multigrid solver. +
    + (Bärbel Janssen, WB 2010/02/13) +

    +
  8. + + +
  9. +

    + New: The version of boost + included in the contrib/ directory has been updated + to 1.41.0. +
    + (WB 2009/12/10) +

    +
  10. + +
  11. +

    + New: There is now a new tutorial program, step-35, + contributed by Abner Salgado-Gonzalez, that implements a solver + for the Navier-Stokes equations using a decoupled projection + scheme. +
    + (Abner Salgado-Gonzalez 2009/10/07) +

    +
  12. + +
  13. +

    + New: A report has been added on the + codimension one capabilities + of the library (by Antonio DeSimone, Luca Heltai + and Cataldo Manigrasso, SISSA, Trieste, Italy). It + explains in detail how to use the + library for the solution of problems defined on codimension + one manifolds, such as, for example, %Boundary Element Methods. +
    + (Luca Heltai, 2009/09/23) +

    +
  14. + +
  15. +

    + New: The configure switch --with-cpu=... now allows the value + native, indicating that we would like the compiler to figure + out which CPU we are running on and optimize for it. The resulting + libraries may not work on other (previous generation) processors, however. +
    + (WB 2009/08/20) +

    +
  16. + +
  17. +

    + Fixed: step-31 had a bug in the computation of the + global scaling parameter in the function that evaluates the artificial + viscosity: we computed + $c(\mathbf{u},T) = + c_R\ \|\mathbf{u}\|_{L^\infty(\Omega)} \ \mathrm{var}(T) + \frac{1}{|\mathrm{diam}(\Omega)|^{\alpha-2}}$ + when it should have been + $c(\mathbf{u},T) = + c_R\ \|\mathbf{u}\|_{L^\infty(\Omega)} \ \mathrm{var}(T) + \ |\mathrm{diam}(\Omega)|^{\alpha-2}$. This didn't matter much in this + program because $\mathrm{diam}(\Omega)=2^{1/\textrm{dim}}$ and so is close + to one. It would matter, however, if the domain had been different, as + it is, for example, in the future step 32. +
    + (WB 2009/08/19) +

    +
  18. + +
  19. +

    + Changed: When using Trilinos wrapper objects in %parallel through MPI, each + object now uses a separate and distinct MPI communicator object. This + ensures that different objects (such as different matrices, or different + vectors) communicate on separate channels, thereby simplifying debugging + and possibly the parallelization of programs. +
    + (WB 2009/08/10) +

    +
  20. + +
  21. +

    + New: There is now a new tutorial program, step-36, + contributed by Toby D. Young and Wolfgang Bangerth, that demonstrates + solving eigenvalue problems. +
    + (Toby D. Young, WB 2009/07/29) +

    +
  22. + +
  23. +

    + Changed: When configuring to use METIS for partitioning meshes in %parallel, + the METIS header files had to be modified by hand. In addition, with some + MPI implementations one would get into trouble if mpi.h + included mpicxx.h. These two problems have now been + worked around. +
    + (WB 2009/07/06) +

    +
  24. + +
  25. +

    + New: As a primary means of parallelizing programs, deal.II now uses + a task-based, rather than thread-based approach, in which one + uses a high-level description of what needs to be done, + rather than how these jobs have to be mapped onto threads. We then + use the Threading + Building Blocks (TBB) library to schedule tasks onto available + hardware resources. This new scheme of describing parallism and + various abstractions to make programming in this framework easier + are described in great detail in the + @ref threads "Parallel computing with multiple processors" module. + In addition, most of the parallelism already used within deal.II + has been converted to use tasks, rather than threads, and so have + some of the tutorial programs. +
    + (WB 2009/01/09) +

    +
  26. + +
  27. +

    + Changed: The support for threading has been completely re-written. In + particular, the Threads::spawn functions have been deprecated, and + new functions Threads::new_thread have been introduced. + Threading is now discussed in a lot of detail in the + @ref threads "Parallel computing with multiple processors" module. +
    + (WB 2009/01/09) +

    +
  28. + +
  29. +

    + Changed: Previously, one had to give the two flags + --enable-multithreading --with-multithreading to + ./configure to enable thread usage throughout the library. + This has now been simplified: only the flag --enable-threads + is now necessary. Furthermore, since most current machines have multiple + cores these days, the default is now to use threads. This can be switched + off using --disable-threads, however. +
    + (WB 2008/09/29) +

    +
  30. +
+ + + + +

base

+ +
    +
  1. New: The Timer class can now accumulate and average run times of + pieces of code across multiple MPI processes. +
    + (Timo Heister 2010/06/07) +

  2. + +
  3. New: The Utilities::System::compute_point_to_point_communication_pattern + function can be used to compute who wants to send messages to the + current processor in unstructured point-to-point MPI communications. +
    + (WB 2010/06/07) +

  4. + +
  5. New: The DataOutBase class (and all derived classes such as DataOut, + MatrixOut, etc) can now produce the XML-based version of the VTK file format + (the so-called VTU format). Furthermore, the + DataOutInterfaces::write_pvtu_record function can be used to describe a set + of %parallel VTU files as part of a single visualization set. +
    + (Scott Miller 2010/06/01) +

  6. + +
  7. Changed: The Function::vector_gradient_list function was previously + implemented by calling Function::gradient on each point and each component. + It has been changed to now call Function::vector_gradient on each point + only, and derived classes should implement this function accordingly. +
    + (WB 2010/02/10) +

  8. + +
  9. Fixed: The file data_out_base.cc could not be compiled + when Tecplot was available. This should now be fixed. +
    + (WB 2010/02/10) +

  10. + +
  11. Fixed: The PolynomialsBDM, PolynomialsABF and Functions::FlowFunction + classes had a race condition in multithreaded programs. This now fixed. +
    + (WB 2010/01/27) +

  12. + +
  13. New: The new class IndexSet can represent sets and ranges of indices. +
    + (WB 2009/10/09) +

  14. + +
  15. New: There is now an operator @<@< for the + TableIndices class. +
    + (WB 2009/09/24) +

  16. + +
  17. +

    + Fixed: If anything had been put into a LogStream object without flushing + it with std::endl before the destruction of the log stream, it was lost. + This is now fixed. +
    + (WB 2009/09/23) +

    +
  18. + +
  19. New: SymmetricTensor::component_to_unrolled_index() and + SymmetricTensor::unrolled_to_component_indices() allow to convert between the + indices of an element of a symmetric tensor and the index within an unrolled vector. +
    + (WB 2009/09/23) +

  20. + +
  21. New: classes NamedData and NamedSelection provide an interface to store and + retrieve data objects with name identifiers. +
    + (GK 2009/09/13) +

  22. + +
  23. +

    + New: The Utilities::System::job_supports_mpi() can be used to query whether + the current job runs under MPI or not. +
    + (WB 2009/08/14) +

    +
  24. + +
  25. +

    + New: The Utilities::Trilinos::comm_self function return an MPI + communicator that consists only of the current processor. +
    + (WB 2009/08/07) +

    +
  26. + +
  27. +

    + New: The Utilities::Trilinos::duplicate_communicator function allows to duplicate + an Epetra_Comm object to get a unique %parallel MPI communicator out of an + existing one. Utilities::Trilinos::duplicate_map creates a map that has + the same members as the given template but uses a separate communicator. +
    + (WB 2009/08/06) +

    +
  28. + +
  29. +

    + New: There is now a specialization Tensor<0,dim> of tensors of rank 0. Since rank-0 + tensors are scalars, this class essentially acts like a scalar, but it allows for + some neat template tricks that involve tensors of arbitrary rank. +
    + (WB 2009/07/15) +

    +
  30. + +
  31. +

    + New: The GeometryInfo::alternating_form_at_vertices can be used + to investigate the degree of distortion of cells. +
    + (WB 2009/06/28) +

    +
  32. + +
  33. +

    + New: The GeometryInfo::d_linear_shape_function and + GeometryInfo::d_linear_shape_function_gradient functions can be used + to represent the $d$-linear shape functions that are frequently + used to map the reference cell to real cells (though the + Mapping class hierarchy also allows to use higher order mappings). +
    + (WB 2009/06/28) +

    +
  34. + +
  35. +

    + New: The determinant() function is now implemented for rank-2 Tensor + arguments of all sizes. The implementation is not efficient for very large + matrix sizes, however. +
    + (WB 2009/06/28) +

    +
  36. + +
  37. +

    + Improved: The QGaussLobatto::gamma function now returns a long double + instead of an unsigned int, otherwise we will get an overflow and thus + meaningless weights for higher QGaussLobatto quadrature rules. +
    + (Tobias Leicht, RH 2009/06/05) +

    +
  38. + +
  39. +

    + New: The new function Utilities::duplicate_communicator can be used + to duplicate an MPI communicator to produce a unique duplicate. +
    + (WB 2009/05/13) +

    +
  40. +
+ + + + +

lac

+ +
    +
  1. New: The ConstraintMatrix class can now handle storing only + a subset of all constraints, for example only for degrees of + freedom that are relevant for the subdomain that is owned by one + process in an MPI universe. +
    + (Timo Heister, Martin Kronbichler 2010/06/07) +

  2. + +
  3. New: The PETScWrappers::MPI::Vector and TrilinosWrappers::MPI::Vector + classes can now handle ghost elements, i.e. elements that are not + owned by the current processor but are available for reading + anyway. The simplest form of ghosting would be to simply import + an entire vector to local memory, but the new function allow to + select the elements we need to support the case of computations + where importing all elements of even a single vector would + exceed available memory. +
    + (Timo Heister 2010/06/07) +

  4. + +
  5. +

    + New: A class SparseDirectMumps that provides an interface to + the MUltifrontal Massively Parallel sparse direct %Solver (MUMPS). +

    +
    + (Markus Buerg 2010/05/10) +
  6. + +
  7. +

    + Fixed: BlockSparsityPattern::copy_from accidentally only copied + n_block_rows times n_block_rows blocks, instead of n_block_rows + times n_block_cols. This is now fixed. +

    +
    + (WB 2010/01/06) +
  8. + +
  9. +

    + Fixed: SparsityPattern::copy_from crashed whenever a compressed sparsity + pattern was copied that had either zero rows or zero columns. This is now + fixed. +

    +
    + (WB 2010/01/06) +
  10. + +
  11. +

    + New: The function Householder::least_squares can handle BlockVectors as + well now. Note that in one place we still have to copy to a Vector to use + the function backward from FullMatrix. +

    +
    + (Bärbel Janssen 2010/01/05) +
  12. + +
  13. +

    + New: There are now two ConstraintMatrix::add_lines functions that can + add several constraints at once. +

    +
    + (WB 2010/01/05) +
  14. + +
  15. +

    + Improved: The Vector class has been equipped with an improved way to + calculate sums in inner products and norms. This reduces the accumulation + of round-off errors. Especially the solution with float vectors should + profit from the new implementation. +

    +
    + (Martin Kronbichler 2009/11/05) +
  16. + +
  17. +

    + Improved: The ConstraintMatrix class now uses a cache for random access to + the constraint lines. This considerably increases performance of the + *_local_to_global functions, where such an access pattern is usual. Moreover, + the ConstraintMatrix class has now a function get_dof_values that can import + data from a global vector to a cell vector with respecting the constraints. +

    +
    + (Martin Kronbichler 2009/09/30) +
  18. + +
  19. +

    + Fixed: SparsityTools::reorder_Cuthill_McKee would produce an error if the + input graph had disconnected components. This is now fixed. +

    +
    + (WB 2009/09/25) +
  20. + +
  21. +

    + Fixed: When using the TrilinosWrappers::MPI::Vector::reinit() function with a %parallel + vector, and if the vector initialized and the vector given had a local range on one of + the processors that exactly matched, the program would freeze if the local ranges on + the other processors did not also match exactly. This is now fixed. +

    +
    + (WB 2009/09/02) +
  22. + +
  23. Improved: BlockVector and several of the block sparsity + patterns can now be initialized with BlockIndices + objects. Therefore, if an application needs such an object, it does + not have to store a vector of block sizes separately. +
    + (GK 2009/08/26) +

    +
  24. + +
  25. New: The class PreconditionChebyshev implements a + preconditioner based on Chebyshev polynomials. It is based on matrix-vector + products together with some vector updates. +
    + (Martin Kronbichler 2009/08/25) +

    +
  26. + +
  27. +

    + Fixed: Crash or strange behaviour (wrong matrix entries written) in + PETScWrappers::MPI::BlockSparseMatrix when adding or setting elements + through any of the set() and add() routines. This happened when different + CPUs access different blocks at the start of assembly or when switching + between adding and setting. +
    + (Timo Heister 2009/08/05) +

    +
  28. + +
  29. New: The relaxation preconditioners PreconditionJacobi, PreconditionSOR and + PreconditionSSOR, as well as their blocked versions PreconditionBlockJacobi, + PreconditionBlockSOR and PreconditionBlockSSOR now have functions step + and Tstep performing one complete step of these methods. +
    + (GK 2009/08/04) +

    +
  30. + +
  31. +

    + New: There are new functions FullMatrix::cholesky and + FullMatrix::outer_product. FullMatrix::cholesky finds the Cholesky + decomposition of a matrix in lower triangular form. + FullMatrix::outer_product calculates *this $= VW^T$ where $V$ + and $W$ are vectors. +
    + (Jean Marie Linhart 2009/07/27) +

    +
  32. + +
  33. +

    + Fixed: The TrilinosWrappers::MPI::BlockVector class declares an assignment + operator from the non-Trilinos BlockVector class but it could not be + compiled due to an oversight. This is now fixed. +
    + (WB 2009/06/29) +

    +
  34. + +
  35. +

    + New: Based on work by Francisco Alvaro, the existing SLEPcWrappers now + have a handle on the generalized eigenvalue problem where B=I. +
    + (Toby D. Young 2009/06/25) +

    +
  36. + +
  37. +

    + New: Based on work with Francisco Alvaro and Jose + E. Roman, the new SLEPcWrappers give a handle on some of the + features of SLEPc (Scalable Library for Eigenvalue Problem + Computations): (1) The SLEPcWrappers::SolverBase class can be used + for specifying an eigenvalue problem, either in standard or + generalized form, on serial or %parallel architectures with support + for a few solver types; and (2) The + SLEPcWrappers::TransformationBase class encapsulates a variety of + spectral transformations providing some functionality required for + acceleration techniques based on the transformation of the spectrum. +
    + (Toby D. Young 2009/06/25) +

    +
  38. + +
  39. +

    + Fixed: The TrilinosWrappers::BlockVector class declares an assignment + operator from the non-Trilinos BlockVector class but it wasn't implemented. + This is now fixed. +
    + (WB 2009/06/24) +

    +
  40. + +
  41. +

    + New: The SparseMatrix class has now a function SparseMatrix::mmult that + can multiply two sparse matrices with each other. +
    + (Martin Kronbichler 2009/05/04) +

    +
  42. +
+ + + +

deal.II

+ +
    + +
  1. New: The namespace MeshWorker contains a generic MeshWorker::loop() over all cells and faces as well as auxiliary classes, which allow to program integrals over mesh cells and faces in a very generic and local way. In particular, an application programmer will not have to distinguish between regular faces and faces with hanging nodes anymore. Two tutorial programs (step-12 and step-39) highlight the functionality of this framework. +
    +(GK 2010/06/24) +

  2. + +
  3. +

    New: The FE_Q_Hierarchical class now has functions + FE_Q_Hierarchical::hp_constraints_are_implemented and + FE_Q_Hierarchical::hp_vertex_dof_identities. +
    + (Markus Bürg 2010/06/08) +

  4. + +
  5. +

    New: The FEValuesViews::Vector class now has functions + FEValuesViews::Vector::curl and FEValuesViews::Vector::get_function_curls. +
    + (Markus Bürg 2010/05/13) +

  6. + +
  7. +

    New: TriaAccessor::extent_in_direction() returns the length + of an object in a given direction. +
    + (James Avery 2010/05/10) +

  8. + +
  9. +

    New: There is a new function DoFTools::extract_dofs_with_support_on_boundary(). +
    + (WB 2010/05/07) +

  10. + +
  11. +

    Fixed: FE_DGQ::has_support_on_face() returned the wrong value in 1d if the + polynomial degree of the finite element equals zero (i.e. for piecewise + constants) where the lone shape function is nonzero on all faces. This is now + fixed. +
    + (WB 2010/05/07) +

  12. + +
  13. +

    Fixed: VectorTools::interpolate_boundary_values inadvertently produces + an exception when used with hp::DoFHandler objects in 1d. This is now fixed. +
    + (WB 2010/05/04) +

  14. + +
  15. +

    Fixed: The GridIn::read_msh function got into trouble if the mesh file + had a section that listed physical names for variables. This is now fixed. +
    + (WB 2010/05/03) +

  16. + +
  17. +

    Improved: DoFHandler iterators now can be assigned from a Triangulation iterator + after the dof handler was set once. +
    + (GK 2010/03/25) +

  18. + +
  19. +

    + New: The function DoFRenumbering::downstream has now an additional bool + argument. If enabled, the downstream comparison is performed on a DoF + basis, as opposed to the cell-based comparison that is used with a false + argument. +
    + (Martin Kronbichler 2010/03/19) +

    +
  20. + +
  21. Improved: DoFHandler now has a BlockInfo object, automatically + updated after DoFHandler::distribute_dofs() and accessible by + DoFHandler::block_info(). This object can be used to initialize block + vectors and obliterates the necessity to count dofs per block (or dofs + per component in legacy code) in application programs. +
    + (GK 2010/03/18) +

    +
  22. + +
  23. +

    + New: The class MGTransferSelect is prepared for use on adaptively refined meshes. +
    + (Bärbel Janssen 2010/02/05) +

    +
  24. + +
  25. +

    + New: The function Cuthill_McKee in namespace DoFRenumbering is now also compiled for + MGDoFHandler as well as the make_sparsity_pattern functions in DoFTools. +
    + (Bärbel Janssen 2010/01/08) +

    +
  26. + +
  27. +

    + New: Constructor of FESystem now also exists for four base elements. +
    + (Thomas Wick 2010/01/08) +

    +
  28. + +
  29. +

    + New: The functions in namespace DoFRenumbering::boost are now also compiled for + hp::DoFHandler arguments. +
    + (WB 2009/12/14) +

    +
  30. + +
  31. +

    + Fixed: The functions DoFTools::count_dofs_per_component and DoFTools::extract_dofs + produced wrong results for elements that consist of two or more nested FESystems. + Moreoever, a bug in DoFTools::extract_constant_modes has been corrected and + DoFTools::distribute_cell_to_dof_vector now works according to the documentation, + namely leaving unselected components in the result vector unchanged, instead of + setting these to zero as was done before. +
    + (Martin Kronbichler 2009/12/14) +

    +
  32. + +
  33. +

    + Fixed: The function Triangulation::n_levels() accidentally turned out to be + quite expensive, in particular if the mesh has been coarsened significantly + in the past. Since Triangulation::n_active_cells() calls Triangulation::n_levels() + repeatedly, by consequence it also is surprisingly expensive, which is + particularly annoying since this is a frequently called function. This has + now been fixed by caching the result of both functions. +
    + (Wolfgang Bangerth 2009/11/22) +

    +
  34. + +
  35. +

    + Fixed: The function DataOut class got confused when its DataOut::first_cell() and + DataOut::next_cell() were overloaded and cell data was given. This is now fixed. +
    + (Wolfgang Bangerth 2009/11/05) +

    +
  36. + +
  37. +

    + New: The function DoFRenumbering::component_wise is now also implemented + for arguments of type hp::DoFHandler. +
    + (Markus Bürg 2009/10/01) +

    +
  38. + +
  39. New: The class BlockInfo stores and computes all BlockIndices objects related to + DoFHandler and MGDoFHandler based on FESystem. +
    + (GK 2009/09/13) +

    +
  40. + +
  41. Improved: MGDoFHandler now also has a typedef for MGDoFHandler::Container +
    + (GK 2009/09/13) +

    +
  42. + +
  43. FETools::compute_block_renumbering() can nor return block sizes instead of + start indices. +
    + (GK 2009/08/26) +

    +
  44. + +
  45. +

    + New: The function GridGenerator::truncated_cone() and the class ConeBoundary + can now be used to describe conical objects. +
    + (Markus Bürg 2009/08/17) +

    +
  46. + +
  47. +

    + New: Instead of asking face or edge iterators for their boundary indicator + using TriaAccessor::boundary_indicator() and then the triangulation for + the boundary object using Triangulation::get_boundary(), you can now directly + ask the iterator for the boundary object using TriaAccessor::get_boundary(). +
    + (WB 2009/07/31) +

    +
  48. + +
  49. +

    + Fixed: The CellAccessor::recursively_set_material_id function did not + set the material id for all children, but only for the first two, which + is obviously a bug. This should now be fixed. +
    + (WB 2009/07/14) +

    +
  50. + +
  51. +

    + Fixed: The GridIn class sometimes had problems with input files that had + whitespace at the end of lines. This should now be fixed. +
    + (WB 2009/07/10) +

    +
  52. + +
  53. +

    + New: Previously, the Triangulation::create_triangulation + function silently accepted input meshes with inverted cells + (i.e. cells with a zero or negative determinant of the Jacobian of + the mapping from the reference cell to the real cell). This can been + changed now: By passing the appropriate flag to the constructor of + the Triangulation class, the Triangulation::create_triangulation + function checks whether cells are distorted or + inverted, and may throw an exception containing a list of cells + for which this is the case. If you know that this is harmless, for + example if you have cells with collapsed vertices in your mesh but + you do not intend to integrate on them, then you can catch and + ignore this message. In all other cases, the output of your + computations are likely to be wrong anyway. +
    + The same is true for the Triangulation::execute_coarsening_and_refinement + function: if it creates cells that are distorted, it throws a list of cells + whose children are distorted. +
    + The whole issue is described in some detail in the entry on + @ref GlossDistorted "distorted cells" in the glossary. +
    + (WB 2009/06/29) +

    +
  54. + + +
  55. +

    + New: The new hp::DoFHandler::set_active_fe_indices function allows + to distribute all active FE indices at once based on a given + vector. This might be useful if this information is stored + somewhere and has to be reconstructed or else if two DoFHandler + objects with the same FE index distribution should be created. + There is now also a corresponding + hp::DoFHandler::get_active_fe_indices function. +
    + (Tobias Leicht, RH 2009/06/12) +

    +
  56. + +
  57. +

    + Fixed: The projection of quadrature points to subfaces in + MappingQ in case of 3d anisotropic refinement did not respect + non-standard face orientation/flip/rotation cases. This + has now been fixed. +
    + (Tobias Leicht, RH 2009/06/12) +

    +
  58. + +
  59. +

    + New: The new Triangulation::n_raw_faces() function forwards + to Triangulation::n_raw_lines() in 2d and + Triangulation::n_raw_quads() in 3d. +
    + (Tobias Leicht, RH 2009/06/12) +

    +
  60. + +
  61. +

    + New: There is now a new DataOutFaces::build_patches function which + takes a Mapping argument. For higher order mappings this allows to + represent curved boundaries by using more subdivisions. This function + is also useful in the context of MappingQ1Eulerian. +
    + (Tobias Leicht, RH 2009/06/05) +

    +
  62. + +
  63. +

    + New: For empty triangulations the new Triangulation::set_mesh_smoothing + function allows to override the MeshSmoothing given to the constructor. +
    + (RH 2009/06/05) +

    +
  64. + +
  65. +

    + New: The new function TriaAccessor::is_translation_of computes + whether a cell, face, or edge is a translation of another. +
    + (Martin Kronbichler, WB 2009/05/19) +

    +
  66. + +
  67. +

    + New: The DoFTools::make_sparsity_pattern functions have acquired a + new paramater subdomain_id. If a value other than the + default value is passed for it, the function only assembles the + sparsity pattern on those cells that have the given subdomain id. + This is useful, for example, in conjunction with the + TrilinosWrappers::SparsityPattern class that can hold a sparsity + pattern distributed across several MPI processes; in that case, it is + not necessary that each process builds the entire sparsity pattern. +
    + (WB 2009/04/29) +

    +
  68. + +
  69. +

    + Fixed: The DoFRenumbering::component_wise function for MGDoFHandler objects + did a few things in %parallel that weren't thread-safe. This is now fixed. +
    + (WB, 2009/01/20) +

    + +
  70. +

    + Changed: The two DataOut::build_patches, DataOutFaces::build_patches, and + DataOutRotation::build_patches functions have lost the argument + that indicated the number of threads with which they should build the + intermediate representation. This is something that now happens + transparently in the background and doesn't need caller input any more. +
    + (WB 2008/12/16) +

    + +
  71. +

    + Changed: The KellyErrorEstimator::estimate functions had a parameter + that indicates the number of threads to be used in the computation. + This parameter continues to exist for compatibility, but is now ignored. + Rather, the number of threads is determined automatically by scheduling + the requested computations on available compute resources. +
    + (WB, 2008/12/29) +

    + +
  72. +

    + New: The new function internal::hp::FEValuesBase::get_fe_collection function + allows to query the finite element collection currently in used in an hp::FEValues, + hp::FEFaceValues, or hp::FESubfaceValues object. +
    + (WB 2008/09/30) +

    + +
  73. +

    + New: The new function FEValuesBase::get_update_flags allows to query + the update flags that are currently set on an FEValues, FEFaceValues, or + FESubfaceValues object. +
    + (WB 2008/09/29) +

    +
+ + +*/ diff --git a/deal.II/doc/news/changes.h b/deal.II/doc/news/changes.h index 6713335fbc..1e4ce11136 100644 --- a/deal.II/doc/news/changes.h +++ b/deal.II/doc/news/changes.h @@ -1,9 +1,9 @@ /** - * @page changes_after_6.2 Changes after Version 6.2 + * @page changes_after_6.3 Changes after Version 6.3

This is the list of changes made after the release of -deal.II version 6.2. It is subdivided into changes +deal.II version 6.3. It is subdivided into changes made to the three sub-libraries base, lac, and deal.II, as well as changes to the general infrastructure, @@ -30,74 +30,7 @@ inconvenience this causes.

    -
  1. -

    - Removed: The class TrilinosWrappers::SolverBlock and - TrilinosWrappers::PreconditionBlock have been deleted for compatibility - reasons with Trilinos 10.2. These solvers can be exchanged by deal.II's - own iterative solvers with block matrices and vectors without loss in - performance. -
    - (Martin Kronbichler 2010/06/24) -

    - -
  2. -

    - Changed: The SparseMatrix::operator() used to always check that an entry - exists when accessing it. If it didn't, it would throw an exception that - could be caught in a user program. Since these accesses are very frequent, - this check now only happens in debug mode when the program aborts if a - nonexistent element is accessed. If you access a nonexistent element in - optimized mode, anything might happen (as in many other functions if - input arguments do not satisfy their constraints). -
    - (WB 2010/06/04) -

    - -
  3. -

    - Removed: The interface to PETSc has been simplified to better handle - incremental changes in PETSc versions and accomodate changes in - functionality between versions. As a part of this process, the - deal.II configure script no longer handles PETSc versions - <2.3.0. Attempting to configure deal.II with PETSc versions that are - not supported will result in the error message, "Unknown PETSc - version". The usage of the PETScWrappers are otherwise not affected - by this change. -
    - (Toby D. Young 2010/03/06) -

    - -
  4. -

    - Removed: The class TrilinosWrappers::PreconditionStokes has been deleted - because it did not work properly, and it is too specific to be part of - the general library. A preconditioner that has the same properties is - explained in the @ref step_31 step-31 tutorial program. -
    - (Martin Kronbichler 2009/11/23) -

    - -
  5. -

    - Changed: The class MGSmootherRelaxation now instead of a - preconditioner takes a relaxation method with the functions - step and Tstep. These perform a complete - relaxation step, thus saving an auxiliary vector and computational - effort for Gauss-Seidel type methods. - - While all relaxation preconditioners have been provided with the new - two functions, you may have used MGSmootherRelaxation with your own - preconditioner. In that case, you have two options: -

      -
    1. Configure deal.II with --enable-mgcompatibility, - which restores the old behavior of MGSmootherRelaxation. -
    2. Use MGSmootherPrecondition, which does what - MGSmootherRelaxation did before. -
    -
    - (GK 2009/08/04) -

    +
  6. None so far.
@@ -105,204 +38,7 @@ inconvenience this causes.

General

    -
  1. -

    - New: The new tutorial program step-37, - contributed by Markus Bürg, shows how to implement periodic boundary - conditions. -
    - (Markus Bürg, 2010/06/23) -

    -
  2. - -
  3. -

    - Improved: Exception classes declared locally to another class using - DeclException0 through DeclException5 were previously shown as local - classes in the class overview of the library. This was annoying since - they were not really of interest but made up most of the list. - The documentation now shows them in one central place in the - @ref Exceptions module. -
    - (WB 2010/04/26) -

    -
  4. - -
  5. -

    - Improved: We now compile all files with their full path name on the command - line. This makes it simpler for tools like debuggers or profilers (e.g. - valgrind) to find the source files that corresponds to an executable. -
    - (WB 2010/04/15) -

    -
  6. - -
  7. -

    - Improved: - Over the last few months, the multigrid implementation has seen - significant rewrites, with much of the work done by Bärbel - Janssen. The goal — now achieved — was to finally fully - support multigrid also for continuous finite elements on adaptively - refined meshes (uniformly refined meshes and discontinuous elements - have worked for a long time). As part of this process, - step-16 has - been rewritten and now solves the same problem - step-6 solves, just - with a multigrid solver. -
    - (Bärbel Janssen, WB 2010/02/13) -

    -
  8. - - -
  9. -

    - New: The version of boost - included in the contrib/ directory has been updated - to 1.41.0. -
    - (WB 2009/12/10) -

    -
  10. - -
  11. -

    - New: There is now a new tutorial program, step-35, - contributed by Abner Salgado-Gonzalez, that implements a solver - for the Navier-Stokes equations using a decoupled projection - scheme. -
    - (Abner Salgado-Gonzalez 2009/10/07) -

    -
  12. - -
  13. -

    - New: A report has been added on the - codimension one capabilities - of the library (by Antonio DeSimone, Luca Heltai - and Cataldo Manigrasso, SISSA, Trieste, Italy). It - explains in detail how to use the - library for the solution of problems defined on codimension - one manifolds, such as, for example, %Boundary Element Methods. -
    - (Luca Heltai, 2009/09/23) -

    -
  14. - -
  15. -

    - New: The configure switch --with-cpu=... now allows the value - native, indicating that we would like the compiler to figure - out which CPU we are running on and optimize for it. The resulting - libraries may not work on other (previous generation) processors, however. -
    - (WB 2009/08/20) -

    -
  16. - -
  17. -

    - Fixed: step-31 had a bug in the computation of the - global scaling parameter in the function that evaluates the artificial - viscosity: we computed - $c(\mathbf{u},T) = - c_R\ \|\mathbf{u}\|_{L^\infty(\Omega)} \ \mathrm{var}(T) - \frac{1}{|\mathrm{diam}(\Omega)|^{\alpha-2}}$ - when it should have been - $c(\mathbf{u},T) = - c_R\ \|\mathbf{u}\|_{L^\infty(\Omega)} \ \mathrm{var}(T) - \ |\mathrm{diam}(\Omega)|^{\alpha-2}$. This didn't matter much in this - program because $\mathrm{diam}(\Omega)=2^{1/\textrm{dim}}$ and so is close - to one. It would matter, however, if the domain had been different, as - it is, for example, in the future step 32. -
    - (WB 2009/08/19) -

    -
  18. - -
  19. -

    - Changed: When using Trilinos wrapper objects in %parallel through MPI, each - object now uses a separate and distinct MPI communicator object. This - ensures that different objects (such as different matrices, or different - vectors) communicate on separate channels, thereby simplifying debugging - and possibly the parallelization of programs. -
    - (WB 2009/08/10) -

    -
  20. - -
  21. -

    - New: There is now a new tutorial program, step-36, - contributed by Toby D. Young and Wolfgang Bangerth, that demonstrates - solving eigenvalue problems. -
    - (Toby D. Young, WB 2009/07/29) -

    -
  22. - -
  23. -

    - Changed: When configuring to use METIS for partitioning meshes in %parallel, - the METIS header files had to be modified by hand. In addition, with some - MPI implementations one would get into trouble if mpi.h - included mpicxx.h. These two problems have now been - worked around. -
    - (WB 2009/07/06) -

    -
  24. - -
  25. -

    - New: As a primary means of parallelizing programs, deal.II now uses - a task-based, rather than thread-based approach, in which one - uses a high-level description of what needs to be done, - rather than how these jobs have to be mapped onto threads. We then - use the Threading - Building Blocks (TBB) library to schedule tasks onto available - hardware resources. This new scheme of describing parallism and - various abstractions to make programming in this framework easier - are described in great detail in the - @ref threads "Parallel computing with multiple processors" module. - In addition, most of the parallelism already used within deal.II - has been converted to use tasks, rather than threads, and so have - some of the tutorial programs. -
    - (WB 2009/01/09) -

    -
  26. - -
  27. -

    - Changed: The support for threading has been completely re-written. In - particular, the Threads::spawn functions have been deprecated, and - new functions Threads::new_thread have been introduced. - Threading is now discussed in a lot of detail in the - @ref threads "Parallel computing with multiple processors" module. -
    - (WB 2009/01/09) -

    -
  28. - -
  29. -

    - Changed: Previously, one had to give the two flags - --enable-multithreading --with-multithreading to - ./configure to enable thread usage throughout the library. - This has now been simplified: only the flag --enable-threads - is now necessary. Furthermore, since most current machines have multiple - cores these days, the default is now to use threads. This can be switched - off using --disable-threads, however. -
    - (WB 2008/09/29) -

    -
  30. +
  31. None so far.
@@ -311,393 +47,7 @@ inconvenience this causes.

base

    -
  1. New: The Timer class can now accumulate and average run times of - pieces of code across multiple MPI processes. -
    - (Timo Heister 2010/06/07) -

  2. - -
  3. New: The Utilities::System::compute_point_to_point_communication_pattern - function can be used to compute who wants to send messages to the - current processor in unstructured point-to-point MPI communications. -
    - (WB 2010/06/07) -

  4. - -
  5. New: The DataOutBase class (and all derived classes such as DataOut, - MatrixOut, etc) can now produce the XML-based version of the VTK file format - (the so-called VTU format). Furthermore, the - DataOutInterfaces::write_pvtu_record function can be used to describe a set - of %parallel VTU files as part of a single visualization set. -
    - (Scott Miller 2010/06/01) -

  6. - -
  7. Changed: The Function::vector_gradient_list function was previously - implemented by calling Function::gradient on each point and each component. - It has been changed to now call Function::vector_gradient on each point - only, and derived classes should implement this function accordingly. -
    - (WB 2010/02/10) -

  8. - -
  9. Fixed: The file data_out_base.cc could not be compiled - when Tecplot was available. This should now be fixed. -
    - (WB 2010/02/10) -

  10. - -
  11. Fixed: The PolynomialsBDM, PolynomialsABF and Functions::FlowFunction - classes had a race condition in multithreaded programs. This now fixed. -
    - (WB 2010/01/27) -

  12. - -
  13. New: The new class IndexSet can represent sets and ranges of indices. -
    - (WB 2009/10/09) -

  14. - -
  15. New: There is now an operator @<@< for the - TableIndices class. -
    - (WB 2009/09/24) -

  16. - -
  17. -

    - Fixed: If anything had been put into a LogStream object without flushing - it with std::endl before the destruction of the log stream, it was lost. - This is now fixed. -
    - (WB 2009/09/23) -

    -
  18. - -
  19. New: SymmetricTensor::component_to_unrolled_index() and - SymmetricTensor::unrolled_to_component_indices() allow to convert between the - indices of an element of a symmetric tensor and the index within an unrolled vector. -
    - (WB 2009/09/23) -

  20. - -
  21. New: classes NamedData and NamedSelection provide an interface to store and - retrieve data objects with name identifiers. -
    - (GK 2009/09/13) -

  22. - -
  23. -

    - New: The Utilities::System::job_supports_mpi() can be used to query whether - the current job runs under MPI or not. -
    - (WB 2009/08/14) -

    -
  24. - -
  25. -

    - New: The Utilities::Trilinos::comm_self function return an MPI - communicator that consists only of the current processor. -
    - (WB 2009/08/07) -

    -
  26. - -
  27. -

    - New: The Utilities::Trilinos::duplicate_communicator function allows to duplicate - an Epetra_Comm object to get a unique %parallel MPI communicator out of an - existing one. Utilities::Trilinos::duplicate_map creates a map that has - the same members as the given template but uses a separate communicator. -
    - (WB 2009/08/06) -

    -
  28. - -
  29. -

    - New: There is now a specialization Tensor<0,dim> of tensors of rank 0. Since rank-0 - tensors are scalars, this class essentially acts like a scalar, but it allows for - some neat template tricks that involve tensors of arbitrary rank. -
    - (WB 2009/07/15) -

    -
  30. - -
  31. -

    - New: The GeometryInfo::alternating_form_at_vertices can be used - to investigate the degree of distortion of cells. -
    - (WB 2009/06/28) -

    -
  32. - -
  33. -

    - New: The GeometryInfo::d_linear_shape_function and - GeometryInfo::d_linear_shape_function_gradient functions can be used - to represent the $d$-linear shape functions that are frequently - used to map the reference cell to real cells (though the - Mapping class hierarchy also allows to use higher order mappings). -
    - (WB 2009/06/28) -

    -
  34. - -
  35. -

    - New: The determinant() function is now implemented for rank-2 Tensor - arguments of all sizes. The implementation is not efficient for very large - matrix sizes, however. -
    - (WB 2009/06/28) -

    -
  36. - -
  37. -

    - Improved: The QGaussLobatto::gamma function now returns a long double - instead of an unsigned int, otherwise we will get an overflow and thus - meaningless weights for higher QGaussLobatto quadrature rules. -
    - (Tobias Leicht, RH 2009/06/05) -

    -
  38. - -
  39. -

    - New: The new function Utilities::duplicate_communicator can be used - to duplicate an MPI communicator to produce a unique duplicate. -
    - (WB 2009/05/13) -

    -
  40. -
- - - - -

lac

- -
    -
  1. New: The ConstraintMatrix class can now handle storing only - a subset of all constraints, for example only for degrees of - freedom that are relevant for the subdomain that is owned by one - process in an MPI universe. -
    - (Timo Heister, Martin Kronbichler 2010/06/07) -

  2. - -
  3. New: The PETScWrappers::MPI::Vector and TrilinosWrappers::MPI::Vector - classes can now handle ghost elements, i.e. elements that are not - owned by the current processor but are available for reading - anyway. The simplest form of ghosting would be to simply import - an entire vector to local memory, but the new function allow to - select the elements we need to support the case of computations - where importing all elements of even a single vector would - exceed available memory. -
    - (Timo Heister 2010/06/07) -

  4. - -
  5. -

    - New: A class SparseDirectMumps that provides an interface to - the MUltifrontal Massively Parallel sparse direct %Solver (MUMPS). -

    -
    - (Markus Buerg 2010/05/10) -
  6. - -
  7. -

    - Fixed: BlockSparsityPattern::copy_from accidentally only copied - n_block_rows times n_block_rows blocks, instead of n_block_rows - times n_block_cols. This is now fixed. -

    -
    - (WB 2010/01/06) -
  8. - -
  9. -

    - Fixed: SparsityPattern::copy_from crashed whenever a compressed sparsity - pattern was copied that had either zero rows or zero columns. This is now - fixed. -

    -
    - (WB 2010/01/06) -
  10. - -
  11. -

    - New: The function Householder::least_squares can handle BlockVectors as - well now. Note that in one place we still have to copy to a Vector to use - the function backward from FullMatrix. -

    -
    - (Bärbel Janssen 2010/01/05) -
  12. - -
  13. -

    - New: There are now two ConstraintMatrix::add_lines functions that can - add several constraints at once. -

    -
    - (WB 2010/01/05) -
  14. - -
  15. -

    - Improved: The Vector class has been equipped with an improved way to - calculate sums in inner products and norms. This reduces the accumulation - of round-off errors. Especially the solution with float vectors should - profit from the new implementation. -

    -
    - (Martin Kronbichler 2009/11/05) -
  16. - -
  17. -

    - Improved: The ConstraintMatrix class now uses a cache for random access to - the constraint lines. This considerably increases performance of the - *_local_to_global functions, where such an access pattern is usual. Moreover, - the ConstraintMatrix class has now a function get_dof_values that can import - data from a global vector to a cell vector with respecting the constraints. -

    -
    - (Martin Kronbichler 2009/09/30) -
  18. - -
  19. -

    - Fixed: SparsityTools::reorder_Cuthill_McKee would produce an error if the - input graph had disconnected components. This is now fixed. -

    -
    - (WB 2009/09/25) -
  20. - -
  21. -

    - Fixed: When using the TrilinosWrappers::MPI::Vector::reinit() function with a %parallel - vector, and if the vector initialized and the vector given had a local range on one of - the processors that exactly matched, the program would freeze if the local ranges on - the other processors did not also match exactly. This is now fixed. -

    -
    - (WB 2009/09/02) -
  22. - -
  23. Improved: BlockVector and several of the block sparsity - patterns can now be initialized with BlockIndices - objects. Therefore, if an application needs such an object, it does - not have to store a vector of block sizes separately. -
    - (GK 2009/08/26) -

    -
  24. - -
  25. New: The class PreconditionChebyshev implements a - preconditioner based on Chebyshev polynomials. It is based on matrix-vector - products together with some vector updates. -
    - (Martin Kronbichler 2009/08/25) -

    -
  26. - -
  27. -

    - Fixed: Crash or strange behaviour (wrong matrix entries written) in - PETScWrappers::MPI::BlockSparseMatrix when adding or setting elements - through any of the set() and add() routines. This happened when different - CPUs access different blocks at the start of assembly or when switching - between adding and setting. -
    - (Timo Heister 2009/08/05) -

    -
  28. - -
  29. New: The relaxation preconditioners PreconditionJacobi, PreconditionSOR and - PreconditionSSOR, as well as their blocked versions PreconditionBlockJacobi, - PreconditionBlockSOR and PreconditionBlockSSOR now have functions step - and Tstep performing one complete step of these methods. -
    - (GK 2009/08/04) -

    -
  30. - -
  31. -

    - New: There are new functions FullMatrix::cholesky and - FullMatrix::outer_product. FullMatrix::cholesky finds the Cholesky - decomposition of a matrix in lower triangular form. - FullMatrix::outer_product calculates *this $= VW^T$ where $V$ - and $W$ are vectors. -
    - (Jean Marie Linhart 2009/07/27) -

    -
  32. - -
  33. -

    - Fixed: The TrilinosWrappers::MPI::BlockVector class declares an assignment - operator from the non-Trilinos BlockVector class but it could not be - compiled due to an oversight. This is now fixed. -
    - (WB 2009/06/29) -

    -
  34. - -
  35. -

    - New: Based on work by Francisco Alvaro, the existing SLEPcWrappers now - have a handle on the generalized eigenvalue problem where B=I. -
    - (Toby D. Young 2009/06/25) -

    -
  36. - -
  37. -

    - New: Based on work with Francisco Alvaro and Jose - E. Roman, the new SLEPcWrappers give a handle on some of the - features of SLEPc (Scalable Library for Eigenvalue Problem - Computations): (1) The SLEPcWrappers::SolverBase class can be used - for specifying an eigenvalue problem, either in standard or - generalized form, on serial or %parallel architectures with support - for a few solver types; and (2) The - SLEPcWrappers::TransformationBase class encapsulates a variety of - spectral transformations providing some functionality required for - acceleration techniques based on the transformation of the spectrum. -
    - (Toby D. Young 2009/06/25) -

    -
  38. - -
  39. -

    - Fixed: The TrilinosWrappers::BlockVector class declares an assignment - operator from the non-Trilinos BlockVector class but it wasn't implemented. - This is now fixed. -
    - (WB 2009/06/24) -

    -
  40. - -
  41. -

    - New: The SparseMatrix class has now a function SparseMatrix::mmult that - can multiply two sparse matrices with each other. -
    - (Martin Kronbichler 2009/05/04) -

    -
  42. +
  43. None so far.
@@ -705,382 +55,7 @@ inconvenience this causes.

deal.II

    - -
  1. New: The namespace MeshWorker contains a generic MeshWorker::loop() over all cells and faces as well as auciliary classes, which allow to program integrals over mesh cells and faces in a very generic and local way. In particular, an application programmer will not have to distinguish between regular faces and faces with hanging nodes anymore. Two tutorial programs (step-12 and step-39) highlight the functionality of this framework. -
    -(GK 2010/06/24) -

  2. - -
  3. -

    New: The FE_Q_Hierarchical class now has functions - FE_Q_Hierarchical::hp_constraints_are_implemented and - FE_Q_Hierarchical::hp_vertex_dof_identities. -
    - (Markus Bürg 2010/06/08) -

  4. - -
  5. -

    New: The FEValuesViews::Vector class now has functions - FEValuesViews::Vector::curl and FEValuesViews::Vector::get_function_curls. -
    - (Markus Bürg 2010/05/13) -

  6. - -
  7. -

    New: TriaAccessor::extent_in_direction() returns the length - of an object in a given direction. -
    - (James Avery 2010/05/10) -

  8. - -
  9. -

    New: There is a new function DoFTools::extract_dofs_with_support_on_boundary(). -
    - (WB 2010/05/07) -

  10. - -
  11. -

    Fixed: FE_DGQ::has_support_on_face() returned the wrong value in 1d if the - polynomial degree of the finite element equals zero (i.e. for piecewise - constants) where the lone shape function is nonzero on all faces. This is now - fixed. -
    - (WB 2010/05/07) -

  12. - -
  13. -

    Fixed: VectorTools::interpolate_boundary_values inadvertently produces - an exception when used with hp::DoFHandler objects in 1d. This is now fixed. -
    - (WB 2010/05/04) -

  14. - -
  15. -

    Fixed: The GridIn::read_msh function got into trouble if the mesh file - had a section that listed physical names for variables. This is now fixed. -
    - (WB 2010/05/03) -

  16. - -
  17. -

    Improved: DoFHandler iterators now can be assigned from a Triangulation iterator - after the dof handler was set once. -
    - (GK 2010/03/25) -

  18. - -
  19. -

    - New: The function DoFRenumbering::downstream has now an additional bool - argument. If enabled, the downstream comparison is performed on a DoF - basis, as opposed to the cell-based comparison that is used with a false - argument. -
    - (Martin Kronbichler 2010/03/19) -

    -
  20. - -
  21. Improved: DoFHandler now has a BlockInfo object, automatically - updated after DoFHandler::distribute_dofs() and accessible by - DoFHandler::block_info(). This object can be used to initialize block - vectors and obliterates the necessity to count dofs per block (or dofs - per component in legacy code) in application programs. -
    - (GK 2010/03/18) -

    -
  22. - -
  23. -

    - New: The class MGTransferSelect is prepared for use on adaptively refined meshes. -
    - (Bärbel Janssen 2010/02/05) -

    -
  24. - -
  25. -

    - New: The function Cuthill_McKee in namespace DoFRenumbering is now also compiled for - MGDoFHandler as well as the make_sparsity_pattern functions in DoFTools. -
    - (Bärbel Janssen 2010/01/08) -

    -
  26. - -
  27. -

    - New: Constructor of FESystem now also exists for four base elements. -
    - (Thomas Wick 2010/01/08) -

    -
  28. - -
  29. -

    - New: The functions in namespace DoFRenumbering::boost are now also compiled for - hp::DoFHandler arguments. -
    - (WB 2009/12/14) -

    -
  30. - -
  31. -

    - Fixed: The functions DoFTools::count_dofs_per_component and DoFTools::extract_dofs - produced wrong results for elements that consist of two or more nested FESystems. - Moreoever, a bug in DoFTools::extract_constant_modes has been corrected and - DoFTools::distribute_cell_to_dof_vector now works according to the documentation, - namely leaving unselected components in the result vector unchanged, instead of - setting these to zero as was done before. -
    - (Martin Kronbichler 2009/12/14) -

    -
  32. - -
  33. -

    - Fixed: The function Triangulation::n_levels() accidentally turned out to be - quite expensive, in particular if the mesh has been coarsened significantly - in the past. Since Triangulation::n_active_cells() calls Triangulation::n_levels() - repeatedly, by consequence it also is surprisingly expensive, which is - particularly annoying since this is a frequently called function. This has - now been fixed by caching the result of both functions. -
    - (Wolfgang Bangerth 2009/11/22) -

    -
  34. - -
  35. -

    - Fixed: The function DataOut class got confused when its DataOut::first_cell() and - DataOut::next_cell() were overloaded and cell data was given. This is now fixed. -
    - (Wolfgang Bangerth 2009/11/05) -

    -
  36. - -
  37. -

    - New: The function DoFRenumbering::component_wise is now also implemented - for arguments of type hp::DoFHandler. -
    - (Markus Bürg 2009/10/01) -

    -
  38. - -
  39. New: The class BlockInfo stores and computes all BlockIndices objects related to - DoFHandler and MGDoFHandler based on FESystem. -
    - (GK 2009/09/13) -

    -
  40. - -
  41. Improved: MGDoFHandler now also has a typedef for MGDoFHandler::Container -
    - (GK 2009/09/13) -

    -
  42. - -
  43. FETools::compute_block_renumbering() can nor return block sizes instead of - start indices. -
    - (GK 2009/08/26) -

    -
  44. - -
  45. -

    - New: The function GridGenerator::truncated_cone() and the class ConeBoundary - can now be used to describe conical objects. -
    - (Markus Bürg 2009/08/17) -

    -
  46. - -
  47. -

    - New: Instead of asking face or edge iterators for their boundary indicator - using TriaAccessor::boundary_indicator() and then the triangulation for - the boundary object using Triangulation::get_boundary(), you can now directly - ask the iterator for the boundary object using TriaAccessor::get_boundary(). -
    - (WB 2009/07/31) -

    -
  48. - -
  49. -

    - Fixed: The CellAccessor::recursively_set_material_id function did not - set the material id for all children, but only for the first two, which - is obviously a bug. This should now be fixed. -
    - (WB 2009/07/14) -

    -
  50. - -
  51. -

    - Fixed: The GridIn class sometimes had problems with input files that had - whitespace at the end of lines. This should now be fixed. -
    - (WB 2009/07/10) -

    -
  52. - -
  53. -

    - New: Previously, the Triangulation::create_triangulation - function silently accepted input meshes with inverted cells - (i.e. cells with a zero or negative determinant of the Jacobian of - the mapping from the reference cell to the real cell). This can been - changed now: By passing the appropriate flag to the constructor of - the Triangulation class, the Triangulation::create_triangulation - function checks whether cells are distorted or - inverted, and may throw an exception containing a list of cells - for which this is the case. If you know that this is harmless, for - example if you have cells with collapsed vertices in your mesh but - you do not intend to integrate on them, then you can catch and - ignore this message. In all other cases, the output of your - computations are likely to be wrong anyway. -
    - The same is true for the Triangulation::execute_coarsening_and_refinement - function: if it creates cells that are distorted, it throws a list of cells - whose children are distorted. -
    - The whole issue is described in some detail in the entry on - @ref GlossDistorted "distorted cells" in the glossary. -
    - (WB 2009/06/29) -

    -
  54. - - -
  55. -

    - New: The new hp::DoFHandler::set_active_fe_indices function allows - to distribute all active FE indices at once based on a given - vector. This might be useful if this information is stored - somewhere and has to be reconstructed or else if two DoFHandler - objects with the same FE index distribution should be created. - There is now also a corresponding - hp::DoFHandler::get_active_fe_indices function. -
    - (Tobias Leicht, RH 2009/06/12) -

    -
  56. - -
  57. -

    - Fixed: The projection of quadrature points to subfaces in - MappingQ in case of 3d anisotropic refinement did not respect - non-standard face orientation/flip/rotation cases. This - has now been fixed. -
    - (Tobias Leicht, RH 2009/06/12) -

    -
  58. - -
  59. -

    - New: The new Triangulation::n_raw_faces() function forwards - to Triangulation::n_raw_lines() in 2d and - Triangulation::n_raw_quads() in 3d. -
    - (Tobias Leicht, RH 2009/06/12) -

    -
  60. - -
  61. -

    - New: There is now a new DataOutFaces::build_patches function which - takes a Mapping argument. For higher order mappings this allows to - represent curved boundaries by using more subdivisions. This function - is also useful in the context of MappingQ1Eulerian. -
    - (Tobias Leicht, RH 2009/06/05) -

    -
  62. - -
  63. -

    - New: For empty triangulations the new Triangulation::set_mesh_smoothing - function allows to override the MeshSmoothing given to the constructor. -
    - (RH 2009/06/05) -

    -
  64. - -
  65. -

    - New: The new function TriaAccessor::is_translation_of computes - whether a cell, face, or edge is a translation of another. -
    - (Martin Kronbichler, WB 2009/05/19) -

    -
  66. - -
  67. -

    - New: The DoFTools::make_sparsity_pattern functions have acquired a - new paramater subdomain_id. If a value other than the - default value is passed for it, the function only assembles the - sparsity pattern on those cells that have the given subdomain id. - This is useful, for example, in conjunction with the - TrilinosWrappers::SparsityPattern class that can hold a sparsity - pattern distributed across several MPI processes; in that case, it is - not necessary that each process builds the entire sparsity pattern. -
    - (WB 2009/04/29) -

    -
  68. - -
  69. -

    - Fixed: The DoFRenumbering::component_wise function for MGDoFHandler objects - did a few things in %parallel that weren't thread-safe. This is now fixed. -
    - (WB, 2009/01/20) -

    - -
  70. -

    - Changed: The two DataOut::build_patches, DataOutFaces::build_patches, and - DataOutRotation::build_patches functions have lost the argument - that indicated the number of threads with which they should build the - intermediate representation. This is something that now happens - transparently in the background and doesn't need caller input any more. -
    - (WB 2008/12/16) -

    - -
  71. -

    - Changed: The KellyErrorEstimator::estimate functions had a parameter - that indicates the number of threads to be used in the computation. - This parameter continues to exist for compatibility, but is now ignored. - Rather, the number of threads is determined automatically by scheduling - the requested computations on available compute resources. -
    - (WB, 2008/12/29) -

    - -
  72. -

    - New: The new function internal::hp::FEValuesBase::get_fe_collection function - allows to query the finite element collection currently in used in an hp::FEValues, - hp::FEFaceValues, or hp::FESubfaceValues object. -
    - (WB 2008/09/30) -

    - -
  73. -

    - New: The new function FEValuesBase::get_update_flags allows to query - the update flags that are currently set on an FEValues, FEFaceValues, or - FESubfaceValues object. -
    - (WB 2008/09/29) -

    +
  74. None so far.
diff --git a/deal.II/doc/news/news.html b/deal.II/doc/news/news.html index 334a6dff33..dc0d7b416a 100644 --- a/deal.II/doc/news/news.html +++ b/deal.II/doc/news/news.html @@ -29,7 +29,7 @@

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

+ here.

@@ -56,7 +56,7 @@
2010/06/23: step-37 shows periodic boundary - conditions + conditions
Contributed by Markus Bürg, the new tutorial program step-37 -- 2.39.5