I have a system of equations:

> c := .67;

print(`output redirected...`); # input placeholder

0.67

> r := `<,>`(r1, r2, r3);

print(`output redirected...`); # input placeholder

Vector[column](%id = 190246956)

> Y := `<,>`(gamma1(t), gamma2(t), gamma3(t));

print(`output redirected...`); # input placeholder

Vector[column](%id = 190247020)

> r1 := piecewise(gamma3(t) > c, -gamma1(t), -.74*sin(`ϕ`(t)));

print(`output redirected...`); # input placeholder

piecewise(0.67 < gamma3(t), -gamma1(t), -0.74 sin(ϕ(t)))

> r2 := piecewise(gamma3(t) > c, -gamma2(t), gamma3(t) <= c, -.74*cos(`ϕ`(t)));

print(`output redirected...`); # input placeholder

piecewise(0.67 < gamma3(t), -gamma2(t), gamma3(t) <= 0.67,

-0.74 cos(ϕ(t)))

> r3 := piecewise(gamma3(t) > c, c-gamma3(t));

print(`output redirected...`); # input placeholder

piecewise(0.67 < gamma3(t), 0.67 - gamma3(t))

> dr1 := piecewise(gamma3(t) > c, -(diff(gamma1(t), t)), -.74*cos(`ϕ`(t))*(diff(`ϕ`(t), t)));

print(`output redirected...`); # input placeholder

/ d

piecewise|0.67 < gamma3(t), ---- gamma1(t),

\ dt

/ d \\

-0.74 cos(ϕ(t)) |--- ϕ(t)||

\ dt //

> dr2 := piecewise(gamma3(t) > c, -(diff(gamma2(t), t)), .74*sin(`ϕ`(t))*(diff(`ϕ`(t), t)));

print(`output redirected...`); # input placeholder

/ d

piecewise|0.67 < gamma3(t), ---- gamma2(t),

\ dt

/ d \\

0.74 sin(ϕ(t)) |--- ϕ(t)||

\ dt //

> dr3 := piecewise(gamma3(t) > c, -(diff(gamma3(t), t)));

print(`output redirected...`); # input placeholder

/ d \

piecewise|0.67 < gamma3(t), ---- gamma3(t)|

\ dt /

> epsilon := zs(t)+evalm(`&*`(r, Y));

print(`output redirected...`); # input placeholder

zs(t)

+ piecewise(0.67 < gamma3(t), -gamma1(t), -0.74 sin(ϕ(t))) gamma1(t) +

piecewise(0.67 < gamma3(t), -gamma2(t), gamma3(t) <= 0.67,

-0.74 cos(ϕ(t))) gamma2(t)

+ piecewise(0.67 < gamma3(t), 0.67 - gamma3(t)) gamma3(t)

> n := piecewise(epsilon > 0, 0, epsilon < 0, -100*epsilon, epsilon = 0, N);

>

print(??); # input placeholder

print(??); # input placeholder

> N := (r2*(diff(omega3(t), t))-r3*(diff(omega2(t), t))+dr2*omega3(t)-dr3*omega2(t))*gamma1(t)+(r3*(diff(omega1(t), t))-r1*(diff(omega3(t), t))+dr3*omega1(t)-dr1*omega3(t))*gamma2(t)+(r1*(diff(omega2(t), t))-r2*(diff(omega1(t), t))+dr1*omega2(t)-dr2*omega1(t))*gamma3(t)+(omega2(t)*r3-omega3(t)*r2)*(omega2(t)*gamma3(t)-omega3(t)*gamma2(t))+(omega3(t)*r1-omega1(t)*r3)*(omega3(t)*gamma1(t)-omega1(t)*gamma3(t))+(omega1(t)*r2-omega2(t)*r1)*(omega1(t)*gamma2(t)-omega2(t)*gamma1(t)+1);

>

>

>

>

>

>

print(??); # input placeholder

> eq := {.19*(diff(omega3(t), t))+r1*u2(t)-r2*u1(t)-n*(r1*gamma2(t)-r2*gamma1(t)) = 0, .114*(diff(omega1(t), t))+0.76e-1*omega2(t)*omega3(t)+r2*u3(t)-r3*u2(t)-n*(r2*gamma3(t)-r3*gamma2(t)) = 0, .114*(diff(omega2(t), t))-0.76e-1*omega3(t)*omega1(t)+r3*u1(t)-r1*u3(t)-n*(r3*gamma1(t)-r1*gamma3(t)) = 0, diff(u1(t), t)+omega2(t)*u3(t)-omega3(t)*u2(t)+u1(t)+r2*(diff(omega3(t), t))-r3*(diff(omega2(t), t))+dr2*omega3(t)-dr3*omega2(t)+(omega3(t)*r1-omega1(t)*r3)*omega3(t)-(omega1(t)*r2-omega2(t)*r1)*omega2(t)-(n-1)*gamma1(t) = 0, diff(u2(t), t)+omega3(t)*u1(t)-omega1(t)*u3(t)+u2(t)+r3*(diff(omega1(t), t))-r1*(diff(omega3(t), t))+dr3*omega1(t)-dr1*omega3(t)+(omega1(t)*r2-omega2(t)*r1)*omega1(t)-(omega2(t)*r3-omega3(t)*r2)*omega3(t)-(n-1)*gamma2(t) = 0, diff(u3(t), t)+omega1(t)*u2(t)-omega2(t)*u1(t)+u3(t)+r1*(diff(omega2(t), t))-r2*(diff(omega1(t), t))+dr1*omega2(t)-dr2*omega1(t)+(omega2(t)*r3-omega3(t)*r2)*omega2(t)-(omega3(t)*r1-omega1(t)*r3)*omega1(t)-(n-1)*gamma3(t) = 0, u1(0) = 0, u2(0) = 0, u3(0) = 0, zs(0) = .3367, diff(zs(t), t) = -(omega2(t)*r3-omega3(t)*r2)*gamma1(t)-(omega3(t)*r1-omega1(t)*r3)*gamma2(t)-(omega1(t)*r2-omega2(t)*r1)*gamma3(t), diff(gamma1(t), t) = -omega2(t)*gamma3(t)+omega3(t)*gamma2(t), diff(gamma2(t), t) = -omega3(t)*gamma1(t)+omega1(t)*gamma3(t), diff(gamma3(t), t) = -omega1(t)*gamma2(t)+omega2(t)*gamma1(t), diff(`ϕ`(t), t) = omega3(t)-(omega1(t)*gamma1(t)+omega2(t)*gamma2(t))*gamma3(t)/(1-gamma3(t)^2), gamma1(0) = 0, gamma2(0) = (1-.99^2)^(1/2), gamma3(0) = .99, omega1(0) = 0, omega2(0) = 0, omega3(0) = 1, `ϕ`(0) = 0};

print(??); # input placeholder

>

print(??); # input placeholder

> syst := dsolve(eq, [gamma1(t), gamma2(t), gamma3(t), `ϕ`(t), u1(t), u2(t), u3(t), omega1(t), omega2(t), omega3(t), zs(t)], numeric, maxfun = 500000);

%;

Error, (in DEtools/convertsys) unable to convert to an explicit first-order system

> syst(55);

so, the problem is in piecewise function n: when n:=N it works, but in this case i can't model a problem with losing touch