Using various quality measures to characterize tets as type: sliver, wedge, cap or needle elements.



Equilateral
Sliver - Characterize by small minimum dihedral angle and large maximum dihedral angle but not a large solid angle.
Cap - Characterize by large maximum solid angle.
Needle - Characterize by small min/max edge length ratio but not small minimum dihedral angle.
Wedge -Characterize by small minimum dihedral angle and small min/max edge length ratio

Equilateral Tetrahedra
Sliver Tetrahedra
Cap Tetrahedra
Needle Tetrahedra
Wedge Tetrahedra
Coordinates
0 0 0
0 1 1
1 0 1
1 1 0
 1  0  0.1
-1  0  0.1
0  1 -0.1
0 -1 -0.1
1   0   0
1   1   0
0   0   0
0.75 0.25 0.1
 .1 -.1  0
.1  .1 0
-.1 0 0
0 0 1
 1   0    0
-1   0    0
0   1    0.1
0   1   -0.1
Aspect Ratio
1.0
0.2927E+00
0.7448E-01
0.3429E+00
0.2617E+00
Min Dihedral Angle
7.05288E+01
1.59424E+01
1.57932E+01
5.33585E+01
1.14212E+01
Max Dihedral Angle
7.05288E+01
1.57380E+02
1.49550E+02
8.74394E+01
90.0
Min Solid Angle
3.15863E+01
9.26487E+00
2.87535E+00
1.13741E+00
3.35189E+00
Max Solid Angle
3.15863E+01
9.26487E+00
2.60111E+02
5.56182E+01
8.19307E+01
Min/Max Edge Length Ratio
1.0
7.14143E-01
2.59808E-01
1.98030E-01
0.1



Example: LaGriT input file to identify sliver, cap, needle and wedge type elements.

*--* ex_id_tet_types
*--* Header Begin
*--* LAGriT Example Identify Sliver, Cap, Needle, Wedge
* Carl Gable
* gable -at- lanl -dot- gov
*
*
*--* Create a random point distribution
*--* Connect them into a tet mesh
*--*
*--*----------------------------------------------------
*--* Header End
*--* ex_id_tet_types
*--*
cmo / create / cmo1 / / / tet
surface / outer / reflect / box / 0,0,0 / 1,1,1
region / r1 / le outer /
mregion / m1 / le outer /
createpts / random / xyz / 0.1 / 0,0,0 / 1,1,1
setpts
connect
dump / gmv / output_tets.gmv
*
* Compute the various tet quality measures
*
* Minimum Dihedral Angle, (degree)
cmo / addatt / cmo1 / ang_mind / ang_mind
* Minimum Dihedral Angle, (radian)
cmo / addatt / cmo1 / ang_minr / ang_minr
* Maximum Dihedral Angle, (degree)
cmo / addatt / cmo1 / ang_maxd / ang_maxd
* Maximum Dihedral Angle, (radian)
cmo / addatt / cmo1 / ang_maxr / ang_maxr
* Minimum Solid Angle, (degree)
cmo / addatt / cmo1 / ang_mind_solid / s_mind
* Minimum Solid Angle, (radian)
cmo / addatt / cmo1 / ang_minr_solid / s_minr
* Maximum Solid Angle, (degree)
cmo / addatt / cmo1 / ang_maxd_solid / s_maxd
* Maximum Solid Angle, (radian)
cmo / addatt / cmo1 / ang_maxr_solid / s_maxr
* Aspect Ratio
quality / aspect / y
* ( minimum edge lenght ) / ( maximum edge length )
quality / edge_ratio / y
* Edge lenght minimum
quality / edge_min / y
* Edge length maximum
quality / edge_max / y
*
* Identify Slivers
*
* Define adjustable parameters to determine cut-off values.
*
define / MIN_DIHEDRAL / 10.0
define / MAX_DIHEDRAL / 170.0
define / MAX_SOLID_ANG_BIG / 170.0
define / MAX_SOLID_ANG_SMALL / 10.0
define / EDGE_RATIO / 0.1
*
eltset / e_dih_small / ang_mind / le / MIN_DIHEDRAL
eltset / e_dih_big / ang_maxd / ge / MAX_DIHEDRAL
eltset / e_solid_big / s_maxd / le / MAX_SOLID_ANG_SMALL
eltset / e_tmp / inter / e_dih_small e_dih_big
eltset / e_sliver / inter / &
e_tmp e_solid_big
*
* Identify Cap elements
*
eltset / e_cap / s_maxd / ge / MAX_SOLID_ANG_BIG
*
* Identify Needle elements
*
eltset / e_edge_ratio / eratio / le / EDGE_RATIO
eltset / e_dih_small / ang_mind / le / MIN_DIHEDRAL
eltset / e_needle / not / e_edge_ratio e_dih_small
*
* Identify Wedge elements
*
eltset / e_wedge / inter / e_edge_ratio e_dih_small
*
* Set up some attributes to tag the elements.
*
cmo/addatt/cmo1/if_sliv/vint/scalar/nelements/-def-/-def-/-def-/1
cmo/addatt/cmo1/if_cap/vint/scalar/nelements/-def-/-def-/-def-/1
cmo/addatt/cmo1/if_ned/vint/scalar/nelements/-def-/-def-/-def-/1
cmo/addatt/cmo1/if_wed/vint/scalar/nelements/-def-/-def-/-def-/1
cmo/setatt/cmo1/if_sliv/eltset get e_sliver/ 2
cmo/setatt/cmo1/if_cap /eltset get e_cap / 2
cmo/setatt/cmo1/if_ned /eltset get e_needle/ 2
cmo/setatt/cmo1/if_wed /eltset get e_wedge / 2


dump / gmv / tet_types.gmv / cmo1

* begin compare here
cmo / status
cmo / printatt / / -all- / minmax
quality
finish

Tetrahedral mesh
Tet Mesh, Sliver Elements
Tet Mesh, Cap Elements
Tet Mesh, Needle Elements
Tet Mesh, Wedge Elements
Tet Mesh, Random Point Distribution
Tet Mesh, Sliver Elements
Tet Mesh, Cap Elements
Tet Mesh, Needle Elements
Tet Mesh, Wedge Elements