Element Types#
MyMesh infers the element type by the length of each element’s node connectivity,
allowing for flexible handling of mixed element meshes. Some ambiguities exist
between meshes of different Types (line, surf, vol), for example
between a 4-node quadrilateral and a 4-node tetrahedron. These ambiguities get
resolved by the mymesh.mesh.Type attribute or an optional Type input
for relevant functions (see also mymesh.utils.identify_type()).
MyMesh primarily uses linear (first order) elements (e.g. 3 node tris, 4 node
tets, etc.) but also has limited support for quadratic elements (e.g. 6 node
tris, 10 node tets, etc.). Meshes can be converted to/from quadratic elements
(see mymesh.converter), but not all functions are set up to handle meshes
with quadratic elements
Element |
Type |
Number of Nodes |
|---|---|---|
Edge ( |
Line ( |
2 |
Quadratic Edge ( |
Line ( |
3 |
Triangle ( |
Surface ( |
3 |
Quadratic Triangle ( |
Surface ( |
6 |
Quadrilateral ( |
Surface ( |
4 |
Quadratic Quadrilateral ( |
Surface ( |
8 |
Tetrahedron ( |
Volume ( |
4 |
Quadratic Tetrahedron ( |
Volume ( |
10 |
Pyramid ( |
Volume ( |
5 |
Quadratic Pyramid ( |
Volume ( |
13 |
Wedge ( |
Volume ( |
6 |
Quadratic Wedge ( |
Volume ( |
15 |
Hexahedron ( |
Volume ( |
8 |
Quadratic Hexahedron ( |
Volume ( |
20 |
![graph edge2 {
node [shape=point, fontname="source code pro"];
edge [style=solid];
0 [pos="0,0!"];
1 [pos="1,0.1!"];
0 -- 1;
label0 [label="0", pos="0,-0.15!", shape=none, fontname="source code pro"]
label1 [label="1", pos="1,-0.05!", shape=none, fontname="source code pro"]
}](../_images/graphviz-e16453362bd4a3b57f4bc823f0aa33ceff0555ff.png)
Edge
![graph edge3 {
node [shape=point, fontname="source code pro"];
edge [style=solid];
0 [pos="0,0!"];
1 [pos="0.5,.05!", color="#5E81AC"];
2 [pos="1,0.1!"];
0 -- 2;
label0 [label="0", pos="0,-0.15!", shape=none, fontname="source code pro"]
label1 [label="1", pos="0.5,-0.1!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label2 [label="2", pos="1,-0.05!", shape=none, fontname="source code pro"]
}](../_images/graphviz-98d86e64937e8bbd8c2ace361c731f2eb1773e3d.png)
Quadratic Edge
![graph tri {
node [shape=point, fontname="source code pro"];
edge [style=solid];
0 [pos="0,0!"];
1 [pos="1,0.1!"];
2 [pos="0.5,0.8!"];
0 -- 1;
1 -- 2;
2 -- 0;
label0 [label="0", pos="0,-0.15!", shape=none, fontname="source code pro"]
label1 [label="1", pos="1,-0.05!", shape=none, fontname="source code pro"]
label2 [label="2", pos="0.5,0.9!", shape=none, fontname="source code pro"]
}](../_images/graphviz-61e87b718934635026a3830a6e71d297e7a84803.png)
Triangle
![graph tri6 {
node [shape=point, fontname="source code pro"];
edge [style=solid];
0 [pos="0,0!"];
1 [pos="1,0.1!"];
2 [pos="0.5,0.8!"];
3 [pos="0.5,0.05!", color="#5E81AC"];
4 [pos="0.75,0.45!", color="#5E81AC"];
5 [pos="0.25,0.4!", color="#5E81AC"];
0 -- 1;
1 -- 2;
2 -- 0;
label0 [label="0", pos="0,-0.15!", shape=none, fontname="source code pro"]
label1 [label="1", pos="1,-0.05!", shape=none, fontname="source code pro"]
label2 [label="2", pos="0.5,0.9!", shape=none, fontname="source code pro"]
label3 [label="3", pos="0.5,-0.1!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label4 [label="4", pos="0.8,0.55!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label5 [label="5", pos="0.15,0.4!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
}](../_images/graphviz-c7f071bcf11100b36407e45e8928ba8a6746db2c.png)
Quadratic Triangle
![graph quad {
node [shape=point, fontname="source code pro"];
edge [style=solid];
0 [pos="0,0!"];
1 [pos="1,0.1!"];
2 [pos="0.9,0.9!"];
3 [pos="-0.1,1.0!"];
0 -- 1;
1 -- 2;
2 -- 3;
3 -- 0;
label0 [label="0", pos="0,-0.15!", shape=none, fontname="source code pro"]
label1 [label="1", pos="1,-0.05!", shape=none, fontname="source code pro"]
label2 [label="2", pos="1.0,1.0!", shape=none, fontname="source code pro"]
label3 [label="3", pos="-0.1,1.1!", shape=none, fontname="source code pro"]
}](../_images/graphviz-93f92b5a8415ea16902d2af8d8ecb436458a24e3.png)
Quadrilateral
![graph quad {
node [shape=point, fontname="source code pro"];
edge [style=solid];
0 [pos="0,0!"];
1 [pos="1,0.1!"];
2 [pos="0.9,0.9!"];
3 [pos="-0.1,1.0!"];
4 [pos="0.5,0.05!", color="#5E81AC"];
5 [pos="0.95,0.5!", color="#5E81AC"];
6 [pos="0.4,0.95!", color="#5E81AC"];
7 [pos="-0.05,0.5!", color="#5E81AC"];
0 -- 1;
1 -- 2;
2 -- 3;
3 -- 0;
label0 [label="0", pos="0,-0.15!", shape=none, fontname="source code pro"]
label1 [label="1", pos="1,-0.05!", shape=none, fontname="source code pro"]
label2 [label="2", pos="1.0,1.0!", shape=none, fontname="source code pro"]
label3 [label="3", pos="-0.1,1.1!", shape=none, fontname="source code pro"]
label4 [label="4", pos="0.5,-0.1!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label5 [label="5", pos="1.1,0.5!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label6 [label="6", pos="0.4,1.1!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label7 [label="7", pos="-0.15,0.5!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
}](../_images/graphviz-64d7792d2421888ab0ee9e4bc5e3dd2ae1d34e87.png)
Quadratic Quadrilateral
![graph tet {
node [shape=point, fontname="source code pro"];
edge [style=solid];
0 [pos="0,0!"];
1 [pos="1,0.1!"];
2 [pos="0.9,0.9!"];
3 [pos="-0.1,1.0!"];
0 -- 1;
1 -- 2;
2 -- 0 [style=dotted];
0 -- 3;
1 -- 3;
2 -- 3;
label0 [label="0", pos="0,-0.15!", shape=none, fontname="source code pro"]
label1 [label="1", pos="1,-0.05!", shape=none, fontname="source code pro"]
label2 [label="2", pos="1.0,1.0!", shape=none, fontname="source code pro"]
label3 [label="3", pos="-0.1,1.1!", shape=none, fontname="source code pro"]
}](../_images/graphviz-3a5f73391bda6b23cd6232a6073b5da40cac1e2b.png)
Tetrahedron
![graph tet10 {
node [shape=point, fontname="source code pro"];
edge [style=solid];
0 [pos="0,0!"];
1 [pos="1,0.1!"];
2 [pos="0.9,0.9!"];
3 [pos="-0.1,1.0!"];
4 [pos=".5,0.05!",color="#5E81AC"];
5 [pos=".95,0.5!",color="#5E81AC"];
6 [pos=".45,0.45!",color="#5E81AC"];
7 [pos="-.05, 0.5!",color="#5E81AC"];
8 [pos=".55, 0.46!",color="#5E81AC"];
9 [pos=".4, 0.95!",color="#5E81AC"];
0 -- 1;
1 -- 2;
2 -- 0 [style=dotted];
0 -- 3;
1 -- 3;
2 -- 3;
label0 [label="0", pos="0,-0.15!", shape=none, fontname="source code pro"]
label1 [label="1", pos="1,-0.05!", shape=none, fontname="source code pro"]
label2 [label="2", pos="1.0,1.0!", shape=none, fontname="source code pro"]
label3 [label="3", pos="-0.1,1.1!", shape=none, fontname="source code pro"]
label4 [label="4", pos=".5,-.075!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label5 [label="5", pos="1.05,.5!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label6 [label="6", pos=".3,.4!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label7 [label="7", pos="-0.15,.5!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label8 [label="8", pos=".65,.45!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label9 [label="9", pos="0.4,1.05!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
}](../_images/graphviz-a3a7d9f52557f15aceb58f8c466eb30264319133.png)
Quadratic Tetrahedron
![graph pyr {
node [shape=point, fontname="source code pro"];
edge [style=solid];
0 [pos=".3,0!"];
1 [pos="0.8,0.3!"];
2 [pos="0.55,0.5!"];
3 [pos="0,0.4!"];
4 [pos=".4,1!"]
0 -- 1;
1 -- 2 [style=dotted];
2 -- 3 [style=dotted];
3 -- 0;
0 -- 4;
1 -- 4;
2 -- 4 [style=dotted];
3 -- 4;
label0 [label="0", pos="0.3,-0.15!", shape=none, fontname="source code pro"]
label1 [label="1", pos="0.9,0.3!", shape=none, fontname="source code pro"]
label2 [label="2", pos="0.45,0.35!", shape=none, fontname="source code pro"]
label3 [label="3", pos="-0.1,0.4!", shape=none, fontname="source code pro"]
label4 [label="4", pos="0.4,1.1!", shape=none, fontname="source code pro"]
}](../_images/graphviz-70fe79b1a6120afcb9fe44fd5522c113e13c1702.png)
Pyramid
![graph pyr13 {
node [shape=point, fontname="source code pro"];
edge [style=solid];
0 [pos=".3,0!"];
1 [pos="0.8,0.3!"];
2 [pos="0.55,0.5!"];
3 [pos="0,0.4!"];
4 [pos=".4,1!"];
5 [pos="0.55,0.15!", color="#5E81AC"];
6 [pos="0.675,0.4!", color="#5E81AC"];
7 [pos="0.275,0.45!", color="#5E81AC"];
8 [pos="0.15,0.2!", color="#5E81AC"];
9 [pos="0.35,0.5!", color="#5E81AC"];
10 [pos="0.6,0.65!", color="#5E81AC"];
11 [pos="0.475,0.75!", color="#5E81AC"];
12 [pos="0.2,0.7!", color="#5E81AC"];
0 -- 1;
1 -- 2 [style=dotted];
2 -- 3 [style=dotted];
3 -- 0;
0 -- 4;
1 -- 4;
2 -- 4 [style=dotted];
3 -- 4;
label0 [label="0", pos="0.3,-0.15!", shape=none, fontname="source code pro"]
label1 [label="1", pos="0.9,0.3!", shape=none, fontname="source code pro"]
label2 [label="2", pos="0.45,0.35!", shape=none, fontname="source code pro"]
label3 [label="3", pos="-0.1,0.4!", shape=none, fontname="source code pro"]
label4 [label="4", pos="0.4,1.1!", shape=none, fontname="source code pro"]
label5 [label="5", pos="0.65,0.05!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label6 [label="6", pos="0.6,0.3!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label7 [label="7", pos="0.225,0.55!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label8 [label="8", pos="0.05,0.15!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label9 [label="9", pos="0.425,0.55!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label10 [label="10", pos="0.75,0.65!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label11 [label="11", pos="0.55,0.85!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label12 [label="12", pos="0.05,0.7!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
}](../_images/graphviz-3194501a3914a981d2df45f8fb5a67ac3488b774.png)
Quadratic Pyramid
![graph wdg {
node [shape=point, fontname="source code pro"];
edge [style=solid];
0 [pos="0.4,0.3!"];
1 [pos="1,1!"];
2 [pos="0.1,0.8!"];
3 [pos="0.4,1.1!"];
4 [pos="1,1.8!"];
5 [pos=".1,1.6!"];
0 -- 1;
1 -- 2 [style=dotted];
2 -- 0;
3 -- 4;
4 -- 5;
5 -- 3;
0 -- 3;
1 -- 4;
2 -- 5;
label0 [label="0", pos="0.3,0.15!", shape=none, fontname="source code pro"]
label1 [label="1", pos="1.15,1!", shape=none, fontname="source code pro"]
label2 [label="2", pos="0.05,0.65!", shape=none, fontname="source code pro"]
label3 [label="3", pos="0.4,1.25!", shape=none, fontname="source code pro"]
label4 [label="4", pos="1,1.9!", shape=none, fontname="source code pro"]
label5 [label="5", pos="0.1,1.7!", shape=none, fontname="source code pro"]
}](../_images/graphviz-830a7b484afd7d0d2a1e50887def18c7de9ec99f.png)
Wedge
![graph wdg15 {
node [shape=point, fontname="source code pro"];
edge [style=solid];
0 [pos="0.4,0.3!"];
1 [pos="1,1!"];
2 [pos="0.1,0.8!"];
3 [pos="0.4,1.1!"];
4 [pos="1,1.8!"];
5 [pos=".1,1.6!"];
6 [pos="0.7,0.65!", color="#5E81AC"];
7 [pos="0.55,0.9!", color="#5E81AC"];
8 [pos="0.25,0.55!", color="#5E81AC"];
9 [pos="0.7,1.45!", color="#5E81AC"];
10 [pos="0.55,1.7!", color="#5E81AC"];
11 [pos="0.25,1.35!", color="#5E81AC"];
12 [pos="0.4,0.7!", color="#5E81AC"];
13 [pos="1,1.4!", color="#5E81AC"];
14 [pos="0.1,1.2!", color="#5E81AC"];
0 -- 1;
1 -- 2 [style=dotted];
2 -- 0;
3 -- 4;
4 -- 5;
5 -- 3;
0 -- 3;
1 -- 4;
2 -- 5;
label0 [label="0", pos="0.3,0.15!", shape=none, fontname="source code pro"]
label1 [label="1", pos="1.15,1!", shape=none, fontname="source code pro"]
label2 [label="2", pos="0.05,0.65!", shape=none, fontname="source code pro"]
label3 [label="3", pos="0.4,1.25!", shape=none, fontname="source code pro"]
label4 [label="4", pos="1,1.9!", shape=none, fontname="source code pro"]
label5 [label="5", pos="0.1,1.7!", shape=none, fontname="source code pro"]
label6 [label="6", pos="0.85,0.65!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label7 [label="7", pos="0.6,1.0!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label8 [label="8", pos="0.2,0.4!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label9 [label="9", pos="0.775,1.325!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label10 [label="10", pos="0.55,1.85!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label11 [label="11", pos="0.325,1.45!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label12 [label="12", pos="0.3,0.75!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label13 [label="13", pos="1.15,1.4!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label14 [label="14", pos="-.05,1.2!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
}](../_images/graphviz-54719087bfe3d5a7790beeabfda2e2be834f7881.png)
Quadratic Wedge
![graph hex {
node [shape=point, fontname="source code pro"];
edge [style=solid];
0 [pos="0,0!"];
1 [pos="1,0.1!"];
2 [pos="1.6,0.6!"];
3 [pos=".6,0.5!"];
4 [pos="-0.1,1.0!"];
5 [pos="0.9,0.9!"];
6 [pos="1.5,1.4!"];
7 [pos="0.5,1.5!"];
0 -- 4;
1 -- 5;
2 -- 6;
3 -- 7 [style=dotted];
4 -- 5;
5 -- 6;
6 -- 7;
7 -- 4;
0 -- 1;
1 -- 2;
2 -- 3 [style=dotted];
3 -- 0 [style=dotted];
label0 [label="0", pos="0,-0.15!", shape=none, fontname="source code pro"]
label1 [label="1", pos="1,-0.05!", shape=none, fontname="source code pro"]
label2 [label="2", pos="1.75,0.6!", shape=none, fontname="source code pro"]
label3 [label="3", pos=".5,0.6!", shape=none, fontname="source code pro"]
label4 [label="4", pos="-0.15,1.1!", shape=none, fontname="source code pro"]
label5 [label="5", pos="0.9,1.0!", shape=none, fontname="source code pro"]
label6 [label="6", pos="1.6,1.5!", shape=none, fontname="source code pro"]
label7 [label="7", pos="0.4,1.6!", shape=none, fontname="source code pro"]
}](../_images/graphviz-0892daa85b28719cf4d542aaa3a0bb6873d9bd8a.png)
Hexahedron
![graph hex20 {
node [shape=point, fontname="source code pro"];
edge [style=solid];
0 [pos="0,0!"];
1 [pos="1,0.1!"];
2 [pos="1.6,0.6!"];
3 [pos=".6,0.5!"];
4 [pos="-0.1,1.0!"];
5 [pos="0.9,0.9!"];
6 [pos="1.5,1.4!"];
7 [pos="0.5,1.5!"];
8 [pos="0.5,0.05!", color="#5E81AC"];
9 [pos="1.3,0.35!", color="#5E81AC"];
10 [pos="1.1,0.55!", color="#5E81AC"];
11 [pos="0.3,0.25!", color="#5E81AC"];
12 [pos="0.4,0.95!", color="#5E81AC"];
13 [pos="1.2,1.15!", color="#5E81AC"];
14 [pos="1.0,1.45!", color="#5E81AC"];
15 [pos="0.2,1.25!", color="#5E81AC"];
16 [pos="-.05,0.5!", color="#5E81AC"];
17 [pos=".95,0.5!", color="#5E81AC"];
18 [pos="1.55,1!", color="#5E81AC"];
19 [pos="0.55,1!", color="#5E81AC"];
0 -- 4;
1 -- 5;
2 -- 6;
3 -- 7 [style=dotted];
4 -- 5;
5 -- 6;
6 -- 7;
7 -- 4;
0 -- 1;
1 -- 2;
2 -- 3 [style=dotted];
3 -- 0 [style=dotted];
label0 [label="0", pos="0,-0.15!", shape=none, fontname="source code pro"]
label1 [label="1", pos="1,-0.05!", shape=none, fontname="source code pro"]
label2 [label="2", pos="1.75,0.6!", shape=none, fontname="source code pro"]
label3 [label="3", pos=".5,0.6!", shape=none, fontname="source code pro"]
label4 [label="4", pos="-0.15,1.1!", shape=none, fontname="source code pro"]
label5 [label="5", pos="0.9,1.0!", shape=none, fontname="source code pro"]
label6 [label="6", pos="1.6,1.5!", shape=none, fontname="source code pro"]
label7 [label="7", pos="0.4,1.6!", shape=none, fontname="source code pro"]
label8 [label="8", pos="0.5,-.1!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label9 [label="9", pos="1.45,0.35!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label10 [label="10", pos="1.1,0.65!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label11 [label="11", pos="0.15,0.25!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label12 [label="12", pos="0.35,0.8!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label13 [label="13", pos="1.225,1.!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label14 [label="14", pos="1.0,1.6!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label15 [label="15", pos="0.05,1.25!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label16 [label="16", pos="-.2,0.5!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label17 [label="17", pos=".825,0.375!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label18 [label="18", pos="1.7,1!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
label19 [label="19", pos="0.65,1.1!", shape=none, fontname="source code pro", fontcolor="#5E81AC"]
}](../_images/graphviz-50b4bbb4e58e75487740f92e6f5e42710c18e323.png)
Quadratic Hexahedron