Professional Documents
Culture Documents
Jahan Claes
T. Gay, advisor
Abstract
This report is designed for three purposes: first, to summarize my work this summer; second, to gather
together all theory and fomula necessary for a classical treatment of Mott scattering; and finally, to guide
a reader through my calculations and computer programs, so that they may reproduce and extend my
results. Each section may be read independently, provided the reader has a basic understanding of Mott
scattering, although occasionally reference may be made to other sections. If anything is unclear, I can
be reached at undiscoveredlama@uchicago.edu with any questions.
Contents
1 An overview of Mott scattering 2
1
Figure 1: s and for electron scattering.
Figure 1 illustrates two important quantities in a scattering problem. s is the impact parameter, while
0 , sometimes just denoted , is the scattering angle.
d
We define the scattering cross section d () as
~ + d (
F~ = V ~ vV ) (6)
dt
2
where
~ v V ( V , V , V )
(7)
vx vy vz
The A/r term gives a force of Ar/r2 , since v Ar = 0. Meanwhile, for spin-up electrons,
C ~ ~ Cmh xvy yvx
3
(L S) = (8)
r 2 r3
The force from this term is then
3
Figure 2: The scattering cross section for pure Coulomb scattering, E = 46 KeV, Z=79. Blue is calculated
via our method above, while red is the csc4 () curve predicted by Goldstein.
where we have used to denote the polar angle of a point in space, so as not to confuse it with , the
scattering angle.
The formula as presented above is only valid for the incoming portion of the trajectory. However, since
the trajectory is symmetric in a central force problem, this isnt a significant limitation. In going from r =
to r = rm (where rm is the minimum value of r), the trajectory subtends an angle (rm ) () = (rm ).
Thanks to the symmetry of the problem, this is also the angle subtended by the trajectory as the particle
goes from rm back out to . Thus, the total angle subtended by the trajectory is given by
tot = 2(rm )
R 1/r du (15)
= 2 0 m r
2mE 2mV ( 1 )
L2
L2 u u2
t is illustrated in Figure 3, along with . From this figure, we can readily see = t .
4
Figure 3: An illustration of the angles t and .
To complete the computation of for a given s, we then only need to know 1/rm , the upper limit of our
integral. At rm , we know the velocity must be perpendicular to the radial vector, v = r. We also know
from conservation of energy that E = 21 mv 2 + Ar CLh
2r 3 at all points on the trajectory, and from conservation
of angular momentum that L = mr2 at all points on the trajectory. Therefore, at rm ,
1
E = 2 mv
2
+ A r1m CLh 1 3
2 ( rm )
1
= 2 2
2 mrm + A r1m CLh 1 3
2 ( rm )
(16)
2
L 1 2
= 2m ( rm ) + A r1m CLh 1 3
2 ( rm )
This is a polynomial in r1m , and can be easily solved by most computer programs. We thus have our two
functions, f (s) and g(s), and can calulate cross sections using the method outlined above.
Figure 4: The program begins by importing relevant packages and setting the values of all constants
5
As seen in Figure 4, the program begins by importing all necessary math packages and setting the values
of all relevant constants. All constants are in SI units besides Eev, which is in electron volts. The energy of
the incoming electron may be set by changing the value of Eev to whatever is desired. Similarly, Z may be
changed to any atomic number desired.
thetamin is used to select an aproximate value of angle to restrict our attention to. We cannot go to
= 0 as this would require an infinite beam width. thetamin should be set as high as possible for any
given calculation. bmax is the maximum value our impact parameters will take. It is the maximum impact
parameter which still results in thetamin in the case of Coulomb scattering. bmin should almost always
be set to zero.
rand1 is a list of positive impact parameters between bmin and bmax, distributed as s2 . It is currently
set to generate 100000 random numbers; this can be increased for greater precision. Contrary to what one
might naively assume, the correct way to get a distribution which goes as s2 is to take the square roots of
numbers in a uniform distribution, not the squares. rand2 is the negative of rand1, and randlist is the full
random list of impact parameters, on both the positive and negative sides of the nucleus.
In Figure 5, we define f (s), the function which takes an impact parameter to a scattering angle for spin-
up electrons. First, due to rotational symmetry of the potential, a spin up electron with impact parameter s
scattering through is the same as a spin-down electron with impact parameter s scattering through .
Thus, we can consider only s 0, and pass s < 0 to g(s).
2
Now, given an impact parameter s we define the angular momentum, L = s 2mE. Then b = Ze kLh
4m2 c2 is
1
the coefficient of r3 in our scattering potential. dtheta is the integrand in Equation 14. um is a list of roots
L2 2
of the equation bu3 + 2m u + au E = 0, which is simply the polynomial for r1m given in Equation 16. We
want the smallest positive real root (this represents the first time the electron, coming in from infinity, is
reflected by the potential barrier), so um2 is a list of real roots, while um3 is a list of only positive roots. If
um3 is empty, this indicates the electron never encounters a potential barrier, and so spirals in; we therefore
return NaN (Not a Number). Otherwise, we select the smallest root in the list (the list is in decreasing order,
so we want um3 [1], the last item) and integrate dtheta from 0 to um3 [1]. This returns a list of [integral,
error], so we select the first item, multiply by two, and subtract to get our scattering angle, as discussed
in equation 15.
Finally, thetaround is theta modulo 2, and the last if/else statement converts the range from (0, 2) to
(, ).
In Figure 6, we define g(s) similarly, flipping the sign of b. Note that both f and g recursively call on
each other, but will never enter into a loop (this is what makes the s 0 statement important, rather than
simply s > 0. Otherwise, s = 0 would flip between them)
In Figure 7, we have included a function which takes an impact parameter to a scattering angle for the
pure Coulomb case. The formula used is an exact analytic solution .This can be used when checking for bugs
(for example, setting b=0 in g(s) and seeing if it agrees with h(s)). It also gives a good function to compare
f and g to for order-of-magnitude estimates.
6
Figure 6: g(s) is implimented.
In Figure 8 is the code for plotting f, g, and h. It comes commented out, since we dont need it often,
but can be uncommented to check for bugs. Figure 9 shows a sample output for Z = 79, E = 46 KeV. Note
the jumps where theta goes from to , or to . Note also the asymtotes followed by empty space;
these represent impact parameters for which the electron spirals in.
7
Figure 10: Calculating cross sections and the Sherman function
Figure 10 shows the code used to generate the scattering cross sections d d
d () and d ()called csup
and csdown in the programand from the cross sections, the Sherman function. First, we create an array
of angles resulting from our random impact parameters for spin-up electrons, called listup. The condition
if not math.isnan(f(s)) filters out values which are not numbers, which speeds computation of the cross
sections. We could define listdown similarly, but to avoid double evaluation, we just set it equal to the
negative of listup (generating the arrays takes up the majority of the computing time, so this nearly halves
the runtime).
dtht is the width d we consider when approximating the cross sections. A larger width means greater
precision but less accuracy for the same number of random points. Typically, we want a small d and a large
number of points; however, for quick calculations, it may be useful to use a large d and a smaller number
of points.
csup and csdown are calculated as one would expect: we count the number of points within .5d of .
We dont divide by d, sin() or the total number of incoming points, since this just needlessly complicates
the code and can lead to rounding errors. Note that all of these will cancel when calculating the Sherman
function.
In Figure 11 we create arrays to plot. domain is an array of values, while shermanvals is an array of
S() values. We also include a plot from Holzwarth and Meister for comparison; angles is the array values
given, while shermanhm is an array of predicted values for the Sherman function.
In Figure 12 is the code used for drawing the axis and plotting both our computed values of S() (in
blue) and the predicted values in Holzwarth and Meister (in green). A sample plot is given in Figure 13 with
100000 points in rand1, Z=79, E=46 KeV, thetamin=.5, dtht = .02. Note how jumpy it is: this indicates
we need to either increase the number of points or increase dtht. However, the large jumps around 0 can be
ignored; since we have set thetamin to .5, we would expect noise below this angle.
A few more things to note about Figure 13. First, after about 1.1 radians in either direction in the
beam is almost perfectly polarized. This is because, looking back at figure 9, we see that spin-up electrons
never scatter above 1.1 radians, while spin-down electrons never scatter below -1.1 radians. They can loop
around the entire molecule at very low s-values, but since low s-values dont contribute as much to the overall
cross section, we find this barely affects our polarization. Second, the polarization jump happens precisely
where the Holzwarth and Meister data changes sign. This indicates that this sign change can be explained
classically.
8
Figure 13: Calculating cross sections and the Sherman function
From F~ = m~a we have a pair of coupled, second order differential equations for x(t) and y(t):
A x Ch y A y Ch x
x = 2 2 3/2
+ y = + (18)
m (x + y ) 2 (x + y 2 )3/2
2 2 2
m (x + y ) 3/2 2 (x + y 2 )3/2
2
These equations, paired with initial conditions, will be sufficient to numerically compute the trajectory.
We want our initial conditions to correspond to firing an electron from far away in the +y direction. For an
electron with energy E and impact parameter s, these are
r
2E
x(0) = s y(0) = R x = 0 y = (19)
m
where R is large compared to the dimensions of the problem.
After numerically integrating this to some much later time tf , we then have x(tf ), y(tf ), x(tf ), and x(tf ).
Many programming languages come with a special tan1 function, designed to have a range from to ;
x(t )
if one is not available, it is simple to create by cases. Using this, and the ratio y(tff ) we can calculate the
x(tf ) x(tf ) x(tf )
scattering angle. We could also use y(tf ) , since both y(tf ) and y(tf ) converge to the inverse of the slope of
x(tf )
the line as tf ; however, y(tf ) converges much faster. We then have a process to take s to .
9
Figure 14: Setting all constants.
energy instead of E, since Mathematica uses E to denote Eulers constant. b is set to Cmh
2 , so we can
just write b( ry3 , rx3 ) for the spin-orbit force.
fd is the distance from which we will fire the electron, represented by R in the section above. Its set
to 100 times the maximum impact parameter. We could set it to be larger, but beyond this point increases
dont seem to noticably affect results. tmax is the time tf after which well evaluate the slope; weve set it
to the time needed to travel twice fd at the initial speed. Again, we could make it larger, but this does not
seem to affect results.
In Figure 15 we impliment F[s]. f[s] takes an impact parameter and creates a set of functions solving x,
y(t )
y, x, and y. F[s] then evaluates tan1 ( x(tff ) ), with a range of (, ).
In Figure 16 we impliment G[s] similarly. We also include H[s], the function for the pure Coulomb case.
We graph all of these in Figure 17, where purple is spin-up, blue is spin-down, and grey is pure Coulomb.
Note that the spin up electrons still have the same crest at around 1.1 radians, but the spin-down electrons
dont go asymtotically to infinity, and are never captured by the nucleus (despite what I may have suggested
offhandedly in a meeting). Note also the jumps where goes from to , or to .
In Figure 18 we generate a list of both positive and negative impact parameters, distributed as s2 , and
label it rtot. We can adjust the number of impact parameters generated; it is currently set to 50, as the
program is fairly slow, but for accurate readings it should be set much higher. We then create lists of the
values of resulting from our list of impact parameters. variateup is the list of angles from our spin up
electron; variatedown, again, is just the negative of variateup.
Finally, in Figure 19 we define the cross sections csup and csdown as we did for the central force program.
sherman is then defined as usual, sherman csupcsdown
csup+csdown .
10
Figure 17: Plotting F[s] (purple), G[s] (blue), and H[s] (grey)
program, it would take about five days to run. While this isnt prohibitively long, it is certainly inconvenient,
especially when attempting to debug the code. It is possible that using a different programming language
would lead to a faster runtime, depending on how efficient the differential equation tools in that language
are. Another possible fix is to evaluate the program at, say, 200 evenly spaced points, and then create an
interpolated function to use for the random s-values. Since interpolated functions evaluate in fractions of a
second, this would cut the runtime down by a few orders of magnitude.
d s() ds
() = | | (20)
d sin() d
Note that this formula requires having s as a function of and not as a function of s as we have in our
computer programs above.
11
4.1 Exact solution
The exact solution would mean determining the trajectory
A x Ch y A y Ch x
x = + y = + (21)
m (x2 + y 2 )3/2 2 (x2 + y 2 )3/2 m (x2 + y 2 )3/2 2 (x2 + y 2 )3/2
either by solving as a function of time or by somehow expressing x as a function of y. I have no idea how to
approach this besides endless algebra manipulation.
12
Figure 20: Quantities used in the impulse approximation
R r du
(s) = 2 0
r
2mE 2mV ( 1 )
L2
L2 u u2
d d
R r du
dr = 2 dr 0
r
2mE 2mV ( 1 )
L2
L2 u u2
d ds d
R r du
ds dr = 2 dr 0
r
(26)
2mE 2mV ( 1 )
L2
L2 u u2
R r 1
ds d du ds
d = 2 dr 0
r
dr
2mE 2mV ( 1 )
L2
L2 u u2
1
ds 1 ds
d = 2 q 2mE 2mV (r) dr
L2
L2 r 2
d
R r du 1
The problem comes in the last step; dr 0
r 6= q
2mV (r)
. For a function of two
2mE 2mV ( 1 ) 2mE
L2 r 2
L2
L2 u u2 L2
d
R r du
In our case, our integrand dr 0
r
1
doesnt depend on just u, but on our limit of integration
2mE 2mV ( )
L2
L2 u u2
r as well. It is not immediately apparent, because the dependence is buried in the L, but for a fixed energy,
changing the distance of closest aproach (rm ) must change the angular momentum. Thus, this method will
ds
not work to calculate d .
13
Figure 21: (s) (left) and s() (right). Note that s() is made of two functions, in green and blue.
R
p
~
F~ (~r(t))dt
R v0 v0 t
=
(A (s2 +vs2 t2 )3/2 + Cmh
2 (s2 +v02 t2 )3/2 , A (s2 +v02 t2 )3/2 )dt
0
R v0
=
(A (s2 +vs2 t2 )3/2 + Cmh
2 (s2 +v02 t2 )3/2 , 0)dt
(29)
0
R As Cmh
= ([ + 2 ] (s2 +t12 )3/2 , 0)dt
v0
= ([ As
v0 +
Cmh 2
2 ] s2 , 0)
Now, the initial momentum of the particle is (0, mv0 ), so the final momentum is then ([ As Cmh 2
v0 + 2 ] s2 , mv0 ),
resulting in a scattering angle of
A Cmh
= tan1 (30)
Es 2mEs2
We can invert the equation, to find that
A Cmh
tan()s2 + s+ =0 (31)
E 2mE
and so by the quadratic formula,
q
A A2 4Cmh tan()
E E2
2mE
s= (32)
2 tan()
This indicates two things: first; for most values, there are two impact parameters which will produce ;
second, for certain angles there are no impact parameters which will produce . For an impact parameter
to exist, we must have
A2 4Cmh tan()
E2
2mE
0
A2 4Cmh tan()
E2
2mE
(33)
A2 2mE
4CmhE 2 tan()
1 A2 2mE
tan ( 4CmhE 2 ) 2
In Figure 21 we plot of (s) and s() for a spin-up electron. Note that s() is in fact a composite plot,
with two functions stiched together to create the overall curve.
Lets label the two pieces of s() for spin up electrons s1 () and s2 ().
14
Figure 22: A Sherman function for Z=79, E=46 KeV, using the impulse approximation. Calculated in blue,
predicted in green.
q
A A2 4Cmh tan()
E + E 2
s1 = 2mE
q 2 tan() (34)
A A2 4Cmh tan()
E E 2
s2 = 2 tan()
2mE
d s1 () ds1 s2 () ds2
() = + (36)
d sin() d sin() d
Now,
q
4Cmh A A2 4Cmh A
ds csc()[ sec()+2 csc() E ( E 2 2mE tan() E )]
2mE
d
1
= q
A2 4Cmh
4 E2 tan()
2mE q
A2
ds csc()[ 4Cmh
sec()+2 csc() EA
( E 4Cmh
A
2 2mE tan() E )]
2mE
d
2
= q
A2 4Cmh
4 E2 tan()
2mEq
A2
(37)
ds csc()[ 4Cmh
sec()+2 csc() EA
( E 4Cmh A
2 + 2mE tan() E )]
2mE
d
1
= q
A2 4Cmh
4 E 2 + 2mE tan()
q
4Cmh A A2 4Cmh A
ds csc()[
2mE
sec()+2 csc() E ( E 2 + 2mE tan() E )]
d
2
= q
A 2 4Cmh
4 E 2+
tan()
2mE
Using these equations for Z=79, E=46 KeV results in the Sherman function shown in Figure 22. The
calculated Sherman function is shown in blue, while the predicted Sherman function is shown in green.
Notice that in this impulse approximation, there are no electrons scattered past 2 . Note also that while
the results dont qualitatively match the predicted values, they at least give a good order-of-magnitude
estimate of the effect.
15
The tails in the figure, near 1, are the angles to which only spin-up or spin-down electrons can scatter
to. Recall that for spin-up electrons,
2
1 A 2mE
tan ( ) (38)
4CmhE 2 2
Similarly for spin down electrons,
1 A2 2mE
tan ( ) (39)
4CmhE 2 2
2
Therefore, tan1 ( A 2mE
4CmhE 2 ) should abruptly become completely spin-up polarized, while
1 A2 2mE
tan ( 4CmhE 2 ) should become abruptly spin-down polarized. Thus despite appearances, the tails are not
the result of a rounding/zero-over-zero computing error, but should be expected.
By standard computations, we can find the trajectory r(). See chapter 3 of Goldstein.
r
L2 1 2EL2
r() = , e= 1+ (41)
mA 1 + e cos() mA2
R
The integral of the spin-orbit force over this trajectory, F~ (~r(t))dt, will approximate the momentum
change due to the spin-orbit force. Note that the trajectory above does not provide ~r as a function of time,
but rather simply gives the path the particle follows. However, we can avoid calculating ~r(t) by the following
trick:
R
~
p =
F~ (~r(t))dt
R
=
F~ (r(t), (t))dt
R
=
F~ (r((t)), (t))dt (42)
R cos1 (1/e) F~ (r(),)
= cos1 (1/e)
d
R cos1 (1/e) mr2 F~ (r(),)
= cos1 (1/e) L d
L
since = mr ~
2 for the Coulomb force. We then merely need to express F in terms of through substitution,
2~
and integrate r F over . This should give a much better estimation of the Sherman function (it certainly
wont cut off at 2 ).
16
Figure 23: Vectors used in calculating the Born approximation.
~ ~
eikb ~r V (r~0 )(r~0 )d3 r~0 eikb ~r [ Ar + rC3 L S](r~0 )d3 r~0
R R
=
R ei~kb ~r 1 3 R ei~kb ~r (47)
~0 1
d3 r~0
= A r 2 d r + C r3 L S 2
We want to evaluate each of these integrals. First, we define a few vectors and constants. Let ~ka = kx
be the wavevector for the incident wave. Let ~q = ~kb ~ka , so then |~q| q = 2k sin( 2 ). Finally, let be the
angle between ~q and y, so that = 2 . All of these quantities are illustrated in Figure 23.
17
~ ~
eikb ~
r
er eikb ~r
1
d3 r~0 1 3 ~0
R R
A r 2 = A lim0 r 2 d r
R er ei~kb ~r eikx 3
= A lim0 ~0
r eikx d r
R er ei~q~r 1 3
= A lim0 ~0
r 1 d r
R R R 2
A lim0 0 0 0 r sin()er eiqr cos() 11 dddr
=
RR1
2A lim0 0 1 rer eiqru 11 dudr
=
R r iqr (48)
2iA
eiqr ) 11 dr
= q lim0 0 e (e
R r
4A
sin(qr) 11 dr
= q lim0 0 e
4A q 1
= q lim0 q 2 +2 1
4A 1
= q2 1
A 1
= k2 sin2 ( 2 ) 1
~ ~
eikb ~
r
eikb ~r
1
d3 r~0 [Lx Sx + Ly Sy + Lz Sz ] 12 d3 r~0
R R
C r3 L S 2 = C r3
R ei~kb ~r
Ch
[Lx 21 + iLy 1 ~0
3
= 2 r3 1 + Lz 2 ]d r
2
~ ikx ikx
eikb ~ r
eikx
Ch
[Lx eeikx + iLy e ~0
R 3
= 2 r3 eikx + Lz eikx ]d r
(49)
2 i~ kb ~
r ikx ikx
Ch k e
[iz e e 3 ~0
R
= 2 r3 eikx y eikx ]d r
i~
q ~
r
Ch2 k 1 zei~q ~
r
d3 r~0 + ye r3 d3 r~0 )
R R
= 2 1 (i r3
18
Z A
k2 sin2 ( 2 )
+ Cih2 cot( 2 )
i~
e kb ~
r
V (r~0 )(r~0 )d3 r~0 = (53)
A
k2 sin2 ( 2 )
Cih2 cot( 2 )
eikr a ib
s = (60)
r a + ib
19
and we have
eikr a+ib eikr aib
hs | z |s i = r aib z r a+ib
1 a+ib
aib
= r 2 aib aib
(61)
1 2
= r 2 (a + b2 a2 b2 )
= 0
20