I'm trying to solve a system of ODEa, and I always get a message saying

NDSolve::ndsz: ..step size is effectively zero; singularity or stiff system suspected.

I tried Method -> "StiffnessSwitching"; I tried AccuracyGoal->100, MaxSteps->Infinity. None of these worked.

I suspected the immense constant a4 was causing trouble. But the problem seems to be the positive sign of the term a3 q[t]: with a minus, things work.

The system represents a post-buckling beam, with a piezoelectric material attached.

Any idea is welcome.

a0 = 0.644;
a1 = 131.947;
a2 = 1.809;
a3 = 39978.42;
a4 = 7.415*10^8;
a5 = 0.285;
b1 = 2.410 10^-6;
b2 = 9.113 10^-9;
ci = {-0.000122, -0.012193, 0};
  {q'[t] == dq[t],  
   dq'[t] == a0 Cos[a1 t] - a2 dq[t] + a3 q[t] + a4 q[t]^3 - a5 V[t],
   V'[t] == b1 dq[t] - b2  V[t],  
   q[0] == ci[[1]], dq[0] == ci[[2]], V[0] == ci[[3]]},
  {q, dq, V}, {t, 0, 10}]
  • 2
    $\begingroup$ The solution, if you plot it, looks like it developed a singularity (the solutions become infinite). That's quite possibly a feature of the system. If it's physically unrealistic, then I'd check that the model is correctly formulated. $\endgroup$ – Michael E2 Oct 19 at 0:21

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.