Convection-Diffusion — CAE Glossary

Category: Glossary | 2026-03-28
CAE visualization for convection diffusion - technical simulation diagram

The Convection-Diffusion Equation

🙋

How is the convection-diffusion equation positioned in fluid analysis? Is it separate from the Navier-Stokes equation?


🎓

It's not actually a separate topic—rather, it's the very 'skeleton' of the Navier-Stokes equations. Each component of the momentum equation, the temperature transport equation, and scalar transport all take the same form: 'convection + diffusion = source.' Understanding the convection-diffusion equation is thus a shortcut to understanding the entire CFD numerical method.


🙋

I see! Could you tell me more specifically what kind of equation it is?


🎓

Imagine warm water being discharged into a river. The warm water is transported downstream by the river flow (that's convection). At the same time, heat spreads due to the temperature difference with the surrounding cold water (that's diffusion). The convection-diffusion equation combines these two effects into a single expression.


Governing Equation

For a scalar quantity $\phi$, the steady-state convection-diffusion equation takes the form:

$$\nabla \cdot (\rho \mathbf{u} \phi) = \nabla \cdot (\Gamma \nabla \phi) + S$$

Here, the left side is the convection term, the first term on the right is the diffusion term, and $S$ is the source term. $\rho$ is density, $\mathbf{u}$ is velocity vector, and $\Gamma$ is the diffusion coefficient.

For the transient case, a time derivative term is added:

$$\frac{\partial (\rho \phi)}{\partial t} + \nabla \cdot (\rho \mathbf{u} \phi) = \nabla \cdot (\Gamma \nabla \phi) + S$$

Restricting to the simplest 1D steady form with no source:

$$u \frac{d\phi}{dx} = \Gamma \frac{d^2\phi}{dx^2}$$

This simple equation is the starting point for discussing numerical discretization stability.

Peclet Number and Convection-Diffusion Balance

🙋

How do you determine which is stronger, convection or diffusion?


🎓

That's what the Peclet number (Pe) tells you. Just like the Reynolds number expresses the ratio of inertial to viscous forces, the Peclet number represents the ratio of convective to diffusive transport. In fact, Pe = Re × Pr (Prandtl number), so it's closely connected to the Reynolds number.


Definition of Peclet number:

$$\mathrm{Pe} = \frac{UL}{\alpha} = \frac{\text{Convective transport strength}}{\text{Diffusive transport strength}}$$

Here $U$ is characteristic velocity, $L$ is characteristic length, and $\alpha = \Gamma/\rho$ is the diffusivity. In the finite volume method context, the cell Peclet number (grid Peclet number) is extremely important:

$$\mathrm{Pe}_{\text{cell}} = \frac{\rho u \Delta x}{\Gamma}$$
🙋

What happens when Pe is large? What about when it's small?


🎓

When Pe is small (Pe ≪ 1), diffusion dominates and information spreads uniformly in all directions—like heat conduction alone. When Pe is large (Pe ≫ 1), convection dominates and information is transported one-sidedly along the flow direction—like smoke being blown by the wind. The problem is that when convection dominates and you use central differences, the discretization becomes numerically unstable.


The Numerical Diffusion Problem

🙋

What do you mean by 'becomes unstable'? I learned central differences are second-order accurate and a good method…


🎓

Central differences work fine for pure diffusion equations. But when you discretize the convection term with central differences, if cell Peclet number exceeds 2, you get wiggles—non-physical oscillations. For example, in a simulation where warm air flows into a 0°C room, temperatures might drop to −20°C or spike to 120°C, which is physically impossible.


🙋

Temperature becomes negative?! Why does that happen?


🎓

Intuitively, in a strong convection flow, upstream information is overwhelmingly important, but central differences treat upstream and downstream information with equal weight. This breaks the diagonal dominance of the coefficient matrix from discretization, causing undershoots and overshoots. Mathematically, the discretization fails to satisfy boundedness.


For the 1D convection-diffusion discretization with central differences, the diagonal dominance condition is:

$$|\mathrm{Pe}_{\text{cell}}| = \left|\frac{\rho u \Delta x}{\Gamma}\right| \leq 2$$

When this condition is violated, the solution oscillates. In real industrial CFD, Pecell ≫ 2 occurs frequently, so stabilization is essential.

Upwind Difference and Stabilization Techniques

🙋

How do you suppress the oscillations?


🎓

The simplest approach is first-order upwind difference. The value at a cell interface is approximated using the upstream cell value. Because it accounts for flow direction, oscillations are completely suppressed. But there's a trade-off: numerical diffusion appears.


🙋

What's the practical impact of numerical diffusion? How much of a problem is it in engineering?


🎓

In smoke transport simulations, what should be a sharp smoke boundary becomes blurred by numerical diffusion. In automotive exhaust dispersion analysis, the peak concentration is underestimated and the affected area appears wider than reality. The coarser the mesh, the larger this false diffusion. Using first-order upwind on coarse meshes is quite risky in practice.


A Taylor expansion of the first-order upwind discretization shows:

$$u \frac{d\phi}{dx} \approx u \frac{\phi_i - \phi_{i-1}}{\Delta x} + \underbrace{\frac{u \Delta x}{2} \frac{d^2\phi}{dx^2}}_{\text{numerical diffusion term}} + O(\Delta x^2)$$

The numerical diffusion term is equivalent to adding a spurious diffusion coefficient $\Gamma_{\text{false}} = \rho u \Delta x / 2$. Thus the coarser the mesh and the stronger the convection, the larger the false diffusion.

SUPG Method and Its Companions

🙋

I heard that the finite element method has a different approach instead of upwind differences. How does SUPG method work?


🎓

SUPG (Streamline Upwind Petrov-Galerkin) is a stabilization technique for the finite element method proposed by Brooks and Hughes in 1982. It adds a perturbation term in the streamline direction to the weight function in Galerkin's method. Roughly speaking, it achieves the upwind effect by 'slightly biasing the weight function upstream.'


In SUPG, instead of the standard Galerkin weight function $w$, a modified weight function $\tilde{w}$ is used:

$$\tilde{w} = w + \tau \, \mathbf{u} \cdot \nabla w$$

Here $\tau$ is the stabilization parameter determined from element size, velocity, and diffusion coefficient:

$$\tau = \frac{h}{2\|\mathbf{u}\|} \left( \coth \mathrm{Pe}_e - \frac{1}{\mathrm{Pe}_e} \right)$$

where $\mathrm{Pe}_e = \|\mathbf{u}\| h / (2\Gamma)$ is the element Peclet number and $h$ is the streamline-direction element size.

🙋

Are there other stabilization techniques besides SUPG?


🎓

Many. In finite element methods, GLS (Galerkin/Least-Squares) is known as a generalization of SUPG. Its advantage is that consistency is maintained even with source terms. For transient incompressible flow, PSPG (Pressure-Stabilizing Petrov-Galerkin) is often combined to stabilize both velocity and pressure. In the finite volume world, TVD (Total Variation Diminishing) limiters and ENO/WENO schemes are mainstream.


🙋

What does a TVD limiter do? The name sounds impressive…


🎓

TVD, 'Total Variation Diminishing,' guarantees that the total variation of a solution does not increase over time. Concretely, a 'limiter function' is inserted in the gradient reconstruction to prevent new extrema (oscillations) from appearing. There are many types—Van Leer, Minmod, Superbee—the stronger the limiter, the more oscillations are suppressed, but numerical diffusion increases accordingly. Tuning this balance is where a CFD engineer's skill shows.


Practical Selection Guide

🙋

There are so many options, I'm getting confused… How do you choose in practice?


🎓

For steady RANS, starting with second-order upwind is the standard. Switch to first-order upwind only if convergence is difficult, then switch back. For LES, numerical diffusion interferes with the SGS model, so central difference schemes are the convention. For compressible flows with shock waves, TVD-type limiters are safest.


🙋

If you make the mesh fine enough, do all schemes give the same result?


🎓

Theoretically yes. With sufficiently fine mesh, Pecell → 0 and all schemes converge. But in practice, computational resources are limited, so you choose 'the scheme with best accuracy for the mesh resolution you can afford.' That's why discretization scheme selection is a hallmark of an experienced discretization engineer.


🙋

What's the default scheme in OpenFOAM?


🎓

In OpenFOAM you set it in the fvSchemes file under divSchemes. Default tutorials often use Gauss linearUpwind grad(U) (second-order upwind). Gauss linear is central difference, Gauss upwind is first-order upwind. TVD types include Gauss linearUpwind and Gauss vanLeer. One line changes the scheme, so comparing results is easy.


Precise understanding of CAE terminology is the foundation of team communication. — Project NovaSolver also supports learning for practicing engineers.

Tell us about your challenges with convection-diffusion discretization

Project NovaSolver aims to solve the problems CAE engineers face daily—setup complexity, computational cost, result interpretation. Your practical experience drives better tool development.

Contact (Coming Soon)
Rate this article
Thank you for your feedback!
Helpful
Want more
detail
Report
error
Helpful
0
Want more detail
0
Report error
0
Written by NovaSolver Contributors
Anonymous Engineers & AI — Sitemap
View Profile