Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Advection equation stability for explicit scheme

  1. Aug 25, 2015 #1

    I have a typical 1D advection problem where a cold fluid flows over a flat plate. I did an energy balance to include conduction, convection and friction loss and I got the PDE's for the fluid and the solid. I used finite differences to solve the system as T(x, t) for both fluid and solid. After simplification, I have this kind of matrix in explicit scheme.
    (see attached matrix.png)

    The problem is that I want to optimise the number of nodes (time step) in my simulation to decrease time of calculation and ensure stability and convergence. I read about CFL criteria but it doesn't seem to always work in my case even if CFL < 1. Here (advection.png) is an image of the temperature distribution at a specific node for 2 different cases. By trial and error, I determined that the lowest minimum of nodes would be around 20 to get the full phenomen. However, is there a analytical way to figure out this value ?

    Thank you,


    Attached Files:

  2. jcsd
  3. Aug 27, 2015 #2


    User Avatar
    Science Advisor
    Gold Member

    The only way I know to do this is to perform a grid resolution study. You would start with a coarse grid, run the simulation, and keep refining the grid until the changes in the computed solution fall below a certain tolerance. You might consider automating this procedure. That is known as dynamic grid adaptation.
  4. Sep 2, 2015 #3
    Von Neumann stability analysis is the standard technique for accessing the stability of a finite difference scheme.

    However, some stable finite difference schemes will have spurious oscillating modes if the time step is too large. An example of this is the Crank-Nicolson method applied to the heat equation. While these mode eventually decay to zero, they can still negatively impact a calculation. Your plot of the temperature is indicative of such behavior.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook