Masoud,

I am trying to use "DoFTools::map_dofs_to_support_points" function for a two-field problem. The components of the first (vectorial) field are approximated using "FE_Q" and the second (scalar) field with "FE_DGPMonomial". The "component_mask" parameter is used to select only the dofs associated with the first field.


However I get the following error message (debug mode):

/void dealii::DoFTools::internal::(anonymous namespace)::map_dofs_to_support_points(const hp::MappingCollection<dim, spacedim> &, const DoFHandler<dim, spacedim> &, std::map<types::global_dof_index, Point<spacedim>> &, const dealii::ComponentMask &) [dim = 2, spacedim = 2]/

/The violated condition was: /

/(fe_collection[fe_index].n_dofs_per_cell() == 0) || (fe_collection[fe_index].has_support_points())/

/Additional information: /

/You are trying to access the support points of a finite element that/

/either has no support points at all, or for which the corresponding/

/tables have not been implemented./


From inspecting the method responsible for throwing the error is appears that all fields in the collection are checked via the Assert. Is the method applicable to problems where some fields have support points and others don't but are masked? The mask appears to only be appropriate to mask fields with support points.

You are correct: The DoFTools::map_dofs_to_support_points first asks the finite element object for its support points, and only then applies the mask. It doesn't know how to break down the element to its base/ component elements if only some of the base elements have support points, and the error message you see is the result.

I don't have an alternative suggestion either. You'd have to implement this kind of functionality (i.e., looking through the base elements of a FESystem) if you really need the map from DoF indices to support points.

Best
 W.

--
------------------------------------------------------------------------
Wolfgang Bangerth          email:                 bange...@colostate.edu
                           www: http://www.math.colostate.edu/~bangerth/

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/3a6d1dcd-c3c4-b47f-3918-01b824612030%40colostate.edu.

Reply via email to