From 2d4f7f09f66828492b7031ea12a51b1188c64bec Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Fri, 30 Aug 2013 12:57:12 +0000 Subject: [PATCH] Update the documentation. Rename template arguments. git-svn-id: https://svn.dealii.org/trunk@30537 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/include/deal.II/hp/dof_objects.h | 116 +++++++++++------------ 1 file changed, 56 insertions(+), 60 deletions(-) diff --git a/deal.II/include/deal.II/hp/dof_objects.h b/deal.II/include/deal.II/hp/dof_objects.h index 1a035b80bf..59ec451d53 100644 --- a/deal.II/include/deal.II/hp/dof_objects.h +++ b/deal.II/include/deal.II/hp/dof_objects.h @@ -32,7 +32,9 @@ namespace internal /** * Store the indices of the degrees of freedom which are located on - * objects of dimension @p dim. + * objects of dimension @p structdim < dim, i.e., for faces or edges + * of cells. This is opposed to the internal::hp::DoFLevels class + * that stores the DoF indices on cells. * * The things we store here is very similar to what is stored in the * internal::DoFHandler::DoFObjects classes (see there for more @@ -58,16 +60,12 @@ namespace internal * *

Multiple data sets per object

* - * If an object corresponds to a cell, the global dof indices of this - * cell are stored at the location indicated above in sequential - * order. - * - * However, if two adjacent cells use different finite elements, then + * If two adjacent cells use different finite elements, then * the face that they share needs to store DoF indices for both * involved finite elements. While faces therefore have to have at - * most two sets of DoF indices, it is easy to see that vertices for - * example can have as many sets of DoF indices associated with them - * as there are adjacent cells, and the same holds for lines in 3d. + * most two sets of DoF indices, it is easy to see that edges and + * vertices can have as many sets of DoF indices associated with them + * as there are adjacent cells. * * Consequently, for objects that have a lower dimensionality than * cells, we have to store a map from the finite element index to the @@ -87,7 +85,7 @@ namespace internal * Access to this kind of data, as well as the distinction between * cells and objects of lower dimensionality are encoded in the * accessor functions, DoFObjects::set_dof_index() and - * DoFLevel::get_dof_index() They are able to traverse this + * DoFLevel::get_dof_index(). They are able to traverse this * list and pick out or set a DoF index given the finite element index * and its location within the set of DoFs corresponding to this * finite element. @@ -96,7 +94,7 @@ namespace internal * @ingroup hp * @author Tobias Leicht, 2006 */ - template + template class DoFObjects { public: @@ -142,9 +140,9 @@ namespace internal * class template for more * information. */ - template + template void - set_dof_index (const dealii::hp::DoFHandler &dof_handler, + set_dof_index (const dealii::hp::DoFHandler &dof_handler, const unsigned int obj_index, const unsigned int fe_index, const unsigned int local_index, @@ -174,9 +172,9 @@ namespace internal * class template for more * information. */ - template + template types::global_dof_index - get_dof_index (const dealii::hp::DoFHandler &dof_handler, + get_dof_index (const dealii::hp::DoFHandler &dof_handler, const unsigned int obj_index, const unsigned int fe_index, const unsigned int local_index, @@ -205,9 +203,9 @@ namespace internal * been distributed and zero * is returned. */ - template + template unsigned int - n_active_fe_indices (const dealii::hp::DoFHandler &dof_handler, + n_active_fe_indices (const dealii::hp::DoFHandler &dof_handler, const unsigned int obj_index) const; /** @@ -215,9 +213,9 @@ namespace internal * n-th active finite element * on this object. */ - template + template types::global_dof_index - nth_active_fe_index (const dealii::hp::DoFHandler &dof_handler, + nth_active_fe_index (const dealii::hp::DoFHandler &dof_handler, const unsigned int obj_level, const unsigned int obj_index, const unsigned int n) const; @@ -228,9 +226,9 @@ namespace internal * used on the present * object or not. */ - template + template bool - fe_index_is_active (const dealii::hp::DoFHandler &dof_handler, + fe_index_is_active (const dealii::hp::DoFHandler &dof_handler, const unsigned int obj_index, const unsigned int fe_index, const unsigned int obj_level) const; @@ -246,18 +244,18 @@ namespace internal // --------------------- inline and template functions ------------------ - template - template + template + template inline types::global_dof_index - DoFObjects:: - get_dof_index (const dealii::hp::DoFHandler &dof_handler, + DoFObjects:: + get_dof_index (const dealii::hp::DoFHandler &dof_handler, const unsigned int obj_index, const unsigned int fe_index, const unsigned int local_index, const unsigned int obj_level) const { - Assert ((fe_index != dealii::hp::DoFHandler::default_fe_index), + Assert ((fe_index != dealii::hp::DoFHandler::default_fe_index), ExcMessage ("You need to specify a FE index when working " "with hp DoFHandlers")); Assert (&dof_handler != 0, @@ -268,10 +266,10 @@ namespace internal Assert (fe_index < dof_handler.get_fe().size(), ExcIndexRange (fe_index, 0, dof_handler.get_fe().size())); Assert (local_index < - dof_handler.get_fe()[fe_index].template n_dofs_per_object(), + dof_handler.get_fe()[fe_index].template n_dofs_per_object(), ExcIndexRange(local_index, 0, dof_handler.get_fe()[fe_index] - .template n_dofs_per_object())); + .template n_dofs_per_object())); Assert (obj_index < dof_offsets.size(), ExcIndexRange (obj_index, 0, dof_offsets.size())); @@ -283,7 +281,7 @@ namespace internal "information for an object on which no such " "information is available")); - Assert (dim( dof_handler.get_fe()[*pointer] - .template n_dofs_per_object() + 1); + .template n_dofs_per_object() + 1); } } - template - template + template + template inline void - DoFObjects:: - set_dof_index (const dealii::hp::DoFHandler &dof_handler, + DoFObjects:: + set_dof_index (const dealii::hp::DoFHandler &dof_handler, const unsigned int obj_index, const unsigned int fe_index, const unsigned int local_index, const types::global_dof_index global_index, const unsigned int obj_level) { - Assert ((fe_index != dealii::hp::DoFHandler::default_fe_index), + Assert ((fe_index != dealii::hp::DoFHandler::default_fe_index), ExcMessage ("You need to specify a FE index when working " "with hp DoFHandlers")); Assert (&dof_handler != 0, @@ -330,10 +328,10 @@ namespace internal Assert (fe_index < dof_handler.get_fe().size(), ExcIndexRange (fe_index, 0, dof_handler.get_fe().size())); Assert (local_index < - dof_handler.get_fe()[fe_index].template n_dofs_per_object(), + dof_handler.get_fe()[fe_index].template n_dofs_per_object(), ExcIndexRange(local_index, 0, dof_handler.get_fe()[fe_index] - .template n_dofs_per_object())); + .template n_dofs_per_object())); Assert (obj_index < dof_offsets.size(), ExcIndexRange (obj_index, 0, dof_offsets.size())); @@ -345,7 +343,7 @@ namespace internal "information for an object on which no such " "information is available")); - Assert (dim() + 1; + .template n_dofs_per_object() + 1; } } - template - template + template + template inline unsigned int - DoFObjects:: - n_active_fe_indices (const dealii::hp::DoFHandler &dof_handler, + DoFObjects:: + n_active_fe_indices (const dealii::hp::DoFHandler &dof_handler, const unsigned int obj_index) const { - Assert (dim <= dimm, ExcInternalError()); Assert (&dof_handler != 0, ExcMessage ("No DoFHandler is specified for this iterator")); Assert (&dof_handler.get_fe() != 0, @@ -394,7 +391,7 @@ namespace internal if (dof_offsets[obj_index] == numbers::invalid_dof_index) return 0; - Assert (dim() + 1; + .template n_dofs_per_object() + 1; } } } - template - template + template + template inline types::global_dof_index - DoFObjects:: - nth_active_fe_index (const dealii::hp::DoFHandler &dof_handler, + DoFObjects:: + nth_active_fe_index (const dealii::hp::DoFHandler &dof_handler, const unsigned int obj_level, const unsigned int obj_index, const unsigned int n) const { - Assert (dim <= dimm, ExcInternalError()); Assert (&dof_handler != 0, ExcMessage ("No DoFHandler is specified for this iterator")); Assert (&dof_handler.get_fe() != 0, @@ -447,7 +443,7 @@ namespace internal "information for an object on which no such " "information is available")); - Assert (dim() + 1; + .template n_dofs_per_object() + 1; } } - template - template + template + template inline bool - DoFObjects:: - fe_index_is_active (const dealii::hp::DoFHandler &dof_handler, + DoFObjects:: + fe_index_is_active (const dealii::hp::DoFHandler &dof_handler, const unsigned int obj_index, const unsigned int fe_index, const unsigned int obj_level) const @@ -499,7 +495,7 @@ namespace internal "this DoFHandler")); Assert (obj_index < dof_offsets.size(), ExcIndexRange (obj_index, 0, static_cast(dof_offsets.size()))); - Assert ((fe_index != dealii::hp::DoFHandler::default_fe_index), + Assert ((fe_index != dealii::hp::DoFHandler::default_fe_index), ExcMessage ("You need to specify a FE index when working " "with hp DoFHandlers")); Assert (fe_index < dof_handler.get_fe().size(), @@ -513,7 +509,7 @@ namespace internal "information for an object on which no such " "information is available")); - Assert (dim( dof_handler.get_fe()[*pointer] - .template n_dofs_per_object()+1); + .template n_dofs_per_object()+1); } } -- 2.39.5