[关闭]
@wudawufanfan 2017-01-08T12:26:07.000000Z 字数 11220 阅读 1444

The final work-Quantum mechanics


QQ截图20170108202420.jpg

Introduction

quantum mechanics, inscrutable and stupendous way of doing physics and yet, no-one knows why it works. I have always been amazed by the wonders of quantum world and always looked for the ways of grasping its significance. There are only a few problems in quantum mechanics that can be solved exactly, most notably the harmonic oscillator, a particle in the box, and the hydrogen atom.

Text

Time independent schrodinger equation

The time-independent schrodinger equation for a particle in three dimensions is

is Plank's constant, m is the mass of the particle, V is the potential energy, E is the energy of the particle, and is the wave function. When properly normalized, is the probability per unit volume that the partice will be found at .
An interesting property is that this eibenvalue problem in many cases solutions exist only for certain special discrete energy that can be solved analytically.
The simplest example is when potential is zero for free particle.
The Schrodinger equation then becomes

which has the general solution

which yeilds

A more realistic situation is that the particle is confined to a box that extends from to . The potential is zero inside the box and infinite outsid the box called infinite square potential well.
QQ截图20161227162355.jpg

For simplicity, we only discuss the direction of x.

and

Then we get a set of simple sinsoidal functions and cosine functions.
QQ截图20161227163527.jpg

numerical method for time-independent Schrodinger equation in one dimension

Clearly, the Schrodinger equation is very similar in form to the equations of motion in connection with projectiles. Starting with initial values for and we were able to numerically intergrate forward with position to obtain. If is an even function of x, the wave functions can be written as purely even or purely odd functions of x. Thus, we can set initial condition as and or and .
At the same time, we can written the usual finite-difference form


For infinite well, the wave function must vanish at the walls. This is satisfied by certain energy.The thing is – this way we can get infinitely many solutions. But not all of them are meaningful. We need to find only those solutions where does not diverge at the edges of x. If it diverges, it disobeys the condition of square-integrability: and we deal with the physical falseness.
So here’s what we do: we run value of particle’s energy E from 0 to some value, say Vo, and calculate for each E. Value of (at the far outside of the finite well – where b>>L), is put into the separate list whose roots (places where it crosses zero) are to be found. Only those energies E for which is zero are taken in consideration and represent valid state of the particle. Here we see first of many weird things happening in the quantum world – particle can not have any value for kinetic energy, only some of discrete numbers.

  1. def SE(psi, x):
  2. """
  3. Returns derivatives for the 1D schrodinger eq.
  4. Requires global value E to be set somewhere. State0 is
  5. first derivative of the wave function psi, and state1 is
  6. its second derivative.
  7. """
  8. state0 = psi[1]
  9. state1 = 2.0*(V(x) - E)*psi[0]
  10. return array([state0, state1])

(Note: I’ve put m so that , just for simplicity). This function prepares state-space only. Following function does the real job, calls the state-space function and calculates the wave function for a given energy E. It also returns value of at the location x=b to test divergence.

  1. def Wave_function(energy):
  2. """
  3. Calculates wave function psi for the given value
  4. of energy E and returns value at point b
  5. """
  6. global psi
  7. global E
  8. E = energy
  9. psi = odeint(SE, psi0, x)
  10. return psi[-1,0]

Of course, for the first step there is no previous step – that’s why we introduce variable , which holds initial conditions: and

  1. def find_all_zeroes(x,y):
  2. """
  3. Gives all zeroes in y = f(x)
  4. """
  5. all_zeroes = []
  6. s = sign(y)
  7. for i in range(len(y)-1):
  8. if s[i]+s[i+1] == 0:
  9. zero = brentq(Wave_function, x[i], x[i+1])
  10. all_zeroes.append(zero)
  11. return all_zeroes

Once we have the values of for a range of energies we need to distinguish those states where diverges. This is done using the Brent method to find a zero of the function f on the sign changing interval [a , b]. For an array of energies e we will check the sign of the . When the sign changes, it means that crosses zero point and now we can call brentq() to find the exact zero-point.
allowede.png
In this example, I put to 20(it looks like a finite well), L to 1, and m so that . We obtain only 4 four allowed bound states with energies 0.92, 3.65, 8.09, and 14.

A general potential well

325px-finite_potential_well_symmetric-svg1.png
For if we chose and we get something called symmetrical case, so left side is just mirrored right side. But if we reverse initial conditions so that and , we get antisymmetric case. Why is that so? I’ll tell you just that symmetrical states correspond to the cosine based functions, while antisymmetric correspond to the sine based functions. More about it will come a bit later.
symmetrical_e.png
symmetrical_states.png
   allowed energy and wave function for symmetrical states
antisymmetrical_e.png
antisymmetrical_states.png
  allowed energy and wave function for antisymmetrical states

You see, the odeint() requires the initial conditions at x = 0, assuming x goes from 0 to b. But what if I give it values -b < x< b? Normally, we expect to be o. But if we put initial conditions to be zero, we won’t get any non-zero result. That’s how the odeint() works, I can not prevent it. So here is where I cheat: I put x to be from -b to b, but initial conditions are not zero. Instead, they are some arbitrarily small value. Of course, odeint() will mess up values, but, interestingly, the shape of the function will stay correct!So, let’s do it again. Energies of allowed states are already calculated, it’s the first graph you see in this article. Bound states are here, presented in symmetrical and antisymmetrical case:
all_states.png

of course, I'm interesting in other figure's potential like a sphere.
此处输入图片的描述
In polar coordinates Schrödinger's equation reads:
此处输入图片的描述
Inside the well, where the potential is zero, would be set to zero.
Taking a as our length scale and as our energy scale, we gain the dimensionless form
此处输入图片的描述
we seek a solution
we find
此处输入图片的描述
and equation for is easy
此处输入图片的描述
Our "boundary condition" is that if we go round the origin exactly once, the value of the wavefunction is exactly the same, i.e., the wavefunction must be the same at and :
此处输入图片的描述
This leaves us with the r' differential equation. We will find it convenient to divide the above equation by E'-U0', but we will need to pay attention as to the sign of (E'-U0'). When (E'-U0')>0 we are in a classically allowed region, and we expect the wavefunction to oscillate with a wavelength that depends on the particle's momentum... sin(kr) like solutions are to be expected. When (E'-U0')<0 we are in a classically disallowed region, and we expect the wavefunction to exponentially decay...exp(-r) like solutions are to be expected. We'll handle both cases at the same time, sometimes by using ± signs where the top case (+ here) refers to a classically allowed region and the bottom case (- here) refers to a classically disallowed region. We substitute:
此处输入图片的描述
in our r' differential equation, producing a differential equation which I'll write in three equivalent forms:
此处输入图片的描述
The result is a little complx
此处输入图片的描述
As we expect that a second order linear differential equation should have two independent solutions, we're only half way there. is regular at =0, the other Bessel function: (also known as ) explodes at =0, and hence is not part of normalizable wavefunctions. Here are the basic large and small argument behaviors of and
此处输入图片的描述
此处输入图片的描述
As for show above, for large we expect oscillations like exp[±i]
此处输入图片的描述
此处输入图片的描述
use matlab, I can figure out Bessel function in three diemension

  1. a = 2*pi;
  2. [X Y] = meshgrid(-1:0.01:1,-1:0.01:1);
  3. R = sqrt(X.^2+Y.^2);
  4. f = (2*besselj(1,a*R(:))./R(:)).^2;
  5. mesh(X,Y,reshape(f,size(X)));
  6. axis vis3d;

此处输入图片的描述
Y and J are real functions and hence oscillate like sin and cos. If we want, we can put Y and J together to produce something that for large oscillates like exp[±i]. The results are called Hankel functions:
此处输入图片的描述
Here is the over all solution::
此处输入图片的描述
Because the angular dependence is "simple" we can usefully plot the wavefunction just as a function of r'. Here are "stacked wavefunction" plots for m=0,1,2:
此处输入图片的描述
The red line is the classical "effective potential": (which is the "centrifugal potential") plus the infinite square well. Note that the centrifugal barrier excludes non-zero m wavefunctions from the origin.

m, root E'
0,0 2.4 5.78
1,0 3.8 14.68
2,0 5.1 26.37
0,1 5.5 30.47
3.0 6.4 40.71
1,1 7.0 49.22

Quantum tunneling

In classical physics, when a ball is rolled slowly up a large hill, it will come to a stop and roll back, because it doesn't have enough energy to get over the top of the hill to the other side. However, the Schrödinger equation predicts that there is a small probability that the ball will get to the other side of the hill, even if it has too little energy to reach the top. This is called quantum tunneling. It is related to the distribution of energy: although the ball's assumed position seems to be on one side of the hill, there is a chance of finding it on the other side.
优酷录屏2016-12-28-0-9-52.gifEffetTunnel.gif
distribution of wave function along x with time

Harmonic oscillator

The Schrodinger equation for the harmonic oscillator is

It is a notable quantum system to solve for; since the solutions are exact (but complicated – in terms of Hermite polynomials), and it can describe or at least approximate a wide variety of other systems, including vibrating atoms, molecules and atoms or ions in lattices and approximating other potentials near equilibrium points. It is also the basis of perturbation methods in quantum mechanics.
The analytic solutions are

we can see the solution for n=0 is the ground state which is a even function and the first exciting state for n=1 is a odd state which means the wave function is zero at x=0.
we can plot the harmonic oscillator mode and a set of figures to suit the possible solutions
QuantumHarmonicOscillatorAnimation.gif
A harmonic oscillator in classical mechanics (A–B) and quantum mechanics (C–H). In (A–B), a ball, attached to a spring, oscillates back and forth. (C–H) are six solutions to the Schrödinger Equation for this situation. The horizontal axis is position, the vertical axis is the real part (blue) or imaginary part (red) of the wavefunction. Stationary states, or energy eigenstates, which are solutions to the time-independent Schrödinger equation, are shown in C, D, E, F, but not G or H.E is the ground state and D is the first exciting state and so on.

The uncertainty principle

Schrödinger required that a wave packet solution near position r with wavevector near k will move along the trajectory determined by classical mechanics for times short enough for the spread in k (and hence in velocity) not to substantially increase the spread in r. Since, for a given spread in k, the spread in velocity is proportional to Planck's constant ħ, it is sometimes said that in the limit as ħ approaches zero, the equations of classical mechanics are restored from quantum mechanics.Great care is required in how that limit is taken, and in what cases.


此处输入图片的描述
When converge, will diverge,and vice versa.
use the analytic method for python, we can polt both of them at the same time

a interesting example is when wave function for x is
此处输入图片的描述

we can find the momentum distribution is equally everywhere.

of course, a general wave is Gauss wave packet like following.

QQ截图20161228120429.jpg
         distribution of place and momentum
In physics, this is a famous principle called uncertainty principle which can be deduced by Schrödinger function.

which precisely show the relation between them.

Time-dependent Schrödinger

Wave_packet_(dispersion).gif

A wave function that satisfies the non-relativistic Schrödinger equation with V = 0. In other words, this corresponds to a particle traveling freely through empty space. The real part of the wave function is plotted here.

there are many interesting phenomenon in this problem, and I'll continue to do it.

codes

code1_find energy.py
code2_wave function along time.py
code3.py
code4_schord.py
code5_ bessel function
code6_fourier transform
code7_harmonic motion

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注