Skip to main content

Upwind versus central scheme for convection

Short answer

Courant number C=uΔt/Δx=0.8. Upwind scheme (bounded, stable): φ₁=300, φ₂=304, φ₃=328, φ₄=368. Central difference (FTCS) gives unphysical undershoots: φ₁=292, φ₂=296, φ₃=328, φ₄=384. Upwind introduces numerical diffusion Γ_num=uΔx(1-C)/2=0.02 m²/s smearing gradients; central scheme is unconditionally unstable for pure convection.

For the linear convection equation ∂ϕ/∂t+u ∂ϕ/∂x=0\partial\phi/\partial t+u\,\partial\phi/\partial x=0 with u=2u = 2 m/s, grid spacing Δx=0.1\Delta x = 0.1 m and time step Δt=0.04\Delta t = 0.04 s, find the Courant number. The values of ϕ\phi at nodes 0 to 5 are 300, 300, 320, 360, 400, 400. Compute the new values at nodes 1 to 4 using (a) the first-order upwind scheme and (b) the central difference scheme in space with forward Euler in time. Comment on the results and on numerical diffusion.

Courant number

C=uΔtΔx=2×0.040.1=0.8C=\frac{u\Delta t}{\Delta x}=\frac{2\times0.04}{0.1}=0.8

The physical shift in one step is uΔt=0.08u\Delta t=0.08 m, i.e. 0.8 of a cell, so the exact solution moves the profile to the right by 0.8 cell.

(a) First-order upwind (flow in +x, use the upstream node)

ϕin+1=ϕin−C(ϕin−ϕi−1n)\phi_i^{n+1}=\phi_i^n-C(\phi_i^n-\phi_{i-1}^n)
  • ϕ1=300−0.8(300−300)=300.0\phi_1=300-0.8(300-300)=300.0
  • ϕ2=320−0.8(320−300)=304.0\phi_2=320-0.8(320-300)=304.0
  • ϕ3=360−0.8(360−320)=328.0\phi_3=360-0.8(360-320)=328.0
  • ϕ4=400−0.8(400−360)=368.0\phi_4=400-0.8(400-360)=368.0

(b) Central difference (FTCS)

ϕin+1=ϕin−C2(ϕi+1n−ϕi−1n)\phi_i^{n+1}=\phi_i^n-\frac C2(\phi_{i+1}^n-\phi_{i-1}^n)
  • ϕ1=300−0.4(320−300)=292.0\phi_1=300-0.4(320-300)=292.0
  • ϕ2=320−0.4(360−300)=296.0\phi_2=320-0.4(360-300)=296.0
  • ϕ3=360−0.4(400−320)=328.0\phi_3=360-0.4(400-320)=328.0
  • ϕ4=400−0.4(400−360)=384.0\phi_4=400-0.4(400-360)=384.0
Node1234
Old300320360400
Upwind300.0304.0328.0368.0
Central292.0296.0328.0384.0

Comments

  • Upwind results stay between the old minimum (300) and maximum (400): the scheme is bounded and stable for C≤1C\le1.
  • The central scheme gives 292 and 296 at nodes 1 and 2, below the lowest old value of 300 (an unphysical undershoot). Forward Euler with central space differencing is unconditionally unstable for pure convection, so these oscillations grow with time.
  • Upwind is first order. Its truncation error contains uΔx2(1−C)∂2ϕ∂x2\dfrac{u\Delta x}{2}(1-C)\dfrac{\partial^2\phi}{\partial x^2}, which acts like an extra diffusion (numerical or false diffusion) with coefficient
Γnum=uΔx2(1−C)=2×0.12(1−0.8)=0.02 m2/s\Gamma_{num}=\frac{u\Delta x}{2}(1-C)=\frac{2\times0.1}{2}(1-0.8)=0.02\ \text{m}^2/\text{s}

that smears sharp gradients. For C=1C=1 it vanishes and the scheme is exact in 1D.

  • Remedies: finer grids, higher-order bounded schemes (QUICK, TVD, second-order upwind) with limiters.

Answer: C=0.8C=0.8; upwind 300, 304, 328, 368; central 292, 296, 328, 384; numerical diffusion 0.02 m²/s.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Applied Computational Fluid Dynamics chapter 3 questions →