The Period of an Oscillating Clock

G.R.Dixon, July 20, 2008

In this article the amount of time that elapses on an oscillating "clock" is compared with the time that elapses on a clock at rest in the lab frame. A time increment on the oscillating clock (dt’’) is hypothesized to be related to a time increment on the lab clock (dt) by

, (1)

where

. (2)

(The driving force is assumed to be "whatever it takes" to maintain the sinusoidal motion when v is relativistic.) Note that among other things, the rate of the oscillating clock is not affected by its acceleration. The period of oscillation is

. (3)

And the time elapsed on the oscillating clock, in one complete oscillation, is

. (4)

The integral is solved numerically by the Visual Basic program at the end of the article. Interested readers may vary program constants (A, w, N (the number of iterations)) as desired. Table 1 assumes in every case that A=1E-10 meters and N=1E6. Values for w (and hence for vmax=wA) are varied in the table. As expected, the discrepancy between t and t’’ increases as wA increases.

Table 1

 wA (m/sec) t (sec) t’’(sec) 1000 6.283185308E-13 6.283185308E-13 1E6 6.283185308E-16 6.283167855E-16 1E8 6.283185308E-18 6.104836938E-18 .5c 4.188790205E-18 3.913232559E-18 .99c 2.115550609E-18 1.385152605E-18 .9999c 2.094604563E-18 1.334152479E-18

t’’ and t Compared

Program

Private Sub cmdOscillator_Click()

Const pi As Double = 3.141592654

Const N As Long = 1000000#

Const c As Double = 300000000#

Const vmax As Double = 1000

'Const vmax As Double = 1000000#

'Const vmax As Double = 100000000#

'Const vmax As Double = 0.5 * c

'Const vmax As Double = 0.99 * c

'Const vmax As Double = 0.9999 * c

Const A As Double = 0.0000000001

Const w As Double = vmax / A

Const tau As Double = 2 * pi / w

Const dt As Double = tau / N

Dim t, taupp As Double

Dim dtpp As Double

Dim v As Double

Dim index As Long

taupp = 0

For index = 0 To N - 1

t = index * dt

v = w * A * Cos(w * t)

dtpp = Sqr(1 - v ^ 2 / c ^ 2) * dt

taupp = taupp + dtpp

Next index

MsgBox ("tau = " & tau & ", taupp = " & taupp)

Stop

End Sub