Chapter 5 Problem 51: Rolf Winter’s problem
Chapter 5 Problem 51: Rolf Winter’s problem
This notebook calculates the “exponential” decay of a state without perturbation theory
This notebook calculates the “exponential” decay of a state without perturbation theory
In[]:=
Remove["Global`*"]
Write down the solution, Equation (1) in Rolf Winter’s article
In[]:=
fFunc=HeavisideTheta[x]GSin[q]Sin[lq];intg=Sqrt[2/a]2nExp[-ITq^2]qSin[q](qSin[q(l+1)]+f)/((q^2-Pi^2n^2)(q^2+GqSin[2q]+G^2Sin[q]^2));
Aaron’s suggestion: Change variables to integrate over a finite range
In[]:=
qu=u/(1-u);qJac=D[qu,u];
Calculate the probability that the particle is inside the well as a function of time. This should resemble Figure 2 from Rolf’s paper, so use those parameters.
In[]:=
Ts=SetPrecision[{0,0.01,0.025,0.05,0.075,0.1,0.2,0.3,0.4,0.5,1,2,4,6,8,8.25,8.5,8.75,9,9.125,9.25,9.375,9.5,9.625,9.75,9.875,10,10.25,10.5,10.75},20];vals={a1,n1,G6};func=(qJacintg)/.qqu/.vals/.f0
Out[]=
2+SinSin
2
-
T
2
u
2
(1-u)
2
u
1
1-u
u
2
(1-u)
u
1-u
(1+l)u
1-u
2
(1-u)
2
π
2
u
2
(1-u)
2
u
2
(1-u)
2
Sin
u
1-u
6uSin
2u
1-u
1-u
In[]:=
INT=Block[{T,u,l},With[{code=func},Compile[{{T,_Real},{u,_Real},{l,_Real}},code,RuntimeAttributes{Listable},ParallelizationTrue]]];{pts,weights,errweights}=NIntegrate`GaussKronrodRuleData[8,20];m=48;n=48;udata=Partition[Subdivide[0,1,m],2,1];ldata=Partition[Subdivide[-1,0,n],2,1];{u,l}=Transpose[Tuples[{Flatten[udata.{1.-pts,pts}],Flatten[ldata.{1.-pts,pts}]}]];ω=Flatten[KroneckerProduct[Flatten[KroneckerProduct[Differences/@udata,weights]],Flatten[KroneckerProduct[Differences/@ldata,weights]]]];W={T}{T,INT[T,u,l].ω};
In[]:=
t1=AbsoluteTime[];ψ=Table[(W[Ts[[j]]]//Last),{j,1,Length[Ts]}];t2=AbsoluteTime[];(t2-t1)/60
Out[]=
0.142237048
In[]:=
ρ=Conjugate[ψ]ψ;ρPlot=Transpose[{Ts,Re[ρ]}];ListLogPlot[ρPlot,PlotRange{{0,11},{10^(-8),1}}]
Out[]=
Fit the data to a decaying exponential to get the decay lifetime
Fit the data to a decaying exponential to get the decay lifetime
In[]:=
fitData=Select[ρPlot,#[[1]]>1.5&&#[[1]]<8.5&];func=aExp[-x/τ];fitPars=FindFit[fitData,func,{a,τ},x]
Out[]=
{a0.90266,τ0.643249}
The value of τ should agree with Winter’s value 0.644 (middle, left column, page 1505)