4. Check Element Quality Against a Custom C
Why a Custom Criterion Set Matters
HyperMesh ships with a default qualityindex template that reflects a generic automotive/sheet-metal bias: warpage ≤ 5°, aspect ratio ≤ 5, Jacobian ≥ 0.6, and so on. Those numbers are a starting point, not a specification. When you are checking a thin-walled injection-molded bracket, a cast aluminum housing, or a composite panel, the acceptance thresholds come from the solver deck, the material model, and the manufacturing process — not from the template. The task in this case is to replace the defaults with a project-specific criterion set, run the quality index, and read the resulting flagged-element distribution correctly.
The three criteria chosen here are deliberately complementary: warpage is a shell-only, out-of-plane distortion metric; aspect ratio is a shape metric that affects stiffness and wave-speed accuracy in both shells and solids; Jacobian is a mapping-quality metric that detects elements whose isoparametric transformation is close to singular. Together they cover geometry distortion, shape distortion, and mapping distortion — three failure modes that a single metric cannot catch.
Step 1 — Define the Criterion Set Before Touching the Model
Open the quality criteria panel (Quality → Criteria in the HyperMesh Quality ribbon, or the *criteria command in a Tcl script). The panel exposes one row per criterion with an enable flag, a target value, and a failure value. HyperMesh classifies each element into three bands: pass (better than target), warn (between target and failure), and fail (worse than failure). Only the fail band drives the quality index percentage; the warn band is advisory.
For this example, assume a stamped steel closure panel with a 1.2 mm gauge, checked against a solver deck that requires:
| Criterion | Target (pass) | Failure threshold | Rationale |
|---|---|---|---|
| Warpage | ≤ 5.0° | > 8.0° | Above ~8° the quad no longer behaves as a near-planar shell; bending stiffness is misrepresented. |
| Aspect ratio | ≤ 4.0 | > 6.0 | Long thin elements bias the stiffness matrix and slow explicit time-step convergence. |
| Jacobian | ≥ 0.70 | < 0.50 | Below 0.5 the element is close to degenerate; integration point locations become unreliable. |
Enter these values in the criteria panel, enable only the three rows, and leave the remaining criteria (skew, taper, min/max angle) disabled so the index isolates the three metrics under investigation. Disabling unused criteria is not cosmetic: the quality index is a weighted composite, and leaving defaults active will mask the distribution you are trying to read.
closure_panel_v2.criteria) via File → Export → Criteria. Reusing the same file across the model build keeps the index comparable between mesh iterations — a changing criterion set makes two index numbers meaningless to compare.Step 2 — Run the Quality Index and Read the Distribution
Launch the check with Quality → Quality Index, select the component set to be evaluated (all shell components in this case), and apply the saved criteria file. HyperMesh returns a single composite index plus a per-criterion breakdown. The composite number alone is not actionable; the breakdown and the spatial distribution are.
Suppose the run reports a composite index of 87.4, with the per-criterion fail counts shown below. These are illustrative values for a deliberately imperfect first-pass mesh, not measured results:
- Warpage: 214 elements fail (> 8°), concentrated along the curved rear-quarter transition.
- Aspect ratio: 61 elements fail (> 6.0), clustered at the flange run-out where the mesh was projected onto a narrow strip.
- Jacobian: 9 elements fail (< 0.50), isolated at two corner fillets.
The interpretation rule is straightforward: a high fail count in one criterion with a tight spatial cluster points to a meshing decision, not a random defect. Warpage failures along a curved transition usually mean the quads were generated on a doubly-curved surface without a projection correction; aspect-ratio failures at a flange mean the seeding density was too coarse in the narrow direction; a handful of Jacobian failures at fillets mean the corner elements were collapsed or over-skewed during the transition.
Step 3 — Verify the Fix Without Moving the Goalposts
After correcting the warpage cluster (re-projecting the quads and splitting the worst offenders), re-run the index with the same criteria file. The verification criterion is not "the composite index went up" — it is that the specific fail counts you targeted dropped while the other criteria did not regress. A useful check is to compare the per-criterion fail counts before and after:
# Tcl snippet: export per-criterion fail counts for comparison
# (run after each quality index pass)
set critList {warpage aspect jacobian}
foreach c $critList {
set n [hm_getqualityindexfailcount $c]
puts "criterion=$c fail_count=$n"
}
If warpage fails drop from 214 to a handful but aspect-ratio fails jump from 61 to 90, the re-projection pushed elements into a narrower strip — the fix traded one distortion for another. That is the signal to revisit the seeding, not to relax the aspect-ratio threshold. Relaxing a threshold to make the index look better is the single most common misuse of this workflow; the criterion set is a contract with the solver, and it should only change when the solver deck or the manufacturing process changes.
Deliverable — Criterion Set Record
Keep a short record with each mesh release so the index is auditable. The fields below are the minimum needed to reproduce a check:
| Field | Example value |
|---|---|
| Criteria file | closure_panel_v2.criteria |
| Enabled criteria | warpage, aspect ratio, Jacobian |
| Target / failure | 5°/8° · 4/6 · 0.70/0.50 |
| Evaluated components | all shell comps, 1.2 mm gauge |
| Composite index | 87.4 (illustrative) |
| Fail counts | warpage 214 · AR 61 · Jac 9 |
| Dominant cluster | warpage @ rear-quarter transition |
| Action taken | re-project + split; re-run pending |
The key discipline is that the criterion set is defined first, from the solver and process requirements, and the index is read as a distribution — not a single score. Once you can point to a cluster on the model and name the meshing decision that produced it, the quality index has done its job.