---
name: "triangle"
section: "7rheolef"
platform: "linux"
package: "librheolef-dev"
version: "7.0-2+b1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/triangle/7rheolef"
---

# triangle(7rheolef)

Triangle reference element

## NAME

**triangle** - Triangle reference element

## DESCRIPTION

The triangle reference element is

```
        K = { 0 < x < 1 and 0 < y < 1-x }

```

## NUMBERING

```
      y
```

      2\
       \| +\
       \|   +\
       \|     +\
       \|       +\
       0---------1   x

Curved high order Pk triangles (k \>= 1), in 2d or 3d geometries, are supported. These triangles have additional edge-nodes and face-nodes.

## 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.

```
      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

```

## IMPLEMENTATION

```
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 } };

```

## COPYRIGHT

Copyright (C) 2000-2018 Pierre Saramito \<Pierre.Saramito@imag.fr\> GPLv3+: GNU GPL version 3 or later \<http://gnu.org/licenses/gpl.html\>. This is free software: you are free to change and redistribute it.  There is NO WARRANTY, to the extent permitted by law.
