# Mesh quality controls

**URL:** <https://prepomax.discourse.group/t/mesh-quality-controls/371>\
**Category:** Feature Requests\
**Created:** [August 23, 2022, 5:27pm UTC](https://prepomax.discourse.group/t/mesh-quality-controls/371 "2022-08-23T17:27:05Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![SergioP1975](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/sergiop1975/32/37_2.png) [@SergioP1975](https://prepomax.discourse.group/u/SergioP1975)\
**Post date:** [August 23, 2022, 5:27pm UTC](https://prepomax.discourse.group/t/mesh-quality-controls/371/1 "2022-08-23T17:27:05Z")

</div>

Hi, would be very usefull to have some kind of mesh quality controls on Prepomax, there are some code that could be used:

> **[verdict\_quality\_library.pdf](https://coreform.com/papers/verdict_quality_library.pdf)**
>
> 637.08 KB

Regards!

---

<div class="post-metadata">

**Author:** ![FEAnalyst](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/feanalyst/32/688_2.png) [@FEAnalyst](https://prepomax.discourse.group/u/FEAnalyst)\
**Post date:** [August 23, 2022, 5:37pm UTC](https://prepomax.discourse.group/t/mesh-quality-controls/371/2 "2022-08-23T17:37:48Z")

</div>

Indeed, mesh quality checks such as aspect ratio, Jacobian and others would be very useful. Gmsh and Salome\_Meca have very limited capabilities in this regard.

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [August 23, 2022, 8:56pm UTC](https://prepomax.discourse.group/t/mesh-quality-controls/371/3 "2022-08-23T20:56:44Z")

</div>

reading quickly the documentation, it may not applied in general due to some reasons: all linear element not quadratic and 2D classical element not expanded as CalculiX does.

\*edited add paragraph  
PrePoMax with Netgen mesher generate automatically tetrahedral element, prefer quadratic selection is activated. linear tets element only for completeness, avoid to be use.

in case of hexahedral element, only imported UNV and INP (Abaqus) is possible. the mesh has been built and generate by another programs in which the checking should be done before.

currently PrePoMax stored unacceptable element in a set, maybe this is enough for the user to investigate further and refined.

but, of course still can be possible to implemented if easy and short time. also, has another reasons and benefit.

---

<div class="post-metadata">

**Author:** ![FEAnalyst](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/feanalyst/32/688_2.png) [@FEAnalyst](https://prepomax.discourse.group/u/FEAnalyst)\
**Post date:** [August 23, 2022, 9:02pm UTC](https://prepomax.discourse.group/t/mesh-quality-controls/371/4 "2022-08-23T21:02:19Z")

</div>

Why do you think that it wouldn’t be useful for default quadratic tetrahedrons generated in PrePoMax ?

It could be also helpful for imported meshes because, as I’ve mentioned, open-source meshers have very limited capabilities in terms of mesh quality checks.

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [August 23, 2022, 9:21pm UTC](https://prepomax.discourse.group/t/mesh-quality-controls/371/5 "2022-08-23T21:21:40Z")

</div>

> [@FEAnalyst](#):
>
> Why do you think that it wouldn’t be useful for default quadratic tetrahedrons generated in PrePoMax ?

sorry for my typing or English,

i mean PrePoMax was done well. quadratic is activated by default since it’s preferred by CalculiX.

> [@FEAnalyst](#):
>
> open-source meshers have very limited capabilities in terms of mesh quality checks.

you may right for general purpose FE with classical element and linear type i’m only shown the reasons not all mesh quality check form the library can be apply and appropriates in general. expanded and quadratic type may greatly differs.

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [January 21, 2024, 9:28pm UTC](https://prepomax.discourse.group/t/mesh-quality-controls/371/6 "2024-01-21T21:28:20Z")

</div>

currently linear element is supported (hexahedral, tertrahedral, triangle, quadrangle) due to implementation of Gmsh mesher. So, a mesh quality check become important one for now and the future.

the quality can be referring to the suggested library above or any similar pre-processor such as Salome. Below list of feature available ([more detail](https://docs.salome-platform.org/latest/gui/SMESH/about_quality_controls.html)), the implementation might be sorted or filtered since not all feature are important and appropriates e.g quadratic type and expanded element.

Node quality controls:

- Free nodes
- Double nodes

Edge quality controls:

- Free borders
- Length
- Borders at multi-connection
- Double edge, Double faces and Double volumes

Face quality controls:

- Free edges
- Free faces
- Bare border faces
- Over-constrained faces
- Length 2D

Deflection 2D

- Borders at multi-connection 2D
- Area
- Taper
- Aspect Ratio
- Minimum angle
- Warping
- Skew
- Element Diameter 2D
- Double edge, Double faces and Double volumes
- Volume quality controls:
- Aspect ratio 3D

Volume

- Element Diameter 3D
- Bare border volumes
- Over-constrained volumes
- Double edge, Double faces and Double volumes

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [January 24, 2024, 3:34pm UTC](https://prepomax.discourse.group/t/mesh-quality-controls/371/7 "2024-01-24T15:34:28Z")

</div>

in addition, actually Gmsh mesher have internal plugins for mesh quality checking and hopefully it can be accessed trough API to be implemented in PrePoMax. It seems, all volume element type (hexahedral, tetrahedral, pyramid, wedge) of both linear and quadratic is supported. Reading documentation, the criteria are a bit different using the latest approach and promoted to be better by the authors.

 ![2024-01-24 22_21_02-Plugins](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/0/000e5d3816737909f854cc305850e91d78e0ef92.png)

 ![2024-01-24 22_22_51-Gmsh - C__Users_user_Documents_hdres.unv](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/1/17eb15470e0cacb999a24e0caa55704537d68df2.png)

 ![2024-01-24 22_22_19-Gmsh - C__Users_user_Documents_hdres.unv](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/2/237d9c8341df7e3db64af81b8705dc0abcdc4d6e.png)

 ![2024-01-24 22_23_47-Gmsh - C__Users_user_Documents_hdres.unv](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/f/f03d8a9ccb7481d1eb538ba65f9d67cc11ae2b69.png)

 ![2024-01-24 22_24_01-Gmsh - C__Users_user_Documents_hdres.unv](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/4/45ce8cd177dc417972b93f8272fd27de0e427cec.png)

---

<div class="post-metadata">

**Author:** ![FEAnalyst](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/feanalyst/32/688_2.png) [@FEAnalyst](https://prepomax.discourse.group/u/FEAnalyst)\
**Post date:** [October 15, 2024, 9:34am UTC](https://prepomax.discourse.group/t/mesh-quality-controls/371/8 "2024-10-15T09:34:53Z")

</div>

Closing as completed in v2.2.0.

---

<div class="post-metadata">

**Author:** ![FEAnalyst](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/feanalyst/32/688_2.png) [@FEAnalyst](https://prepomax.discourse.group/u/FEAnalyst)\
**Post date:** [October 15, 2024, 9:34am UTC](https://prepomax.discourse.group/t/mesh-quality-controls/371/9 "2024-10-15T09:34:56Z")

</div>


