Quality Check New
Introduction
SimLab generates mesh that can be used for different analysis types such as stress analysis, NVH analysis, drop test, CFD to name a few. Mesh for each of these analyses should meet certain quality criteria. It is also important to understand the definition of the quality measures clearly. The definition of these quality measures can differ from one software to another.
The detailed definition of each of the element qualities is available in Element Quality definitions.
The quality specifications is defined from Quality Controls.Using the created quality specifications, the Quality Check(New) dialog is loaded.

Using the selected mesh quality specification, quality measures are displayed based on element type. Both shell and solid elements are supported for multiple quality computation, display and cleanup.
Compute
For the selected mesh quality specification, it computes the minimum and the maximum values of the quality measures for the elements present in the body. The "Limit Values" along with the "Condition" is used to find out the percentage of elements that do not satisfy the given criteria and these elements corresponds to the failed elements. The "Condition", "Limit value" and "Color" are non-editable. To change those values, open mesh quality from Browser | Mesh Control | Mesh Quality in modified mode. This supports computation of multiple quality types defined in quality specification file. Using single mouse click, all quality measures are selected / deselected using the option in the table header. The quality measures, grouped based on element types, are briefed under Element quality definition.
Write Report
This option writes the html report for the selected element quality. This will be enabled only after performing the Compute or Cleanup operation. User can append the selected element quality report in same html file by setting the AppendToFile dom attribute as true. This is mainly used for automation.
Display
Shows the elements that have failed for all the selected element qualities. The failed elements for each element quality will be displayed in the color defined in the Mesh Quality. Legend is displayed in the UI / graphics area. The color can be modified from legend itself. Only failed element qualities are displayed in the legend.
Case 1: If Mesh quality contains either shell or solid element, the legend display has given below.
2D Element Display | 3D Element Display |
---|---|
![]() |
![]() |
Case 2: If Mesh quality contains both shell and solid element, the legend display will be differentiated by using 2D Element or 3D Element option.
2D Element Display | 3D Element Display |
---|---|
![]() |
![]() |
- Once the display operation is performed from the dialog, "Q" is the shortcut used for display.
- When Compute or Display option is clicked without selecting any entity, the visible bodies will be processed as input if they are from the same model.
Cleanup

In selected Mesh quality specification, automatic cleanup can be done based on the quality measure selected by the user. Cleanup is supported only for the following quality measures:
- Tri
- Aspect Ratio
- Edge Length
- Interior Angle
- Skew
- Area Skew
- Area Skew: Fluent
- Height
- Quad
- Edge Length
- Interior Angle
- Warpage
- Tet
- Stretch
- Collapse Ratio
- Tet Collapse
- Skew
- Skew : Fluent
- Aspect Ratio
- Aspect Ratio : Nastran
- Interior Angle
- Volume
- Fluid - Aspect Ratio
- Edge Length
- Jacobian-Normalized
- Jacobian-Ratio
- Jacobian ABAQUS/NASTRAN
- Jacobian Ansys
- Height
- Boundary Tet
- Abaqus_Warning_Checks
- Abaqus_Warning_Checks_C3D10M
- Abaqus_Error_Checks
- Abaqus_Error_Checks_C3D10M
- Hex
- Warpage
- Wedge
- Warpage
Cleanup will be done based on the criteria specified using "Limit Values" and "Condition". Multiple cleanup is supported.
After cleanup, additional column “Elements Fixed” is added to display cleaned up elements. This column will be shown only after the cleanup.

Cleanup is performed by modifying the element (split / collapse / swap), local re-mesh and by moving the nodes. The type of cleanup has to be selected under Cleanup method. By default, cleanup is done by modifying the element.
- Local Re-Mesh based cleanup is supported for the following,
- Tri
- Aspect Ratio
- Edge Length
- Interior Angle
- Area Skew
- Area Skew: Fluent
- Height
- Quad
- Interior Angle
- Tet
- Stretch
- Collapse ratio
- Tet collapse
- Skew
- Skew: Fluent
- Aspect Ratio
- Aspect Ratio: Nastran
- Hex
- Warpage
- Wedge
- Warpage
- Tri
- Move node-based cleanup is supported for the following,
- Tri
- Edge Length
- Interior Angle
- Height
- Skew
- Quad
- Edge Length
- Interior Angle
- Warpage
- Tet
- Aspect Ratio: Nastran
It will move the nodes along the element edges to achieve the mesh quality. After cleanup by "Move Node" method, a group will be created. This group contains the elements which are modified during auto cleanup.
Add this environmental variable "SL_MOVE_DISTANCE = 3.0(distance value)" to restrict the node movement beyond the given distance value.
- Tri
- Preserve entities mesh controls is considered for tri and tet cleanup
operations.
This is used to avoid unwanted collapse in critical regions during cleanup operations. Following are the different cases where preserve entities mesh control is applicable.
- To preserve mesh on the faces, apply preserve mesh control. Preserve mesh control applied faces will not be considered for cleanup operations.
- To preserve topological edges of the faces, apply preserve face edges or edges mesh control.
- To preserve planarity of the faces, apply preserve face shape mesh control.
Preserve surface skew toggle can be set, so as to not degrade the surface skew quality during TET skew cleanup. This toggle is shown only if "Enable CFD modelling tools" toggle under View | Preference is turned ON.
- Undo is supported for "Modify element" and "Move node" cleanup methods for TRI and QUAD element types.
- During TET clean up, the deleted nodes would be removed from the associated RBEs.
- Preserve surface nodes in Tet cleanup – This option will preserve the surface mesh in Tet cleanup operation.
- Element input is supported only for Tet. This will allow the user to select the failed elements and call the cleanup. By default, 3 layers of elements will be considered for clean-up. The number of layers considered for clean-up can be adjusted using, “File | Preferences | Mesh | Number of Tet-Element layers considered during local mesh modification” option.
Total Count and Failure Count
This represents the total number of elements from the selected entities and the number of elements failed. It is enabled by using right click menu in the column header as shown in the below image.

Limit Value
Limit value can be edited and when the dialog is closed, a message is popped up whether to save the values in the quality specification or not.

Modify Quality Specification
This option opens the mesh quality specification in edit mode. The element qualities could be added or removed, and quality metrices could be modified in the mesh quality specification. Once the necessary modifications are done, clicking on OK, opens the Quality Check(New) dialog with the updated mesh quality specification.

Element quality script behaviour
The behaviour of element quality recording varies depending on the operation being performed. The following guidelines apply:
- Cleanup operation
- Only the element quality metric explicitly selected in the dialog will be recorded during the cleanup process.
- Non-selected metrics will be ignored, even if they are present in the dialog.
- Compute, write report, and display operations
- Only the element quality metrics currently visible in the dialog at the time of execution will be recorded.
- UI and Scripting Consistency
- To maintain consistency between UI-driven workflows and script-based automation, ensure that all Document Object Model (DOM) elements are properly recorded.
- This includes capturing updates to the DOM to reflect any changes made during
the session.
- Proper DOM recording is essential for accurate playback, debugging, and automation of mesh quality workflows. Hand-editing the script and running it might lead to unintentional behaviour.
- In the case of an older script (before 2025.1), the user needs to update it.