# What method does NDSolve use for solving PDEs?

What is NDSolve's mode of operation? I use it to solve partial differential equations and never gave it too much thought. Recently, I came across this question. Accordingly, I used Trace[...] and realized that my 4th order, non linear partial differential equation was solved using an LSODA method.

Further digging revealed that LSODA is a method for ORDINARY DIFF EQS which chooses between Adams and BDF methods to solve the problem.

So... how in the first place did NDSolve convert my PDE to an ODE?

Any references would be useful.

-
Welcome to Mathematica.SE – Mr.Wizard Mar 18 '12 at 20:20
I think "mode of operation" is not very standard terminology. I didn't understand what you were talking about before reading the question. I edited the title, please review it. – Szabolcs Mar 18 '12 at 20:20
@Szabolcs the new title works! – drN Mar 19 '12 at 18:42
Just as a quick comment, MATHEMATICA uses the LSODA method by default if the methodof solution option in NDSolve[..] is set to Automatic, and I don't just mean for stiff equations. Please do leave a comment with your thoughts. – drN Mar 22 '12 at 20:08

Update: The answer below is for Mathematica 9 or earlier. Since version 10, Finite Element Methods are included:

The methods NDSolve uses are documented in detail here:

This section says that PDEs are solved using the "method of lines", and explains which kinds of problems this method can deal with. There's also a detailed example of how the method works.

The numerical method of lines is a technique for solving partial differential equations by discretizing in all but one dimension, and then integrating the semi-discrete problem as a system of ODEs or DAEs.

...

It is necessary that the PDE problem be well posed as an initial value (Cauchy) problem in at least one dimension, since the ODE and DAE integrators used are initial value problem solvers. This rules out purely elliptic equations such as Laplace's equation, but leaves a large class of evolution equations that can be solved quite efficiently.

-
I think you should mention that since version 10 there is also the "Finite Element" method, which can solve equations which were not possible to solve with "Methods Of Lines" (as e.g. the mentioned Laplace eq.). Among other things, the finite element method can also be used as an alternative to the methods of lines to discretize the space-like dimensions and create a system of ODEs to solve in time... – Albert Retey Jun 8 '15 at 8:24
@AlbertRetey Thanks for the reminder! – Szabolcs Jun 9 '15 at 8:38