const unsigned int i,
const types::global_dof_index index) const;
- /**
- * Set the global index of the <i>i</i> degree on the @p vertex-th vertex of
- * the present cell to @p index.
- *
- * The last argument denotes the finite element index. For the standard
- * ::DoFHandler class, this value must be equal to its default value since
- * that class only supports the same finite element on all cells anyway.
- *
- * However, when the relevant DoFHandler has hp-capabilities, different
- * finite element objects may be used on different cells. On faces between
- * two cells, as well as vertices, there may therefore be two sets of
- * degrees of freedom, one for each of the finite elements used on the
- * adjacent cells. In order to specify which set of degrees of freedom to
- * work on, the last argument is used to disambiguate. Finally, if this
- * function is called for a cell object, there can only be a single set of
- * degrees of freedom, and fe_index has to match the result of
- * active_fe_index().
- */
- void
- set_vertex_dof_index(const unsigned int vertex,
- const unsigned int i,
- const types::global_dof_index index,
- const unsigned int fe_index =
- DoFHandler<dim, spacedim>::invalid_fe_index) const;
-
void
set_mg_vertex_dof_index(const int level,
const unsigned int vertex,
const types::global_dof_index index,
const unsigned int fe_index = AccessorData::invalid_fe_index) const;
- /**
- * Set the global index of the <i>i</i> degree on the @p vertex-th vertex of
- * the present cell to @p index.
- *
- * The last argument denotes the finite element index. For the standard
- * ::DoFHandler class, this value must be equal to its default value since
- * that class only supports the same finite element on all cells anyway.
- *
- * However, when the relevant DoFHandler has hp-capabilities, different
- * finite element objects may be used on different cells. On faces between
- * two cells, as well as vertices, there may therefore be two sets of
- * degrees of freedom, one for each of the finite elements used on the
- * adjacent cells. In order to specify which set of degrees of freedom to
- * work on, the last argument is used to disambiguate. Finally, if this
- * function is called for a cell object, there can only be a single set of
- * degrees of freedom, and fe_index has to match the result of
- * active_fe_index().
- */
- void
- set_vertex_dof_index(
- const unsigned int vertex,
- const unsigned int i,
- const types::global_dof_index index,
- const unsigned int fe_index = AccessorData::invalid_fe_index) const;
-
// Iterator classes need to be friends because they need to access
// operator== and operator!=.
template <typename>
}
-template <int structdim, int dim, int spacedim, bool level_dof_access>
-inline void
-DoFAccessor<structdim, dim, spacedim, level_dof_access>::set_vertex_dof_index(
- const unsigned int vertex,
- const unsigned int i,
- const types::global_dof_index index,
- const unsigned int fe_index_) const
-{
- const unsigned int fe_index =
- (this->dof_handler->hp_capability_enabled == false &&
- fe_index_ == DoFHandler<dim, spacedim>::invalid_fe_index) ?
- DoFHandler<dim, spacedim>::default_fe_index :
- fe_index_;
-
- dealii::internal::DoFAccessorImplementation::Implementation::set_dof_index(
- *this->dof_handler,
- 0,
- this->vertex_index(vertex),
- fe_index,
- i,
- std::integral_constant<int, 0>(),
- index);
-}
-
template <int structdim, int dim, int spacedim, bool level_dof_access>
inline void
-template <int spacedim, bool level_dof_access>
-inline void
-DoFAccessor<0, 1, spacedim, level_dof_access>::set_vertex_dof_index(
- const unsigned int /*vertex*/,
- const unsigned int /*i*/,
- const types::global_dof_index /*index*/,
- const unsigned int /*fe_index*/) const
-{
- Assert(false, ExcNotImplemented());
-}
-
-
-
template <int spacedim, bool level_dof_access>
inline const DoFHandler<1, spacedim> &
DoFAccessor<0, 1, spacedim, level_dof_access>::get_dof_handler() const