You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
SLCN on the annulus: the inner-wall temperature gradient is 6% steeper than the heat flow the interior carries (a first-cell artefact at the curved wall) #685
Thermal convection in the annulus (r = 0.5 to 1, no-slip walls, T = 1 inside and 0 outside, buoyancy Ra T / r_i^3 with Ra = 1e4, mode-4 start, P2 temperature, cell size 0.03, Courant 1, the shipped example's setup) run to a steady eight-cell planform with the semi-Lagrangian solver and with the Eulerian SUPG solver (#673) on the same mesh, the same Stokes problem and the same timestep rule. At steady state the total heat flow in through the inner wall must equal the flow out through the outer wall.
Nusselt numbers from the boundary flux integrals (BdIntegral(-grad T . n) on each wall, normalised by the conductive total 2 pi / ln 2), every printed digit constant over the last thirty steps of each run:
scheme
Nu inner (in)
Nu outer (out)
mismatch
SUPG
2.504
2.511
0.3%
SLCN
2.647
2.467
7%
Vrms is 38.39 (SUPG) and 38.28 (SLCN), and the temperature fields look alike; the deficit is in the interior transport, not in the measurement, since the same integrals balance under SUPG. On the unit box (Blankenbach 1a, free-slip, Ra 1e4, cell size 1/32, Courant 1) the same comparison gives a 0.1% mismatch for SLCN (4.8957 out, 4.8899 in) against 0.03% for SUPG, so the annulus is where it bites: the semi-Lagrangian trace-back interacts with the curved no-slip walls, and the imbalance appeared early in the transient and stayed (step 480: 2.469 out, 2.646 in).
Script, per-step logs and checkpoints (T and V every 25 steps): ~/+Simulations/supg_vs_slcn_657/convection_benchmarks/ (scripts/convection_benchmark.py -uw_geometry annulus -uw_scheme slcn -uw_rayleigh 1e4 -uw_cell_size 0.03, runs annulus_{slcn,supg}_Ra1e4_C1_h0.03_np1, figure figures/02_annulus_Ra1e4_supg_vs_slcn.png). Branch feature/levelset-supg at 939872d. Related: #682 (partition-dependent SLCN answer).
Underworld development team with AI support from Claude Code
changed the title [-]SLCN loses 7% of the heat flow across an annulus at steady state: inner- and outer-wall Nusselt numbers do not balance[/-][+]SLCN on the annulus: the inner-wall temperature gradient is 6% steeper than the heat flow the interior carries (a first-cell artefact at the curved wall)[/+]on Sep 4, 2026
Correction to the headline. The heat is not lost across the annulus; the total radial heat flow Q(r) = oint (v_r T - dT/dr) r dtheta, evaluated on shells from both runs' last checkpoints (scripts/heat_balance_annulus.py), is the same on every interior shell:
shell
SUPG Q/Q_cond
SLCN Q/Q_cond
r = 0.52
2.503
2.482
r = 0.60
2.486
2.488
r = 0.75
2.500
2.483
r = 0.90
2.492
2.482
r = 0.98
2.502
2.475
inner wall, -dT/dr
2.504
2.647
outer wall, -dT/dr
2.511
2.467
The two schemes agree on the heat flow to under 1%. Under SLCN only the inner-wall gradient is the outlier, so the discrepancy sits inside the first cell at the hot wall: the SLCN temperature at r = 0.51 is 3% lower than SUPG's (0.9205 against 0.9229 under the upwelling), which steepens the gradient that a wall Nusselt integral reads by 6%. It is steady (constant to four digits from step 600), and it is not the advective term, which is zero at the no-slip wall and was included on the shells. So this is a near-wall artefact of the semi-Lagrangian field at a curved boundary, most likely the departure points of the wall-adjacent nodes, and it biases any wall-gradient measurement; an interior-shell Nusselt number is unaffected.
Third measurement, the reaction (Consistent Boundary Flux) method: solver.boundary_flux(wall) on a conduction operator holding each run's final field (scripts/cbf_annulus.py, the field untouched), total flow from the boundary mean, lumped mass. On this curved wall the P2 vertex reactions carry the O(h) facet-geometry error the docstring warns about (106 facets on the inner circle), so the vertex-and-midpoint mean and the midpoint-only mean differ by 2 to 3% for BOTH schemes:
wall
SUPG all nodes / midpoints
SLCN all nodes / midpoints
interior shells
inner
2.527 / 2.463
2.639 / 2.538
2.49 to 2.50 / 2.48
outer
2.495 / 2.521
2.452 / 2.478
So on this mesh every wall reading of the inner circle is uncertain at the few-per-cent level, and the interior shell flow is the measure to trust; on it the schemes agree to 0.7%. Relative to its own shells the SLCN inner-wall flux reads high by 2.5% (midpoint reaction) to 6% (gradient integral) where SUPG's reads within 1.5%; the sign and location of the effect stand, its size is between those two numbers, and the mesh geometry error is common to both schemes. A finer inner wall would pin it.
Activity
[-]SLCN loses 7% of the heat flow across an annulus at steady state: inner- and outer-wall Nusselt numbers do not balance[/-][+]SLCN on the annulus: the inner-wall temperature gradient is 6% steeper than the heat flow the interior carries (a first-cell artefact at the curved wall)[/+]lmoresi commentedon Sep 4, 2026
Correction to the headline. The heat is not lost across the annulus; the total radial heat flow Q(r) = oint (v_r T - dT/dr) r dtheta, evaluated on shells from both runs' last checkpoints (
scripts/heat_balance_annulus.py), is the same on every interior shell:The two schemes agree on the heat flow to under 1%. Under SLCN only the inner-wall gradient is the outlier, so the discrepancy sits inside the first cell at the hot wall: the SLCN temperature at r = 0.51 is 3% lower than SUPG's (0.9205 against 0.9229 under the upwelling), which steepens the gradient that a wall Nusselt integral reads by 6%. It is steady (constant to four digits from step 600), and it is not the advective term, which is zero at the no-slip wall and was included on the shells. So this is a near-wall artefact of the semi-Lagrangian field at a curved boundary, most likely the departure points of the wall-adjacent nodes, and it biases any wall-gradient measurement; an interior-shell Nusselt number is unaffected.
lmoresi commentedon Sep 4, 2026
Third measurement, the reaction (Consistent Boundary Flux) method:
solver.boundary_flux(wall)on a conduction operator holding each run's final field (scripts/cbf_annulus.py, the field untouched), total flow from the boundary mean, lumped mass. On this curved wall the P2 vertex reactions carry the O(h) facet-geometry error the docstring warns about (106 facets on the inner circle), so the vertex-and-midpoint mean and the midpoint-only mean differ by 2 to 3% for BOTH schemes:So on this mesh every wall reading of the inner circle is uncertain at the few-per-cent level, and the interior shell flow is the measure to trust; on it the schemes agree to 0.7%. Relative to its own shells the SLCN inner-wall flux reads high by 2.5% (midpoint reaction) to 6% (gradient integral) where SUPG's reads within 1.5%; the sign and location of the effect stand, its size is between those two numbers, and the mesh geometry error is common to both schemes. A finer inner wall would pin it.