Classifying and solving a nonlinear differential algebraic equation (DAE)

differential algebraic equationsnonlinear dynamicsnonlinear systemordinary differential equations

Suppose that $x,y$ are functions of time and I'm considering the dynamics in a problem with equations as below.$$ \alpha\ddot{z} – k_{1}z – k_2y=0 \, \text{ (differential equation)}$$
$$ k_1 y + k_3 \sin(y) +k_4z=0 \, \text{ (algebraic constraint)} $$
I first made the mistake of assuming this is a nonlinear system of ODEs, but the variable $y$ has $0$ order derivative in both equations. So I looked into classifying this and stumbled on differential algebraic equations. Now I took some steps to cast this into a form that could help in classifying the type of DAE and perhaps if there's a way to numerically solve it. I order reduce the system to make everything in first order by defining $x=\dot{z}, \dot{x}=\ddot{z}.$ Now we have a new system. $$ \alpha\dot{x} -k_1z -k_2y=0$$ $$\dot{z}-x=0 $$ $$k_1 y + k_3 \sin(y) +k_4z=0 $$
This can be cast into a semi-explicit form.
$$ \dot{x}=\frac{1}{\alpha}\left(k_1z +k_2y\right)=:f_1(t,x,y,z) $$ $$ \dot{z}=x=:f_2(t,x,y,z) $$ $$ 0=k_1 y + k_3 \sin(y) +k_4z=:g(t,x,y,z) $$

This is as far as I got. I'm unable to really go on about solving this. I care about a numerical solution. The defintions I see regarding index of a DAE, lead to something recursive here because I can never isolate the $y$ variable because of the $\sin(y)$ term.

Any help is appreciated!

Best Answer

The second equation can be solved for $y$ locally almost everywhere. If $|k_3|<|k_1|$, this solution even exists without restrictions. This makes this equation a semi-explicit index-1 DAE system. For instance the Matlab stiff solvers can handle it, as long as $k_1+k_3\cos(y)\ne 0$.

You could also translate it into an ODE system manually by taking the derivative of the last equation. Then $$ \dot y=-\frac{k_4x}{k_1+k_3\cos(y)} $$ replaces the algebraic equation. Note that this ODE formulation will have a drift in the value of $k_1y+k_3\sin(y)+k_4z$. That this expression is zero needs to be enforced by finding consistent initial values and by periodically correcting the numerical solution.

Related Question