103 template<
unsigned int dim>
106 ASSERT(nid < n_nodes,
"Vertex number is out of range!");
120 template<
unsigned int dim>
123 ASSERT(sid < n_sides,
"Side number is out of range!");
125 unsigned int new_sid = sid;
133 p.fill(1./sqrt(dim));
149 while (side_lines[f1][i] != side_lines[f2][j])
150 if (side_lines[f1][i] < side_lines[f2][j]) i++;
152 return side_lines[f1][i];
157 template<
unsigned int dim>
161 for (index = 0; index < n_side_permutations; index++)
162 if (equal(p, p + n_nodes_per_side, side_permutations[index]))
static arma::vec::fixed< dim+1 > node_coords(unsigned int nid)
static unsigned int permutation_index(unsigned int p[n_nodes_per_side])
static unsigned int line_between_faces(unsigned int f1, unsigned int f2)
Global macros to enhance readability and debugging, general constants.
Class RefElement defines numbering of vertices, sides, calculation of normal vectors etc...
static arma::vec::fixed< dim > normal_vector(unsigned int sid)