Message Boards Message Boards


Singularity problem in “NDSolve” in Mathematica

Posted 10 years ago
3 Replies
1 Total Likes

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

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:
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:
POSTED BY: Sean Clarke
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
or Discard

Group Abstract Group Abstract