Message Boards Message Boards

0
|
18278 Views
|
3 Replies
|
1 Total Likes
View groups...
Share
Share this post:

Singularity problem in “NDSolve” in Mathematica

Posted 11 years ago
Hi,


I am trying to solve numerically 13 differential equations with initial
boundary conditions in Mathematica. In my case, the boundary conditions
are not free parameters and those are constrained from experimental
observations.

But these set of equations and boundary condition give the error in NDSolve as following,


"NDSolve::ndsz: At e == 11.706899882374666`, step size is effectively zero; singularity or stiff system suspected. >>"


Because of this error, the plots of those 13 variables changes abruptly at "e == 11.706899882374666`".

I am getting nice curve upto this particular vaue of "e".


My question is , How can get a nice curve even after this value without changing the boundary conditions?


Thanks in advance.
POSTED BY: moumita das
3 Replies
Quasi-linearization can work well for problems like that:
http://library.wolfram.com/infocenter/MathSource/8484/
POSTED BY: Frank Kampas
Try giving boundary condition at  a slightly higher e value,  say  e = 11.72, and trap all " the poles" , where denominator may be going  to zero.

Or may be your solution itself there has a vertical tangent...or returning tendency like the end of ellipse. You should know the qualitative behaviour of the function a priori. An example can be the vertical asymptote expected for y = tan  at x = Pi/2  in:

NDSolve[ { y' == 1 + y^2, y[0] == 0}, y, {x, 0, 2}]. HTH.
The key is to understand why it is stiff. This often gives the insight needed to fix the problem. Sometimes, for example, it is possible to make the problem more tractable by a change of coordinates. This is often the case when the solution is has a very large derivative for example.

Without more information about the structure of the equations though, the best I can suggest is to try different values for the Method option in NDSolve. For example, please see this tutorial on how to use StiffnessSwitching with NDSolve: http://reference.wolfram.com/mathematica/tutorial/NDSolveStiffnessSwitching.html
POSTED BY: Sean Clarke
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract