Output error estimation
In one minuteThe adjoint-weighted-residual estimate predicts the change of an output between polynomial degree p and p + 1 from a single linear solve. Its effectivity is measured against the actually converged p + 1 solution.
Inviscid subsonic flow over a smooth Gaussian bump. The exact flow is isentropic, so the entropy error measures solution accuracy directly. For the drag coefficient the adjoint-weighted residual predicts the change of the output between degree p and p + 1 from a single linear solve; effectivity compares that prediction with the actually converged p + 1 solution.
- p = 1: effectivity on finest mesh0.933expected 0.7 … 1.3pass
- p = 1: error remaining after correction (finest mesh)0.04869expected < 0.25pass
- p = 2: effectivity on finest mesh0.9667expected 0.7 … 1.3pass
- p = 2: error remaining after correction (finest mesh)0.02162expected < 0.25pass
- p = 2: entropy-error order3.803expected >= 2.5 (design rate p + 1 = 3, tolerance 0.5)pass
Run notes With p = 1 the wall is piecewise linear, and the entropy-error order is reported, not required: it was 0.09 on these meshes, against a design rate of 2. Spurious entropy generated at the kinks of a polygonal wall need not decay at the design rate, the classical argument for curved elements. The effectivity checks do apply at p = 1: the p = 2 space that the estimate targets has a curved wall.
gyre 0.4.0 · 39979fcf90 · · cpu · quick suite · record (JSON)Same code as this build
The test case is inviscid subsonic flow over a smooth Gaussian bump in a channel. The exact flow is isentropic, so the entropy error is a direct measure of solution accuracy:
Data table
| h (1 / nx) | p = 1 | p = 2 |
|---|---|---|
| 0.0833333 | 0.00199609 | 0.0011528 |
| 0.0416667 | 0.00188038 | 8.2571e-05 |
gyre 0.4.0 · 39979fcf90 · · cpu · quick suite · record (JSON)Same code as this build
Elements are isoparametric: the geometry is interpolated at the solution degree. At the wall is therefore a polygon, and each kink generates spurious entropy that need not decay at the design rate — the classical observation that motivated curved elements (Bassi and Rebay, 1997). The entropy-order check applies to ; at the order is reported, not required, and the run notes under the status state the order that was measured. The effectivity checks do apply at : the space that the estimate targets has a curved wall. On curved walls, use .
Effectivity#
| mesh | p | cd (p) | estimate δ | corrected | cd (p + 1, converged) | effectivity | remaining / original error |
|---|---|---|---|---|---|---|---|
| 12x4 | 1 | 0.0177275 | -0.00857008 | 0.00634203 | 0.00569478 | 0.929779 | 0.0537907 |
| 24x8 | 1 | 0.012233 | -0.00806656 | 9.2333e-04 | 3.4443e-04 | 0.93304 | 0.0486938 |
| 12x4 | 2 | 0.00569478 | -0.0026344 | 5.0612e-04 | 1.4077e-04 | 0.878207 | 0.065781 |
| 24x8 | 2 | 3.4443e-04 | -2.0704e-04 | 2.1391e-05 | 1.4254e-05 | 0.966676 | 0.0216164 |
gyre 0.4.0 · 39979fcf90 · · cpu · quick suite · record (JSON)Same code as this build
For each mesh and degree : the output computed at degree ; the adjoint estimate of the change to degree ; the corrected output; and the output of an actual, fully converged computation. Effectivity is the ratio of the predicted to the actual change — one is perfect. The last column is the error that remains after correction relative to the error before.
Reference: finest mesh at degree 4, a solution used by no plotted point and no estimate. It differs from the degree-3 output on the same mesh by 1.4e-05; the reference is itself a computed value, and differences of that size or below are not resolved. Corrected outputs are the injected p + 1 output plus the adjoint estimate.
Data table
| h (1 / nx) | p = 1: cd | p = 2: cd | p = 1: corrected | p = 2: corrected |
|---|---|---|---|---|
| 0.0833333 | 0.0177271 | 0.00569443 | 0.00634168 | 5.0577e-04 |
| 0.0416667 | 0.0122327 | 3.4408e-04 | 9.2298e-04 | 2.1043e-05 |
gyre 0.4.0 · 39979fcf90 · · cpu · quick suite · record (JSON)Same code as this build
The chart plots the distance of the raw and of the corrected drag from a reference. The correction is designed to remove the leading error term; how far it does is measured by the last column of the effectivity table and its check (error remaining after correction below a quarter of the original on the finest mesh). The reference is the finest mesh at a degree two above the highest plotted one, a solution used by no plotted point and no estimate. It is itself a computed value: the chart note states its distance from the solution one degree lower, and differences of that size or below are not resolved. If that reference solve does not converge, the chart falls back to the solution one degree lower and omits the one corrected point that would be measured against its own target; the note says so.
The estimate is first order in the difference between the injected and the converged fine-space solutions, so its relative accuracy improves as the mesh is refined (asymptotic exactness) and degrades on meshes too coarse for the linearisation to hold. It measures the error relative to the space, not to the exact solution; where the solution is singular (a sharp trailing edge) enrichment in alone captures less of the true error.