Angle/distance (Theta) moved by a pendulum bob in t seconds.

Click For Summary
SUMMARY

The discussion focuses on modeling a pendulum using Java Swing, specifically addressing the calculation of angular displacement (Theta) over time. Key equations include Omega (W) = SQRT(g/L) for angular frequency and Theta = Theta_MAX * cos(Omega * dt + Phi) for angular displacement. The user initially struggles with the phase shift and the application of these equations but receives guidance on using Newton's laws and the Runge-Kutta method for more accurate modeling. Ultimately, the user successfully implements the pendulum model using the provided equations.

PREREQUISITES
  • Understanding of pendulum physics and motion equations
  • Familiarity with Java Swing for graphical representation
  • Knowledge of differential equations, particularly the Runge-Kutta method
  • Basic trigonometry, specifically cosine functions
NEXT STEPS
  • Research the Runge-Kutta method for numerical solutions of differential equations
  • Explore the small angle approximation in pendulum motion
  • Learn about the derivation of pendulum motion equations from Newton's laws
  • Investigate advanced pendulum modeling techniques for large angles
USEFUL FOR

Physics students, software developers working on simulations, and anyone interested in modeling mechanical systems using programming.

PieKook
Messages
2
Reaction score
0
Hello.

This is not a Physics homework problem, but rather a Programming project. I am asked to model a pendulum using the Java Swing class for graphics, but I'm having a few problems understanding the Physics behind it, and would appreciate a few answers and some guidance.


Doing the research, I found some energy equations (K = 1/2*m*v^2; U = mgh), but I don't think they'll be too useful in my calculations.

I then found the following equations:

Omega (W) = SQRT(g/L), where
Omega is the angular frequency,
g is the acceleration due to gravity, and
L is the length of pendulum the string.

Theta (Angular Frequency) = Theta_MAX * cos(Omega * dt + Phi), where
Theta is the angular distance moved in the given time period dt,
Theta_MAX is the maximum angle for the pendulum, and
Phi is the phase shift.

I think I want to use the Theta equation for program, but I'm not sure how.



Here are my initial assumptions for my model:

* Bob starts from rest at an angle of 20 degrees (0.349 radians)
* g = 10 m/s^2
* L = 100 m
* dt = 0.1 sec (time increment for displaying the location of the bob at different intervals)




Here are my calculations:

Omega = SQRT(g/L) = SQRT(10/100) = 0.32 rad/s (approximately 18.33 degrees per second)


Now here's where I think my calculations are incorrect when I try to find Theta, the angular displacement in each 0.1 second time increment. This angle will be used to draw the pendulum string (using the Java drawLine method).

Theta = Theta_Max * cos(Omega * dt + Phi)

Theta = 0.349 * cos(0.32 * 0.1 + 0.349) = 0.349 (?)

It seems that in this equation, as the time increment dt approaches to 0, the angular displacement Theta moved in these 0 seconds approaches to 0.349 * cos(Omega * 0 + Phi) = 0.349 * cos(Phi) = 0.349 * cos(0 + 0.349) = 0.328 rad, which does not make sense.


Am I mistaken with the phase shift? Or is the whole equation misplaced or something? I'm fairly sure this is the equation I need to figure out how far the bob has moved in each 0.1 second time increment.


Any information on the matter will be greatly appreciated.

Thank you.
 
Physics news on Phys.org
Did you read the wiki artical on pendulums? That is an improvement on what you currently have.

The best place to start a pendulum model is from Newtons laws.

http://Newton.ex.ac.uk/research/qsystems/people/sque/physics/simple-pendulum/" is a link to a site the gives a pretty good derviation. For your model you want to start from:

\ddot {\theta } = - \frac g l sin(\theta)

Use a 4th order Runga kutta integration scheme to get \theta as a function of time.
 
Last edited by a moderator:
As long as you are working with a pendulum whose length of swing is very short compared to the length of the pendulum itself, \theta will be small. For small angles sin(\theta) is approximately equal to \theta so the differential equation
\ddot {\theta } = - \frac g l sin(\theta)
can be approximated by
\ddot{\theta}= -\frac{g}{l} \theta
and the general solution to that is
\theta(t)= C cos(\sqrt{\frac{g}{l}}t)+ D sin(\sqrt{\frac{g}{l}}t)[/itex]<br /> In particular, if the pendulum is held up to angle \Theta_0 and released (initial speed 0) at t= 0, <br /> \theta(t)= \Theta_0 cos(\sqrt{\frac{g}{l}}t)[/itex]
 
Thank you very much for your time and help. I implemented it using this equation, and the pendulum works perfectly. :smile:



Integral said:
Did you read the wiki artical on pendulums? That is an improvement on what you currently have.

I did, as well as my old Physics book and a few articles Google retrieved for me, but none of them gave me the equation you guys had in mind. My search query was "Pendulum Motion Equations."



Integral said:
The best place to start a pendulum model is from Newtons laws.

http://Newton.ex.ac.uk/research/qsystems/people/sque/physics/simple-pendulum/" is a link to a site the gives a pretty good derviation. For your model you want to start from:

\ddot {\theta } = - \frac g l sin(\theta)

Use a 4th order Runga kutta integration scheme to get \theta as a function of time.


I kind of get the derivation by following the steps, but I'm afraid I've never heard of the Runge–Kutta method. I tried to research it a bit, but I've never had a Differential Equations class, so it's all going over my head.






HallsofIvy said:
As long as you are working with a pendulum whose length of swing is very short compared to the length of the pendulum itself, \theta will be small. For small angles sin(\theta) is approximately equal to \theta so the differential equation
\ddot {\theta } = - \frac g l sin(\theta)
can be approximated by
\ddot{\theta}= -\frac{g}{l} \theta
and the general solution to that is
\theta(t)= C cos(\sqrt{\frac{g}{l}}t)+ D sin(\sqrt{\frac{g}{l}}t)[/itex]<br /> In particular, if the pendulum is held up to angle \Theta_0 and released (initial speed 0) at t= 0, <br /> \theta(t)= \Theta_0 cos(\sqrt{\frac{g}{l}}t)[/itex]
&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; Thank you for the step-by-step explanation. I wouldn&amp;#039;t have thought of that. This, in addition to Integral&amp;#039;s link, have been very helpful.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; Thanks again!
 
Last edited by a moderator:
Note that Halls solution involves a small angle approximation, this means that it will not give accurate positions if the initial angle is much greater then ~.1 radians. This is the usual approximation that is made. If you want meaningful results for large angles you will need to find a way do solve the non linear problem ( where I stopped).

To do any decent work in mathematical models Differential equations are essential. (just a warning! :smile: )
 

Similar threads

  • · Replies 11 ·
Replies
11
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 76 ·
3
Replies
76
Views
7K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 12 ·
Replies
12
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 32 ·
2
Replies
32
Views
2K