Grid Convergence Index (GCI) Simulator Back
Verification & Validation

Grid Convergence Index (GCI) Simulator

Quantify "how fine is fine enough?" for your CFD or FEM mesh. Enter the solutions on a fine, medium and coarse mesh and the tool reports the ASME V&V 20 / Roache observed order of accuracy, Richardson-extrapolated value, fine-grid GCI and asymptotic-range check in real time.

Parameters
Fine-grid solution f₁
Solution on the finest mesh (e.g. drag coefficient, peak stress)
Medium-grid solution f₂
Solution at h₂ = r·h₁
Coarse-grid solution f₃
Solution at h₃ = r²·h₁
Refinement ratio r
h₂/h₁ = h₃/h₂. r ≥ 1.3 is recommended; 2.0 is standard
Safety factor F_s
1.25 is the standard for a 3-mesh series (Roache 1998)
Results
Observed order p
Richardson f_ext
Fine-grid GCI (%)
Coarse-grid GCI (%)
Asymptotic check GCI32/(r^p·GCI21)
Convergence verdict
Grid convergence diagram — f vs mesh fineness 1/h

The x-axis is mesh fineness 1/h (finer to the right). The three computed points (f₃, f₂, f₁) and the Richardson-extrapolated value f_ext at h→0 are plotted, with a GCI error band drawn around f₁.

Solution f vs 1/h (with asymptotic fit)
GCI(%) vs refinement ratio r
Theory & Key Formulas

$$p=\frac{\ln(|f_3-f_2|/|f_2-f_1|)}{\ln r},\quad \text{GCI}_{21}=\frac{F_s\,|e_{21}|}{r^p-1},\quad f_{ext}=f_1+\frac{f_1-f_2}{r^p-1}$$

Observed order of accuracy p, fine-grid GCI and Richardson-extrapolated value f_ext. e₂₁ = |f₁-f₂|/|f₁| is the relative error, r is the refinement ratio and F_s is the safety factor. ASME V&V 20 standard. F_s = 1.25 is the recommended safety factor for a 3-mesh series.

$$\text{GCI}_{32}=\frac{F_s\,|e_{32}|}{r^p-1},\quad \frac{\text{GCI}_{32}}{r^p\,\text{GCI}_{21}}\approx 1$$

Coarse-grid GCI and asymptotic-range check. A ratio between 0.9 and 1.1 indicates the asymptotic range, in which Richardson extrapolation is reliable.

What is the Grid Convergence Index (GCI)?

🙋
Our senior engineers keep saying "watch out for mesh dependence" when looking at CFD results. But how many cells is actually enough to be trustworthy? Is it just judged by gut feel?
🎓
Good question — and the answer is no, it should not be a gut call. There is a fully standardised procedure for it called the Grid Convergence Index, or GCI. ASME V&V 20 even codifies it. You solve the same problem on three different meshes (fine, medium and coarse) and the differences between the solutions give you, as a percentage, how far the current fine-grid result might be from the true answer. Most CFD journals essentially require GCI to be reported.
🙋
OK, so you really do need three meshes. With the defaults (f₁=100, f₂=105, f₃=115) the tool shows a fine-grid GCI of 6.25%. Does that mean "the true value is roughly 100 ± 6.25"?
🎓
Yes, that's exactly the right way to read it. A GCI of 6.25% says the uncertainty on the fine-grid solution f₁=100 is on the order of ±6.25%, so a conservative reading is "the truth is most likely in 93.75 to 106.25". The Richardson extrapolation f_ext = 95 is what you would get on an infinitely fine mesh. The 5-unit gap between 100 and 95 is the raw discretization error, and GCI inflates that by the 1.25 safety factor to give a more conservative upper bound.
🙋
There is also an "asymptotic check" number. What does that one tell us?
🎓
It is a built-in sanity check on whether Richardson extrapolation is allowed in the first place. In a truly asymptotic range the ratio GCI32 / (r^p · GCI21) should equal 1.0 exactly. With the defaults you see 0.952, which is very close to 1, so the diagnostic says "we are in the asymptotic range, trust the numbers". If the value drifts down to 0.5 or up to 2.0, it is telling you the mesh is still too coarse to be in the asymptotic regime and you need to run another, finer mesh before quoting GCI.
🙋
The observed order p shows 1.000. But shouldn't it be 2 if I use a second-order scheme?
🎓
Nice catch! With the default numbers the solution differences happen to double exactly (5 then 10), so p = ln(2)/ln(2) = 1. That says the effective convergence is first order. There are several reasons a nominally second-order scheme can collapse to p≈1 in practice: a too-coarse boundary layer mesh, a limiter that activates frequently, or simply not yet being in the asymptotic range. When you see p = 1 with a second-order solver, the first move is always to refine the mesh further and check whether p moves toward 2.
🙋
How should I pick the refinement ratio r? Is 2 always fine?
🎓
r = 2 is the most popular choice because halving the spacing in every direction on a structured mesh is easy to implement. ASME V&V 20 recommends r ≥ 1.3, so it does not have to be 2. With unstructured meshes, multiplying the cell volume by 8 (linear dimension by 2) is painful, so practitioners often use r ≈ 1.5 across three meshes. Going too aggressive (r ≥ 4) often makes the coarse mesh too crude to capture the physics, and the trend can break. The "GCI(%) vs r" chart below lets you sweep r interactively and see the effect.

Frequently Asked Questions

The Grid Convergence Index (GCI), proposed by Roache (1994) and standardised in ASME V&V 20-2009, is a conservative measure of discretization error. Solving the same problem on three meshes (fine, medium and coarse) and looking at the difference between the solutions gives a percentage that tells you how far the current fine-grid solution might be from the exact answer. A GCI21 of 6.25%, for example, means the fine-grid uncertainty is roughly ±6.25%. Reporting GCI is essentially mandatory in CFD and FEM verification.
F_s = 1.25 is the value recommended by Roache (1998) and ASME V&V 20 when three meshes are available. Richardson extrapolation gives the right error estimate in the ideal asymptotic range, but real CFD/FEM solutions are rarely fully asymptotic, so the estimate is inflated by 1.25 to stay conservative. When only two meshes are used the recommendation rises to F_s = 3.0. Setting F_s = 1.0 reduces the result to a raw Richardson error and loses the safety margin.
The asymptotic check GCI32 / (r^p · GCI21) is theoretically equal to 1.0. Values between roughly 0.9 and 1.1 mean you are in the asymptotic range and Richardson extrapolation is trustworthy. If the value drifts far from 1.0, the mesh may still be too coarse, the solution may be converging non-monotonically (oscillatory), or the observed order p may be very different from the theoretical one. In that case refine the mesh further or revisit solver settings (discretization scheme, boundary conditions).
Observed orders almost never match the theoretical value exactly. Common causes are (1) the mesh is not yet in the asymptotic range, (2) local accuracy is lost near boundaries, boundary layers or shocks, (3) anisotropic or hybrid meshes lower the effective accuracy, or (4) limiters in the scheme drop it back to first order. If p falls below 0.5 or exceeds 5, Richardson extrapolation cannot be trusted and the mesh series should be reviewed. A healthy observed order is roughly p = 1.0 to 2.5.

Real-World Applications

Aerospace and automotive aerodynamics: When CFD predicts drag or lift coefficients on wings or vehicle bodies, mesh-independent values must be reported. The AIAA Drag Prediction Workshop and corporate aero specifications typically target GCI ≤ 5%, computed from three or four mesh levels, and reporting GCI is part of the standard workflow.

Turbomachinery and combustion performance: Predicting steam-turbine, gas-turbine and rocket-engine combustor efficiency or flame temperature is dominated by resolution of separation lines, shocks and reaction zones. GCI lets engineers communicate uncertainty as, for instance, "an efficiency estimate of 92.3% with ±1.5 pt uncertainty from the mesh", which is essential for design trade-offs and certification.

Nuclear safety analysis: The U.S. NRC and ASME V&V 30 require GCI-style uncertainty quantification to demonstrate safety margins. For example in a loss-of-coolant accident (LOCA) the peak cladding temperature is reported together with its discretization uncertainty so that the margin to the regulatory limit is visible. Both the Richardson-extrapolated "true" value and the safety-factor-inflated GCI bound are usually quoted.

FEM stress-concentration verification: Notches, weld toes and bolt holes are points where stress depends sharply on mesh size. Evaluating GCI for the maximum von Mises stress, and reporting something like "peak stress 320 MPa with mesh dependence below 3%", removes the risk of under- or over-estimating peak loads. It is mandatory in fatigue-life predictions where the stress value drives life directly.

Common Misconceptions and Pitfalls

The biggest trap is trusting the GCI when the solution is not actually in the asymptotic range. The theory of GCI is built on Richardson extrapolation, which only holds when the solution converges at rate r^p, i.e. in the asymptotic regime. If the asymptotic check GCI32/(r^p·GCI21) is far from 1.0, or if the observed order p is extreme (below 0.5 or above 5), the mesh is still too coarse for extrapolation. Quoting "GCI = 10%, so we are fine" in that case can mask a true error of 30 to 50%. Refine until you are clearly in the asymptotic range before quoting a GCI number.

Next, mistaking oscillatory convergence for monotonic convergence. The GCI formula implicitly assumes f₁, f₂, f₃ converge monotonically (always increasing or always decreasing toward the true value). In practice, turbulence-model instability or under-converged iterations can make the solution oscillate as the mesh refines. For example f₁=100, f₂=98, f₃=102 oscillates around the truth, |f₃-f₂|/|f₂-f₁| becomes meaningless, and the observed p is junk. Always plot the three points to confirm monotonicity; if the solution oscillates, fall back to a more conservative bound such as max(|fi - fj|). The "non-asymptotic" verdict in this tool is a red flag for that case.

Finally, confusing a global integral metric with a local field metric. GCI is meant for integrated quantities or values at representative locations (drag coefficient, peak temperature). Computing GCI cell-by-cell across a flow field produces large outliers wherever the local solution is noisy or non-monotonic. In a paper or report, always state the physical quantity you are evaluating: "GCI on L/D = 3%", "GCI on peak von Mises stress at point A = 5%", and so on. When multiple metrics matter (lift, drag, moment), compute GCI for each independently and quote the most conservative one.