Upwind scheme

From Wikipedia, the free encyclopedia

In computational physics, the term upwind scheme (sometimes advection scheme) typically refers to a class of numerical discretization methods for solving hyperbolic partial differential equations, in which so-called upstream variables are used to calculate the derivatives in a flow field. That is, derivatives are estimated using a set of data points biased to be more "upwind" of the query point, with respect to the direction of the flow. Historically, the origin of upwind methods can be traced back to the work of Courant, Isaacson, and Rees who proposed the CIR method.[1]

Model equation[edit]

To illustrate the method, consider the following one-dimensional linear advection equation

which describes a wave propagating along the -axis with a velocity . This equation is also a mathematical model for one-dimensional linear advection. Consider a typical grid point in the domain. In a one-dimensional domain, there are only two directions associated with point – left (towards negative infinity) and right (towards positive infinity). If is positive, the traveling wave solution of the equation above propagates towards the right, the left side of is called upwind side and the right side is the downwind side. Similarly, if is negative the traveling wave solution propagates towards the left, the left side is called downwind side and right side is the upwind side. If the finite difference scheme for the spatial derivative, contains more points in the upwind side, the scheme is called an upwind-biased or simply an upwind scheme.

First-order upwind scheme[edit]

A simulation of a first-order upwind scheme in which a = sin(t).

The simplest upwind scheme possible is the first-order upwind scheme. It is given by[2]











where refers to the dimension and refers to the dimension. (By comparison, a central difference scheme in this scenario would look like

regardless of the sign of .)

Compact form[edit]



the two conditional equations (1) and (2) can be combined and written in a compact form as






Equation (3) is a general way of writing any upwind-type schemes.


The upwind scheme is stable if the following Courant–Friedrichs–Lewy condition (CFL) is satisfied.[3]

and .

A Taylor series analysis of the upwind scheme discussed above will show that it is first-order accurate in space and time. Modified wavenumber analysis shows that the first-order upwind scheme introduces severe numerical diffusion/dissipation in the solution where large gradients exist due to necessity of high wavenumbers to represent sharp gradients.

Second-order upwind scheme[edit]

The spatial accuracy of the first-order upwind scheme can be improved by including 3 data points instead of just 2, which offers a more accurate finite difference stencil for the approximation of spatial derivative. For the second-order upwind scheme, becomes the 3-point backward difference in equation (3) and is defined as

and is the 3-point forward difference, defined as

This scheme is less diffusive compared to the first-order accurate scheme and is called linear upwind differencing (LUD) scheme.

See also[edit]


  1. ^ Courant, Richard; Isaacson, E; Rees, M. (1952). "On the Solution of Nonlinear Hyperbolic Differential Equations by Finite Differences". Comm. Pure Appl. Math. 5 (3): 243..255. doi:10.1002/cpa.3160050303.
  2. ^ Patankar, S. V. (1980). Numerical Heat Transfer and Fluid Flow. Taylor & Francis. ISBN 978-0-89116-522-4.
  3. ^ Hirsch, C. (1990). Numerical Computation of Internal and External Flows. John Wiley & Sons. ISBN 978-0-471-92452-4.