Free Harmonic Oscillations 

Machines with rotating components commonly involve mass-spring systems or their equivalents in which the driving force is simple harmonic. The motion of a mass attached to a spring serves as a simple example of vibrations that occur in more complex mechanical systems.

From a teaching point of view it is suitable to consider a body of mass
m attached to one end of a spring that resists compression as well as stretching. A rod attached to the mass carries a disk moving in an oil-filled cylinder (a dashpot). The other end of the spring could be attached to a fixed wall and vibrating horizontally. The resultant force on the body is generally the sum of the restoring force and the damping force. k is the force constant, x(t)is the distance of the body of mass from its equilibrium position, t is time and and r is the damping constant. We take `>`(x(t), 0) when the spring is stretched. The differential equation of motion is therefore:
 

> deq1 := `+`(`*`(m, `*`(Student:-MultivariateCalculus:-diff(x(t), `$`(t, 2)))), `*`(r, `*`(Student:-MultivariateCalculus:-diff(x(t), t))), `*`(k, `*`(x(t)))) = 0; -1; %
 

`+`(`*`(m, `*`(diff(diff(x(t), t), t))), `*`(r, `*`(diff(x(t), t))), `*`(k, `*`(x(t)))) = 0
 

If we set r = 0 in deq1 the motion is undamped. Otherwise the solution of deq1 presents three distinct cases of damping according to whether r is greater than, equal to, or less than zero. 

> eq := d = `+`(`-`(`*`(4, `*`(k, `*`(m)))), `*`(`^`(r, 2))); -1
 

> solm := solve(eq, m); -1
 

Let us replace m with a new variable mv in deq1 . 

> mv := unapply(solm, d, r, k); -1
 

> m = mv(d, r, k)
 

m = `+`(`-`(`/`(`*`(`/`(1, 4), `*`(`+`(`-`(`*`(`^`(r, 2))), d))), `*`(k))))
 

> deq2 := collect(`+`(`*`(4, `*`(k, `*`(subs(m = mv(d, r, k), deq1))))), Student:-MultivariateCalculus:-diff(x(t), `$`(t, 2))); -1; %
 

`+`(`*`(`+`(`*`(`^`(r, 2)), `-`(d)), `*`(diff(diff(x(t), t), t))), `*`(4, `*`(k, `*`(`+`(`*`(k, `*`(x(t))), `*`(r, `*`(diff(x(t), t)))))))) = 0
 

With this differential equation, deq2 , the system is overdamped if `>`(d, 0) , critically damped if d = 0 and underdamped if `<`(d, 0.) 

If we request Maple to solve deq1 for the undamped case and deq2 for each of the damped cases,subject to initial condition x(0) = 0, (D(x))(0) = 0. 

> init := x(0) = x[0], (D(x))(0) = 0; -1
 

we get: 

 

Undamped Motion 

Overdamped Motion 

Critically Damped Motion 

Underdamped Motion