Home

Amplitudes and Periods of a Relativistic Oscillator

Abstract. A relativistic oscillator is modeled on a computer. Two cases are considered: (1) The mass is independent of the speed [m(v)=m0] and (2) The mass is a function of the speed [m(v)=m0/(1-v2/c2)1/2].

We begin by noting that the period of oscillation of a mass on a spring is independent of the mass’ maximum speed when the mass is a constant of the motion (i.e. when the mass always equals m0).

In this article we compute the motions of an oscillator when the maximum speed of the mass is a relativistic  2.9e8 meters/second. Computation for the two cases mentioned in the abstract are performed.

The oscillator in each case can be considered itself to be a clock. Successive ticks can be defined to be each time the mass passes through x=0 when traveling in the positive x-direction.

The Python program that computes the Amplitude and period of oscillation in each case is provided in Appendix A. The results are as follows.

Case 1. Amplitude=2.90e8 meters, Period=6.28 seconds.

Case 2. Amplitude=7.23e8 meters, Period=11.36 seconds.

It is clear that both the amplitudes and periods of the oscillator increase when the dependence of mass on speed is factored in.

Appendix A

#Python 3.3.4 (v3.3.4:7ff62415e426, Feb 10 2014, 18:12:08) [MSC v.1600 32 bit (Intel)] on win32

#This program computes the period of a 'clock', which consists of a mass,

#attached to an ideal spring of spring consfant k.

#The mass oscillates back and forth on the end of the spring.

#The mass' speed, at x=0 and t=0, is maximum and relativistic. Thus x=0 is the center of

#oscillation. The first of four legs of oscillation is assumed to end when the

#mass speed is approximately zero. The goal of the modeling program is to compute the amplitude

#and the period of oscillation in two cases: (1) when the mass is independent of its speed,

#and (2) when the mass is a function of its speed.

import math

n=10000000     #Loop counter

c=3e8   #Speed of light

v=2.9e8 #Maximum of mass speed (at x=0 and t=0)

m0=1.     #Rest mass

k=1.     #Spring constant

PeriodNonrel=2.*math.pi*math.sqrt(m0/k)     #Non-relativistic period

dt=PeriodNonrel/n     #Time between computation loops

x=0.     #Initial position of mass

gamma=1.    #Case 1. Choose this for non-relativistic mass

gamma=1/math.sqrt(1-v**2/c**2)  #Un-comment this for relativistic mass

f=-k*x     #Spring force on mass

a=f/(gamma**3*m0)     #Acceleration of mass

t=0.     #Time at beginning of oscillation

while v>=0.:     #Loop for first quarter of oscillation

t=t+dt

x=x+v*dt+.5*a*dt**2

v=v+a*dt

gamma=1.

gamma=1/math.sqrt(1.-v**2/c**2)    #Uncomment this for relativistic mass.

f=-k*x

a=f/(gamma**3*m0)

Period=4*t

print('Amplitude=',x,'   Period=',Period)

print('End of program')