Phase space plot of the kicked rotor

[This article was first published on sieste » R, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

In the idealized physical world, a rotor is simply a mass m attached to an axis of length r, free to move in the plane. Gravity and friction are absent. Such a rotor becomes a kicked rotor if it is periodically hit with a hammer. Every kick transfers momentum p_k to the rotor and the time between successive kicks is T.

The current state of the rotor is completely described by the current angle of rotation \theta and the current angular momentum L. We shall be interested only in the state of the rotor right after the kick. All quantities evaluated right after the kick are indicated by a prime.

If the rotor rotates at an angular velocity \omega, the angle of rotation changes between two kicks by \omega T. Only the component of p_k in the direction of motion is transferred. Therefor the angular momentum increases by p_k r \sin\theta as a result of the kick. We have

L' = L + p_k r \sin\theta

\theta' = \theta + \omega' T,

where \omega' is the angular velocity after the kick. We can make the above equations dimensionless (unitless) by dividing the angular momentum L by a typical angular momentum of the system. This typical angular momentum is given by \hat{L}=rp=rmv=mr^2/T where v=r/T is the typical velocity of the system. We divide the L – equation by \hat{L} and get

l' = l + \frac{p_k T}{mr}\sin\theta \equiv l + K\sin\theta.

The dimensionless angular momentum l is the rotors angular momentum measured in units of the typical angular momentum \hat{L}. We have summarized some parameters into the constant K.

Now, the (already dimensionless) angle equation can be manipulated a little. We notice that \omega' T = v' T / r = p'T/mr = L'T/mr^2 which is the same as L'/\hat{L} which is simply the dimensionless angular momentum after the kick l'. So we now have

l' = l + K\sin\theta

\theta' = \theta + l',

where we can, without loss of generality, apply \mod 2\pi to the angle equation and thus also to the angular momentum equation.

This is the famous Chirikov standard map which describes the behavior of the kicked rotor right after the kicks. It maps a phase space point (\theta,l) before the kick to its corresponding point (\theta',l') after the kick.

What follows is an R-script that chooses 1000 random points on the square [0,2\pi]\times[0,2\pi] and uses each point as the starting point to draw 1000 iterations of the standard map:

smap<-function(t,l) {
  K<- 1
  for ( i in seq(1e3) ) { 
    t[i+1]<- (t[i]+l[i]) %% (2*pi)
    l[i+1]<- (l[i]+K*sin(t[i+1])) %% (2*pi)

for (i in seq(1000) ) { 
    m<-smap( t[1],t[2] )
    points(m[,1],m[,2],col=rgb(runif(1),runif(1),runif(1)) ,pch=".",cex=2)

And this is the output:

To leave a comment for the author, please follow the link and comment on their blog: sieste » R. offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)