for (unsigned int k=0; k<this->dofs_per_cell; ++k)
data.shape_values(k,i) = 0.;
// Fill data for vertex shape functions
-
+ if (this->n_dofs_per_vertex() != 0)
+ for (unsigned int lvertex=0; lvertex<GeometryInfo<dim>::vertices_per_face; ++lvertex)
+ data.shape_values(GeometryInfo<dim>::face_to_cell_vertices(face, lvertex),i) = fe_data.shape_values[lvertex][i];
+
+
// Fill data for line shape functions
// in 3D, this should be a loop over all lines of the face,
// and the multiplier should not be the face itself
const unsigned int foffset = this->first_line_index + this->dofs_per_line * face;
- for (unsigned int k=0; k<fe_data.shape_values.size(); ++k)
+ for (unsigned int k=0; k<this->dofs_per_line; ++k)
data.shape_values(foffset+k,i) = fe_data.shape_values[k+this->first_face_line_index][i];
// Fill data for quad shape functions
{
Assert (h2l.size() == fe.dofs_per_cell,
ExcDimensionMismatch (h2l.size(), fe.dofs_per_cell));
- hierarchic_to_lexicographic_numbering (h21, fe.dofs_per_line+1);
+ hierarchic_to_lexicographic_numbering<dim> (fe.dofs_per_line+1, h2l);
}
{
Assert (fe.n_components() == 1, ExcInvalidFE());
std::vector<unsigned int> h2l(fe.dofs_per_cell);
- hierarchic_to_lexicographic_numbering (h2l, fe.dofs_per_line+1);
+ hierarchic_to_lexicographic_numbering<dim> (fe.dofs_per_line+1, h2l);
return (h2l);
}