template <int dim> class FEFaceValues;
template <int dim> class FESubfaceValues;
template <int dim> class FESystem;
+template <class POLY, int dim> class FE_PolyTensor;
namespace hp
{
template <int dim> class FECollection;
friend class FEFaceValues<dim>;
friend class FESubfaceValues<dim>;
template <int dim_> friend class FESystem;
+ template <class POLY, int dim_> friend class FE_PolyTensor;
friend class hp::FECollection<dim>;
};
DoFTools::map_dof_to_boundary_indices (dof, selected_boundary_components,
dof_to_boundary_mapping);
-
+
// Done if no degrees of freedom on
// the boundary
if (dof.n_boundary_dofs (boundary_functions) == 0)
poly_space(POLY(degree))
{
cached_point(0) = -1;
+ // Set up the table converting
+ // components to base
+ // components. Since we have only
+ // one base element, everything
+ // remains zero except the
+ // component in the base, which is
+ // the component itself
+ for (unsigned int comp=0;comp<this->n_components() ;++comp)
+ this->component_to_base_table[comp].first.second = comp;
}
Assert (boundary_functions.size() != 0, ExcInternalError());
Assert (dof_to_boundary_mapping.size() == dof.n_dofs(),
ExcInternalError());
-
- if (component_mapping.size() == 0)
- {
- AssertDimension (n_components, boundary_functions.begin()->second->n_components);
- for (unsigned int i=0;i<n_components;++i)
- component_mapping.push_back(i);
- }
- else
- AssertDimension (n_components, component_mapping.size());
+ AssertDimension (n_components, component_mapping.size());
Assert (coefficient ==0 ||
coefficient->n_components==1 ||