Toward an Electrodynamically Stable Model of the Bohr Atom

G.R.Dixon, 12/9/2011

In the case of the nominal Bohr Hydrogen atom it is assumed that the nucleus (proton) is at rest and the electron revolves around the nucleus in a circular orbit. The electron experiences a tangential radiation reaction force pointing opposite to its velocity. If this force is not counteracted, then the electron will slow down and spiral into the nucleus ... a difficulty appreciated by Bohr.

If the nucleus is indeed at rest, then it cannot provide the needed counteraction to the radiation reaction force. However, if the much heavier nucleus orbits in a smaller radius orbit, it might produce a tangential force on the electron. And if this force points opposite to the radiation reaction force, then there is the interesting possibility that, given an appropriate circular orbital radius of the nucleus, the net tangential force on the electron will be zero.

Now it turns out that an orbiting nucleus, always diametrically opposed to the electron, does indeed produce a tangential, interactive force component that points in the *same* direction as the electron’s velocity. For example, as the attached Basic program indicates, a nucleus obeying Bohr’s rule (that mvr=h/2p) produces an interactive tangential force that does positive work per cycle in the amount 6.389E-21 joules. This is, however, not equal in magnitude to the negative work per cycle done by the radiation reaction force, which is -7.017E-24 joules. However, the positive work done per cycle in the case of the *resting* nucleus is zero. By the Mean Value Theorem we might conclude that there is some proton orbital radius which produces a precise counteraction to the electron radiation reaction force. For computation purposes we shall approximate by finding a *total* work per cycle (done on the electron by the summed interactive and radiation reaction forces) which is 1/1000’th of the (negative) work done by the radiation reaction force alone.

The attached program suggests that the nuclear orbital radius, approximating the desired counteraction to the electron radiation reaction force, is 1.25E-15 meters. That is on the order of the proton’s generally accepted radius of approximately 1E-15 meters. Thus the stable (ground) state of the atom will evidently occur when the proton "wobbles" around its center point. Note that the total computed work per cycle, at this proton orbital radius, is only 7.736E-27 joules.

Basic Program that Computes the Approximate Critical Proton Orbital Radius.

Option Explicit

Private Sub cmdCompute_Click()

Const c As Double = 299800000# 'speed of light

Const h As Double = 6.626068E-34 'Planck constant

Const eps0 As Double = 0.00000000000885 'permittivity constant

Const pi As Double = 3.141592654

Const K As Double = 1 / (4 * pi * eps0)

Const q As Double = 1.6E-19 'elementary charge

Const melec As Double = 9.11E-31 'electron mass

Const mprot As Double = 1.67E-27 'proton mass

Const relec As Double = h ^ 2 / (4 * pi ^ 2 * K * q ^ 2 * melec) 'electron orbit radius

Const xelec As Double = relec 'components of electron orbit radius

Const yelec As Double = 0

Dim vprot As Double 'speed of proton

vprot = 2 * pi * K * Sqr(melec) * q ^ 2 / (h * Sqr(mprot)) 'trial proton speed

Const omega As Double = 8 * pi ^ 3 * K ^ 2 * melec * q ^ 4 / h ^ 3 'common angular speed

Dim rprotOrig, rprot As Double 'Original computed proton orbital radius

rprotOrig = h ^ 2 / (4 * pi ^ 2 * K * q ^ 2 * Sqr(mprot * melec)) 'based on Bohr L rule

rprot = rprotOrig

MsgBox ("Nominal proton orbital radius (Bohr L Rule) = " & rprot & ", nominal vprot = " & vprot)

Dim WorkRR, WorkInt, WorkTotal As Double 'works per orbit done by forces on electron

'Compute and display the (negative) work per cycle done by the radiation reaction force.

WorkRR = -q ^ 2 * omega ^ 3 * relec ^ 2 / (3 * eps0 * c ^ 3) 'work done by rad react force

MsgBox ("Negative work per cycle done by rad react force is " & WorkRR)

'Then compute the (positive) work per cycle done by the interactive force.

'Variables used in computing E field at electron.

Dim dtmin, dtmax, dt, t, tr As Double

Dim xprotr, yprotr As Double

Dim drx, dry, dr As Double

Dim vprotxr, vprotyr, vprotr, aprotxr, aprotyr As Double

Dim ux, uy As Double

Dim Ey, Fy As Double

t = 0

dtmin = 0

dtmax = 5 * relec / c

Do

dt = (dtmin + dtmax) / 2

tr = t - dt

xprotr = -rprot * Cos(omega * tr)

yprotr = -rprot * Sin(omega * tr)

drx = xelec - xprotr

dry = yelec - yprotr

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

vprotxr = omega * rprot * Sin(omega * tr)

vprotyr = -omega * rprot * Cos(omega * tr)

vprotr = Sqr(vprotxr ^ 2 + vprotyr ^ 2)

aprotxr = omega ^ 2 * rprot * Cos(omega * tr)

aprotyr = omega ^ 2 * rprot * Sin(omega * tr)

ux = c * drx / dr - vprotxr

uy = c * dry / dr - vprotyr

Ey = q / (4 * pi * eps0) * dr / (drx * ux + dry * uy) ^ 3 * (uy * (c ^ 2 - vprotr ^ 2) - drx * (ux * aprotyr - uy * aprotxr))

Fy = -q * Ey

WorkInt = Fy * 2 * pi * relec

MsgBox ("Interactive Work = " & WorkInt)

'Now start reducing rprot and recomputing WorkInt until WorkTotal is approximately 0.

Dim rprotmod As Double

rprotmod = 0.00001 * rprot

t = 0

dtmin = 0

dtmax = 5 * relec / c

Dim TrialCount As Long

TrialCount = 0

'Compute the interactive force on the electron, for a given proton orbital radius.

Trials:

TrialCount = TrialCount + 1

Debug.Print TrialCount

rprot = rprot - rprotmod

Do

dt = (dtmin + dtmax) / 2

tr = t - dt

xprotr = -rprot * Cos(omega * tr)

yprotr = -rprot * Sin(omega * tr)

drx = xelec - xprotr

dry = yelec - yprotr

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

vprotxr = omega * rprot * Sin(omega * tr)

vprotyr = -omega * rprot * Cos(omega * tr)

vprotr = Sqr(vprotxr ^ 2 + vprotyr ^ 2)

aprotxr = omega ^ 2 * rprot * Cos(omega * tr)

aprotyr = omega ^ 2 * rprot * Sin(omega * tr)

ux = c * drx / dr - vprotxr

uy = c * dry / dr - vprotyr

Ey = q / (4 * pi * eps0) * dr / (drx * ux + dry * uy) ^ 3 * (uy * (c ^ 2 - vprotr ^ 2) - drx * (ux * aprotyr - uy * aprotxr))

Fy = -q * Ey

'Variables used for storing Interactive and Total Work values, for backing out

'if the Total Work goes negative.

Dim WorkIntOld, WorkTotalOld As Double

'Now compute the Interactive Work per cycle.

WorkIntOld = WorkInt

WorkInt = Fy * 2 * pi * relec

'Sum the Interactive and Rad React forces to find the total work per cycle done on the electron.

WorkTotalOld = WorkTotal

WorkTotal = WorkInt + WorkRR

'When Total Work goes negative, we are as close to zero as this program will get.

If WorkTotal < 0 Then

GoTo Done

Else

'Otherwise, reduce the proton orbital radius and re-compute the interactive force.

GoTo Trials

End If

Done:

'At finish, restore and display the last proton orbital radius that produced a positive total work.

rprot = rprot + rprotmod

MsgBox ("Last rprot producing positive WorkTotal = " & rprot)

'Then back out to the previous Interactive and Total Works.

WorkInt = WorkIntOld

WorkTotal = WorkTotalOld

'Display the works per cycle.

MsgBox ("WorkInt = " & WorkInt & ", WorkRR = " & WorkRR & ", WorkTotal = " & WorkTotal)

Stop

End Sub