The deal.II news page
Author: the deal.II authors <authors@dealii.org>
Keywords: deal.II

## Changes on the hp branch

This is the list of changes made on the hp branch; this list will be merged back into the main document listing changes once the hp branch is merged as well. Since the hp branch only exists in the deal.II subdirectory, only this category exists below.

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

### deal.II

1. Changed: Changed `FE` to `FECollection` at several places and also changed depending functions accordingly. Modified the `reserve_space` method of `hpDoFHandler` to work for 2D DG-problems. In this context the 2D code for `pre_refinement_notification` was added as well.
   (Oliver Kayser-Herold 2003/12/11)

2. Changed: Implemented a couple of small modifications to get a first 1D hp-example running. The `Triangulation` class was extended by a method to add `RefinementListener`s, which allow other classes to be informed about Refinements. This is needed for the `hpDoFHandler`, which administrates the `active_fe_indices` in the `hpDoFLevel`s. Once this was implemented, the other changes were straightforward. For 1D, the only thing which had to be changed for hp was the `reserve_space` method. Last but not least, for the hp-example the `add` method was added to the `FECollection`. It allows the user to add new `FiniteElements`s to the the `FECollection`.
   (Oliver Kayser-Herold 2003/06/01)

3. Changed: Introduced the `DoFHandler` as template parameter in classes `DataOutStack`, `DataOutFaces`, `DataOut` and `DataOut_DoFData`. `DoFHandler` is used as default template argument to ensure backward compatibility. Added an overloaded method `reinit` for the new `hpDoFHandler` in class `FEValues`. Modified method `interpolate_boundary_values` in class `VectorTools` to take the `DoFHandler` as template argument. Probably this method must be changed later, when the real `hpDoFHandler` is implemented. Added the first implementation of the `hpDoFHandler` which is simply a copy of the old one. But it should provide a good basis for the new one. Finally the `DoFAccessor` is now instantiated for the new `hpDoFAccessor`. Overall these changes now allow the compilation of some of the sample programs with the new `hpDoFAccessor` but obviously not yet with new functionality.
   (Oliver Kayser-Herold 2003/02/18)

4. Changed: The `DoFHandler::n_boundary_dofs` functions have been moved and renamed. They are now `DoFTools::count_boundary_dofs`.
   (WB 2003/02/18)

5. Changed: The `DoFLevel` classes has been moved to a namespace `internal`, since they are not meant for public use.
   (WB 2003/02/18)

6. Changed: Many of the functions in `DoFTools` are now templatized to accept both `DoFHandler` and `hpDoFHandler` objects.
   (WB 2003/02/14)

7. Changed: The `TriaDimensionInfo` and `DoFDimensionInfo` classes that were used to declare typedefs for the iterators have been moved to a namespace internal (so as to get them out of the class index in the documentation -- these classes were not meant for use in applications after all), and have been renamed to `TriaIteratorSelector` and `DoFIteratorSelector`, since that is what they are.
   (WB 2003/02/13)

8. Changed: Due to the demand for different `DoFHandler` classes (mainly for the planned hp-DoFHandler) the DoFHandler has been introduced as a template parameter into the `DoFAccessor`, the `DoFObjectAccessor`, and the `DoFCellAccessor` classes. Furthermore the `DoFHandler` was also introduced as template parameter into the `DoFDimensionInfo` class. These changes induced several little changes in a couple of methods to get the code through the compiler. But no functionality was affected.
   (Oliver Kayser-Herold 2003/01/24)

9. Changed: There are now overloaded versions of the `FEValues::reinit` function (and likewise in the `FEFaceValues` and `FESubFaceValues` classes) that either take a `Triangulation::cell_iterator` or a `DoFHandler::cell_iterator`. That means that you can compute certain data with only the geometrical information the former provides, independent of whether degrees of freedom are associated with this cell or not. However, certain functions of the `FEValues` class will throw an error if you attempt to use them without DoF data being delivered in the reinitialization call; these functions need to extract values from finite element fields, and are mostly the `FEValues::get_function_values/grads/2nd_derivatives` functions.
   (WB 2003/01/20)

10. Changed: The `Mapping::transform_real_to_unit_cell` and `Mapping::transform_unit_to_real_cell` now only take a `Triangulation::cell_iterator` instead of a `DoFHandler::cell_iterator` as previously. This is also reasonable, since they only need the geometric information.
    (WB 2003/01/20)

11. Changed: The `FiniteElement::fill_fe_*_values` now only take a `Triangulation::cell_iterator` instead of a `DoFHandler::cell_iterator` as previously. Likewise for `FiniteElementBase::compute_2nd` and `FESystem::compute_fill`, and the `Mapping::fill_fe_*_values` functions.
    (WB 2003/01/20)

Last update $Date: 2006-07-13 09:12:08 -0400 (Thu, 13 Jul 2006) $