Skip to main content

Explicit, implicit and Crank-Nicolson schemes

Short answer

Explicit (FTCS): T_i^{n+1}=T_i^n+rδ²T_i^n, O(Δt,Δx²), conditionally stable (r≤0.5). Implicit (BTCS): -rT_{i-1}^{n+1}+(1+2r)T_i^{n+1}-rT_{i+1}^{n+1}=T_i^n, O(Δt,Δx²), unconditionally stable. Crank-Nicolson: average of explicit/implicit, O(Δt²,Δx²), unconditionally stable. Explicit cheap per step but tiny Δt; implicit/CN require tridiagonal solves but allow larger Δt.

Differentiate between explicit, implicit and Crank-Nicolson time-marching schemes for the one-dimensional transient diffusion equation. Write the discretised form of each and compare accuracy, stability and cost.

For ∂T/∂t=α ∂2T/∂x2\partial T/\partial t=\alpha\,\partial^2T/\partial x^2, let r=αΔt/Δx2r=\alpha\Delta t/\Delta x^2 and δ2Ti=Ti+1−2Ti+Ti−1\delta^2T_i=T_{i+1}-2T_i+T_{i-1}.

Discretised forms

  • Explicit (FTCS): Tin+1=Tin+r δ2Ti nT_i^{n+1}=T_i^n+r\,\delta^2T_i^{\,n}. The right side uses only old values, so each new value is found directly.
  • Fully implicit (BTCS): Tin+1=Tin+r δ2Ti n+1T_i^{n+1}=T_i^n+r\,\delta^2T_i^{\,n+1}, or −rTi−1n+1+(1+2r)Tin+1−rTi+1n+1=Tin-rT_{i-1}^{n+1}+(1+2r)T_i^{n+1}-rT_{i+1}^{n+1}=T_i^n. This needs a tridiagonal system solved each step (Thomas algorithm).
  • Crank-Nicolson: average of the two, Tin+1=Tin+r2(δ2Ti n+δ2Ti n+1)T_i^{n+1}=T_i^n+\dfrac r2\left(\delta^2T_i^{\,n}+\delta^2T_i^{\,n+1}\right). Also tridiagonal.

Comparison

PropertyExplicitImplicitCrank-Nicolson
Time level of spatial termsnnn+1n+1average of nn and n+1n+1
AccuracyO(Δt,Δx2)O(\Delta t,\Delta x^2)O(Δt,Δx2)O(\Delta t,\Delta x^2)O(Δt2,Δx2)O(\Delta t^2,\Delta x^2)
StabilityConditional: r≤0.5r\le0.5UnconditionalUnconditional
Work per stepVery smallMatrix solveMatrix solve
Time stepRestricted by stabilityChosen by accuracyChosen by accuracy
WeaknessTiny Δt\Delta t on fine meshOnly first-order in time; dampsMay oscillate for large rr

Remarks

  • With the explicit scheme, halving Δx\Delta x forces Δt\Delta t to be one quarter, so cost rises about 8 times in 1D.
  • Implicit methods are used in most commercial CFD solvers because stable large time steps are possible, especially for steady-state solutions and stiff problems.
  • Unconditional stability does not mean accuracy: too large a Δt\Delta t still gives a poor transient.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Applied Computational Fluid Dynamics chapter 3 questions →