The computation fails at t = 0
because Sin[ψ[t]]
vanishes there. However, this problem can be circumvented by eliminating Sin[ψ[t]]
as follows. Define for convenience,
eq1 = ω1[t] - (φ'[t]*Sin[θ[t]]*Sin[ψ[t]] + θ'[t]*Cos[ψ[t]]);
eq2 = ω2[t] - (φ'[t]*Sin[θ[t]]*Cos[ψ[t]] - θ'[t]*Sin[ψ[t]]};
and construct the linear combinations,
eq1n = Simplify[eq1 Sin[ψ[t]] + eq2 Cos[ψ[t]]]
eq2n = Simplify[eq1 Cos[ψ[t]] - eq2 Sin[ψ[t]]]
(* Sin[ψ[t]] ω1[t] + Cos[ψ[t]] ω2[t] - Sin[θ[t]] φ'[t] *)
(* Cos[ψ[t]] ω1[t] - Sin[ψ[t]] ω2[t] - φ'[t] *)
(If this were not possible, the equations could not be solved, even in principle.)
Now replace eq1, eq2
by eq1n, eq2n
.
I1 = 2; I2 = 3; I3 = 4;
s = NDSolveValue[{I1*ω1'[t] + (I3 - I2)*ω2[t]*ω3[t] == 0,
I2*ω2'[t] + (I1 - I3)*ω1[t]*ω3[t] == 0,
I3*ω3'[t] + (I2 - I1)*ω2[t]*ω1[t] == 0,
eq1n == 0, eq2n == 0,
ω3[t] == φ'[t]*Cos[θ[t]] + ψ'[t],
ω1[0] == 2, ω2[0] == 3, ω3[0] == 4, ψ[0] == 0, φ[0] == 0, θ[0] == Pi/6},
{ω1[t], ω2[t], ω3[t], ψ[t], φ[t], θ[t]}, {t, 0, 120}];
Plot[Evaluate@s[[1 ;; 3]], {t, 0, 120}, ImageSize -> Large]
Plot[Evaluate@s[[4 ;; 6]], {t, 0, 120}, ImageSize -> Large]
Incidentally, the original equations also can be solved by modifying slightly the initial condition ψ[0] == 0
to ψ[0] == 10^-6
.
And still another approach is to use the option,
Method -> {"EquationSimplification" -> "Residual"}
All give the same answer.