The Period of an Oscillating Clock

G.R.Dixon, July 20, 2008

Hit Counter

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