15
$\begingroup$

There are numerous FD schemes for the advection equation $\frac{\partial T}{\partial t}+u\frac{\partial T}{\partial x}=0$ discuss in the web. For instance here: http://farside.ph.utexas.edu/teaching/329/lectures/node89.html

But I haven't seen anyone propose an "implicit" upwind scheme like this: $\frac{T^{n+1}_i-T^{n}_i}{\tau}+u\frac{T^{n+1}_i-T^{n+1}_{i-1}}{h_x}=0$.

All the upwind schemes I've seen were dealing with data on the previous time-step in the spacial derivative. What is the reason for that? How does the classical upwind scheme compare to the one I wrote above?

$\endgroup$

2 Answers 2

15
$\begingroup$

It's quite common in computational fluid dynamics to use implicit schemes similar to what you propose. The ones I know of are based on compact finite difference formulas (not simply on replacing $n$ with $n+1$ in existing schemes). For instance, one of the most widely used schemes was developed by Lele in 1992 in this paper with >2500 citations. Such schemes can be made to have better dispersive properties than typical explicit schemes.

Upwinding is usually less important when using implicit methods and large time step sizes, because the huge amount of diffusion (mentioned by Jeremy) means you can't resolve shocks anyway.

Regarding the particular scheme you propose:

  • It can be obtained from a method-of-lines discretization by using a backward difference in space and the backward (implicit) Euler method in time.
  • It is unconditionally stable as long as $u\ge0$ (interestingly, it's also stable for $u<0$ if the time step is not too small!)
  • It is more dissipative than the traditional explicit upwind scheme.
  • Unlike the explicit upwind scheme, it does not satisfy the unit CFL condition (i.e., it is not exact in the case that $\tau u/h = 1$). Instead it satisfies the anti-unit CFL condition (it is exact if $\tau u/h = -1$).
$\endgroup$
3
  • $\begingroup$ Good point about the compact schemes, these are certainly an important class of implicit schemes! Also, never thought about the anti-unit CFL condition and backward Euler being exact... $\endgroup$ Commented May 6, 2012 at 5:21
  • $\begingroup$ I am wondering, if $u$ is also subject to change over $x$ and thus sits inside the spacial derivative (we thus get the continuity equation if we take $\rho$ instead of $T$) is a simple upwind scheme still OK? $\endgroup$
    – tiam
    Commented May 6, 2012 at 10:22
  • $\begingroup$ It is good if it can treat negative velocities, because it might be the case in my problem. $\endgroup$
    – tiam
    Commented May 8, 2012 at 21:54
12
$\begingroup$

There is no reason that you cannot do what you wrote. One of the reasons that this is uncommon is that there for hyperbolic (advection) type problems the domain of dependence is finite. Thus an explicit methods makes sense from a computational efficiency standpoint.

The implicit scheme you have written will require solving a linear system, albeit in the case you have written triangular, and thus fairly simple to solve. Of course when you go to systems, and multiple dimensions, the system will likely no be triangular, though sometimes this can result with a proper ordering of you unknowns (see for instance Kwok and Tchelepi, JCP 2007 and Gustafsson and Khalighi, JSC, 2006).

Sometimes in the hopes of taking large time steps people will use implicit time stepping as you have written, but you must be careful here. When using an implicit method, you will introduce a large amount of diffusion thus you will smear out your solution significantly.

$\endgroup$
1
  • 1
    $\begingroup$ @Jeremy: why implicit discretization in time introduces additional diffusion? in $x$-variable? I can only think that upwind scheme = central discretization+diffusion, so why would different time discretization would affect this diffusion? $\endgroup$
    – Kamil
    Commented Jul 20, 2016 at 20:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.