I would be very grateful for any help with my "NDSOLVE::ndsz : At t==0.364197...., step size is effectively zero; singularity of stiff system suspected" error.

Below is my code. I am not free to vary my initial conditions (by much....not more than a few %). I would like to be able to solve this down to t as low as t=0.1 or t=0.05 (I don't need to go to t=0). As of right now, this will only solve for t=0.365 and larger. I tried "ExplicitRungeKutta", "DifferenceOrder"->4*,WorkingPrecision->50, and many of the other options for numerical integration methods, but they don't seem to be any better or worse, and am out of ideas.

q = -0.55;
adot = 1.3;
adotdot = -q*adot^2;

a1 = NDSolve[{-4 Exp[-a[t]^2]^2 - (22.5 a'[t]^4/a[t]^4) + (7.5 a'[t]^2 a''[t])/a[t]^3 + 15 (-(a''[t]^2/a[t]^2) + (a'[t]a'''[t]/a[t]^2)) == 0, a''[1] == adotdot, a'[1] == adot, a[1] == 1}, a, {t, 0.1, 1.9}, Method -> {"StiffnessSwitching"(*,"ExplicitRungeKutta", "DifferenceOrder"->4*)},(*WorkingPrecision->50,*) AccuracyGoal -> 15, PrecisionGoal -> 15, MaxSteps -> Infinity, MaxStepSize -> 0.00001]
  • 2
    $\begingroup$ Why do you expect that there exists a solution that goes down to $t = 0$? Right now your solution is being driven to $a = 0$ at $t \approx 0.364$, and from the form of your equations it's pretty obvious that you're going to run into problems when that occurs. $\endgroup$ – Michael Seifert Jul 16 '17 at 20:56
  • 2
    $\begingroup$ Ever heard of finite-time singularities? As a plot of the solution suggests, a'[t] tends to infinity for t going to 0.364197... $\endgroup$ – Henrik Schumacher Jul 16 '17 at 20:56
  • $\begingroup$ I was thinking that there was something in the numerical integration (not in the differential equation itself). I suppose that it is possible that this is a feature of the differential equation though. I could get values of a[t] that are well behaved if I were allowed to change adot significantly....Perhaps the answer to my question was right in front of me the whole time. $\endgroup$ – Bob Jul 16 '17 at 21:01
  • 2
    $\begingroup$ Your equation is not stiff, despite the error message. Instead, the calculation fails when a[t] == 0, which happens at t == 0.364197 for the given initial conditions. Therefore, changing NDSolve options has almost no effect. Instead, you need to change the initial conditions. I can look more at the ODE late this evening, if you wish. $\endgroup$ – bbgodfrey Jul 16 '17 at 22:10
  • $\begingroup$ Sounds like this is the true behavior of the model. I'm not really allowed to change the initial conditions too much.....so it sounds like $a\rightarrow0$ for a finite $t>0$ is a real effect in this model. Thanks for the help. =) $\endgroup$ – Bob Jul 16 '17 at 22:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.