Suppose we have the following system of ODEs,
torusSystem[A_, B_, Omega_][T_] := Module[{sol, Phi, Tau}, sol = NDSolve[{D[Phi[t], t] == A - B*Cos[Tau[t]] - Cos[Phi[t]], D[Tau[t], t] == Omega, Phi[0] == 0.0, Tau[0] == 0}, {Phi, Tau}, {t, 0, T}]; {Phi, Tau} /. sol[[1]]] There is no problem to solve this system for given A, B and Omega parameters. Let A=1.1, B=1.0, Omega=0.01. I want to ParametricPlot of curve {Phi[t],Tau[t]}, so
T = 1000; test = torusSystem[0.1, 1.0, 0.01][T]; f[t_] := {test[[1]][z] /. {z -> t}, test[[2]][z] /. {z -> t}}; ParametricPlot[f[t], {t, 0, T}, PlotRange -> All, AspectRatio -> 1] I obtain something like that:
However, the desired picture is Figure 1 in this paper i.e. 
Here the circle at the center of picture is not important.
I understand that the problem is in periodicity of variables Phi and Tau. I have tried to implement WhenEvent:
WhenEvent[Phi[t]>2*Pi, Phi[t]->Phi[t]-2*Pi] and the similar condition for Tau, but I still cannot reproduce the desired picture. Can anybody help with it?
For me it seems that the question is about how to simulate dynamics on torus and plot its "UV map"




