MATLAB
RESOURCES QUANTUM
MECHANICS
Ian
Cooper matlabvisualphysics@gmail.com TIME DEPENDENT SCHRODINGER EQUATION FINITE DIFFERENCE TIME DEVELOPMENT METHOD FREE PARTICLE: GAUSSIAN WAVEPACKET PROPAGATION DOWNLOAD DIRECTORY
FOR MATLAB SCRIPTS simpson1d.m Function for [1D] integration QMG24D.m Propagation of Gaussian wavepacket ColorColde.m A
function used to represent the complex phase of the Gaussian wavepacket as a
coloured sequence. LINKS [1D] time dependent Schrodinger Equation
using the Finite Difference Time Development Method (FDTD). link Expectation values link GAUSSIAN PULSE
PROPAGATION As an example of solving the[1D] time dependent
Schrodinger equation for a free particle (unbound particle), let’s
consider an electron confined to the X axis in the region from to . The electron is represented by a wavepacket
to localize
it. An initial state
described by the Gaussian function is where A is a
normalized constant and is calculated so that , xc is the
centre of the Gaussian wavepacket, s
determines its width and is the wavelength. The time evolution
of the wavepacket is found from
its initial state by solving the [1D] time dependent Schrodinger Equation using the
Finite Difference Time Development Method (Script QMC24D.m).
This
unbound state is in a classically allowed region and so the energies of the
system are not quantized and the total energy E can
vary continuously. In the
Script QMC24C.m, the initial state (t = 0) of
the wavepacket is expressed in terms of its real
(yR) and imaginary (yI) parts:
yR = exp(-0.5.*((x-x(nx1))./s).^2).*cos((2*pi).*(x-x(nx1))./wL); yI
= exp(-0.5.*((x-x(nx1))./s).^2).*sin((2*pi).*(x-x(nx1))./wL); The particle represented
by a wavepacket is localized in space with an approximately well-defined
momentum or wavelength .
However, the momentum or wavelength are not precisely defined for a
wavepacket as momentum is not an eigenfunction but a mixture of momentum of
eigenfunctions with a whole range of momentum values centre around .
nominal or peak or centre
momentum of wavepacket nominal or peak or centre
wavelength of wavepacket When the wave
packet strikes a boundary at x = 0 or x = L, reflections occur. This may cause
problems, so it may be necessary to terminate a simulation before any
reflections occur. The accuracy of the FDTD
method is improved as and are made smaller.
The numerical predictions are more accurate and consistent with a large value
of . should always
be an odd number, otherwise the integrations by Simpson’s rule will
give wrong results. Simulation
parameters for Script QMC24D.m Nx
= 701
number of grid points for x-axis Nt =
7000
number of time steps L = 5x10-9
m
simulation region xC = 1x10-10
m
centre of pulse S =
L/25
width of pulse = 1.5x10-10
m
wavelength An
animation of the time evolution of the Gaussian wavepacket is shown in figure
1. Fig.
1. Animation of the
Gaussian wavepacket from its initial state. The top graph shows the real part of the wavefunction, the middle graph
the imaginary part, and the bottom
graph, the probability density. Fig.
2. The uncertainties in the
position and
momentum , and the product of the
uncertainties . The Heisenberg
Uncertainty Principle is satisfied
since . You will notice that the width of the
wavepacket grows with time, i.e., wavepacket
spreading.
Although,
the wavefunction develops real and imaginary parts, both of which have lots
of wiggles, the probability density turns out to be another Gaussian function
with a width that increases with time. Eventually, the width of the
wavepacket is proportional to time (figure 2). The
initial wavefunction has a spread of momentum and this distribution of
momentum remains constant for a free particle because there are zero forces
to change it. Since there is a spread in possible momenta, there is also a
spread in velocities . This spread in velocities gives
rise to the uncertainty in position of the particle that increases with time. The
wavepacket as it spreads propagates in the +X direction. Since there are zero
forces acting on the system, the momentum of the wavepacket is constant, as a
result, the expectation values of momentum, total energy, kinetic energy and
potential energy are constants, independent of time. In the time evolution of the wave packet the
Heisenberg Uncertainty Principle is satisfied. You can decrease the width of the
wavepacket and run a simulation. You will notice that decreasing the spatial
width of the initial wave packet increases the spread of momenta and
therefore increases the rate at which the wavepacket spreads. Table 1.
Summary of the simulation parameters and computed results. The classical
values are determined by the calculating the velocity from the
distance travelled by the
pulse in the time interval (). The classical velocity is the
speed at which the centre of the wavepacket propagates and this speed is
called the group velocity . For the wave nature of the
wavepacket, the momentum and energy are given by the equations and where
the subscript 0 indicates the nominal value. If you inspect the animation of
the propagation of the wavepacket, you will observe “ripples”
moving within the wavepacket and they propagate at the nominal phase velocity, . The wavepacket as a whole moves at the group velocity which is twice as fast
as the ripples within it moving at the phase velocity, or The
wavepacket is a mixture of waves moving at a whole range of velocities, so as
it moves along, some of these components move faster than others. Soon this dispersion causes the wavepacket to spread
out (just as a large group of hikers naturally spreads out along the trail,
with the faster ones in
the lead and the slower ones behind). Although the wavelength of the
oscillations within the packet is initially uniform, it will not remain
uniform. The wavepacket moves and spreads, its leading edge will contain
shorter-wavelength (higher-velocity) oscillations, while its trailing edge
will contain longer-wavelength (lower-velocity) oscillations. Meanwhile the
peak amplitude of the wavepacket will decrease, to conserve probability as
the width increases as illustrates in the animation of figure 1. The
initial kinetic energy K and its momentum p of our electron (mass me) can be estimated from its wavelength using the equations of
classical physics and de Broglie’s equation Using the default values for the simulations: U = 0
eV
which are in agreement with the expectation values given in Table 1. All that can happen to a classical particle is
that it can move from one position to another. But, a quantum mechanical
wavepacket undergoes a more complicated evolution with time in which the
whole probability distribution shifts and spreads with time. The Ehrenfest’s theorem is a general statement about the rates of change
of and in
quantum-mechanical systems. Ehrenfest’s theorm If a particle of mass m is in a state described by a normalized
wavefunction in a system with a potential energy function , the expectation values of position and momentum of the
particle obey the equations In this simulation, you can see that Ehrenfest’s theorem is satisfied. The momentum and
its uncertainty remain constant. The distance d that the peak of the probability distribution
moves in the time interval is
We can
perform a Fourier transform on the wavepacket function to compute the power
spectrum density (psd) in momentum space . Figure 3 shows the psd in momentum space for =0.15 nm and =0.30 nm Fig.
3. Power spectral density
functions in momentum space ( blue:
t(0), red;
t(end) ). The Fourier transform of a Gaussian function is a Gaussian
function. Top graph (=0.15 nm) and bottom graph (=0.30 nm). Doubling the wavelength
results in a halving of the nominal momentum and a wider spectral
distribution in momenta. The width of the Gaussian psd
function is independent of the width of the Gaussian function representing
the wavepacket, and independent of time. The Fourier
transform is computed by integration of the Fourier integral and not by the FFT method % Fourier
transform PSI at t = 0 K =
1/wL xMin = 0; xMax = L; KMax =
2/wL0; KMin= -KMax; nK = 2001; K = linspace(KMin,KMax,nK); hP
= psiR(1,:);
HP = zeros(1,nK); for c
= 1:nK g = hP.* exp(1i*2*pi*K(c)*x); HP(c) = simpson1d(g,xMin,xMax); end % HP = HP./max(HP); psd
= conj(HP).*HP; hP = psiR(Nt,:); HP = zeros(1,nK); for c
= 1:nK g = hP.* exp(1i*2*pi*K(c)*x); HP(c) = simpson1d(g,xMin,xMax); end You can also visualize
the complex phase of the wavepacket,
where a colour is used to represent the phase between the real and imaginary
components. Figure 4 shows the complex phase of the Gaussian wavepacket at
the start and end of the simulation period. Figure 5 shows an animation of
the changing complex phase changes as the wavepacket propagates. The Script
runs very slowly when the animation shown in figure 5 is displayed in a
Figure Window. Fig. 4. The complex phase of the
Gaussian wavepacket at the start and end of the simulation period. Fig. 5. Animation of the complex phase as
the Gaussian wavepacket propagates. The following
results are the outputs displayed by running the simulation with a doubling
of the nominal wavelength. Since the nominal wavelength is doubled, then the nominal
momentum and group velocity are halved. So, the wavepacket will only travel
half the distance in the same time interval of 0.62 fs. |