DYNAMICS OF A PARTICLE IN A POTENTIAL WELL
Maria Daghofer, Wolfgang von der Linden

Institut fuer Theoretische Physik

Technische Universitaet Graz

A-8010  Graz, Austria

Projekt Multimediale Lehre des

Zentralen Informatikdienstes der TU Graz



2001-12-13

Parameters

Begin["dynpotwell`"]; Clear["dynpotwell`*"];

Parameters for initial Beta-function:

Initial impulse of current-carrying Wave-function:

Maximum number of eigenstates included in spectral theorem:

Timesteps per period:

Solution of the time-independent Schroedinger equation

DSolve[{-(1/2) y''[x]==e y[x],y[0] == 0},y[x],x]

A  = 
      Simplify[ 1/(Sqrt[Integrate])[(((Sin[n π x]))^2), {x, 0, 1}], 
        n ∈ Integers]

Expansion of a function in the eigenbasis of the potential-well problem

We consider the wave-function ψ(x)  defined by the Beta-function

ψ[x_, a_, b_, Z_] =  
          (x^(a - 1)) (((1 - x))^(b - 1))/Z;

which has the correct boundary behavior, ψ(0)=ψ(1)=0,  for  a>1 and 
b>1.

The normalization follows from

Z[a_, 
          b_]  :=  (Sqrt[Integrate[ψ[x, a, b, 1]^2, {x, 0, 1}] // N]);

As an example we consider the case a=4 and b=8 and compute the 
normalization

zz = Z[a0, b0]

We plot the normalized wave-function

g1 = 
        Plot[ψ[x, a0, b0, zz], {x, 0, 1}, 
          PlotRange -> {{0, 1}, {0, 2.5}}];

We expand the wave-function in the basis (Subscript[y, n])(x)

We compute the first 20 coefficients for a=8 and b=4 and define the  expansion in Mathematica :

zz = Z[a0, b0];
c = (Sqrt[2]) Table[ Integrate[ψ[x, a0, b0, zz] Sin[n π x] // 
                  N, {x, 0, 1}] , {n, 1, MM}];
G[x_] = (Sqrt[2]) 
          Sum[c[[n]] Sin[n π x], {n, 1, 
              MM}];
c

We then plot the result and compare it to the exact wave-function depicted in 
figure g1:

g2 = 
      Plot[G[x], {x, 0, 1}, PlotRange -> {{0, 1}, {0, 2.5}}, 
        PlotStyle -> {Thickness[0.01], Hue[1]}, 
        DisplayFunction -> Identity]; 
    Show[{g2, g1, 
        Graphics[{Text["expansion", {0.15, 2.2}, 
              TextStyle -> {FontColor -> Hue[1]}], 
            Text["exact", {0.15, 1.9}]}]}, 
      DisplayFunction ->  $DisplayFunction];

Obviously, the first 20 basis functions  suffice to approximate the 
wave-function.

Dynamics

dyn[a, b, k, n, Nt ] computes the dynamics of a beta-function with parameters a and b. This  function may carry an additional current by selecting k≠0. n  Eigenstates are included into the spectral theorem and Nt timesteps per  period are simulated.

Needs["Graphics`MultipleListPlot`"];
 

dyn[a_, b_, k_, n_, Nt_] :=Block[{Z, T = (4/π), dt = (T/( Nt))},
	Off[NIntegrate::ncvb];
	x    =  Range[0, 1,  .01];
	dx  =  x[[2]] - x[[1]];
  
	Z  =  (Sqrt[NIntegrate])[ψ[x, a, b, 1]^2, {x, 0, 1}];
  
	c = (Sqrt[2]) Table[ NIntegrate[ψ[x, a, b, Z] (E^(I k x)) Sin[ν π x],{x, 0, 1}] , {ν, 1, n}];
	c  =  c/(Sqrt[Conjugate[c] . c]);
  
	G[x_, 
                t_] =  (Sqrt[2]) Sum[
                  c[[ν]] Sin[ν π x] (E^(-I ((((π ν))^2)/2) t)), {ν, 1, n}];
	t0  = Transpose[{x, Abs[G[x, 0]]^2}];
	ymax = Max[t0]*1.2;
  
	\(Do[
		sa\  = \ 
                Abs[G[x, t]]\^2; 
		tm\  = \ 
                x . sa/Plus @@ \ 
                    sa; 
		t2m = \@\(\((x^2)\) . sa/Plus @@ \ sa - tm^2\); 
		tb\  = \ {{tm, 0}, {tm, 
                    ymax}, {tm - t2m, ymax}, {tm + t2m, 
                    ymax}}; 
		ta\  = \ 
                Transpose[{x, sa}]; 
		MultipleListPlot[
                t0, ta, tb, 
                PlotJoined -> 
                  True, 
			PlotStyle -> {Hue[0.6], 
                    Hue[1], Hue[1]}, 
                SymbolShape -> 
                  None, 
			PlotRange -> {{0, 
                      1}, {0, ymax}}], 
		{t, 0, T, 
                dt}
	]\);
(* close all windows *)
	SelectionMove[EvaluationNotebook[], After, 
              EvaluationCell];
	SelectionMove[EvaluationNotebook[], Next, CellGroup];
	FrontEndTokenExecute["OpenCloseGroup"];
]
start = 
        ButtonBox[
          StyleBox["Run Animation", "Title", 
            FontFamily -> "Helvetica"], 
          ButtonFunction :> 
            FrontEndExecute[{SelectionMove[EvaluationNotebook[], Before, 
                    ButtonCell]
SelectionMove[
                    EvaluationNotebook[], Previous, 
                    CellGroup]
SelectionAnimate[
                    SelectedNotebook[], 
                    AnimationDisplayTime -> simtime]}], 
          ButtonEvaluator -> Automatic, 
          Active -> True];

Meaning of parameters:
a, b:	parameters of initial Beta-Function	
k:		initial  impulse of wave packet
n:		maximum quantum number included in expansion
 Nt:		Number of timesteps per period

In order to simulate the development of a Beta-function, we set k=0:

\(\(dyn[a0, b0, k = 0, n = MM, Nt = Nt0];\)

      \(\(start /. simtime -> \ 0.1\)\(//\)\(DisplayForm\)\(	\)\)\)

With k≠0, the initial state becomes \(TraditionalForm\`ψ\&~ = \(e\^ikx\) ψ\) and thus carries a current:

\(\(Off[NIntegrate::slwcon];\)

      \(dyn[a0, b0, k = 10, n = MM, Nt = Nt0];\)

      \(On[NIntegrate::slwcon];\)

      \(\(start /. simtime -> \ 0.1\)\(//\)\(DisplayForm\)\(	\)\)\)