.\" .de Id .. .de Sp .if n .sp .if t .sp 0.4 .. .TH triangle 7rheolef "rheolef-6.7" "rheolef-6.7" "rheolef-6.7" .\" label: /*Class:triangle .SH NAME \fBtriangle\fP - Triangle reference element .\" skip: @cindex triangle .\" skip: @cindex reference element .SH DESCRIPTION The triangle reference element is .\" begin_example .Sp .nf K = { 0 < x < 1 and 0 < y < 1-x } .Sp .fi .\" end_example .SH NUMBERING .\" begin_example .Sp .nf y .PP 2 | + | + | + | + 0---------1 x .Sp .fi .\" end_example Curved high order Pk triangles (k >= 1), in 2d or 3d geometries, are supported. These triangles have additional edge-nodes and face-nodes. .SH THESE NODES ARE NUMBERED AS first vertex, then edge-node, following the edge numbering order and orientation, and finally the face internal nodes, following the triangle lattice. See below for edge numbering and orientation. .\" begin_example .Sp .nf 2 2 2 | + | + | + | + 7 6 9 8 5 4 | + 10 14 7 | + 8 9 5 11 12 13 6 | + | + | + 0-----3-----1 0---3---4---1 0--3--4--5--1 P2 P3 P4 .Sp .fi .\" end_example .\" END .SH IMPLEMENTATION .\" begin_example .Sp .nf const size_t dimension = 2; const Float measure = 0.5; const size_t n_vertex = 3; const point vertex [n_vertex] = { point(0, 0), point(1, 0), point(0, 1) }; const size_t n_edge = 3; const size_t edge [n_edge][2] = { { 0, 1 }, { 1, 2 }, { 2, 0 } }; .Sp .fi .\" end_example