Mesh Independence Study Simulator Back
Verification & Validation

Mesh Independence Study Simulator

Run a full 5-level mesh independence study in your browser. Enter the coarse-to-finest mesh solutions of any CFD or FEM quantity and instantly get the adjacent relative changes, the mesh-independent stage, the observed convergence order p and the Richardson-extrapolated reference value — ready for your V&V report.

Parameters
Coarse-mesh solution u₁
Representative quantity from the coarsest grid (level 1)
Medium-mesh solution u₂
Cell size halved from level 1 (level 2)
Fine-mesh solution u₃
Cell size halved again — base ÷ 4 (level 3)
Very-fine solution u₄
Base ÷ 8 (level 4)
Finest-mesh solution u₅
Base ÷ 16 (level 5, finest)
Convergence tolerance ε_tol
%
Stage where the adjacent change first drops below this value is declared independent
Results
ε₂₁ (%)
ε₃₂ (%)
ε₄₃ (%)
ε₅₄ (%)
Mesh-independent stage
Observed order p
5-level mesh refinement progression

Animated view of grids being progressively refined from coarse (left) to finest (right). Each panel shows the solution u_k and the adjacent change ε(%). A green marker tags the first independent stage; red hints mean the tolerance is not yet met.

Solution u_k vs mesh stage
Relative change ε(%) and tolerance
Theory & Key Formulas

$$\varepsilon_{k+1,k}=\frac{|u_{k+1}-u_k|}{|u_{k+1}|}\times 100\%,\quad p=\frac{\ln(\varepsilon_{32}/\varepsilon_{43})}{\ln r},\quad u_{ext}=u_n+\frac{u_n-u_{n-1}}{r^{p}-1}$$

Typically r=2 (each step halves the representative cell size). The observed order p should approach the design order of the scheme (1, 2, …), and Richardson extrapolation estimates the value at zero mesh size.

$$\text{Independence: } \varepsilon_{k+1,k} < \varepsilon_{tol}\ \text{(typically 1\%)}$$

The first stage whose adjacent change falls under the tolerance is the mesh-independent stage. Pick the tolerance based on the quantity of interest and the required accuracy (usually 0.1–2%).

$$\text{Estimated discretization error: }e_n \approx \frac{u_n-u_{ext}}{u_{ext}}\times 100\%$$

The gap between the finest-mesh solution u_n and the extrapolated u_ext quantifies the discretization error. Reports usually present u_ext, observed p and the GCI together as V&V evidence.

What is a Mesh Independence Study?

🙋
Every time I show CFD results to my manager he asks, "did you do a mesh independence study?" What am I actually supposed to look at?
🎓
Classic question. Both CFD and FEM have the property that as the elements get smaller, the solution approaches the true value. So your real question is: would the number I am reading right now change if I refined the mesh? To answer that, you run the same case on a series of coarse → medium → fine → very fine meshes, and you track how the quantity you care about (peak stress, drag coefficient, outlet temperature, …) moves as the mesh changes. That is the mesh independence study.
🙋
How many levels do I really need? Some reports just compare two meshes and call it done.
🎓
Two levels cannot distinguish "they happened to be close" from "the solution is converged". The minimum is three, and five is much safer. The reason is that Richardson extrapolation needs at least three solutions on the finest end to back out the observed order p. Once you have p you can also estimate the value at infinite refinement. This tool takes five levels and computes ε₂₁ through ε₅₄ plus p from the three finest grids.
🙋
With the defaults, ε₅₄ is still 3% and the verdict is red — "not yet converged". Why?
🎓
Good observation. With u=[50,75,90,95,98] the adjacent changes go 33% → 17% → 5.3% → 3.1% — still dropping but slowly, and well above the 1% tolerance. That is the signature of a mesh that is not yet in the asymptotic range. The observed p is 0.78, well below the theoretical second-order value (p≈2). It usually means a boundary layer or sharp gradient is not yet resolved, and you need one or two more refinement steps — or to switch from uniform to local refinement near the gradient.
🙋
So if I tweak u₅ to 99 or 99.5 the verdict will turn green?
🎓
Try it. u₅=99.5 gives ε₅₄=|99.5−95|/99.5×100=4.52%, still not enough. u₅=95.5 gives 0.52% which is below 1% — independence at stage 5. The point is not to fudge numbers until the verdict turns green; it is to show that the real refinement series actually follows that curve. In practice you also report observed p and the Richardson value, and quote the discretization error as something like "≤ 2%". That is the proper V&V style.
🙋
One last thing — any tips for boundary-layer-heavy cases like airfoils?
🎓
Boundary-layer cases are tricky. Uniformly halving cells everywhere does nothing if the wall y+ stays the same. The trick is a two-axis study: one axis is uniform refinement (r=2 each step), the other is the wall y+ of the first cell layer (e.g. 1 → 0.5 → 0.2). This tool covers the single-parameter axis, so think of feeding in the "uniform refinement" leg of your two-axis study here and treating y+ separately.

Frequently Asked Questions

In CFD and FEM, refining the mesh in successive stages drives the computed quantity (stress, temperature, drag, etc.) towards its true value. Once the relative change between two consecutive levels drops below a chosen tolerance (typically 1%), we say the mesh-independent stage has been reached: further refinement no longer affects the result. Analyses reported without this study can hide a hidden dependence on the mesh and are usually considered incomplete from a V&V (verification and validation) standpoint.
When the cell size is refined by a constant ratio r (typically r=2, halving the representative size each step), the observed order is p = ln(ε₃₂ / ε₄₃) / ln(r), where ε_{k+1,k} are adjacent relative changes computed on the three finest meshes. Ideally p approaches the design order of the scheme (1 for first-order, 2 for second-order). When the observed p is much lower, the mesh has not yet reached the asymptotic range, or the flow contains discontinuities or unresolved boundary layers.
Richardson extrapolation produces an estimated "infinitely-fine-mesh" value from a finite sequence of mesh solutions: u_ext = u_n + (u_n − u_{n−1}) / (r^p − 1). It removes most of the discretization-related error from the data you have. Even when full mesh independence has not been reached, the gap between u_ext and the finest mesh quantifies the discretization error and can be reported in papers as V&V evidence. It is also the basis of the Grid Convergence Index (GCI).
Computing the observed order p requires a ratio of two adjacent relative changes (ε₃₂ and ε₄₃), which in turn needs at least three solution levels (coarse, medium and fine). Five levels make the extrapolation noticeably more trustworthy. Many teams still try to declare independence from only two meshes, but that cannot rule out the chance that the two values were close by accident, and it is not considered a valid proof of grid convergence.

Real-World Applications

Aircraft and vehicle aerodynamics: RANS / LES CFD around wings or full cars produces drag (C_d) and lift (C_l) coefficients that depend on mesh resolution. The standard aero-team workflow is to declare convergence "when ΔC_d between successive levels falls under 1%" and then freeze that mesh for design exploration. Observed p and the Richardson value are almost always required as supplementary material for SAE-style publications.

FEM stress analysis for reactors and pressure vessels: Local stress peaks at welded nozzles are highly mesh-dependent, so demonstrating mesh independence is a regulatory deliverable. ASME BPVC explicitly requires "the relative change in peak stress at the critical location to fall below an acceptance criterion under further refinement", and a relative-change history like this tool produces is a standard section in the analysis report.

Mold filling and casting thermofluid analysis: In injection-moulding or solidification simulations, the position of weld lines and the location of velocity peaks near gates depend heavily on mesh. Solutions tuned on a coarse mesh routinely miss the mark on real moulds, so feeding the design loop with un-converged results is risky. A 3+ level refinement study is treated as a minimum acceptable V&V workflow.

University courses and self-study: Beginners in CFD/FEM most often stumble on "how trustworthy is the result?". This simulator lets you punch in convergence histories from a textbook problem and feel out p and the extrapolated value without actually running a solver. Instructors have used it as a hands-on demo in lectures and exercises.

Common Misconceptions and Pitfalls

The biggest trap is to report only the total cell count and skip the independence study. "Total of 5M cells" tells the reader nothing about whether the mesh is coarse or fine for this problem. Reviewers always ask for the convergence history and the observed p. For example, a wing-drag study should read "mesh 2M → 5M → 10M → 20M → 40M cells, C_d 0.0312 → 0.0298 → 0.0291 → 0.0289 → 0.0288" — that is the minimum acceptable form. The 5-level format in this tool matches exactly what a typical journal submission asks for.

Second, do not assume the observed p must equal the design order. Even with a second-order scheme, the observed p typically ranges from 0.5 to 1.5 until you are deep in the asymptotic range. Conversely, an unrealistically large p (>3) usually means a noisy or oscillatory solution that brought two ε values close together by coincidence — it should not be trusted. A useful rule of thumb is "p within ±50% of the design order on three well-converged grids".

Finally, do not treat u_ext as the true value. Richardson extrapolation only gives a linear-style extrapolation from the data you have. It cannot remove turbulence-model error or uncertainty in boundary conditions. The accepted wording is "the discretization error against u_ext is estimated at …%", never "the true value is u_ext". The GCI standard explicitly applies an additional safety factor of 1.25 to the extrapolated error to acknowledge this uncertainty.

How to Use

  1. Enter five quantitative results from your CFD or FEM simulation across increasing mesh refinement levels (e.g., pressure drop, von Mises stress, Nusselt number).
  2. Input the mesh element count or characteristic size for each level in the Range fields to establish refinement ratio h₂/h₁, h₃/h₂, etc.
  3. Click Calculate to compute Richardson extrapolation errors (ε₂₁, ε₃₂, ε₄₃, ε₅₄) and identify at which level convergence becomes asymptotic; the simulator reports observed order p via least-squares fit.

Worked Example

Steady-state turbulent flow over a cylinder: coarse mesh (48,000 elements) yields drag coefficient CD=1.42, medium (128,000) gives CD=1.38, fine (312,000) produces CD=1.365, finer (756,000) CD=1.361, finest (1,890,000) CD=1.3605. Entering these five values with corresponding mesh sizes generates ε₂₁=2.82%, ε₃₂=1.10%, ε₄₃=0.37%, ε₅₄=0.04%. The study shows mesh-independent stage at level 4 with observed order p≈2.1, confirming asymptotic convergence.

Practical Notes

  1. Use monotonically refined grids with consistent refinement ratios (r≈1.3–2.0); non-uniform refinement invalidates Richardson theory and produces spurious p values.
  2. When ε₄₃ and ε₅₄ fall below 0.1–0.5% and p stabilizes near theory (p=1 first-order upwind, p≈2 second-order schemes), declare mesh independence and stop refinement to conserve computational cost.
  3. For coupled multiphysics problems (FSI, conjugate heat transfer), verify independence separately on each field (displacement, temperature); a single mesh may achieve independence for velocity but not thermal gradients.