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

Homework Help: Cranck-Nicolson method for solving hyperbolic PDE?

  1. Jan 5, 2007 #1
    Crank-Nicolson method for solving hyperbolic PDE?

    Hi. I'm not really sure if this is the right part of the forum to ask since it's not really a home-work "problem". Anyway, the question seemed too trivial to ask in the general math forum.

    What I'm wondering is wether the Crank-Nicolson method can be used with this PDE (wave equation with a source term i believe):

    d2u/dt2 = c^2 * d2u/dx2 + f(t)

    f(t) is known for all t.
    c is constant.

    I have solved the problem with forward euler but the time step has to be really small to have stability. There are actually eight equations to solve so it takes really long time. Solving one of them (using matlab) took 6 min on my computer (2.6GHz).
    So I'd like to use an implicit method. And the only one I know of is the Crank-Nicolson method.

    The only info I have found about the Crank-Nicolson method in textbooks or on the internet only covers the heat-flow equation.

    Can I use normal central difference method for approximation of the d2u/dt2 and then proceed as normal or can this cause stability problems?
    (As normal = http://sepwww.stanford.edu/sep/prof/bei/fdm/paper_html/node15.html)
    Last edited: Jan 5, 2007
  2. jcsd
  3. Jan 5, 2007 #2


    User Avatar
    Science Advisor
    Homework Helper

    No, for efficient (i.e. accurate and fast) solution you need different methods for elliptic, parabolic, and hyperbolic PDEs. Crank-Nicholson is a good method for the parabolic case (e.g. heat conduction, diffusion). The hyperbolic case is hard one to solve efficiently (otherwise, computational fluid dynamics would be easy!)

    This link may help - explore a bit to find the best place to start reading, depending on what you know already: http://math.fullerton.edu/mathews/n2003/FiniteDifferencePDEMod.html [Broken]
    Last edited by a moderator: May 2, 2017
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook