Over the last few days, I’ve been creating worksheets on oscillators to support my class’s understanding of these fundamental physics concepts. I wanted to share one of these worksheets that I found particularly useful for illustrating energy exchange and motion dynamics.

A simple pendulum is a classic physics example that exhibits periodic motion. It consists of a mass m (called a bob) attached to a string or rod of length L, which swings back and forth under the influence of gravity. When the bob is displaced from its equilibrium position and released, it swings back and forth under the influence of gravity.
To derive the equation of motion, we can examine the forces acting on the pendulum bob and use Newton’s second law.

Period of a Pendulum:

• 

Frequency (f) "-" the number of cycles the pendulum completes in one second. Measued in hertz ("Hz)."

f = 1/T

• 

Period ("T) -" the time it takes the pendulum to complete one cycle. Measued in seconds (s).

T = 2*Pi*sqrt(L/g)

This period depends only on the length Land gravitational acceleration "g,"meaning it is independent of the amplitude for small oscillations.

What is the period and the frequency of a single pendulum that is 70 cm long on the earth and on the moon?

L := .7; g__earth := 9.8; g__moon := 1.6

.7

 

9.8

 

1.6

(1)

T__earth := 2*Pi*sqrt(L/g__earth); f__earth := L/T__earth

1.679251909

 

.4168522878

(2)

T__moon := 2*Pi*sqrt(L/g__moon); f__moon := L/T__moon

4.155936442

 

.1684337597

(3)

The above image is taken from https://www.researchgate.net/publication/365297210_Scientific_counterfactuals_as_make-believe

1. 

Forces on the Pendulum Bob:

The main forces acting on the bob are:

• 

The gravitational force"`f__g`=mg, "acting vertically downward.

• 

The tension Tauin the string, acting along the string toward the pivot point.

2. 

Components of the Gravitational Force:

Since the pendulum swings in an arc, it’s helpful to resolve the gravitational force into two components:

• 

Radial Component (along the string): This component, "`f__y`=mgcostheta ," is countered by the tension in the string and does not contribute to the pendulum’s motion.

• 

Tangential Component (perpendicular to the string): This component, f__z = -`mgsinθ`(restoring force), acts along the arc of the pendulum’s swing and is responsible for its motion.

3. 

Applying Newton's Second Law
Since the tangential component of the gravitational force causes the pendulum’s motion, we can apply Newton's second law in the tangential direction:``

f__X = ma__x

Substituting for f__x and the tangential acceleration a__xNULL

m*(diff(s(t), t, t)) = -`mgsinθ`

where diff(s(t), t, t) = a__x and a__x = diff(x, t, t)

Now, we want to write everything in terms of θ

s = `Lθ`

we obtain:

diff(theta(t), t, t) = -g*`sinθ`/L

Small-Angle Approximation

For small angles (typically) theta  , the approximation

`≈`(sin(theta), theta)(where theta is in radians) can be used. This simplifies the equation:

diff(theta(t), t, t) = -g*theta/L

This equation is now in the form of a simple harmonic oscillator

diff(theta(t), t, t) = -omega^2*theta

where omega = sqrt(g/L)is the angular frequency of the pendulum.

restart; with(plots); with(DEtools)

L := 1; m := .2; g := 9.8

1

 

.2

 

9.8

(4)

T := 2*Pi*sqrt(L/g)

2.007089924

(5)

omega := sqrt(g/L)

3.130495168

(6)

ODE__1 := diff(theta(t), t, t)+omega^2*theta = 0; IC := theta(0) = A, (D(theta))(0) = 0

diff(diff(theta(t), t), t)+9.799999997*theta(t) = 0

 

theta(0) = A, (D(theta))(0) = 0

(7)

sol := dsolve({IC, ODE__1}, theta(t))

theta(t) = A*cos((1/100000)*97999999970^(1/2)*t)

(8)

plot_1 := subs(A = 0.873e-1, sol); plotsresult := plot([rhs(plot_1)], t = 0 .. 2, color = [red])

 

`θ_t` := rhs(subs(A = 0.873e-1, sol)); v_t := diff(`θ_t`, t)

0.873e-1*cos((1/100000)*97999999970^(1/2)*t)

 

-0.8730000000e-6*97999999970^(1/2)*sin((1/100000)*97999999970^(1/2)*t)

(9)

T := (1/2)*m*L^2*v_t^2; V := m*g*L*(1-cos(`θ_t`)); H := T+V

0.7468864200e-2*sin((1/100000)*97999999970^(1/2)*t)^2

 

1.96-1.96*cos(0.873e-1*cos((1/100000)*97999999970^(1/2)*t))

 

0.7468864200e-2*sin((1/100000)*97999999970^(1/2)*t)^2+1.96-1.96*cos(0.873e-1*cos((1/100000)*97999999970^(1/2)*t))

(10)

energy_plot := plot([eval(T), eval(V), eval(H)], t = 0 .. 5, color = [red, blue, green], legend = ["Kinetic Energy", "Potential Energy", "Total Energy"], title = "Energy Exchange in Simple Pendulum", labels = ["Time (s)", "Energy (Joules)"])

 

directionfield := DEplot([diff(theta(t), t) = v(t), diff(v(t), t) = -omega^2*theta(t)], [theta(t), v(t)], t = 0 .. 20, theta = -20 .. 20, v = -40 .. 40, arrows = medium, title = "Direction Field for Simple Harmonic Oscillator", axes = boxed, color = navy)

sol1 := dsolve({ODE__1, theta(0) = 3, (D(theta))(0) = 0}, theta(t)); sol2 := dsolve({ODE__1, theta(0) = 6.5, (D(theta))(0) = 0}, theta(t)); sol3 := dsolve({ODE__1, theta(0) = -8, (D(theta))(0) = 0}, theta(t)); sol4 := dsolve({ODE__1, theta(0) = 9.7, (D(theta))(0) = 2.5}, theta(t))

theta(t) = 3*cos((1/100000)*97999999970^(1/2)*t)

 

theta(t) = (13/2)*cos((1/100000)*97999999970^(1/2)*t)

 

theta(t) = -8*cos((1/100000)*97999999970^(1/2)*t)

 

theta(t) = (25000/9799999997)*97999999970^(1/2)*sin((1/100000)*97999999970^(1/2)*t)+(97/10)*cos((1/100000)*97999999970^(1/2)*t)

(11)

theta1 := rhs(sol1); theta2 := rhs(sol2); theta3 := rhs(sol3); theta4 := rhs(sol4)

3*cos((1/100000)*97999999970^(1/2)*t)

 

(13/2)*cos((1/100000)*97999999970^(1/2)*t)

 

-8*cos((1/100000)*97999999970^(1/2)*t)

 

(25000/9799999997)*97999999970^(1/2)*sin((1/100000)*97999999970^(1/2)*t)+(97/10)*cos((1/100000)*97999999970^(1/2)*t)

(12)

v1 := diff(theta1, t); v2 := diff(theta2, t); v3 := diff(theta3, t); v4 := diff(theta4, t)

-(3/100000)*97999999970^(1/2)*sin((1/100000)*97999999970^(1/2)*t)

 

-(13/200000)*97999999970^(1/2)*sin((1/100000)*97999999970^(1/2)*t)

 

(1/12500)*97999999970^(1/2)*sin((1/100000)*97999999970^(1/2)*t)

 

(5/2)*cos((1/100000)*97999999970^(1/2)*t)-(97/1000000)*97999999970^(1/2)*sin((1/100000)*97999999970^(1/2)*t)

(13)

phase_plot := plot([[eval(theta1, t = tval), eval(v1, t = tval), tval = 0 .. 20], [eval(theta2, t = tval), eval(v2, t = tval), tval = 0 .. 20], [eval(theta3, t = tval), eval(v3, t = tval), tval = 0 .. 20], [eval(theta4, t = tval), eval(v4, t = tval), tval = 0 .. 20]], style = line, title = "Phase Portrait for Simple Harmonic Oscillator", labels = ["x (Displacement)", "v (Velocity)"], color = ["red", "blue", "green", "orange"], axes = boxed)

display(directionfield, phase_plot)

 

theta_at_1_sec := subs(t = 1, A = 0.873e-1, rhs(sol)); evalf(theta_at_1_sec)

0.873e-1*cos((1/100000)*97999999970^(1/2))

 

-0.8729462437e-1

(14)
 

NULL

Download Simple_Pendulum.mw


Please Wait...