Message Boards Message Boards

Error NDSolve::bvdae while solving differential algebraic system

Hi, I have to solve this Differential Algebraic System. I cannot understand the error message. Can anyone help me?

l = 1; P = 381; S = 0.5; Z = 1 - S; B = 100; Ks = 1000;

NDSolve[{B*x''[t] + P*Z*Sin[x[t]] + P*S*Sin[x[t] + y[t]] == 0, Ks*S^2*Sin[y[t]]*Cos[y[t]] - P*S*Sin[x[t] + y[t]] == 0, x'[0] == 0, x'[l] == 0}, {x, y}, {t, 0, l}]

NDSolve::bvdae: Differential-algebraic equations must be given as initial value problems.
POSTED BY: Gaetano Colella
7 Replies

My own restoration is like this:

l = 1; P = 380.57402011815145`; \[Sigma] = 0.5; \[Zeta] = 
 1 - \[Sigma]; B = 100; Ks = 1000; NDSolve[{B \[Theta]''[t] + 
    P \[Zeta] Sin[\[Theta][t]] + 
    P \[Sigma] Sin[\[Theta][t] + \[Beta][t]] == 0, 
  Ks \[Sigma]^2 Sin[\[Beta][t]] Cos[\[Beta][t]] - 
    P \[Sigma] Sin[\[Theta][t] + \[Beta][t]] == 0,
  \[Theta]'[0] == 0, \[Theta][l] == 0},
 {\[Theta], \[Beta]}, {t, 0, l}]
POSTED BY: Gianluca Gorni

One way to solve this would be to explicitly use finite element method. However, you may need to play around with the the boundary conditions for \[Beta][t]. The code below should give a starting point:

l = 1; P = 380.57402011815145`; \[Sigma] = 0.5; \[Zeta] = 
 1 - \[Sigma]; B = 100; Ks = 1000; NDSolve[{B \[Theta]''[t] + 
    P \[Zeta] Sin[\[Theta][t]] + 
    P \[Sigma] Sin[\[Theta][t] + \[Beta][t]] == 
   NeumannValue[0, t == 0], 
  Ks \[Sigma]^2 Sin[\[Beta][t]] Cos[\[Beta][t]] - 
    P \[Sigma] Sin[\[Theta][t] + \[Beta][t]] == 0, \[Theta][l] == 
   0, \[Beta][0] == 0}, {\[Theta], \[Beta]}, {t, 0, l}, 
 Method -> "PDEDiscretization" -> "FiniteElement", 
 InitialSeeding -> {\[Theta][t] == 0.1, \[Beta][t] == 0}]
POSTED BY: Paritosh Mokhasi

I hope this is better

l = 1;
P = 381;
S = 0.5;
Z = 1 - S;
B = 100;
Ks = 1000;


NDSolve[{B*x''[t] + P*Z*Sin[x[t]] + P*S*Sin[x[t] + y[t]] == 0, 
  Ks*S^2*Sin[y[t]]*Cos[y[t]] - P*S*Sin[x[t] + y[t]] == 0, x'[0] == 0, 
  x'[l] == 0}, {x, y}, {t, 0, l}]
POSTED BY: Gaetano Colella

It's at least readable this time. It is missing some multiplications though.

POSTED BY: Daniel Lichtblau

This code appears to be garbled. You might want to edit to repair that.

POSTED BY: Daniel Lichtblau

You have a boundary value problem:

\[Theta]'[0] == 0, \[Theta]'[l] == 0

Apparently, NDSolve does not do that kind of differential-algebraic systems.

POSTED BY: Gianluca Gorni

Do you have any suggestions?

POSTED BY: Gaetano Colella
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