triangle(6rheolef)

πŸ“¦
version 7.2 Β· 4 versions
, in debian trixie, ubuntu noble, ubuntu questing

πŸ’– triangle(6rheolef) πŸ’–

okay bestie, welcome to the rheolef man pages, version 7.2 β€” yes we're doing this, and yes it's gonna be cute. sit down, grab a strawberry πŸ“, and let's talk about the triangle reference element.


✨ NAME ✨

triangle β€” reference element (rheolef-7.2) πŸ‘‘


🌸 DESCRIPTION 🌸

so. the triangle reference_element(6) is literally just

K = [0,1]

like that's it, that's the whole vibe. but fr fr, the actual set is:

K = { 0 < x0 < 1 and 0 < x1 < 1-x0 }

and here's the lil picture, no cap:

x1
2
| +
|   +
|     +
|       +
0---------1  x0

this two-dimensional reference_element(6) then gets transformed β€” after the Piola geometrical application β€” into a triangle living in a 2D or 3D physical space, as a geo_element(6). it's giving glow-up ✨.

Curved high order transformed geo_element(6) Pk triangle (k >= 1) are supported for 2D or 3D geometries πŸ¦‹. In these cases, the nodes of an high-order triangle are numbered as:

bestie real talk: high-order triangles have additional edge-nodes and face-nodes πŸ’…. These nodes are numbered as: first vertices, then edge-nodes, following the edge numbering order and orientation, and finally the face internal nodes, following the triangle lattice. the order is the moment, don't fight it.
 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

look at them. P2, P3, P4. iconic behavior 🌈.


πŸŽ€ IMPLEMENTATION πŸŽ€

This documentation has been generated from file fem/geo_element/triangle.icc

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

dimension = 2, measure = 0.5, three vertices, three edges, done. she's efficient, she's precise, she ate πŸ’….


🫢 AUTHOR 🫢

Pierre Saramito <Pierre.Saramito@imag.fr>


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.

not me reading the warranty clause out loud 😭 it's giving "we told you so" energy but like, legally. slay.

and that's the whole page bestie πŸ’œ β€” this was rheolef, Version 7.2, dated triangle(6rheolef). go forth and triangulate, main character πŸ¦‹βœ¨

πŸ“¦ where this page comes from