Program For Abraham-Lorentz Covariance, y-axis Motion
Const c As Double = 299792458
Const pi As Double = 3.14159265
Const q As Double = 1
Const Amp As Double = 0.000001
Const eps0 As Double = 0.00000000000885
Const omega As Double = 0.0001 * c / Amp
Const tau As Double = 2 * pi / omega
Const N As Double = 10000
Const dt As Double = tau / N
Const K As Double = q ^ 2 / (6 * pi * eps0 * c ^ 3)
Const v As Double = 0.95 * c
Const uxp As Double = -v
Dim t(N), tp(N) As Double
Dim y(N) As Double
Dim uy(N), uyp As Double
Dim ay(N), ayp As Double
Dim daydt(N), daydtp As Double
Dim PAL(N), PALp(N) As Double
Dim index As Long
Dim gamma, gammap As Double
Dim IntAL, IntALp As Double
Dim dtp As Double
Dim Fy, Fyp As Double
gamma = 1 / Sqr(1 - v ^ 2 / c ^ 2)
dtp = gamma * dt
'Compute P(t).
For index = 0 To N - 1
t(index) = index * dt
y(index) = Amp * Sin(omega * t(index))
uy(index) = omega * Amp * Cos(omega * t(index))
ay(index) = -omega ^ 2 * Amp * Sin(omega * t(index))
daydt(index) = -omega ^ 3 * Amp * Cos(omega * t(index))
gammap = 1 / Sqr(1 - uy(index) ^ 2 / c ^ 2)
Fy = -K * gammap ^ 4 * (daydt(index) + 3 * gammap ^ 2 * uy(index) * ay(index) ^ 2 / c ^ 2)
PAL(index) = Fy * uy(index)
Next index
'Integrate P(t) to find the energy radiated per cycle.
IntAL = 0
For index = 0 To N - 1
IntAL = IntAL + PAL(index) * dt
Next index
MsgBox ("IntAL = " & IntAL)
'Then transform the values to frame Kprime and compute the power in Kprime.
For index = 0 To N - 1
tp(index) = gamma * t(index)
uyp = uy(index) / gamma
gammap = 1 / Sqr(1 - (uxp ^ 2 + uyp ^ 2) / c ^ 2)
ayp = ay(index) / gamma ^ 2
daydtp = 1 / gamma ^ 3 * daydt(index)
Fyp = -K * gammap ^ 4 * (daydtp + 3 * gammap ^ 2 * uyp * ayp ^ 2 / c ^ 2)
PALp(index) = Fyp * uyp
Next index
'Integrate to find the energy radiated per cycle in Kprime.
IntALp = 0
For index = 0 To N - 1
IntALp = IntALp + PALp(index) * dtp
Next index
MsgBox ("IntALp = " & IntALp & ", gamma*IntAL/IntAlp = " & gamma * IntAL / IntALp)
'Output the powers for plotting.
Open "c:\WINMCAD\Physics\ALLL.PRN" For Output As #1
For index = 0 To N - 1
Write #1, t(index), PAL(index), tp(index), PALp(index)
Next index
Close
MsgBox ("Ready for plotting")