49 std::vector<unsigned int> lexicographic_numbering;
52 for (
unsigned int j = 0; j < n_dofs_face; ++j)
54 lexicographic_numbering.push_back(j);
55 for (
unsigned int i = n_dofs_face * 2 * dim;
56 i < n_dofs_face * 2 * dim +
degree;
58 lexicographic_numbering.push_back(i + j *
degree);
59 lexicographic_numbering.push_back(n_dofs_face + j);
63 unsigned int layers = (dim == 3) ?
degree + 1 : 1;
64 for (
unsigned int k = 0; k < layers; ++k)
66 unsigned int k_add = k * (
degree + 1);
67 for (
unsigned int j = n_dofs_face * 2; j < n_dofs_face * 2 +
degree + 1;
69 lexicographic_numbering.push_back(j + k_add);
71 for (
unsigned int i = n_dofs_face * (2 * dim +
degree);
74 lexicographic_numbering.push_back(i + k_add *
degree);
75 for (
unsigned int j = n_dofs_face * 3; j < n_dofs_face * 3 +
degree + 1;
77 lexicographic_numbering.push_back(j + k_add);
83 for (
unsigned int i = 4 * n_dofs_face; i < 5 * n_dofs_face; ++i)
84 lexicographic_numbering.push_back(i);
85 for (
unsigned int i = 6 * n_dofs_face + n_dofs_face * 2 *
degree;
86 i < 6 * n_dofs_face + n_dofs_face * 3 *
degree;
88 lexicographic_numbering.push_back(i);
89 for (
unsigned int i = 5 * n_dofs_face; i < 6 * n_dofs_face; ++i)
90 lexicographic_numbering.push_back(i);
93 return lexicographic_numbering;