const unsigned int global_index) const;
/**
- * Number of active fe-indices,
- * calls the respective
- * function in DoFObjects
+ * Return the number of active
+ * fe-indices on the given
+ * object. Since we have a non-hp
+ * handler here, this function
+ * always returns 1.
*/
template <int structdim>
unsigned int n_active_fe_indices (const unsigned int obj_level,
const unsigned int obj_index) const;
+
+ /**
+ * Return the fe index of the
+ * n-th active finite element on
+ * this object. Since this is a
+ * non-hp object, there is
+ * exactly one active fe index;
+ * the function therefore asserts
+ * that @p n equals zero, and the
+ * returns default_fe_index.
+ */
+ template <int structdim>
+ unsigned int nth_active_fe_index (const unsigned int obj_level,
+ const unsigned int obj_index,
+ const unsigned int n) const;
/**
* Return, wether fe-index is an
}
+
+template <int dim>
+template <int structdim>
+inline
+bool
+DoFHandler<dim>::fe_index_is_active (const unsigned int,
+ const unsigned int,
+ const unsigned int fe_index) const
+{
+ return (fe_index == 0);
+}
+
+
+
+template <int dim>
+template <int structdim>
+inline
+unsigned int
+DoFHandler<dim>::n_active_fe_indices (const unsigned int,
+ const unsigned int) const
+{
+ return 1;
+}
+
+
+
+template <int dim>
+template <int structdim>
+inline
+unsigned int
+DoFHandler<dim>::nth_active_fe_index (const unsigned int,
+ const unsigned int,
+ const unsigned int n) const
+{
+ Assert (n == 0, ExcIndexRange (n, 0, 1));
+
+ return default_fe_index;
+}
+
+
#endif // DOXYGEN
/*---------------------------- dof_handler.h ---------------------------*/
global_index);
}
-
-
-template <>
-template <>
-bool
-DoFHandler<1>::fe_index_is_active<1> (const unsigned int obj_level,
- const unsigned int obj_index,
- const unsigned int fe_index) const
-{
- return this->levels[obj_level]->lines.fe_index_is_active(*this,
- obj_index,
- fe_index);
-}
-
-
-template <>
-template <>
-unsigned int
-DoFHandler<1>::n_active_fe_indices<1> (const unsigned int obj_level,
- const unsigned int obj_index) const
-{
- return this->levels[obj_level]->lines.n_active_fe_indices (*this,
- obj_index);
-}
#endif
#if deal_II_dimension == 2
}
-template <>
-template <>
-bool
-DoFHandler<2>::fe_index_is_active<1> (const unsigned int ,
- const unsigned int obj_index,
- const unsigned int fe_index) const
-{
- return this->faces->lines.fe_index_is_active(*this,
- obj_index,
- fe_index);
-}
-
-
-template <>
-template <>
-unsigned int
-DoFHandler<2>::n_active_fe_indices<1> (const unsigned int ,
- const unsigned int obj_index) const
-{
- return this->faces->lines.n_active_fe_indices (*this,
- obj_index);
-}
-
template <>
template <>
global_index);
}
-
-
-template <>
-template <>
-bool
-DoFHandler<2>::fe_index_is_active<2> (const unsigned int obj_level,
- const unsigned int obj_index,
- const unsigned int fe_index) const
-{
- return this->levels[obj_level]->quads.fe_index_is_active(*this,
- obj_index,
- fe_index);
-}
-
-
-template <>
-template <>
-unsigned int
-DoFHandler<2>::n_active_fe_indices<2> (const unsigned int obj_level,
- const unsigned int obj_index) const
-{
- return this->levels[obj_level]->quads.n_active_fe_indices (*this,
- obj_index);
-}
#endif
#if deal_II_dimension == 3
}
-template <>
-template <>
-bool
-DoFHandler<3>::fe_index_is_active<1> (const unsigned int ,
- const unsigned int obj_index,
- const unsigned int fe_index) const
-{
- return this->faces->lines.fe_index_is_active(*this,
- obj_index,
- fe_index);
-}
-
-
-template <>
-template <>
-unsigned int
-DoFHandler<3>::n_active_fe_indices<1> (const unsigned int ,
- const unsigned int obj_index) const
-{
- return this->faces->lines.n_active_fe_indices (*this,
- obj_index);
-}
template <>
template <>
}
+
template <>
template <>
unsigned int
}
+
template <>
template <>
void
}
+
template <>
template <>
void
global_index);
}
-
-
-template <>
-template <>
-bool
-DoFHandler<3>::fe_index_is_active<2> (const unsigned int ,
- const unsigned int obj_index,
- const unsigned int fe_index) const
-{
- return this->faces->quads.fe_index_is_active(*this,
- obj_index,
- fe_index);
-}
-
-template <>
-template <>
-bool
-DoFHandler<3>::fe_index_is_active<3> (const unsigned int obj_level,
- const unsigned int obj_index,
- const unsigned int fe_index) const
-{
- return this->levels[obj_level]->hexes.fe_index_is_active(*this,
- obj_index,
- fe_index);
-}
-
-
-template <>
-template <>
-unsigned int
-DoFHandler<3>::n_active_fe_indices<2> (const unsigned int ,
- const unsigned int obj_index) const
-{
- return this->faces->quads.n_active_fe_indices (*this,
- obj_index);
-}
-
-template <>
-template <>
-unsigned int
-DoFHandler<3>::n_active_fe_indices<3> (const unsigned int obj_level,
- const unsigned int obj_index) const
-{
- return this->levels[obj_level]->hexes.n_active_fe_indices (*this,
- obj_index);
-}
#endif