Dear deal.II users,
after a lot of work on branch_anisotropic which was originally created in 2005, we've now performed the svn merge from branch_anisotropic to the trunk (deal.II main development line). Now the current svn trunk version of deal.II is capable of anisotropic refinement which splits only some of the edges of a cell in half to form new cells. This way the aspect ratio of cells can be optimized to better fit a problem with anisotropic features. There is now a new tutorial step-30 which explains the main concepts of anisotropic refinement as well as the necessary modifications to user codes. Some modifications we made are not backwards compatible and need modification of user code. Some of these changes are incompatible on purpose in order to force the user to have a look at critical parts of the code. For the most important incompatible changes, see the annex below. The current state of anisotropic refinement is the following: - it works for discontinuous finite elements (FE_DG*) in 2d and 3d - it works for continuous finite elements in 2d only as the implementation of hanging node constraints in 3d are still missing. It will be one of the next steps to provide the hanging node constraints in 3d for FE_Q. Any contribution of deal.II developers on this topic is very much appreciated. Note that the new anisotropic refinement capabilities will also be part of the next public release of deal.II. Best regards, Tobias and Ralf. ---- For a complete list of (in)compatible changes see deal.II/doc/doxygen/deal.II/changes_after_6.1.html after calling 'make online-doc' in your local copy of the current svn version of deal.II or see http://www.dealii.org/developer/doxygen/deal.II/changes_after_6.1.html once the deal.II homepage is automatically updated. In the following we describe the most important incompatible changes which are likely to affect every deal.II user code based on the current svn version of deal.II: Incompatible change: GeometryInfo<dim>::children_per_cell has been replaced by GeometryInfo<dim>::max_children_per_cell, which represents the maximum number of children a cell might have, i.e. the number of children in the case of isotropic refinement. In general, the number of children of a cell varies from cell to cell and can be obtained by cell->n_children(), which gives the number of children of a specific cell which is refined iso- or anisotropically. In contrast to that the new GeometryInfo<dim>::max_children_per_cell variable will rarely be used in user codes. Incompatible change: The analogous change applies to the number of children of a face. GeometryInfo<dim>::subfaces_per_face has been replaced by GeometryInfo<dim>::max_children_per_face, which represents the maximum number of children a face might have, i.e. the number of children in the case of an isotropically refined face. In general, the number of children of a face varies from face to face and can be obtained by face->n_children(), which gives the number of children of a specific face which is refined iso- or anisotropically. In contrast to that the new GeometryInfo<dim>::max_children_per_face variable will rarely be used in user codes. _______________________________________________
