* is of course dense, i.e., every DoF is to be found in it.
*
* @param[in] mapping The mapping from the reference cell to the real cell on
- * which DoFs are defined.
+ * which DoFs are defined.
* @param[in] dof_handler The object that describes which DoF indices live on
- * which cell of the triangulation.
- * @param[in,out] support_points A map that for every locally relevant DoF
- * index contains the corresponding location in real space coordinates.
- * Previous content of this object is deleted in this function.
+ * which cell of the triangulation.
* @param[in] mask An optional component mask that restricts the
- * components from which the support points are extracted.
+ * components from which the support points are extracted.
+ * @return A map that for every locally relevant DoF
+ * index contains the corresponding location in real space coordinates.
*/
template <int dim, int spacedim>
- void
+ std::map<types::global_dof_index, Point<spacedim>>
+ map_dofs_to_support_points(const Mapping<dim, spacedim> & mapping,
+ const DoFHandler<dim, spacedim> &dof_handler,
+ const ComponentMask &mask = ComponentMask());
+
+ /**
+ * Same as the previous function but for the hp-case.
+ */
+ template <int dim, int spacedim>
+ std::map<types::global_dof_index, Point<spacedim>>
+ map_dofs_to_support_points(
+ const dealii::hp::MappingCollection<dim, spacedim> &mapping,
+ const DoFHandler<dim, spacedim> & dof_handler,
+ const ComponentMask & mask = ComponentMask());
+
+ /**
+ * A version of the function of same name that returns the map via its third
+ * argument. This function is deprecated.
+ * @deprecated Use the function that returns the `std::map` instead.
+ */
+ template <int dim, int spacedim>
+ DEAL_II_DEPRECATED_EARLY void
map_dofs_to_support_points(
const Mapping<dim, spacedim> & mapping,
const DoFHandler<dim, spacedim> & dof_handler,
const ComponentMask & mask = ComponentMask());
/**
- * Same as the previous function but for the hp-case.
+ * A version of the function of same name that returns the map via its third
+ * argument. This function is deprecated.
+ * @deprecated Use the function that returns the `std::map` instead.
*/
template <int dim, int spacedim>
- void
+ DEAL_II_DEPRECATED_EARLY void
map_dofs_to_support_points(
const dealii::hp::MappingCollection<dim, spacedim> &mapping,
const DoFHandler<dim, spacedim> & dof_handler,
}
+ // This functino is deprecated:
template <int dim, int spacedim>
- void
+ DEAL_II_DEPRECATED_EARLY void
map_dofs_to_support_points(
const Mapping<dim, spacedim> & mapping,
const DoFHandler<dim, spacedim> & dof_handler,
}
+ // This functino is deprecated:
template <int dim, int spacedim>
- void
+ DEAL_II_DEPRECATED_EARLY void
map_dofs_to_support_points(
const hp::MappingCollection<dim, spacedim> & mapping,
const DoFHandler<dim, spacedim> & dof_handler,
internal::map_dofs_to_support_points(mapping, dof_handler, mask);
}
+
+ template <int dim, int spacedim>
+ std::map<types::global_dof_index, Point<spacedim>>
+ map_dofs_to_support_points(const Mapping<dim, spacedim> & mapping,
+ const DoFHandler<dim, spacedim> &dof_handler,
+ const ComponentMask & mask)
+ {
+ // Let the internal function do all the work, just make sure that it
+ // gets a MappingCollection
+ const hp::MappingCollection<dim, spacedim> mapping_collection(mapping);
+
+ return internal::map_dofs_to_support_points(mapping_collection,
+ dof_handler,
+ mask);
+ }
+
+
+ template <int dim, int spacedim>
+ std::map<types::global_dof_index, Point<spacedim>>
+ map_dofs_to_support_points(
+ const hp::MappingCollection<dim, spacedim> &mapping,
+ const DoFHandler<dim, spacedim> & dof_handler,
+ const ComponentMask & mask)
+ {
+ return internal::map_dofs_to_support_points(mapping, dof_handler, mask);
+ }
+
+
template <int spacedim>
void
write_gnuplot_dof_support_point_info(
std::vector<Point<deal_II_space_dimension>> &,
const ComponentMask &);
+ // This function is deprecated:
template void
map_dofs_to_support_points<deal_II_dimension, deal_II_space_dimension>(
const Mapping<deal_II_dimension, deal_II_space_dimension> &,
std::map<types::global_dof_index, Point<deal_II_space_dimension>> &,
const ComponentMask &);
+ // This function is deprecated:
template void
map_dofs_to_support_points<deal_II_dimension, deal_II_space_dimension>(
const hp::MappingCollection<deal_II_dimension, deal_II_space_dimension>
const DoFHandler<deal_II_dimension, deal_II_space_dimension> &,
std::map<types::global_dof_index, Point<deal_II_space_dimension>> &,
const ComponentMask &);
+
+ template std::map<types::global_dof_index, Point<deal_II_space_dimension>>
+ map_dofs_to_support_points<deal_II_dimension, deal_II_space_dimension>(
+ const Mapping<deal_II_dimension, deal_II_space_dimension> &,
+ const DoFHandler<deal_II_dimension, deal_II_space_dimension> &,
+ const ComponentMask &);
+
+ template std::map<types::global_dof_index, Point<deal_II_space_dimension>>
+ map_dofs_to_support_points<deal_II_dimension, deal_II_space_dimension>(
+ const hp::MappingCollection<deal_II_dimension, deal_II_space_dimension>
+ &,
+ const DoFHandler<deal_II_dimension, deal_II_space_dimension> &,
+ const ComponentMask &);
\}
#endif
}