Question of NDSolve limitation: are there any major ones?

Posted 2 months ago
441 Views
|
2 Replies
|
2 Total Likes
|
 Not asking for a long discussion, and assume knowlege of ODECan you say (as quick tips) any equations NDSolve cannot solve, and what of those it may solve in the future? Assume I have a 1st level ODE book. Its probably true that Mathematica can solve anything the book's Numerical methods describe? And say if DSolve can do things NDSolve cannot (aside from range limitations)?(or for others who are not sure, is there a class of f(x,y,y',...) you tried and it would not solve for you?)From Help: "NDSolve solves a wide range of ordinary differential equations as well as many partial differential equations." (it shows many options such as stiffness and method choice. but examples show only simple ODE being solved.)
2 Replies
Sort By:
Posted 2 months ago
 John,NDSolve is numerical, so as long as the equations are properly specified you can (almost) always get a solution. There are cases where you will need to worry about problems such as singularities and equation stiffness but the options to NDSolve are extensive for dealing with tough equations, DAE's, etc. Also, NDSolve has some "hidden" extra packages that will be useful from time to time. The best place to go for all of these details is Advanced NDSolve tutorial. This tutorial will go through some of the problem issues and how to change settings to fix things and also documents the extra packages for NDSolve. As far as other solvers, Wolfram SystemModeler uses CVODES which is a really good stiff system and DAE solver. You can also download it directly and use it on its own but you have to write code to use it so the "barrier to entry" is high. Also, I would not be surprised if NDSolve also used CVODES for doing certain problems. If you are looking at equations that arise from "Real, Physical" systems then SystemModeler is a really good option because it formulates the equations for you -- A huge timesaver and it has two good solvers inside of it. I hope this helps.RegardsNeil