Chapter 5 - Introduction to Quantum Models

ECE539 - Advanced Theory of Semiconductors and Semiconductor Devices
Numerical Methods and Simulation / Umberto Ravaioli
Introduction to Quantum Models
1
Schrödinger Equation
One of the goals of quantum mechanics is to give a quantitative description on a microscopic scale of individual elementary objects (e.g. electrons, photons, atoms, etc.) which
behave both like particles and waves, exhibiting diffraction and interference phenomena. Propagation cannot be described by a trajectory r(t) as for a classical particle, but by a
field-like quantity ψ(r, t) called wavefunction. The simplest wavefunction is a plane-wave
ψ = Ψ0 exp[i(k · r − ωt)]
(1)
The wavevector k and the angular frequency ω are properties of the wave and are related
to momentum and energy (particle properties) according to the postulates expressed by the
relations
p = h̄k
(2)
E = h̄ω
(3)
The wave properties ω and k and the the particle properties E and p are linked by dispersion
relations ω = ω(k) and E = E(p). For an electron in vacuum, the energy dispersion relation
assumes the well known parabolic form which gives the kinetic energy as
E=
p2
h̄2 k 2
=
2m0
2m0
(4)
where m0 = 9.1 × 10−31 [kg] is the rest mass of the electron. A plane-wave infinitely extends
in both space and time and represents a mathematical limit. To describe realistic situations,
more complicated wavefunctions can be constructed as superposition of plane waves.
Z Z Z
ψ(r, t) =
Ψ0 (k) exp [i(k · r − ω(k)t)] d3 k
(5)
When the wavefunction has an appreciable magnitude only over a relatively small volume,
we have a wavepacket. At a sufficient distance the wavepacket can be considered a pointlike object, propagating through space along a particle-like trajectory.
The wavefunction ψ(r, t) plays the role of probability amplitude while |ψ(r, t)|2 is a
probability density, such that
Z Z Z
|ψ(r, t)|2 d3 r = 1
(6)
The above relation is used to normalize the wavefunction, to determine the normalized
distribution of the coefficients Ψ0 (k).
The evolution of the wavefunction is described by the time-dependent Schrödinger equation
1
h̄
∂ψ(r, t)
h̄2
=−
∇2 ψ(r, t) + V (r)ψ(r, t)
∂t
2m0
(7)
Note that the wavefunction is complex, as clearly indicated by the example in (1), and
the Schrödinger equation is equivalent to two equations for the real and imaginary parts of
ψ = <(ψ) + =(ψ) :
h̄
h̄
∂<(ψ)
h̄2
∇2 =(ψ) + V (r)=(ψ)
=−
∂t
2m0
(8)
∂=(ψ)
h̄2
∇2 <(ψ) − V (r)<(ψ)
=
∂t
2m0
(9)
The above equations indicate that the rate of change in time of the real part of the wavefunction depends on the imaginary part, and vice versa. It should also be pointed out that
the first term on the right hand side of (7) represents the kinetic part of the Hamiltonian
of the system and originates from the parabolic dispersion relation (3).
In operator notation, the solution to Schrödinger equation is

ψ(r, t) = exp (− Ht) ψ(r, 0)
h̄
(10)
where
h̄2
∇2 + V (r)
(11)
2m
is the Hamiltonian of the system. Equation (10) represents a formal solution of the
Schrödinger equation as a first order differential equation in time. For a numerical solution,
we need a discretized form
H = −

ψ̄(t + ∆t) = exp(− H∗ ∆t)ψ̄(0)
h̄
(12)
where H∗ is a matrix representing the discretized Hamiltonian and ψ̄(t) is the solution
vector defined on the mesh points of the discretization.
The term exp(− h̄ H∗ ∆t) represents the exponential of an operator, and cannot be used
directly. The space discretization approaches for the Schrödinger equation (7) must yield
a solution which behaves like (12), providing a suitable approximation for the exponential
term. The quality of the approximation is reflected in two important properties of the
solution: (a) stability of the time iteration; (b) conservation of the wavefunction probability.
2
1–D Time–Dependent Schrödinger Equation
In this section we examine several finite difference approaches for the solution of the 1–D
time dependent Schrödinger equation
h̄2 ∂ 2 ψ(x, t)
∂ψ(x, t)
=−
+ V (x)ψ(x, t)
∂t
2m
∂x2
assuming a uniform mesh discretization of the domain, with mesh size ∆x.
h̄
2
(13)
2.1
Simple explicit method
A simple discretization of the Schrödinger equation on a uniform mesh can be attempted
by direct application of finite differences to the time and space differential operators
h̄ ψ(i − 1; n) − 2ψ(i; n) + ψ(i + 1; n) V (i)
−
ψ(i; n + 1) = ψ(i; n) + ∆t
ψ(i, j)
2m
h̄
∆x2
(14)
In operator notation, this method can be written as

ψ̄(n + 1) = I − H∗ ∆t ψ̄(n)
h̄
(15)
where I is the unity matrix and H∗ is the tridiagonal matrix for the discretized Hamiltonian
obtained from the second term on the right hand side of (15). This simple approach is
numerically unstable. The exponential operator in (13) is not correctly approximated by
the transformation matrix (I − h̄ H∗ ∆t), which is not unitary and has eigenvalues with
modulus larger than 1.
2.2
Three level explicit method
A stable and unitary discretization is obtained by applying a centered time difference which
leads to a three-step explicit method
h̄ ψ(i − 1; n) − 2ψ(i; n) + ψ(i + 1; n) V (i)
−
ψ(i; n)
2m
h̄
∆x2
(16)
For this three time level scheme, an approximate form of the operator notation, linking the
solution at times (n − 1) and (n + 1) separated by 2∆t, can be obtained from (16) by using
the linear interpolation
ψ(i; n + 1) = ψ(i; n − 1) + 2∆t
ψ̄(n + 1) − ψ̄(n − 1)
= ψ̄(j)
2
(17)
to eliminate the intermediate solution ψ̄(j)
ψ̄(n + 1) =
I − ∆tH∗ /h̄
ψ̄(n − 1)
I + ∆tH∗ /h̄
(18)
The matrix approximating the exponential propagator provides a unitary transformation,
which makes the method stable and physically acceptable.
2.3
Fully implicit method
The fully implicit method is obtained by discretizing the left hand side of Schrödinger
equation at timestep (j + 1), to obtain the following algorithm
−
∆t h̄
(ψ(i − 1; n + 1) − 2ψ(i; n + 1) + ψ(i + 1; n + 1))
∆x2 2m
V (i)
+ ∆t
ψ(i; n + 1) + ψ(i; n + 1) = ψ(i; n)
h̄
3
(19)
This method is numerically stable. However, the corresponding operator form of the solution
is
ψ̄(n + 1) = (I +
 ∗
H ∆t)−1 ψ̄(n)
h̄
(20)
from which one can readily see that the norm |ψ(x)|2 dx = 1 is not conserved, i.e. the
scheme does not correspond to a unitary transformation and leads to unphysical results.
R
2.4
Semi-implicit method
The right hand side of the Schrödinger equation is discretized as an average of the operator
at both timesteps, similarly to the Crank-Nicholson approach for the diffusion equation.
ψ(i; n + 1) − ψ(i; n)
1
= [RHS(n + 1) + RHS(n)]
(21)
∆t
2
In the literature, the technique is also known as Cayley method. The resulting algorithm is
h̄
!
2mh2
V (i) − 2 ψ(i; n + 1) + ψ(i + 1; n + 1) =
ψ(i − 1; n + 1) + Co −
h̄2
!
2mh2
−ψ(i − 1; n) + Co +
V (i) + 2 ψ(i; n) − ψ(i + 1; n)
h̄2
(22)
where
4m∆x2
h̄∆t
The solution in terms of operator transformation can be written as
Co =
ψ̄(n + 1) =
I − ∆tH∗ /(2h̄)
ψ̄(n)
I + ∆tH∗ /(2h̄)
(23)
(24)
which is practically equivalent to (18) for the three level explicit approach. Therefore, this
method is also stable and unitary.
From the analysis above, it follows that numerical solutions of the 1–D time–dependent
Schrödinger discretized with finite differences can be accomplished using the three level
explicit scheme or the Crank–Nicholson implicit scheme. The explicit approach requires
more memory storage, since the solution at three time levels must always be known. The
implicit scheme requires the solution of a tridiagonal matrix at each timestep, as seen in the
case of the 1–D diffusion equation. The analysis of stability conditions is left as an exercise
for the reader.
3
Schrödinger equation for a semiconductor
In a solid, momentum space is periodic and the true wavefunction is approximately the
product of a periodic Bloch function and an envelope function. Now, k is the so called
crystal momentum, and the energy dispersion relation, expressed as E = E(k), is usually
known as the bandstructure. The Schrödinger equation can be used to study the evolution
of the envelope wavefunction for an electron in the conduction band, provided that the
4
effective mass m∗ is used in the Hamiltonian. A parabolic dispersion relation as in (4) is valid
in correspondence of momentum space regions (valleys) surrounding specific values kvi , not
necessarily zero, at which the kinetic velocity and the associated mechanical momentum
vanish. Dispersion relations like (4) can be still be used in each valley, provided that an
effective momentum ki = k − kvi is used.
When the Schrödinger equation is applied to semiconductors in the effective mass approximation, the potential V (r) is assumed to be only the electrostatic potential, since the
effect of the periodic crystal potential is accounted for by the effective mass itself. Equation
(7) can again be used for relatively low energies close to the bottom of the conduction band,
where a parabolic dispersion relation is a good approximation.
In semiconductors, some of the most interesting applications of Schrödinger equation
involve spatially varying material compositions and heterojunctions. The effective mass
approximation can still be used with some caution. Since the effective mass is a property
of a bulk, it is not well defined in the neighborhood of a sharp material transition. In the
hypothesis of slow material composition variations in space, one can adopt the Schrödinger
equation with a spatially varying effective mass, taken to be the mass of a bulk with the
local material properties. However, it can be shown that the Hamiltonian operator in (7)
is no longer Hermitian for varying mass. A widely used Hermitian form brings the effective
mass inside the differential operator as
−
h̄2
∇·
2
1
∇ψ
m∗
(25)
This approach is extended to abrupt heterojunctions, as long as the the materials on the two
sides have similar properties and bandstructure, as in the case of the GaAs/AlGaAs system.
One has to keep in mind that very close to the heterojunctions the effective mass Schrödinger
equation provides a reasonable mathematical connection between the two regions, but the
physical quantities are not necessarily well defined. For instance, in the case of a narrow
potential barrier obtained by using a thin layer of AlGaAs surrounded by GaAs, it is not
obvious what effective mass should be used for the AlGaAs, since such a region cannot be
certainly approximated by a bulk.
Assuming a uniform mesh size ∆x, the Hamiltonian (25) can be discretized in 1–D
by introducing midpoints in the mesh intervals on the two sides of the generic grid point
i. First, we evaluate the outer derivative at point i with centered finite differences, using
quantities defined at points (i − 1/2) and (i + 1/2)
h̄2 ∂
1 ∂ψ
h̄2
−
≈
−
2 ∂x m∗ ∂x
2
"
1 ∂ψ
m∗ ∂x
−
i+1/2
1 ∂ψ
m∗ ∂x
#
/∆x
(26)
i−1/2
and then the derivatives defined on the midpoints are also evaluated with centered differences using quantities on the grid points
h̄2 ψ(i + 1) − ψ(i) ψ(i) − ψ(i − 1)
−
/∆2 x
−
2
m∗ (i + 1/2)
m∗ (i − 1/2)
(27)
The effective mass is the only quantity which must be known at the midpoints. If an abrupt
heterojunction is located at point i, the abrupt change in effective mass is treated without
ambiguity. It can be shown that the box integration procedure yields the same result.
Another hermitian Hamiltonian operator proposed for variable mass has the form
5
h̄2 1 2
1
−
∇ ψ + ∇2
ψ
(28)
∗
4 m
m∗
which is the linear combination of two nonhermitian operators. It is instructive to compare
the formulations (25) and (28). In 1–D, the operators can be rewritten as follows
"
h̄2 ∂
1 ∂ψ
h̄2 1 ∂ 2 ψ ∂ψ ∂
−
=
−
+
2 ∂x m∗ ∂x
2 m∗ ∂x2
∂x ∂x
"
h̄2 1 ∂ 2 ψ
∂2
−
+
4 m∗ ∂x2
∂x2
1
ψ
m∗
#
"
h̄2 1 ∂ 2 ψ ∂ψ ∂
=−
+
2 m∗ ∂x2
∂x ∂x
1
m∗
1
m∗
#
(29)
1 ∂2
+ ψ 2
2 ∂x
1
m∗
#
(30)
The second operator has an additional term involving the second order derivative of the
effective mass. For smoothly varying mass, the two approaches are approximately equivalent. If one were to use the form on the right hand side of (29) for discretization of the
operator, it is easy to see that a direct application of finite differences is awkward. The
proper procedure is to apply box integration to the interval [i − 1/2; i + 1/2]
h̄2
−
2
"
Z i+1/2
dx
i−1/2
1 ∂ 2 ψ ∂ψ ∂
+
m∗ ∂x2
∂x ∂x
1
m∗
#
(31)
Integration by parts of the first term yields
h̄2
−
2
" 1 ∂ψ
m∗ ∂x
i+1/2
−
i−1/2
Z i+1/2
i−1/2
∂ψ ∂
dx
∂x ∂x
1
m∗
Z i+1/2
+
i−1/2
∂ψ ∂
dx
∂x ∂x
1
m∗
#
(32)
The two integrals cancel, and if the result is divided by the integration length ∆x, we
recover Eq. (26).
4
2–D Time–dependent Schrödinger equation
The unitary finite difference schemes described earlier can be readily extended to the 2–D
time–dependent case. Assuming uniform mesh ∆ = ∆x = ∆y, the three-level scheme gives
the following 2-D algorithm
ψ(i, j; n + 1) = ψ(i, j; n − 1) + 
∆t h̄
[ψ(i − 1, j; n) + ψ(i, j − 1; n)
∆2 m
(33)
−4ψ(i, j; n) + ψ(i + 1, j; n) + ψ(i, j + 1; n)] −
2∆tV (i)
ψ(i, j; n)
h̄
which is solved by simple recursion.
The 2-D Crank–Nicholson algorithm is
∆t
[C0 (ψ(i − 1, j; n + 1) + ψ(i, j − 1; n + 1)
2h̄
−4ψ(i, j; n + 1) + ψ(i + 1, j; n + 1) + ψ(i, j + 1; n + 1)) + V (i, j)ψ(i, j; n + 1) +
ψ(i, j; n + 1) − ψ(i, j; n) = −
C0 (ψ(i − 1, j; n) − ψ(i, j − 1; n) − 4ψ(i, j; n) + ψ(i + 1, j; n)) + ψ(i, j + 1; n)) + V (i, j)ψ(i, j; n)]
6
where C0 = −h̄2 /(2m∆2 ). The algorithm can be rewritten in a form suitable for matrix
implementation by moving terms at timestep (n + 1) to the left and terms at timestep n to
the right. This yields a linear system with a 5–diagonal symmetric matrix.
In order to simplify the matrix solution, it is possible to use an A.D.I. approach, similar
to the one used for Poisson and diffusion equations. The time step is split into two steps of
duration (∆t)/2, and the scheme is as follows:
1) Horizontal sweep
1
∆t
1
1
ψ(i, j; n + ) +  [C0 (ψ(i − 1, j; n + ) − 2ψ(i, j; n + )
2
2h̄
2
2
1
V (i, j)
1
+ψ(i + 1, j; n + ) +
ψ(i, j; n + )] =
2
2
2
∆t
ψ(i, j − 1; n) −  [C0 (ψ(i, j; n) − 2ψ(i, j; n) +
2h̄
V (i, j)
ψ(i, j; n)]
ψ(i, j + 1; n) +
2
(34)
2) Vertical sweep
∆t
[C0 (ψ(i, j − 1; n + 1) − 2ψ(i, j; n + 1)
2h̄
V (i, j)
+ψ(i, j + 1; n + 1) +
ψ(i, j; n + 1)] =
2
1
∆t
1
1
ψ(i, j; n + ) −  [C0 (ψ(i − 1, j; n + ) − 2ψ(i, j; n + ) +
2
2h̄
2
2
1
V (i, j)
1
ψ(i + 1, j; n + ) +
ψ(i, j; n + )]
2
2
2
ψ(i, j; n + 1) + 
(35)
The A.D.I. procedure decouples adjacent rows and columns of mesh points and for every
sweep a set of tridiagonal linear systems is solved.
5
1–D Time–independent Schrödinger equation
If we consider stationary states
Ψ(r, t) = ψ(r) exp(−ωt) = ψ(r) exp −
E
t
h̄
(36)
it is easy to see that the space dependent part of the solution ψ(r) satisfies the time independent Schrödinger equation
−
h̄2
∇2 ψ(r) + V (r)ψ(r) = Eψr
2m0
(37)
which is obtained by substituting (36) in the time dependent equation (7). For a system
confined by a potential (e.g. a quantum well) Eq. (37) is an eigenvalue problem, of which
the eigenvalues are the allowed energy levels E and the eigenvectors are the corresponding
wavefunction solutions ψ(r). For an open system, we have a boundary value problem
where the energy of the wanted solution is specified, and one has to determine the space
distribution of ψ(r).
7
5.1
Confined potential systems
5.2
1–D open systems
An open system consists of a finite region which we assume to be connected to reservoirs of
particles. Waves (particles) flow between the system and the reservoirs, with the reflection
and transmission properties depending on the potential profile. Waves entering from any
separate reservoir contact can be studied with independent solutions.
Assuming a 1–D domain x ∈ [0, L] with a uniform grid with mesh size ∆x, the time
independent Schrödinger equation in 1-D is discretized with finite differences as
−
h̄2 ψ(i − 1) − 2ψ(i) + ψ(i + 1)
+ [V (i) − E]ψ(i) = 0
2m0
∆2 x
(38)
E represents the total energy, so that V (i) − E is the kinetic energy. It is convenient to set
the reference zero of the potential V (x) at the inflow boundary, so that E corresponds to
the incident kinetic energy. The kinetic energy varies spatially according to the potential
changes, and the wavenumber kx (x) varies accordingly. The knowledge of kx at the reservoir
ends allows the specification of boundary conditions.
The travelling wave at the specified energy can be assumed to be a plane wave of the
form
ψ(x) = A(x) exp[±kx (x)x]
(39)
where the negative sign in the exponential is referred to waves travelling along the negative
x–direction. Boundary conditions can be derived from (39) for both forward and backward
waves. While the exponentials in the boundary conditions are completely specified from the
knowledge of E and V (x), the prefactor A(x) is set to a conventional reference (for instance
A = 1) at one of the boundaries and the value at the other end is an outcome of the
solution. The solution for the prefactor is in general complex, and contains the information
on reflection and transmission coefficient for the wave.
In 1–D, all is needed for the solution is a recursion algorithm. For a forward travelling
wave which enters the open system at x = 0, we can set A(L) = 1 at the output boundary,
and obtain the boundary condition
ψ(N ) = exp[kx (N )L]
(40)
Here, N is the index corresponding to the right boundary. Assuming that the domain is
subdivided into N mesh intervals, the index for the left boundary is i = 0. Since a constant
potential can be assumed in a perfect reservoir, with no change in the wavevector kx , i.e.
kx (N ) = kx (N + 1), the wavefunction can be specified on an extra mesh point outside the
domain as
ψ(N + 1) = exp[kx (N )(L + ∆x)]
(41)
The knowledge of ψ(N ) and ψ(N + 1) is sufficient to calculate the value of ψ(N − 1). The
recursion can then be iterated until all the values of ψ(i) are obtained. The general recursion
algorithm can be easily obtained by rewriting (38)
"
ψi−1
#
2m∗ ∆2 x
= 2+
(V (i) − E) ψ(i) − ψ(i + 1)
h̄2
8
(42)
The potential is referenced to V (0) = 0, so that E represents the kinetic energy h̄2 kx2 (0)/2m0 ,
as well as the total energy, at the inflow point i = 0.
Because of reflection due to the potential variations, throughout the device one can
express the wavefunction as the superposition of an incident and a reflected wave
ψ(i) = I(i) exp[kx (i)i∆x] + R(i) exp[−kx (i)i∆x]
(43)
At the output, because of the constant potential in the reservoir, we assume that there
is no reflection, being R(N ) = 0 and I(N ) = A(N ). At the input we can express the total
wavefunction as
ψ(0) = A(0) = I(0) + R(0)
(44)
where A(0) is the final result of the recursion procedure. In order to determine the amplitudes of the incident wave I(0) and of the reflected wave R(0) we need an additional
relation and to do so, the solution is also obtained at a mesh point inside the reservoir
x = −∆x with index i = −1. Since we assume again that the potential does not vary inside
the reservoir, we have kx (−1) = kx (0) and we can write
ψ(−1) = I(−1) + R(−1) = I(0) exp[−kx (0)∆x] + R(0) exp[kx (0)∆x]
(45)
From (44) and (45) one obtains
I(0) =
ψ(0) exp[kx (0)∆x] − ψ(−1)
2 sin(kx (0)∆x)
(46)
Once I(0) is determined, the wavefunction throughout the device can be renormalized to
make I(0) = 1. The procedure for inflow from the right boundary is essentially identical,
with appropriate sign changes for the waves. The recursion relation becomes
"
ψi+1
#
2m∗ ∆2 x
= 2+
(V (i) − E) ψ(i) − ψ(i − 1)
h̄2
(47)
and is started assuming ψ(0) = 1 and ψ−1 = exp[−kx (0)∆x]
To find the total wavefunction from the renormalized results of the two recursion steps,
one needs to specify the injection conditions. We will consider now the case of a semiconductor system with n–type reservoirs. Assuming that the reservoir is in equilibrium with
Fermi level EF and including the effect of spin, the particle density is given by
n=
1
4π 3
Z Z Z ∞
−∞
dkx dky dkz
1
1 + exp[(E − EF )/kB T ]
(48)
The particle energy, assuming for simplicity an isotropic mass, can be decomposed as
h̄2 (ky2 + kz2 )
h̄2 kx2
E = Ex + E⊥ =
+
2m∗
2m∗
The integration over k⊥ = (ky , kz ) is performed in polar coordinates
1
n= 3
4π
Z ∞
−∞
Z ∞
Z 2π
dkx
dθ
0
0
d|k⊥ |
|k⊥ |
1 + exp[(E⊥ + Ex − EF )/KB T ]
(49)
(50)
The integration over the angle θ provides a factor 2π and a change of variable is performed
from |k⊥ | to E⊥ | using
9
√
|k⊥ | =
2m∗ E⊥
h̄
(51)
√
2m∗
d|k⊥ | = √ dE⊥
2h̄ E⊥
(52)
which gives
m∗
n= 2 2
2π h̄
Z ∞
Z ∞
dkx
−∞
0
dE⊥
1 + exp[(E⊥ + Ex − EF )/kB T ]
(53)
The integration over E⊥ in (53) can be solved exactly according to
Z
dx
= − log[1 + exp(x)]
1 + exp(x)
(54)
from which
n=
m∗ kB T
2π 2 h̄2
Z ∞
−∞
dkx log 1 + exp
EF − Ex
kB T
(55)
From the result above, one can deduce the electron density corresponding to an incident
momentum kx as
"
m∗ kB T
EF − h̄2 kx2 /2m∗
n(kx ) =
log
1
+
exp
kB T
2π 2 h̄2
!#
(56)
The expression in (56) is used as weight to combine the incident waves which are injected
from the reservoir momentum distribution. The Fermi–Dirac distribution in the contacts
is valid close to equilibrium. Far from equilibrium, one can still use this approach to get
a qualitative solution, however, in a general situation, the boundary conditions for the
injection distribution should be adapted selfconsistently to the bias.
Once the wavefunction is determined, it is possible to evaluate the current flowing in
the structure. Using a parabolic dispersion relation, the electron current associated with a
specific momentum component is defined as
h̄k
(57)
m∗
where ρ is the charge density associated to the wavefunction. Since for a plane wave we
have
J = ρv(k) = −qψ ∗ ψ
∇ψ = kψ
(58)
we obtain another useful expression for the current
h̄
=(ψ ∗ ∇ψ)
m∗
The continuity equation for electrons has the form
J = −q
∂ρ
∂|ψ|2
= −q
=∇·J
∂t
∂t
where
10
(59)
(60)
∂|ψ|2
∂ψ
∂ψ ∗
= ψ∗
+ψ
∂t
∂t
∂t
(61)
From Schrödinger equation
1
1
∂|ψ|2
h̄ 2
h̄ 2 ∗
∇ ψ + V (r)ψ − ψ
∇ ψ + V (r)ψ ∗
= ψ∗
∗
∗
∂t
2m
h̄
2m
h̄
h̄
=
(ψ ∗ ∇2 ψ − ψ∇2 ψ ∗ )
2m∗
(62)
(63)
and since ∇ · (ψ ∗ ∇ψ) = ψ ∗ ∇2 ψ + ∇ψ ∗ · ∇ψ, we obtain
∂|ψ|2
h̄
=
∇ · (ψ ∗ ∇ψ − ψ∇ψ ∗ )
∂t
2m∗
From (60) and (64) we obtain the expression for the current
(64)
qh̄
(ψ ∗ ∇ψ − ψ∇ψ ∗ )
(65)
2m∗
In practice, one cannot select all possible values for the incident momentum kx , and the
momentum axis is discretized. Assuming a uniform discretization step ∆k, we can take the
mid–value of the mesh intervals, ki , as the average momentum for the step, so that the total
electron concentration can be expressed as
J=
n(x) =
X
n(ki )∆kψi∗ (x)ψi (x)
(66)
i
and the total current density is
qh̄ X
∂ψi (x)
∗
J(x) = − ∗
n(ki )∆k= ψi (x)
m i
∂x
(67)
=
qh̄ X
2m∗
n(ki )∆k ψi∗ (x)
i
∂ψi (x)
− ψi (x)
∂x
∂ψi∗ (x)
∂x
Note that the results shown here for the current are general and can be applied to the
time–dependent problem as well.
6
Tight-binding formulation
The finite difference discretization of Schrödinger equation, which provides a mathematical
approximation for the problem, can be reinterpreted from the point of view of physics with
the so called tight binding formulation.
The mesh points which substitute the space continuum can be taken to represent virtual
atoms, so that the grid is like a crystal lattice. The tight binding lattice emulates the plane
wave motion in the space continuum, if we assign an appropriate hopping potential between nearest-neighbor sites of the virtual lattice. Assuming parabolic bands with constant
effective mass m∗ and a uniform lattice spacing ∆, the hopping potential is
11
h̄2
(68)
2m∗ ∆2
In 1-D the tight binding lattice is a chain of points. For this case, using the Dirac notation
of quantum mechanics, we can write the tight binding Hamiltonian as
Vh = −
H = (i)
X
i
|i >< i| + Vh
X
(|i >< i + 1| + |i + 1 >< i|)
(69)
i
Here, (i) represents the energy of the site i and is given by
(i) = −2nVh + V (i)
(70)
where n indicates the space dimensions and V(i) is the potential energy. It is easy to
see that the Hamiltonian in (69) corresponds to the finite difference discretization of the
Schrödinger equation, and can be represented with the matrix
7
7.1
Applications
1-D time–dependent Schrödinger equation
The following computer code provides the solution of the 1-D time-dependent Schrödinger
equation using the Crank-Nicholson semi–implicit approach. The initial condition is a gaussian wavepacket with a specified kinetic energy corresponding to the motion of the packet
centroid. At the boundaries the wavefunction is assumed to be zero, which is equivalent to
perfectly reflecting boundary conditions.
The code reads three input files which must be provided by the user: file INPUT1.D,
which includes a number of simulation parameters, file EFMASS.D, which contains the
relative effective mass, defined on the mesh intervals (so that EFMASS(i) = m∗ (i + 1/2)),
and file VOLT.D with the potential energy distribution in Joule units, defined on the mesh
points.
C
PROGRAM SCHR1D
C
C
Basic version in complex arithmetic of the 1-D time-dependent
C
Schroedinger equation, with space-dependent effective mass.
C
C
Crank-Nicholson finite difference approach. Subroutine
C
TRIDIAG solves the resulting tridiagonal matrix.
C
C
Initial condition is a Gaussian wavepacket moving from
C
left to right.
C
C
No scaling used - M.K.S. units
C---------------------------------------------------------------------C
DEFINITION BLOCKS
C---------------------------------------------------------------------REAL K0
COMPLEX PSI,C2,UIM,A,B,C,RHS,W,G
12
C---------------------------------------------------------------------C
COMMON BLOCKS
C---------------------------------------------------------------------C
V = potential energy profile
C
PSI = wavefunction
C
COMMON /VAR1/ V(20000),PSI(20000),PACK(20000)
COMMON /VAR2/ EFMASS(20000),C1(20000),C2(20000),EEE(20000)
COMMON /MAT1/ A(20000),B(20000),C(20000),RHS(20000)
COMMON /MAT2/ W(20000),G(20000)
COMMON /MESH/ N
C---------------------------------------------------------------------C
OPEN INPUT FILES
C---------------------------------------------------------------------OPEN(unit=8,file=’INPUT1.D’)
OPEN(unit=9,file=’EFMASS.D’)
OPEN(unit=10,file=’VOLT.D’)
OPEN(unit=20,file=’OUT1.DAT’)
OPEN(unit=30,file=’OUT2.DAT’)
C---------------------------------------------------------------------C
PHYSICAL PARAMETERS
C---------------------------------------------------------------------C
HBAR = Planck’s constant/2*pi
C
ELMASS = electron mass in vacuum
C---------------------------------------------------------------------HBAR = 1.0546E-34
ELMASS = 9.1E-31
C---------------------------------------------------------------------C
IMAGINARY UNIT
C---------------------------------------------------------------------UIM=(0.,1.)
C---------------------------------------------------------------------C
INPUT - READ DISCRETIZATION AND ENERGY PARAMETERS
C---------------------------------------------------------------------C
NITER = total number of time iterations
C
DX = mesh interval
C
DT = timestep
C
SIGFACT = spread of initial wavepacket in units of DX
C
VVT = energy of particle.
C
N = number of mesh points (including boundaries)
C
ICENT = initial mesh point location of wavepacket centroid
C---------------------------------------------------------------------READ(8,*) NITER
READ(8,*) DX
READ(8,*) DT
READ(8,*) SIGFACT
READ(8,*) VVT
READ(8,*) N
13
READ(8,*) ICENT
C---------------------------------------------------------------------C
INPUT - EFFECTIVE MASS DISTRIBUTION
C---------------------------------------------------------------------DO 10 I=1,N-1
READ(9,*) EFMASS(I)
10 CONTINUE
C---------------------------------------------------------------------C
INPUT - POTENTIAL DISTRIBUTION
C---------------------------------------------------------------------DO 20 I=1,N
READ(10,*) V(I)
20 CONTINUE
C---------------------------------------------------------------------C
INITIALIZE TIME CLOCK
C---------------------------------------------------------------------TIME = 0.0
C---------------------------------------------------------------------C
ZERO (REFLECTING) BOUNDARY CONDITIONS FOR WAVEFUNCTION
C---------------------------------------------------------------------PSI(1) = (0.,0.)
PSI(N) = (0.,0.)
C---------------------------------------------------------------------C
FORM INITIAL GAUSSIAN WAVEPACKET
C---------------------------------------------------------------------C
K0=momentum of wavepacket centroid
C
SIG=spread of wavepacket
C---------------------------------------------------------------------K0 = SQRT(2.*EMS1/HBAR*VVT/HBAR)
SIG = SIGFACT*DX
C---------------------------------------------------------------------DO 200 I = 2,N-1
EEE(I) = EXP(-((I-1)*DX-ICENT*DX)**2/2./SIG**2)
PSI(I) = COS(K0*(I-1)*DX)*EEE(I)*10+
*
SIN(K0*(I-1)*DX)*EEE(I)*10*UIM
200 CONTINUE
C---------------------------------------------------------------------C
CHECK NORMALIZATION OF WAVEPACKET
C---------------------------------------------------------------------SUMO=0.
DO 300 I = 1,N
SUMO=SUMO+ABS(PSI(I))**2
300 CONTINUE
C
-------------------------------SUMO = SUMO*DX
C---------------------------------------------------------------------C
NORMALIZE WAVEPACKET
C---------------------------------------------------------------------14
DO 400 I = 1,N
PSI(I) = PSI(I) / SQRT(SUMO)
400 CONTINUE
DO 500 I = 1,N
PACK(I) = ABS(PSI(I))**2
500 CONTINUE
DO 550 I=1,N
WRITE (20,*) PACK(I)
550 CONTINUE
C---------------------------------------------------------------------C
SET-UP COEFFICIENTS FOR MATRIX CALCULATIONS
C---------------------------------------------------------------------C1 = DX**2/HBAR*2.*ELMASS/HBAR
C2 = (2.*DX**2/DT*2.*ELMASS/HBAR)*UIM
C---------------------------------------------------------------------DO 600 I=1,N-1
EMINV(I) = 1./EFMASS(I)
600 CONTINUE
C---------------------------------------------------------------------DO 650 I=1,N-1
EMINV2(I) = EMINV(I) + EMINV(I+1)
650 CONTINUE
C---------------------------------------------------------------------C
DO 2000 - OUTER TIME LOOP
C---------------------------------------------------------------------DO 2000 ITER=1,NITER
C---------------------------------------------------------------------C
This routine defines the coefficients of the tridiagonal matrix
C
C
B(i) = Main diagonal
C
A(i) = Lower diagonal
C
C(i) = Upper diagonal
C
C---------------------------------------------------------------------DO 700 I=2,N-1
B(I)=-EMINV2(I-1)+C2-C1*V(I)
C(I)= EMINV(I)
A(I)= EMINV(I-1)
700 CONTINUE
C---------------------------------------------------------------------C
This subroutine calculates the right hand side
C---------------------------------------------------------------------DO 800 I=2,N-1
RHS(I)=-PSI(I-1)*EMINV(I-1)+(C2+C1*V(I)+EMINV2(I))*PSI(I)
#
-PSI(I+1)*EMINV(I)
800 CONTINUE
C---------------------------------------------------------------------CALL TRIDIAG
15
C---------------------------------------------------------------------C
PACK=Wavefunction probability (square modulus)
C---------------------------------------------------------------------DO 900 I = 1,N
PACK(I) = ABS(PSI(I))**2
900 CONTINUE
C---------------------------------------------------------------------C
CHECK INTEGRAL OF WAVEFUNCTION
C---------------------------------------------------------------------SUM = 0.
DO 1000 I = 1,N
SUM = SUM+PACK(I)*DX
1000 CONTINUE
C---------------------------------------------------------------------C
UPDATE TIME CLOCK
C---------------------------------------------------------------------TIME = TIME+DT
C---------------------------------------------------------------------2000 CONTINUE
C---------------------------------------------------------------------DO 3000 I=1,N
WRITE (30,*) PACK(I)
3000 CONTINUE
C---------------------------------------------------------------------C
END OF TIME LOOP
C---------------------------------------------------------------------STOP
END
C---------------------------------------------------------------------C---------------------------------------------------------------------C
TRIDIAGONAL SYSTEM SOLVER
C---------------------------------------------------------------------SUBROUTINE TRIDIAG
COMMON /VAR1/ V(20000),PSI(20000),PACK(20000)
COMMON /MAT1/ A(20000),B(20000),C(20000),RHS(20000)
COMMON /MAT2/ W(20000),G(20000)
COMMON /MESH/ N
COMPLEX V,PSI,A,B,C,RHS,W,G
C---------------------------------------------------------------------C
C
Gaussian Elimination
C
C---------------------------------------------------------------------W(2)=C(2)/B(2)
C
------------------------------DO 10 I=3,(N-1)
W(I)=C(I)/(B(I)-A(I)*W(I-1))
10 CONTINUE
16
C
------------------------------G(2)=RHS(2)/B(2)
C
----------------------------------------------C
----------------------------------------------DO 20 I=3,N-1
G(I)=(RHS(I)-A(I)*G(I-1))/(B(I)-A(I)*W(I-1))
20 CONTINUE
C---------------------------------------------------------------------C
C
Backsubstitution
C
C---------------------------------------------------------------------PSI(N-1)=G(N-1)
C
---------------------------DO 30 I=2,(N-2)
K=N-I
PSI(K)=G(K)-W(K)*PSI(K+1)
30 CONTINUE
C---------------------------------------------------------------------RETURN
END
C---------------------------------------------------------------------C----------------------------------------------------------------------
17