51 std::vector<unsigned int> lexicographic_numbering;
54 for (
unsigned int j = 0; j < n_dofs_face; ++j)
56 lexicographic_numbering.push_back(j);
57 for (
unsigned int i = n_dofs_face * 2 * dim;
58 i < n_dofs_face * 2 * dim +
degree;
60 lexicographic_numbering.push_back(i + j *
degree);
61 lexicographic_numbering.push_back(n_dofs_face + j);
65 unsigned int layers = (dim == 3) ?
degree + 1 : 1;
66 for (
unsigned int k = 0; k < layers; ++k)
68 unsigned int k_add = k * (
degree + 1);
69 for (
unsigned int j = n_dofs_face * 2; j < n_dofs_face * 2 +
degree + 1;
71 lexicographic_numbering.push_back(j + k_add);
73 for (
unsigned int i = n_dofs_face * (2 * dim +
degree);
76 lexicographic_numbering.push_back(i + k_add *
degree);
77 for (
unsigned int j = n_dofs_face * 3; j < n_dofs_face * 3 +
degree + 1;
79 lexicographic_numbering.push_back(j + k_add);
85 for (
unsigned int i = 4 * n_dofs_face; i < 5 * n_dofs_face; ++i)
86 lexicographic_numbering.push_back(i);
87 for (
unsigned int i = 6 * n_dofs_face + n_dofs_face * 2 *
degree;
88 i < 6 * n_dofs_face + n_dofs_face * 3 *
degree;
90 lexicographic_numbering.push_back(i);
91 for (
unsigned int i = 5 * n_dofs_face; i < 6 * n_dofs_face; ++i)
92 lexicographic_numbering.push_back(i);
95 return lexicographic_numbering;