27.01.2015 Views

Numerical solution of the Schrödinger equation

Numerical solution of the Schrödinger equation

Numerical solution of the Schrödinger equation

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

UMEÅ UNIVERSITY December 5, 2011<br />

Department <strong>of</strong> Physics Atomic and Molecular Physics, 5p<br />

Peter Olsson<br />

<strong>Numerical</strong> <strong>solution</strong> <strong>of</strong> <strong>the</strong> Schrödinger<br />

<strong>equation</strong>


1 Background<br />

The starting point is <strong>the</strong> Schrödinger <strong>equation</strong> in a spherically symmetric<br />

potential, V(r) = −Ze 2 /4πǫ 0 r:<br />

{ −¯h<br />

2<br />

2m e<br />

∇ 2 +V(r)<br />

In spherical coordinates we have<br />

}<br />

ψ(r,θ,φ) = Eψ(r,θ,φ).<br />

∇ 2 = 1 (<br />

∂<br />

r 2 ∂ )<br />

− 1 ,<br />

r 2 ∂r ∂r r 2l2<br />

where <strong>the</strong> operator l 2 contains <strong>the</strong> terms that depend on θ and φ. If one<br />

assumes that <strong>the</strong> <strong>solution</strong> may be written as a product<br />

ψ(r,θ,φ) = R(r)Y(θ,φ),<br />

<strong>the</strong> <strong>equation</strong> separates into radial and angular parts,<br />

( )<br />

1 ∂<br />

r 2∂R<br />

R∂r<br />

∂r<br />

− 2m er 2<br />

¯h 2 {V(r)−E} = 1 Y l2 Y. (1)<br />

Since <strong>the</strong> respective sides depend on different variables <strong>the</strong> <strong>equation</strong> is only<br />

satisfied is both sides equal a constant, b. For <strong>the</strong> angular <strong>equation</strong> we have<br />

l 2 Y = bY,<br />

which is an eigenvalue <strong>equation</strong> described in detail in section 2.1.1 <strong>of</strong> C. J.<br />

Foot, Atomic Physics. The eigenvalues are b = l(l+1), where l is <strong>the</strong> orbital<br />

angular momentum quantum number.<br />

To proceed we introduce <strong>the</strong> dimensionless variable x = r/a 0 , a dimensionless<br />

energy Ẽ = E/(e2 /8πǫ 0 a 0 ), and <strong>the</strong> effective potential<br />

In <strong>the</strong>se units Eq. (1) becomes<br />

Ṽ(x) = l(l+1)<br />

x 2 − 2Z x . (2)<br />

d 2 R<br />

dx + 2 dR<br />

2 x dx + (Ẽ −Ṽ(x)) R(x) = 0.<br />

1


2 The task<br />

The purpose with this lab is:<br />

• To get (more) experience <strong>of</strong> solving differential <strong>equation</strong>s on <strong>the</strong> computer.<br />

• To get familiar with <strong>the</strong> “quantum defect” and to get a better understanding<br />

<strong>of</strong> <strong>the</strong> effect <strong>of</strong> <strong>the</strong> orbital angular momentum quantum<br />

number l.<br />

This computer lab is to be solved individually. Go through <strong>the</strong> steps below<br />

and fill in <strong>the</strong> tables. Also make some quick sketches <strong>of</strong> <strong>the</strong> various wave<br />

functions with a pen on a single sheet <strong>of</strong> paper (don’t use <strong>the</strong> printer). There<br />

is no need to write a report, but you have to show your results to <strong>the</strong> lab<br />

supervisor and discuss <strong>the</strong>m shortly.<br />

2.1 Test <strong>the</strong> method<br />

Before doing any serious calculations one has to make sure that <strong>the</strong> method<br />

works. The first step is <strong>the</strong>refore to use Matlab to solve <strong>the</strong> Schrödinger<br />

<strong>equation</strong> for <strong>the</strong> hydrogen atom. We will be using <strong>the</strong> function ode45. Note<br />

<strong>the</strong> following:<br />

• This function can solve a system <strong>of</strong> first order differential <strong>equation</strong>s;<br />

we <strong>the</strong>refore need to rewrite our second order differential <strong>equation</strong> as<br />

two first order ones. Use f(1) = R and f(2) = dR/dx. Complete <strong>the</strong><br />

expressions for <strong>the</strong> derivatives <strong>of</strong> f(1) and f(2), which are to be used<br />

below:<br />

df(1)<br />

dx =<br />

df(2)<br />

dx =<br />

• Make a text-file hydrogen.m that contains <strong>the</strong> function hydrogen with<br />

arguments x and (<strong>the</strong> vector) f. (Here v is meant to be <strong>the</strong> effective<br />

potential, Eq. (2).)<br />

2


function fprim=hydrogen(x,f)<br />

v=...;<br />

fprim=[... ; ...];<br />

This expression will <strong>of</strong> course depend on <strong>the</strong> trial energy. The simplest<br />

way to put in <strong>the</strong> trial energy is to edit hydrogen.m before each integration.<br />

Ano<strong>the</strong>r method is to let <strong>the</strong> energy be f(3), and specify its<br />

derivative to be zero, fprim=[...;...;0]. The energy is <strong>the</strong>n given<br />

as one <strong>of</strong> <strong>the</strong> initial conditions.<br />

• Call ode45 as [x,f]=ode45(’hydrogen’,[0.001 20], [1 -1]);<br />

– The first argument is <strong>the</strong> name <strong>of</strong> <strong>the</strong> routine that ode45 calls<br />

many times with different values <strong>of</strong> x and f.<br />

– The second argument is <strong>the</strong> x-interval for <strong>the</strong> integration. Why<br />

don’t we start at x = 0 (Try that, to see what happens.)<br />

Note that you will need to change <strong>the</strong> final value for x. In some<br />

cases it should better be smaller than 20, whereas you will sometimes<br />

see that you can get higher precision for <strong>the</strong> energy if you<br />

integrate out to x much bigger than 20.<br />

– The third argument gives <strong>the</strong> start values, R(0.001) = 1 and<br />

dR/dx| 0.001 = −1.<br />

• Since<strong>the</strong>wavefunctiongives<strong>the</strong>probabilitydensityfor<strong>the</strong>electron, we<br />

need wave functions that arenormalizable. This means that ∫ dr|ψ(r)| 2<br />

hastobefinite. Thiswill betrueonlyifR(r)vanishesforlarger, which<br />

will be true only for certain values <strong>of</strong> <strong>the</strong> energy, <strong>the</strong> eigenvalues.<br />

• Our approach, where we start with some arbitrarily chosen initial values<br />

for R(≈ 0) and dR/dx, doesn’t give a properly normalized wave<br />

function. That need not bo<strong>the</strong>r us if <strong>the</strong> goal is only to determine <strong>the</strong><br />

energy eigenvalues, since <strong>the</strong>y are independent <strong>of</strong> <strong>the</strong> prefactor <strong>of</strong> R.<br />

(Convince yourself <strong>of</strong> this fact.)<br />

• To plot <strong>the</strong> wave function use plot(x,f(:,1)). See <strong>the</strong> Appendix on<br />

<strong>the</strong> last page for a note on a more effective use <strong>of</strong> matlab.<br />

Calculate R(x) for n = 1, n = 2, and n = 3, so far with l = 0. In our reduced<br />

units, <strong>the</strong> energy is simply E n = −1/n 2 , independent <strong>of</strong> l. Also examine <strong>the</strong><br />

effect on <strong>the</strong> wave function <strong>of</strong> anenergy which is slightly <strong>of</strong>f <strong>the</strong> correct value.<br />

3


2.2 The lithium atom<br />

The lithium atom is a three-electron system and is much more difficult to<br />

solve exactly. It is however ra<strong>the</strong>r easy to study a rough approximation,<br />

and it turns out that even very simple models captures many features <strong>of</strong> <strong>the</strong><br />

true behavior. We will below calculate <strong>the</strong> “quantum corrections” δ s and δ p ,<br />

which turn out to be reasonably constant even in our simple approximation.<br />

In our approximation <strong>the</strong> potential felt by <strong>the</strong> outermost electron is, at<br />

large distances, given by Z = 1, but close to <strong>the</strong> core, r < a 0 (i.e. x < 1) <strong>the</strong><br />

electron feels <strong>the</strong> three protons, and <strong>the</strong> potential is, apart from an additive<br />

constant, given by Z = 3, cf. Fig. 4.7 in Foot, Atomic Physics. (Physically,<br />

this means that we assume that <strong>the</strong> two core electrons are located at a very<br />

thin shell at r = a 0 — admittedly a gross simplification.) Make a new file<br />

lithium.m with a function that implements this potential. Note that you need<br />

toaddaconstant to <strong>the</strong>x < 1-part<strong>of</strong><strong>the</strong>potential, tomake Ṽ(x) continuous<br />

at x = 1.<br />

Results with l = 0: Fix l = 0 and determine <strong>the</strong> energy eigenvalues for<br />

n = 1, 2, 3, and 4. You now have to guess an initial value <strong>of</strong> <strong>the</strong> energy<br />

which <strong>the</strong>n has to be adjusted many times to get an acceptable <strong>solution</strong> with<br />

lim x→∞ R(x) = 0. (When necessary, integrate <strong>the</strong> <strong>equation</strong> out to large x to<br />

get higher precision in <strong>the</strong> energy). Complete <strong>the</strong> table below. Calculate also<br />

<strong>the</strong> quantum correction from <strong>the</strong> expression for <strong>the</strong> energy <strong>of</strong> Alkali metals,<br />

Eq. (4.1) in Foot, Atomic physics,<br />

1<br />

Ẽ(n,l) = −<br />

(n−δ l ) 2,<br />

l = s,p,d,....<br />

For l = 0: energy eigenvalues and <strong>the</strong> quantum defect δ s .<br />

n Energy, Ẽ(n,0) δ s<br />

1<br />

2<br />

3<br />

4<br />

4


The effect <strong>of</strong> l > 0: The orbital angular momentum quantum number,<br />

l, gives a term in <strong>the</strong> potential, Eq. (2), which makes <strong>the</strong> wave function<br />

smaller close to <strong>the</strong> core. The wave functions are <strong>the</strong>n less affected by <strong>the</strong><br />

modified potential close to <strong>the</strong> core, and <strong>the</strong>refore become more similar to<br />

<strong>the</strong> hydrogenic wave functions. We <strong>the</strong>refore expect <strong>the</strong> quantum correction<br />

to be smaller for larger l. Fix l = 1 and determine <strong>the</strong> energy eigenvalues for<br />

n = 2, 3, and 4, and estimate <strong>the</strong> value <strong>of</strong> δ p in this model.<br />

For l = 1: energy eigenvalues and <strong>the</strong> quantum defect δ p .<br />

n Energy, Ẽ(n,1) δ p<br />

2<br />

3<br />

4<br />

A More effective use <strong>of</strong> Matlab<br />

(This remark is on <strong>the</strong> last point in Sec. 2.1.)<br />

The plot will appear in a new window. It is now handy to shrink <strong>the</strong> matlab<br />

window such that <strong>the</strong> two or three windows you need will fit toge<strong>the</strong>r on <strong>the</strong><br />

screen without overlapping one ano<strong>the</strong>r. Note also that it is possible to put<br />

both commands you need (calculations and plotting) on a single line.<br />

[x,f]=ode45(’hydrogen’,[0.001 20], [1 -1]); plot(x,f(:,1))<br />

Youcan<strong>the</strong>nuse <strong>the</strong> arrow-upkey to get back <strong>the</strong>command lineused before,<br />

and do both calculations and plotting in one go.<br />

With <strong>the</strong> method described above you need to change <strong>the</strong> energy value<br />

in hydrogen.m for each calculation. Since that needs to be done very many<br />

times it is much more convenient to instead give <strong>the</strong> energy as one <strong>of</strong> <strong>the</strong><br />

initial values (as described above). One can <strong>the</strong>n e.g. write<br />

[x,f]=ode45(’hydrogen’,[0.001 20], [1 -1 -0.22]); plot(x,f(:,1))<br />

where “-0.22” is <strong>the</strong> energy given as an initial value.<br />

5

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!