Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
NCTM or The Math Forum.



Re: Solving Partial Differential Equations with Mathematica?
Posted:
Nov 24, 2012 8:34 PM


On 11/24/2012 10:53 AM, Vladimir Bondarenko wrote: > Hello all, > > What could be a couple of best books on solving PDEs using Mathematica? > > Much thanks in advance! >
Hello Vladimir,
It is not clear if you asking on using Mathematica's NDSolve to solve PDE's or on just a general use of Mathematica to solve PDE's writing your own implementation.
This is like with Matlab, where there is a PDE toolbox, or one can write their own implementation of a solver from scratch.
If you are asking on using Mathematica NDSolve, then I would not bother with a book, since all the information is online:
1) Advanced Numerical Differential Equation Solving in Mathematica http://www.wolfram.com/learningcenter/tutorialcollection/AdvancedNumericalDifferentialEquationSolvingInMathematica/
2)help http://reference.wolfram.com/mathematica/ref/NDSolve.html http://reference.wolfram.com/mathematica/howto/SolveAPartialDifferentialEquation.html
3)I wrote this function to obtain all options for a command in a table format. You can use it to find all the options for NDSolve.
 getList[name_String] := Module[{options, idx}, options = Names[name <> "`*"]; options = ToExpression /@ options; options = {#, Options[#]} & /@ options; idx = Range[Length[options]]; options = {#[[1]], TableForm[#[[2]]]} & /@ options; options = Insert[options[[#]], #, 1] & /@ idx; options = Insert[options, {"#", "Option", "Options to this option"}, 1]; Grid[options, Frame > All, Alignment > Left,FrameStyle > Directive[Thickness[.005], Gray]] ]; 
to use it
getList["NDSolve"]
You can see the huge amount of options and different methods supported there.
4)Based on what I read on the net, version 9 might have Finite elements solver added. I do not know for sure ofcourse, but that is the rumor.
5)I wrote few demos to solve some PDE's in Mathematica (Using known standard finite difference schemes I learned in a PDE class, not using NDSovle):
http://demonstrations.wolfram.com/SolvingThe2DPoissonPDEByEightDifferentMethods/ http://demonstrations.wolfram.com/SolvingThe2DHelmholtzPartialDifferentialEquationUsingFiniteD/ http://demonstrations.wolfram.com/SolvingTheDiffusionAdvectionReactionEquationIn1DUsingFiniteD/
6)for books, I see on amazon some like this http://www.amazon.com/PartialDifferentialEquationsMathematicaVvedensky/dp/0201544091 which is available for free download (the notebooks) here http://library.wolfram.com/infocenter/Books/3232/
but I did not use or have it so can't comment. There are more on amazon.
But I do not use books specific to Mathematica. I have general books on PDE's numerical solutions, which I can implement in Mathematica. I prefer to implement something myself than use a blackbox solver (unless I am just doing something quick to look at), since I learn more that way.
Instead of spending the time of learning how to use a blackbox solver with all its options and suboptions, I can spend the time learning the actual algorithm used to solve a PDE, which is more useful for me.
Even with Matlab, I do not use the pde toolbox, but wrote my own code. (But I am a student, so things might be different for others)
Nasser



