This is a requested post. Clearly, I do requests. The idea here is that I am going to give all the details needed to determine the equation of motion (and then model it) for a basic pendulum. Warning: this post is a little more advanced than my normal posts. There are some prerequisites. You need to understand derivatives. I will assume that you do. Here is a pendulum. (and this time I will stick to my variables)
Like I said before, this is a tricky problem unless I use some tricks. The problem is that the tension the string exerts on the mass changes. Here is my trick: think about a coordinate system that moves with the mass.
The mass only moves in the direction of the theta axis. So, I only care about forces in this direction. The tension from the string is always perpendicular to the direction of motion. There is a theta-direction-component of the gravitational force. It is:
Now I need the acceleration in the theta-direction. This would be related to the second derivative with respect to time of the angle:
This is using the common relationship between angular and linear quantities for something moving in a circle:
So, now I can put this together in Newton’s second law:
And the masses cancel (motion of this type of pendulum does not depend on mass). This leaves the following:
Looks good. I have a differential equation relating theta and time. I should be all set. However, this really isn’t a very easy equation to solve. So, the trick is to only look for the cases when theta is small. Here is a plot of the sine of theta as a function of theta.
Actually, the blue line is sine of theta and the red line is theta = theta. For theta less than 0.4 radians (22 degrees), these two functions are very similar. So, for that case, I can write the equation as:
Now, this is a differential equation that I can solve. If you like, you can make this a homework problem for a diff-eq class. What method should I use to solve this differential equation? I will use the one I always use – guessing. Really, this is legit. If I can guess a solution and that solution works, I am finished. What function when I take the derivative with respect to time twice, do I get the same function back (with a negative constant)? There are two that easily work (there are actually more than two). Take a look at these two functions:
(I know I could add a phase – but I am not going to do that) Actually, if each of these are solutions, then the sum of these two are a solution.
Let me show you that this is indeed a solution by taking the derivative (with respect to time) twice.
The only way this can be a solution is if:
So, it is finished. If the angle is small, then the motion is sinusoidal with an angular frequency the depends on g and the length (which is your traditional textbook answer – except maybe they use L instead of R).
Oh wait. I just realized that I never solved for A and B. These depend on the initial conditions. I can uniquely define the initial conditions if I know the initial angle and the initial angular velocity. So, at t = 0 seconds:
I know what you are thinking – but what if the angle is not small? Then I can go back to the original equation for which there is no simple solution. I can easily create a numerical solution for this (in a spreadsheet or python or something). For this case, I will use the Euler Method to solve for it. The basic idea is to break the problem into tiny time steps. During each step, I can calculate the angular acceleration (second derivative with respect to time of the angle) using the solution above (for the very first calculation, I can use the initial conditions)
Now, during this time interval, the following is true regarding the rate of change of the angle and the second derivative of the rate of change. (I am using dot-notation where 1 dot means derivative with respect to time and two dots means a second time derivative).
So, if my time interval is small, I can pretend like the theta-double dot does not change during this interval (basically true). Then if I know one theta-dot, I can find the next one.
I can use this same trick to find theta.
Yes, I know there are more elegant ways to do this, but my computer is fast enough to do it the rough way. If I just keep doing this in small steps, I can find the answer. Normally, I would do this in python (because it is awesome), but in this case I will do it in a spreadsheet. Here it is (feel free to play with it).
Now I am ready to put all of this in a spread sheet.
A couple of notes:
- I also plotted the solution from the small angle approximation – so you could get a comparison
- Apparently, google docs does not like plotting data in non-adjacent columns, so I put the small angle calculation right next to theta calculation
- I also calculated x and y for the mass, but I didn’t use that
- I put dt as a small number so that the data would look ok, it should probably be a little smaller.
- My angles are in radians
In case you don’t want to play around with the spreadsheet, here is a plot of the two solutions for an initial angle of pi/4.