Testing Gauss’ Law for a Relativistically Oscillating
Point Charge in an Ellipsoid
G.R.Dixon, 7/20/2010
In a previous article it was demonstrated that Gauss’ law is obeyed for a relativistically oscillating point charge within a spherical surface. In this article it is demonstrated that the same may be true when the charge oscillates within an ellipsoid surface. The flux of E through this surface is computed at time t=0, which is when the particle passes through the origin. Once again the particle’s motion is
.
The formula for the ellipsoid cross section is
.
Fig. 1 plots the top half of the ellipsoid cross section.
Figure 1

Ellipsoid Cross Section
r is defined to be the chord from the origin to a point on the ellipse. Fig. 2 plots 1/r2 over the range of x. Fig. 3 plots the normal component of E at points on the ellipse. Note how, in this relativistic case, the two curves are significantly different.
Figure 2

1/r2 vs. x
Figure 3

Enormal vs x
The flux of Enormal through the ellipsoid surface is computed to be 112962897. On the other hand, q/
eo112994350. The percent difference (2.78E-2%) might be ascribable to numerical error, or it might denote a small but significant failure of Gauss’ law for the ellipsoid surface. The program used to compute the data in this article is included in the Appendix.***Appendix***
Private Sub cmdEllipsoid_Click()
'*******************
'Compute the E Field Flux through an ellipsoid surface containing
'an oscillating charge.
'*******************
Const c As Double = 300000000# 'speed of light
Const eps0 As Double = 0.00000000000885 'permittivity constant
Const pi As Double = 3.141592654
Const q As Double = 0.001 'oscillating charge equals .001 coulomb
Const A As Double = 1 'amplitude of oscillation equals 1 meter
Const omega As Double = 0.99 * c / A 'max q speed is highly relativistic
Const steps As Long = 5000 'number of iterations
Const deltax As Double = 6 / steps
Dim i, j As Long 'loop counter
Dim dArea(steps) As Double 'Area increment of ring
Dim Px, Py As Double
Dim Ex(steps), Ey(steps) As Double 'electric field components
Dim Enormal(steps) As Double
Dim dtmin, dtmax, dt As Double
Dim ux, uy As Double
Dim drx, dry, dr As Double
Dim tr As Double 'retarded time
Dim x(steps), xr As Double
Dim y(steps) As Double
Dim dydx(steps) As Double
Dim r(steps) As Double
Dim ds(steps) As Double
Dim vr As Double
Dim ar As Double
Dim Eflux As Double
Dim Flux(steps) As Double 'Flux increments
Dim normx(steps) As Double
Dim normy(steps) As Double
Dim deltay(steps) As Double
Dim slopenormal(steps) As Double
Dim phi(steps) As Double
Eflux = 0
For j = 0 To steps - 1
x(j) = -3 + j * deltax
y(j) = 2 * Sqr(1 - x(j) ^ 2 / 9)
If Abs(x(j)) <> 3 Then
deltay(j) = -2 * x(j) / 3 / Sqr(9 - x(j) ^ 2)
Else
deltay(j) = deltax
End If
If Abs(x(j)) = 3 Then
ds(j) = 0
Else
ds(j) = Sqr((81 - 5 * x(j) ^ 2) / (81 - 9 * x(j) ^ 2)) * deltax
End If
dArea(j) = 2 * pi * y(j) * ds(j)
If Abs(x(j)) <> 3 Then
dydx(j) = -2 * x(j) / 3 / Sqr(9 - x(j) ^ 2)
End If
slopenormal(j) = 0
If dydx(j) <> 0 Then slopenormal(j) = Abs(-1 / dydx(j))
phi(j) = Atn(slopenormal(j))
If x(j) < 0 Then
normx(j) = -Cos(phi(j))
Else
normx(j) = Cos(phi(j))
End If
normy(j) = Abs(Sin(phi(j)))
r(j) = Sqr(4 + 5 * x(j) ^ 2 / 9)
Next j
Open "c:\\WINMCADC\Physics\GaussTest.PRN" For Output As #1
For j = 0 To steps - 1
Write #1, x(j), 1 / r(j) ^ 2
Next j
Close
MsgBox ("Ready to plot 1/rsquared")
'Compute electric field at points on the ellipse.
For j = 0 To steps - 1
Px = x(j)
Py = y(j)
dtmin = 0
dtmax = 10 * A
Do
dt = (dtmin + dtmax) / 2
tr = -dt
xr = A * Sin(omega * tr)
drx = Px - xr
dry = Py
dr = Sqr(drx ^ 2 + dry ^ 2)
If Abs(c * dt - dr) < 2 ^ (-30) Then Exit Do
If c * dt - dr > 0 Then
dtmax = dt
Else
dtmin = dt
End If
Loop
vr = omega * A * Cos(omega * tr)
ar = -(omega ^ 2) * A * Sin(omega * tr)
ux = c * drx / dr - vr
uy = c * dry / dr
Ex(j) = q / (4 * pi * eps0) * dr / (drx * ux + dry * uy) ^ 3 * (ux * (c ^ 2 - vr ^ 2) + dry * (-uy * ar))
Ey(j) = q / (4 * pi * eps0) * dr / (drx * ux + dry * uy) ^ 3 * (uy * (c ^ 2 - vr ^ 2) - drx * (-uy * ar))
Enormal(j) = Ex(j) * normx(j) + Ey(j) * normy(j)
Flux(j) = Enormal(j) * dArea(j)
Eflux = Eflux + Flux(j)
Next j
Open "c:\\WINMCADC\Physics\GaussTest.PRN" For Output As #1
For j = 0 To steps - 1
Write #1, x(j), Enormal(j)
Next j
MsgBox ("Ready to plot ENormal")
Close
Open "c:\\WINMCADC\Physics\GaussTest.PRN" For Output As #1
For j = 0 To steps - 1
Write #1, x(j), Flux(j)
Next j
Close
'MsgBox ("Ready for plotting dFluxes")
MsgBox ("E Flux = " & Eflux & "; Gauss = " & q / eps0)
MsgBox ("Percent Difference = " & Abs(Eflux - q / eps0) / Eflux * 100)
Stop
End Sub