h-refinement (mesh refinement)
Theoretical Foundations of h-Refinement
h, p, r — Three Kinds of Refinement
Three routes reduce mesh-related discretization error. h-refinement shrinks the element size \( h \) (more elements); p-refinement raises the polynomial order of elements; r-refinement relocates nodes without changing their count. Of these, h is the universal route — it works with any element type and any solver — and it underpins mesh convergence verification (GCI and friends).
My senior colleague just says "make everything twice as fine" — but I don't really understand what that buys me, or how much…
There's clean theory behind it: the order of convergence — how fast error shrinks with element size — is set by the element's polynomial order. Knowing it gives you quantitative predictions like "halving h should quarter the error," and deviations from the prediction tell you something is wrong. Refinement isn't busywork; it's an instrument for prediction and verification.
A Priori Error Estimates and Convergence Order
For sufficiently smooth solutions, the error of a finite element solution with elements of order \( k \) (linear elements: \( k=1 \)) satisfies
$$ \| u - u_h \|_{E} \le C\, h^{k}, \qquad \| u - u_h \|_{L^2} \le C\, h^{k+1} $$
(\( \|\cdot\|_E \) is the energy norm). So with linear elements, strains and stresses converge at \( O(h) \) and displacements at \( O(h^2) \); with quadratic elements, \( O(h^2) \) and \( O(h^3) \). Displacements converging before stresses is a consequence of this order gap — "displacement has settled but stress is still moving" is not an anomaly.
Singularities Cap the Convergence Rate
That clean convergence assumes smoothness. Re-entrant corners, point loads, point constraints, and bimaterial corner interfaces carry stress singularities where the solution regularity drops to \( u \sim r^{\lambda} \) with \( \lambda < 1 \). Uniform refinement then converges at only \( \min(k, \lambda) \) regardless of element order — no amount of refinement, and no higher-order element, will converge the stress value at the singular point. The correct choices are: ① round the corner (model the real fillet), ② move the evaluation point away, or ③ treat it with graded refinement plus extrapolation. Knowing where h-refinement cannot help is step one of using it well.
Numerical Methods of Refinement
Uniform vs. Local Refinement
Uniform refinement subdivides every element equally, producing the systematic sequences that convergence verification (GCI, Richardson extrapolation) wants; the cost is ~8× elements per level in 3-D. Local refinement subdivides only where error is large and is the workhorse of production analysis. Two implementation families:
- Element subdivision — split existing elements (quadtree/octree, red-green, bisection). The node mismatch at neighbors is handled with hanging-node constraints or transition elements
- Remeshing — update a size field and regenerate the region. Element quality is easier to keep, but nonlinear/history problems then need solution mapping, whose transfer error must be watched
Either way, new boundary nodes must be projected back onto the CAD geometry. Refining a faceted approximation of a circle without reprojection caps accuracy with geometry error — the classic reason a hole's stress concentration factor refuses to converge to theory.
The Adaptive h-Refinement Loop
Adaptivity iterates SOLVE → ESTIMATE → MARK → REFINE:
- SOLVE — compute the solution on the current mesh
- ESTIMATE — per-element error indicators: recovery-based (Zienkiewicz-Zhu superconvergent patch recovery — smoothed minus element stress) or residual-based
- MARK — select the worst elements (e.g., Dörfler marking: the subset carrying a fixed fraction of total error)
- REFINE — subdivide the marked elements and repeat
Stop when estimated error meets target or the goal quantity stops moving. Indicators are estimates, not truth — the final mesh still deserves a classical convergence confirmation (one more refinement level, check the change).
CFD Boundary-Layer Refinement Is Not Isotropic
Wall boundary-layer resolution is managed by first-layer thickness (\( y^+ \)) and growth ratio — isotropic uniform refinement destroys that design. Refine boundary layers anisotropically: add layers at fixed first-layer thickness, or reduce growth ratio, and re-check the \( y^+ \) map afterward. With wall functions there's even a trap where refinement makes things worse: pushing \( y^+ \) below ~30 violates the wall-function assumptions.
Practical Guidelines
Where to Refine — Rules of Thumb
| Region | Guideline | Why |
|---|---|---|
| Stress concentrations (fillets, hole edges) | ≥3 elements per 90° of arc; ≥3 layers across the gradient | 1–2 elements systematically underestimate the peak |
| Through-thickness (solids in bending) | ≥2 layers of quadratic elements | Resolves the linear bending stress distribution |
| Contact surfaces | Refine toward pressure-patch edges | Edge singularity of contact pressure |
| Load/constraint application zones | Coarse is fine if not evaluated (keep distance) | Saint-Venant; refining a singularity doesn't converge anyway |
| Far field | Keep coarse | Spend elements where gradients are |
Building a Systematic Refinement Series
A verification series should be "the same meshing philosophy scaled by a constant factor." Two practical recipes: ① scale global and local size controls by the same factor (1.5–2× recommended); ② use a mechanical uniform-subdivision feature. Avoid mixed series like "coarse mesh automatic, fine mesh hand-tuned" — the effective ratio then varies in space and the observed order becomes meaningless. Track element quality metrics per level to confirm refinement isn't degrading quality.
Cost Estimates and the Submodeling Escape Hatch
One uniform 3-D refinement level multiplies elements by 8 and direct-solver cost by more. When "one more level" is impossible, build the series only around the evaluation region — including via submodeling: solve the coarse global model, cut displacement boundary conditions to a finely meshed submodel of the hotspot, and verify convergence there. Complete the exercise by confirming the submodel boundary is far enough that moving it doesn't change the answer.
Refinement Features in Major Tools
Tool Support
| Tool | Refinement features | Field notes |
|---|---|---|
| Ansys Mechanical | Convergence objects (result-driven auto-adaptivity), Sphere of Influence sizing | Pointing Convergence at a singular stress diverges forever — watch for it |
| Abaqus | Adaptive remeshing (indicator-driven size fields), ALE adaptivity | Check solution-transfer error for nonlinear remeshing |
| COMSOL Multiphysics | Physics-controlled meshing + built-in adaptive refinement | Goal-quantity (functional) driven adaptivity available |
| OpenFOAM | refineMesh, snappyHexMesh regions, dynamic AMR (dynamicRefineFvMesh) | Hanging nodes handled via face splitting; run checkMesh after |
| Nastran family | Limited native adaptivity; preprocessor size control is the lever | Manage systematic series on the mesher side |
Verification Points When Using Auto-Adaptivity
If the tool refines automatically until convergence, do I even need manual mesh studies anymore?
Auto-adaptivity is powerful, but two premises still need a human. First, what it converges: the default target is "the result item you selected," which may not be the quantity your design decision uses. Second, singularities: point it at a singular stress and it refines forever, stops at the iteration cap, and hands you that value as "converged." Always plot the refinement history — value vs. iteration — and judge asymptote vs. divergence with your own eyes. Do that, and auto-adaptivity is a superb time-saver.
Research Frontiers
Goal-Oriented (Adjoint-Based) Adaptivity
Classical indicators reduce global energy-norm error, but engineering wants error in a goal quantity — lift coefficient, stress at a point. Dual-weighted residual (DWR) methods solve an adjoint problem to weight local errors by their influence on the goal, delivering target accuracy with far fewer elements. CFD lift/drag grid convergence is where implementations are most mature; the principled win is never wasting refinement on vortices that don't affect the goal.
hp-Adaptivity and Exponential Convergence
Raising p where the solution is smooth and grading h geometrically toward singularities — hp-adaptivity — achieves exponential error convergence in the number of DOFs even with singularities present. Implementation complexity has limited commercial penetration, but with spectral-element and high-order DG solvers maturing, it is becoming the standard for high-accuracy computation.
Fusion with Machine Learning
Replacing ESTIMATE→MARK with learned models is active research: predicting optimal size fields directly from coarse solutions, or learning refinement policies via reinforcement learning, cutting the number of adaptive cycles (solver calls). Learned size fields carry no guarantees, so they do not replace the final classical convergence confirmation — the same discipline as for surrogates throughout ML×CAE.
Troubleshooting
Symptoms, Causes, and Fixes
| Symptom | Likely cause | Fix |
|---|---|---|
| Stress keeps rising with refinement | Singularity (re-entrant corner, point load/constraint) | Stop targeting it; add the fillet, move the evaluation point, or switch to nominal/hot-spot methods |
| Element quality degrades with refinement | Accumulated subdivision distortion; no CAD reprojection | Switch to remeshing; enable geometry reprojection; log quality per level |
| Refined a lot, nothing improved | Error budget dominated by something else (BCs, material, geometry idealization) | Re-examine the error budget; see boundary condition verification |
| Adaptivity refines irrelevant regions | Global indicator misaligned with your goal quantity | Switch to goal-oriented settings or add manual sizing at the evaluation region |
| CFD wall heat transfer/friction worsened after refinement | y+ left the wall-function validity range | Manage boundary layers anisotropically; keep wall treatment consistent |
| Observed order doesn't match theory | Non-systematic series, pre-asymptotic range, loose iterative convergence | Apply the GCI troubleshooting procedure |
| Out of memory/time | 3-D uniform refinement is 8× per level | Local refinement + submodeling; iterative solvers + parallelism |
Ask First: Should You Refine?
So when in doubt, refining is always the safe move… right?
Safe, yes — effective, not necessarily. Total error is discretization error plus modeling error (boundary conditions, material data, geometry idealization) plus input uncertainty, and h-refinement only shrinks the first. If discretization is 10% of your error budget, paying 8× compute to halve it barely moves the total. So the order is: ① size the discretization error with GCI; ② refine if it dominates; ③ otherwise invest in modeling error and input uncertainty. Refinement is one instrument inside an error budget — not the goal itself.
Related: the GCI (three-mesh) procedure, code verification with MMS, solver convergence checks.
Feel the theory hands-on with the interactive simulators in this field
Simulator LibraryRelated Fields
detail
error