prism(6rheolef)
π prism β reference element π
ok bestie so you're reading the rheolef manpage for prism(6rheolef) β yeah that's the manual name, we're living in rheolef land, version 7.2 to be exact β and honestly? this one's a little 3D princess. let's get into it. π
β¨ NAME β¨
prism β reference element (rheolef-7.2) π
π DESCRIPTION π
so the prism reference_element(6) is literally this set, no cap:
K = { 0 < x < 1 and 0 < y < 1-x and -1 < z < 1 }
and here's the lil diagram of the vibe, bestie, look at her:
x2
3 ---- 5
' | . |
4 . '| |
| | |
| | |
| 0 . . .2 x1
| ' .
1 . '
x0
the orientation is such that the trihedral (01, 02, 03) is direct, and all faces β when you look at them from the exterior β are in the direct sens too. slay. π¦ if you wanna go deeper on that, see:
P. L. Georges, Generation automatique de maillages, page 24, coll RMA, 16, Masson, 1994.
this three-dimensional reference_element(6) then gets transformed, after the Piola geometrical application, into a prism in a 3D physical space, as a geo_element(6). it's giving glow-up fr fr. β¨
and yes β curved high order transformed geo_element(6) Pk prisms (k >= 1) are supported, for 2D or 3D geometries. not me being flexible like that π
π₯ IMPLEMENTATION π₯
this documentation has been generated from file fem/geo_element/prism.icc β iconic source file, we stan:
const size_t dimension = 3;
const Float measure = 1;
const size_t n_vertex = 6;
const point vertex [n_vertex] = {
point( 0, 0,-1 ),
point( 1, 0,-1 ),
point( 0, 1,-1 ),
point( 0, 0, 1 ),
point( 1, 0, 1 ),
point( 0, 1, 1 ) };
const size_t n_face = 5;
const size_t face [n_face][4] = {
{ 0, 2, 1, size_t(-1) },
{ 3, 4, 5, size_t(-1) },
{ 0, 1, 4, 3 },
{ 1, 2, 5, 4 },
{ 0, 3, 5, 2 } };
const size_t n_edge = 9;
const size_t edge [n_edge][2] = {
{ 0, 1 },
{ 1, 2 },
{ 2, 0 },
{ 0, 3 },
{ 1, 4 },
{ 2, 5 },
{ 3, 4 },
{ 4, 5 },
{ 5, 3 } };
π AUTHOR π
Pierre Saramito <Pierre.Saramito@imag.fr> β the main character who wrote her π«Ά
π 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.
bestie this is free software β you can change it, you can redistribute it, go off π β but there is NO WARRANTY, to the extent permitted by law. periodt.
rheolef, Version 7.2 πΈ prism(6rheolef) π that's the whole page, ily, go build some prisms bestie β¨π§π
π¦ where this page comes from
- debian trixie: librheolef-dev 7.2-4 Β· GPL-3.0-or-later
- ubuntu noble: librheolef-dev 7.2-3build5 Β· GPL-3.0-or-later
- ubuntu questing: librheolef-dev 7.2-4build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms