Message Boards Message Boards

Solve system of non-linear differential-algebraic equations using NDSolve?

Posted 5 years ago

Hello there,

I am trying to solve a system of non-linear differential-algebraic equations using NDSolve, but keep getting the following error :

NDSolve::icfail: Unable to find initial conditions that satisfy the residual function within specified tolerances. Try giving initial conditions for both values and derivatives of the functions.

The code looks like following :

Sol = NDSolve[{DGL, (xp[t] /. 
      t -> 0) == {-0.05, -0.052, -0.054, -0.06, -0.057, 0, 0, 0, 0, 0,
      1, 1.5, 2, 1.1, 1.2}, (D[xp[t], t] /. t -> 0) == {0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 
   Table[\[Omega][t][[k]] == Subscript[L, k][t]/M[[k, k]], {k, 1, 
     Dimensions[AdjazenzMatrix][[1]], 1}]}, xp[t], {t, 0, 100}, 
  MaxSteps -> 100, AccuracyGoal -> 8]

The system of differential-algebraic equations is defined as :

DGL = Chop[
  Table[(D[xp[t], t])[[k]] == (JR.DeltaHpNeu [t])[[k]] + 
     ColG[t][[k]] + (G.up)[[k]], {k, 1, 
    3*Dimensions[AdjazenzMatrix][[1]], 1}]]

Does the error mean that there exists no solution for the system or is there something wrong with my code?

Thanks a lot! P.S. - I am attaching the Mathematica source code.

Attachments:
POSTED BY: Kirtan Bhatt

A self-contained example would be useful.

POSTED BY: Daniel Lichtblau
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