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

Finite Difference Numerical Solution to NL coupled PDEs

  1. Nov 28, 2011 #1
    I have a system of non-linear coupled PDEs, taken from a paper from the 1980s which I would like to numerically solve. I would prefer not to use a numerical Package like MatLab or Mathematica, though I will if I need to.

    I would like to know if anyone knows how to solve non-linear coupled PDEs numerically or can point me to a text book/reference which can explain how to do so. I am most familiar with finite difference methods, so it would be preferable if I could get an algorithm which used a finite difference method, but I am flexible.

    The system of equations are

    ∂b/∂t = dΔb + εnb - a(b,n)b
    ∂s/∂t = a(b,n)b
    ∂n/∂t = Δn - nb

    where b(x,t), s(x,t), and n(x,t) are all functions of space and time; a(b,n) is some decreasing function of b and n (something simple, but not constant); ε and d are constants. The initial and boundary conditions are will be either dirichlet or neumann and the initial conditions are simple.

    Any help would be appreciated. Thank you for your time.
  2. jcsd
  3. Nov 28, 2011 #2


    User Avatar
    Homework Helper

    I presume the triangle is the Laplacian? You're going to need a CFL condition aren't you?

    To solve them numerically, all you do is discretize them and then put them in a for loop for time. My advice is to try a 1D case first to see whatthe solution looks like and then crank up the dimensions.
  4. Dec 4, 2011 #3
    Are those the Shallow Water equations?

    Using a finite differencing technique; there are several ways to solve the problem:

    If you use an explicit technique (meaning an iterative [n+2] relies on [n+1] and [n]), I could recommend something called the:

    FTCS ---> (Forward Time Centered Space)

    Forward time: [itex]f_{t} = (f(t+h) - f(t))/h = (f^{n+1}_{i} - f^{n}_{i})/h [/itex]

    Space Centered: [itex]f_{x} = (f(x+h) - f(x-h))/(2h) = (f^{n}_{i+1} - f^{n}_{i-1})/(2h) [/itex]

    The idea is this...
    4|x . . . . x
    3|x . . . . x
    2|x . . . . x
    1|o o o o o o
    ----------------------> x
    _-1 2 3 4 5 6
    "o" represents the Initial conditions.
    "x" represents the Boundary conditions.
    "." represents an unknown.

    Represent your Nonlinear system of PDES such that:

    (time+1) = (time) && (Space+1) && (Space-1)

    Think about how you'd use this scheme to solve or the first "." on the bottom left. If you use this scheme explicitly then it will be subject to the
    CFL condition... you should look it up, this is what will determine the stability of the explicit FTCS technique (whether or not the solution will converge, or blow up).

    Not to confuse the issue further, but you can effectively ignore the CFL condition if you write an implicit FTCS technique. This will become a system of matrices that you need to solve. It's more complicated to write something like this. So I wouldn't advise it unless you feel like challenging yourself. The explicit technique is easier to start with.
    Last edited: Dec 4, 2011
  5. Dec 4, 2011 #4


    User Avatar
    Homework Helper

    The shallow water are first order equations.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook