Exercises (13)

Assigned: April 19
Due: April 30

Setup your Notebook (in-Class)

Copy the Crank-Nicholson formula from the class notebook, 13-QuantumPotentials.nb, that advances the wavefunction in unit time steps. 

Also, copy the initial condition function that creates an initial wave-packet of a given size and momentum. These functions are called cnStep[…] and initial[…][x]. (If you wish, you may also want to copy the function plotψ[…].)

Solution

cnStep[ψ_List, v_List] := Module[{sparseA,r,len},
len = Length[ψ];
sparseA = SparseArray[{{i_,i_} :> 1 + I (1.0 + v[[i]]) 0.5, {i_,j_}/; Abs[i-j] ==  1 -> - I 0.25}, {len, len}, 0.0];
r =  ListConvolve[{I 0.25,1.0 - I 0.5, I 0.25},ψ, 2, 0.0] - I ψ v 0.5;
(* fixed boundaries *)
sol = LinearSolve[sparseA,r];
sol]

cnStep[a_List,b_List,v_List][ψ_List] :=  Module[{sparseA,r,len},(* a faster, pre-defined version of cnStep *)
len = Length[ψ];
sparseA = SparseArray[{Band[{1,2}] -> a, Band[{1,1}] -> b, Band[{2,1}] -> a},len];
r =  ListConvolve[{I 0.25,1.0 - I 0.5, I 0.25},ψ, 2, 0.0] - I ψ v 0.5;
LinearSolve[sparseA,r]]

(* apply cnStep multiple times *)cnStep[n_Integer][ψ_List, v_List] := Nest[cnStep[#,v]&, ψ, n];
cnStep[n_Integer,a_List, b_List, v_List][ψ_List] := Nest[cnStep[a,b,v][#]&, ψ, n];

initial[k_,x0_,s_][x_] := Exp[I k x] Exp[-((x-x0)/(2 s))^2]/Sqrt[ Sqrt[2 π s^2]];

plotψ[ψ_List,options___]:=Module[{p1,p2,p3,p4},p1=ListPlot[Re[ψ],PlotStyle->RGBColor[0,0,1],Joined->True,DisplayFunction->Identity];p2=ListPlot[Im[ψ],PlotStyle->RGBColor[1,0,0],Joined->True,DisplayFunction->Identity];p3=ListPlot[Abs[ψ],Joined->True,DisplayFunction->Identity];p4=ListPlot[-Abs[ψ],Joined->True,DisplayFunction->Identity];Show[p1,p2,p3,p4,DisplayFunction->$DisplayFunction,options]];

Tunneling

In this problem, you are to compute the reflection and transmission coefficient through a potential barrier. When the barrier than the kinetic energy of the incident particle, the particle "tunnels" through the barrier! Of course, this is impossible for a classical particle. Tunneling is a quantum mechanical process that is important to many phenomena, from practical semiconductor devices to understanding natural radioactivity.

Part 1: Defining the Potential Barrier (In Class)

Define your potential barrier as used in the Section entitled "Potential Barriers (2)". Demonstrate that your notebook properly computes the evolution of the quantum wavefunction as it interacts with the barrier.

Solution

nGrid=200;
v0=+1.0;
v=Table[If[-10≤x≤10,v0,0.0],{x,-(nGrid/2)+1,(nGrid/2)}];
a=Table[-I 0.25,{i,1,nGrid-1}];
b=Table[1.0+I (1.0+v[[i]]) 0.5,{i,1,nGrid}];
ListPlot[v,PlotLabel->"Potential Barrier = "<>ToString[v0],Joined->True]

k0 = 0.6;
Print["Particle Energy = ", k0^2/2];ψ0 = Table[initial[k0,nGrid/4,8][x], {x, 1, nGrid}];plotψ[ψ0, PlotRange-> All]

sol=NestList[cnStep[a,b,v][#1]&,ψ0,200];
ListDensityPlot[Abs[sol],Mesh->False,ColorFunction->Hue,PlotRange->All,PlotLabel->"V0 = "<>ToString[v0]<>"; E0 = "<>ToString[((k0^2)/2)]]

Part 2: Observing Tunnelling

Change the height of the potential barrier, and observe how the changes in the wavefunction solution. Can you observe the conditions when quantum tunneling is significant? Can you see changes in the reflected wavefunction? What happens when the potential barrier height is lower than the incident energy of the particle?

Part 3: Quantifying Tunnelling

Integrate the probability of finding the particle within each of the three regions as a function of time: (1) to the left of the barrier, (2) within the barrier, and (3) to the right of the barrier. (Of course, the sum of all three must equal to unity!) Examine the variation of these probabilities for several values of the barrier height.