(* Content-type: application/mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 6.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 145, 7] NotebookDataLength[ 38023, 1247] NotebookOptionsPosition[ 34597, 1137] NotebookOutlinePosition[ 35010, 1155] CellTagsIndexPosition[ 34967, 1152] WindowFrame->Normal ContainsDynamic->False*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell["Quantum Potentials", "Title"], Cell["\<\ AP1601 Columbia University\ \>", "Subsubtitle", CellChangeTimes->{{3.449478332538446*^9, 3.449478336849547*^9}}], Cell[CellGroupData[{ Cell["Introduction", "Section"], Cell[TextData[{ "In this notebook, we explore one-dimensional solutions to the \ time-dependent Schr\[ODoubleDot]dinger's equation for a variety of potential \ functions, ", StyleBox["V", FontSlant->"Italic"], "(", StyleBox["x", FontSlant->"Italic"], ")." }], "Text"], Cell[TextData[{ "Recall, in our simplified units (\[HBar] = ", StyleBox["m", FontSlant->"Italic"], " = 1), the wave function is denoted by \[Psi](", StyleBox["x", FontSlant->"Italic"], ", ", StyleBox["t", FontSlant->"Italic"], "), and Schrodinger's equation is \n\tI ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["\[PartialD]", "t"], " ", "\[Psi]"}], TraditionalForm]]], " = - ", Cell[BoxData[ FormBox[ FractionBox["1", "2"], TraditionalForm]]], " ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["\[PartialD]", "x"], " ", RowBox[{ SubscriptBox["\[PartialD]", "x"], " ", "\[Psi]"}]}], TraditionalForm]]], " + ", StyleBox["V", FontSlant->"Italic"], "(", StyleBox["x", FontSlant->"Italic"], ") \[Psi]\nIn this equation, ", StyleBox["V", FontSlant->"Italic"], "(", StyleBox["x", FontSlant->"Italic"], ") is the potential energy of the quantum particle at location ", StyleBox["x", FontSlant->"Italic"], ". The term -(", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["\[PartialD]", "x"], " ", RowBox[{ SubscriptBox["\[PartialD]", "x"], " ", "\[Psi]"}]}], TraditionalForm]]], ") / 2 is related to the kinetic energy. Formally, the kinetic energy is one \ half the square of the momentum; and the momentum is related to -I ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["\[PartialD]", "x"], " ", "\[Psi]"}], TraditionalForm]]], " \[Rule] ", StyleBox["k ", FontSlant->"Italic"], "\[Psi](", StyleBox["k", FontSlant->"Italic"], "). We use the Fourier transform to calculate the probability of the \ momentum, Conjugate[\[Psi](", StyleBox["k", FontSlant->"Italic"], ")] \[Psi](", StyleBox["k", FontSlant->"Italic"], ") = |\[Psi](", StyleBox["k", FontSlant->"Italic"], ")", Cell[BoxData[ FormBox[ SuperscriptBox["|", "2"], TraditionalForm]]], ".\nAs discussed last week, we use the Crank-Nicholson method to \ time-advance the wave-function. This solves the finite-difference \ approximation to the continuous partial differential equation with good \ accuracy. We set the grid-spacing to unity in both the time and spatial \ directions. " }], "Text"], Cell[TextData[{ "Some aspects of the behavior of our solutions can be anticipated through \ analogy with classical mechanics. For example, if there exists a potential \ barrier, ", StyleBox["V", FontSlant->"Italic"], ", that is much larger than the kinetic energy, ", Cell[BoxData[ FormBox[ SuperscriptBox["k", "2"], TraditionalForm]]], "/ 2, the particle will reflect from the barrier. Other aspects are \ surprising. For example, when the barrier is only slightly larger than the \ kinetic energy, there is a significant probability that the particle will \ pass through the barrier wall." }], "Text"], Cell[CellGroupData[{ Cell["Preparing the Notebook", "Subsection"], Cell["\<\ As discussed last week, we use the Crank-Nicholson method to time-advance the \ wave-function. This solves the finite-difference approximation to the \ continuous partial differential equation with good accuracy. We set the \ grid-spacing to unity in both the time and spatial directions. \ \>", "Text"], Cell[TextData[{ "To further speed the computations and allow solutions to more complex \ problems, we will ", StyleBox["pre-define all of the matrices", FontSlant->"Italic"], " used in the Crank-Nicholson steps. These matrices must be re-defined if \ the grid size, ", StyleBox["nGrid", FontWeight->"Bold"], ", changes." }], "Text"], Cell[BoxData[ RowBox[{ RowBox[{"cnStep", "[", RowBox[{"\[Psi]_List", ",", " ", "v_List"}], "]"}], " ", ":=", " ", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"sparseA", ",", "r", ",", "len"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"len", " ", "=", " ", RowBox[{"Length", "[", "\[Psi]", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"sparseA", " ", "=", " ", RowBox[{"SparseArray", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"i_", ",", "i_"}], "}"}], " ", ":>", " ", RowBox[{"1", " ", "+", " ", RowBox[{"\[ImaginaryI]", " ", RowBox[{"(", RowBox[{"1.0", " ", "+", " ", RowBox[{ "v", "\[LeftDoubleBracket]", "i", "\[RightDoubleBracket]"}]}], ")"}], " ", "0.5"}]}]}], ",", " ", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"i_", ",", "j_"}], "}"}], "/;", " ", RowBox[{ RowBox[{"Abs", "[", RowBox[{"i", "-", "j"}], "]"}], " ", "\[Equal]", " ", "1"}]}], " ", "\[Rule]", " ", RowBox[{ RowBox[{"-", " ", "\[ImaginaryI]"}], " ", "0.25"}]}]}], "}"}], ",", " ", RowBox[{"{", RowBox[{"len", ",", " ", "len"}], "}"}], ",", " ", "0.0"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"r", " ", "=", " ", RowBox[{ RowBox[{"ListConvolve", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"\[ImaginaryI]", " ", "0.25"}], ",", RowBox[{"1.0", " ", "-", " ", RowBox[{"\[ImaginaryI]", " ", "0.5"}]}], ",", " ", RowBox[{"\[ImaginaryI]", " ", "0.25"}]}], "}"}], ",", "\[Psi]", ",", " ", "2", ",", " ", "0.0"}], "]"}], " ", "-", " ", RowBox[{"\[ImaginaryI]", " ", "\[Psi]", " ", "v", " ", "0.5"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", " ", StyleBox[ RowBox[{"fixed", " ", "boundaries"}], FontColor->RGBColor[0, 1, 0]], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"sol", " ", "=", " ", RowBox[{"LinearSolve", "[", RowBox[{"sparseA", ",", "r"}], "]"}]}], ";", "\[IndentingNewLine]", "sol"}]}], "]"}]}]], "Input", CellChangeTimes->{{3.448901019266375*^9, 3.448901090956354*^9}, { 3.449478273711421*^9, 3.449478295887082*^9}}, CellLabel->"In[1]:="], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"cnStep", "[", RowBox[{"a_List", ",", "b_List", ",", "v_List"}], "]"}], "[", "\[Psi]_List", "]"}], " ", ":=", " ", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"sparseA", ",", "r", ",", "len"}], "}"}], ",", RowBox[{"(*", " ", StyleBox[ RowBox[{ RowBox[{"a", " ", "faster"}], ",", " ", RowBox[{"pre", "-", RowBox[{"defined", " ", "version", " ", "of", " ", "cnStep"}]}]}], FontColor->RGBColor[1, 0, 1]], StyleBox[" ", FontColor->RGBColor[1, 0, 1]], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"len", " ", "=", " ", RowBox[{"Length", "[", "\[Psi]", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"sparseA", " ", "=", " ", RowBox[{"SparseArray", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Band", "[", RowBox[{"{", RowBox[{"1", ",", "2"}], "}"}], "]"}], " ", "\[Rule]", " ", "a"}], ",", " ", RowBox[{ RowBox[{"Band", "[", RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}], "]"}], " ", "\[Rule]", " ", "b"}], ",", " ", RowBox[{ RowBox[{"Band", "[", RowBox[{"{", RowBox[{"2", ",", "1"}], "}"}], "]"}], " ", "\[Rule]", " ", "a"}]}], "}"}], ",", "len"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"r", " ", "=", " ", RowBox[{ RowBox[{"ListConvolve", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"\[ImaginaryI]", " ", "0.25"}], ",", RowBox[{"1.0", " ", "-", " ", RowBox[{"\[ImaginaryI]", " ", "0.5"}]}], ",", " ", RowBox[{"I", " ", "0.25"}]}], "}"}], ",", "\[Psi]", ",", " ", "2", ",", " ", "0.0"}], "]"}], " ", "-", " ", RowBox[{"\[ImaginaryI]", " ", "\[Psi]", " ", "v", " ", "0.5"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"LinearSolve", "[", RowBox[{"sparseA", ",", "r"}], "]"}]}]}], "]"}], " "}]], "Input", CellChangeTimes->{{3.4489021244255466`*^9, 3.448902183356975*^9}, 3.4489023691355457`*^9, {3.4489024046764393`*^9, 3.448902412767555*^9}, { 3.449478006305419*^9, 3.449478006727973*^9}, {3.4494782999429407`*^9, 3.4494783177403603`*^9}}, CellLabel->"In[2]:="], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", StyleBox[ RowBox[{"apply", " ", "cnStep", " ", "multiple", " ", "times"}], FontColor->RGBColor[1, 0, 1]], StyleBox[" ", FontColor->RGBColor[1, 0, 1]], "*)"}], RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"cnStep", "[", "n_Integer", "]"}], "[", RowBox[{"\[Psi]_List", ",", " ", "v_List"}], "]"}], " ", ":=", " ", RowBox[{"Nest", "[", RowBox[{ RowBox[{ RowBox[{"cnStep", "[", RowBox[{"#", ",", "v"}], "]"}], "&"}], ",", " ", "\[Psi]", ",", " ", "n"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{"cnStep", "[", RowBox[{ "n_Integer", ",", "a_List", ",", " ", "b_List", ",", " ", "v_List"}], "]"}], "[", "\[Psi]_List", "]"}], " ", ":=", " ", RowBox[{"Nest", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"cnStep", "[", RowBox[{"a", ",", "b", ",", "v"}], "]"}], "[", "#", "]"}], "&"}], ",", " ", "\[Psi]", ",", " ", "n"}], "]"}]}], ";"}]}]}]], "Input", CellLabel->"In[3]:="], Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " allows different functions to be called for different argument patterns:" }], "Text"], Cell[BoxData[ RowBox[{"?", "cnStep"}]], "Input", CellLabel->"In[5]:="], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{ RowBox[{"initial", "[", RowBox[{"k_", ",", "x0_", ",", "s_"}], "]"}], "[", "x_", "]"}], " ", ":=", " ", RowBox[{ RowBox[{"Exp", "[", RowBox[{"I", " ", "k", " ", "x"}], "]"}], " ", RowBox[{ RowBox[{"Exp", "[", RowBox[{"-", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"(", RowBox[{"x", "-", "x0"}], ")"}], "/", RowBox[{"(", RowBox[{"2", " ", "s"}], ")"}]}], ")"}], "^", "2"}]}], "]"}], "/", RowBox[{"Sqrt", "[", " ", RowBox[{"Sqrt", "[", RowBox[{"2", " ", "\[Pi]", " ", RowBox[{"s", "^", "2"}]}], "]"}], "]"}]}]}]}], ";"}]], "Input", CellLabel->"In[6]:="], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"plot\[Psi]", "[", RowBox[{"\[Psi]_List", ",", "options___"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"p1", ",", "p2", ",", "p3", ",", "p4"}], "}"}], ",", RowBox[{ RowBox[{"p1", "=", RowBox[{"ListPlot", "[", RowBox[{ RowBox[{"Re", "[", "\[Psi]", "]"}], ",", RowBox[{"PlotStyle", "\[Rule]", RowBox[{"RGBColor", "[", RowBox[{"0", ",", "0", ",", "1"}], "]"}]}], ",", RowBox[{"Joined", "\[Rule]", "True"}], ",", RowBox[{"DisplayFunction", "\[Rule]", "Identity"}]}], "]"}]}], ";", RowBox[{"p2", "=", RowBox[{"ListPlot", "[", RowBox[{ RowBox[{"Im", "[", "\[Psi]", "]"}], ",", RowBox[{"PlotStyle", "\[Rule]", RowBox[{"RGBColor", "[", RowBox[{"1", ",", "0", ",", "0"}], "]"}]}], ",", RowBox[{"Joined", "\[Rule]", "True"}], ",", RowBox[{"DisplayFunction", "\[Rule]", "Identity"}]}], "]"}]}], ";", RowBox[{"p3", "=", RowBox[{"ListPlot", "[", RowBox[{ RowBox[{"Abs", "[", "\[Psi]", "]"}], ",", RowBox[{"Joined", "\[Rule]", "True"}], ",", RowBox[{"DisplayFunction", "\[Rule]", "Identity"}]}], "]"}]}], ";", RowBox[{"p4", "=", RowBox[{"ListPlot", "[", RowBox[{ RowBox[{"-", RowBox[{"Abs", "[", "\[Psi]", "]"}]}], ",", RowBox[{"Joined", "\[Rule]", "True"}], ",", RowBox[{"DisplayFunction", "\[Rule]", "Identity"}]}], "]"}]}], ";", RowBox[{"Show", "[", RowBox[{"p1", ",", "p2", ",", "p3", ",", "p4", ",", RowBox[{"DisplayFunction", "\[Rule]", "$DisplayFunction"}], ",", "options"}], "]"}]}]}], "]"}]}], ";"}]], "Input", CellLabel->"In[7]:="], Cell[TextData[{ "This week, we ask the question: What happens to the solution when ", StyleBox["V", FontSlant->"Italic"], "(", StyleBox["x", FontSlant->"Italic"], ") does not equal zero?" }], "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["A Parabolic Potential Well", "Section"], Cell[TextData[{ "Let's examine a \"parabolic\" potential well. For a parabolic potential, ", StyleBox["V", FontSlant->"Italic"], "(", StyleBox["x", FontSlant->"Italic"], ")", StyleBox[" = c", FontSlant->"Italic"], " ", Cell[BoxData[ FormBox[ SuperscriptBox["x", "2"], TraditionalForm]]], ", where ", StyleBox["c", FontSlant->"Italic"], " is a constant." }], "Text"], Cell[BoxData[{ RowBox[{ RowBox[{"nGrid", "=", "100"}], ";"}], "\n", RowBox[{ RowBox[{"v", "=", RowBox[{"Table", "[", RowBox[{ FractionBox[ RowBox[{"2", " ", SuperscriptBox["x", "2"]}], SuperscriptBox["nGrid", "2"]], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{ RowBox[{"-", FractionBox["nGrid", "2"]}], "+", "1"}], ",", FractionBox["nGrid", "2"]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"a", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"-", "\[ImaginaryI]"}], " ", "0.25"}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{"nGrid", "-", "1"}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"b", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"1.0", "+", RowBox[{"\[ImaginaryI]", " ", RowBox[{"(", RowBox[{"1.0", "\[InvisibleSpace]", "+", RowBox[{ "v", "\[LeftDoubleBracket]", "i", "\[RightDoubleBracket]"}]}], ")"}], " ", "0.5"}]}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", "nGrid"}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{"ListPlot", "[", "v", "]"}]}], "Input", CellChangeTimes->{{3.449478077216817*^9, 3.4494780982542686`*^9}}, CellLabel->"In[8]:="], Cell[BoxData[{ RowBox[{ RowBox[{"\[Psi]0", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"initial", "[", RowBox[{"0.6", ",", RowBox[{"nGrid", "/", "2"}], ",", "8"}], "]"}], "[", "x", "]"}], ",", " ", RowBox[{"{", RowBox[{"x", ",", " ", "1", ",", " ", "nGrid"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"plot\[Psi]", "[", "\[Psi]0", "]"}]}], "Input", CellChangeTimes->{3.449478061544923*^9}, CellLabel->"In[13]:="], Cell[BoxData[{ RowBox[{ RowBox[{"sol", "=", RowBox[{"NestList", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"cnStep", "[", RowBox[{"5", ",", "a", ",", "b", ",", "v"}], "]"}], "[", "#1", "]"}], "&"}], ",", "\[Psi]0", ",", "100"}], "]"}]}], ";"}], "\n", RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{"Abs", "[", "sol", "]"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}], ",", RowBox[{"ColorFunction", "\[Rule]", "Hue"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}], "\n", RowBox[{"ListPlot3D", "[", RowBox[{ RowBox[{"Abs", "[", "sol", "]"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}]}], "]"}]}], "Input", CellLabel->"In[15]:="], Cell[CellGroupData[{ Cell["Momentum Probability", "Subsubsection"], Cell[TextData[{ "As described last week, the wave-function can also be displayed in \ \"momentum space\". We require the Fourier transform (along the ", StyleBox["x", FontSlant->"Italic"], " direction) of the solution, \[Psi](x, t) \[Rule] \[Psi](k, t). We use the \ routines developed in 7-Exercises.nb." }], "Text"], Cell[BoxData[ RowBox[{ RowBox[{"rearrangeFourier", "[", "p_List", "]"}], " ", ":=", " ", RowBox[{"Reverse", "[", RowBox[{ RowBox[{"p", "[", RowBox[{"[", RowBox[{"Range", "[", RowBox[{ RowBox[{ RowBox[{"nGrid", "/", "2"}], " ", "+", " ", "1"}], ",", " ", "nGrid"}], "]"}], "]"}], "]"}], " ", StyleBox["~", FontColor->RGBColor[1, 0, 1]], StyleBox[" ", FontColor->RGBColor[1, 0, 1]], StyleBox["Join", FontColor->RGBColor[1, 0, 1]], StyleBox["~", FontColor->RGBColor[1, 0, 1]], " ", RowBox[{"p", "[", RowBox[{"[", RowBox[{"Range", "[", RowBox[{"1", ",", RowBox[{"nGrid", "/", "2"}]}], "]"}], "]"}], "]"}]}], "]"}]}]], "Input", CellLabel->"In[18]:="], Cell[BoxData[ RowBox[{ RowBox[{"solk", " ", "=", " ", RowBox[{ RowBox[{ RowBox[{"rearrangeFourier", "[", RowBox[{"Fourier", "[", "#", "]"}], "]"}], "&"}], " ", "/@", " ", "sol"}]}], ";"}]], "Input", CellLabel->"In[19]:="], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{"Abs", "[", "solk", "]"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}], ",", RowBox[{"ColorFunction", "\[Rule]", "Hue"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellLabel->"In[20]:="], Cell[BoxData[ RowBox[{"ListPlot3D", "[", RowBox[{ RowBox[{"Abs", "[", "solk", "]"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}]}], "]"}]], "Input", CellLabel->"In[21]:="], Cell[TextData[{ "Notice that ", StyleBox["zero", FontSlant->"Italic"], " momentum is at position ", StyleBox["nGrid/2", FontWeight->"Bold"], ". The particle bounces back and forth. The momentum is greatest when the \ particle is at the center. This is expected since this is the minimum of the \ potential energy!" }], "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["A Linear Potential Well", "Section"], Cell["Let's examine a \"linear\" potential well.", "Text"], Cell[BoxData[{ RowBox[{ RowBox[{"nGrid", "=", "100"}], ";"}], "\n", RowBox[{ RowBox[{"v", "=", RowBox[{"Table", "[", RowBox[{ FractionBox[ RowBox[{"Abs", "[", "x", "]"}], "nGrid"], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{ RowBox[{"-", FractionBox["nGrid", "2"]}], "+", "1"}], ",", FractionBox["nGrid", "2"]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"a", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"-", "\[ImaginaryI]"}], " ", "0.25"}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{"nGrid", "-", "1"}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"b", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"1.0", "\[InvisibleSpace]", "+", RowBox[{"\[ImaginaryI]", " ", RowBox[{"(", RowBox[{"1.0", "\[InvisibleSpace]", "+", RowBox[{ "v", "\[LeftDoubleBracket]", "i", "\[RightDoubleBracket]"}]}], ")"}], " ", "0.5"}]}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", "nGrid"}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{"ListPlot", "[", "v", "]"}]}], "Input", CellChangeTimes->{{3.449478127320374*^9, 3.44947813463958*^9}}, CellLabel->"In[22]:="], Cell[BoxData[{ RowBox[{ RowBox[{"\[Psi]0", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"initial", "[", RowBox[{"0.6", ",", RowBox[{"nGrid", "/", "2"}], ",", "8"}], "]"}], "[", "x", "]"}], ",", " ", RowBox[{"{", RowBox[{"x", ",", " ", "1", ",", " ", "nGrid"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"plot\[Psi]", "[", "\[Psi]0", "]"}]}], "Input", CellChangeTimes->{3.449478141886463*^9}, CellLabel->"In[27]:="], Cell[BoxData[{ RowBox[{ RowBox[{"sol", "=", RowBox[{"NestList", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"cnStep", "[", RowBox[{"5", ",", "a", ",", "b", ",", "v"}], "]"}], "[", "#1", "]"}], "&"}], ",", "\[Psi]0", ",", "100"}], "]"}]}], ";"}], "\n", RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{"Abs", "[", "sol", "]"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}], ",", RowBox[{"ColorFunction", "\[Rule]", "Hue"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}], "\n", RowBox[{"ListPlot3D", "[", RowBox[{ RowBox[{"Abs", "[", "sol", "]"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}]}], "]"}]}], "Input", CellLabel->"In[29]:="], Cell[CellGroupData[{ Cell["Momentum Probability", "Subsubsection"], Cell[BoxData[ RowBox[{ RowBox[{"solk", " ", "=", " ", RowBox[{ RowBox[{ RowBox[{"rearrangeFourier", "[", RowBox[{"Fourier", "[", "#", "]"}], "]"}], "&"}], " ", "/@", " ", "sol"}]}], ";"}]], "Input", CellLabel->"In[32]:="], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{"Abs", "[", "solk", "]"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}], ",", RowBox[{"ColorFunction", "\[Rule]", "Hue"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellLabel->"In[33]:="], Cell[BoxData[ RowBox[{"ListPlot3D", "[", RowBox[{ RowBox[{"Abs", "[", "solk", "]"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}]}], "]"}]], "Input", CellLabel->"In[34]:="] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Potential Barriers (1)", "Section"], Cell["Let's examine a small, positive potential barrier.", "Text"], Cell[BoxData[{ RowBox[{ RowBox[{"nGrid", "=", "200"}], ";"}], "\n", RowBox[{ RowBox[{"v", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"-", "3"}], "\[LessEqual]", "x", "\[LessEqual]", "3"}], ",", "0.2", ",", "0.0"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{ RowBox[{"-", FractionBox["nGrid", "2"]}], "+", "1"}], ",", FractionBox["nGrid", "2"]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"a", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"-", "\[ImaginaryI]"}], " ", "0.25"}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{"nGrid", "-", "1"}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"b", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"1.0", "+", RowBox[{"\[ImaginaryI]", " ", RowBox[{"(", RowBox[{"1.0", "\[InvisibleSpace]", "+", RowBox[{ "v", "\[LeftDoubleBracket]", "i", "\[RightDoubleBracket]"}]}], ")"}], " ", "0.5"}]}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", "nGrid"}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{"ListPlot", "[", "v", "]"}]}], "Input", CellChangeTimes->{{3.4494781591227837`*^9, 3.449478174247534*^9}}, CellLabel->"In[35]:="], Cell[BoxData[{ RowBox[{ RowBox[{"\[Psi]0", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"initial", "[", RowBox[{"0.6", ",", RowBox[{"nGrid", "/", "4"}], ",", "8"}], "]"}], "[", "x", "]"}], ",", " ", RowBox[{"{", RowBox[{"x", ",", " ", "1", ",", " ", "nGrid"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"plot\[Psi]", "[", RowBox[{"\[Psi]0", ",", " ", RowBox[{"PlotRange", "\[Rule]", " ", "All"}]}], "]"}]}], "Input", CellChangeTimes->{3.449478176471321*^9}, CellLabel->"In[40]:="], Cell[BoxData[{ RowBox[{ RowBox[{"sol", "=", RowBox[{"NestList", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"cnStep", "[", RowBox[{"5", ",", "a", ",", "b", ",", "v"}], "]"}], "[", "#1", "]"}], "&"}], ",", "\[Psi]0", ",", "100"}], "]"}]}], ";"}], "\n", RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{"Abs", "[", "sol", "]"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}], ",", RowBox[{"ColorFunction", "\[Rule]", "Hue"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}], "\n", RowBox[{"ListPlot3D", "[", RowBox[{ RowBox[{"Abs", "[", "sol", "]"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}]}], "]"}]}], "Input", CellLabel->"In[42]:="], Cell[CellGroupData[{ Cell["Momentum Probability", "Subsubsection"], Cell[BoxData[ RowBox[{ RowBox[{"solk", " ", "=", " ", RowBox[{ RowBox[{ RowBox[{"rearrangeFourier", "[", RowBox[{"Fourier", "[", "#", "]"}], "]"}], "&"}], " ", "/@", " ", "sol"}]}], ";"}]], "Input", CellLabel->"In[45]:="], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{"Abs", "[", "solk", "]"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}], ",", RowBox[{"ColorFunction", "\[Rule]", "Hue"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellLabel->"In[46]:="] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Potential Barriers (2)", "Section"], Cell["Let's examine a negative potential barrier.", "Text"], Cell[BoxData[{ RowBox[{ RowBox[{"nGrid", "=", "200"}], ";"}], "\n", RowBox[{ RowBox[{"v", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"-", "10"}], "\[LessEqual]", "x", "\[LessEqual]", "10"}], ",", RowBox[{"-", "1.0"}], ",", "0.0"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{ RowBox[{"-", FractionBox["nGrid", "2"]}], "+", "1"}], ",", FractionBox["nGrid", "2"]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"a", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"-", "\[ImaginaryI]"}], " ", "0.25"}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{"nGrid", "-", "1"}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"b", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"1.0", "\[InvisibleSpace]", "+", RowBox[{"\[ImaginaryI]", " ", RowBox[{"(", RowBox[{"1.0", "+", RowBox[{ "v", "\[LeftDoubleBracket]", "i", "\[RightDoubleBracket]"}]}], ")"}], " ", "0.5"}]}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", "nGrid"}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{"ListPlot", "[", "v", "]"}]}], "Input", CellChangeTimes->{{3.44947819822078*^9, 3.44947820896883*^9}}, CellLabel->"In[47]:="], Cell[BoxData[{ RowBox[{ RowBox[{"\[Psi]0", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"initial", "[", RowBox[{"0.6", ",", RowBox[{"nGrid", "/", "4"}], ",", "8"}], "]"}], "[", "x", "]"}], ",", " ", RowBox[{"{", RowBox[{"x", ",", " ", "1", ",", " ", "nGrid"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"plot\[Psi]", "[", RowBox[{"\[Psi]0", ",", " ", RowBox[{"PlotRange", "\[Rule]", " ", "All"}]}], "]"}]}], "Input", CellChangeTimes->{3.449478211326914*^9}, CellLabel->"In[52]:="], Cell[BoxData[{ RowBox[{ RowBox[{"sol", "=", RowBox[{"NestList", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"cnStep", "[", RowBox[{"5", ",", "a", ",", "b", ",", "v"}], "]"}], "[", "#1", "]"}], "&"}], ",", "\[Psi]0", ",", "100"}], "]"}]}], ";"}], "\n", RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{"Abs", "[", "sol", "]"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}], ",", RowBox[{"ColorFunction", "\[Rule]", "Hue"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}], "\n", RowBox[{"ListPlot3D", "[", RowBox[{ RowBox[{"Abs", "[", "sol", "]"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}]}], "]"}]}], "Input", CellLabel->"In[54]:="], Cell[CellGroupData[{ Cell["Momentum Probability", "Subsubsection"], Cell[BoxData[ RowBox[{ RowBox[{"solk", " ", "=", " ", RowBox[{ RowBox[{ RowBox[{"rearrangeFourier", "[", RowBox[{"Fourier", "[", "#", "]"}], "]"}], "&"}], " ", "/@", " ", "sol"}]}], ";"}]], "Input", CellLabel->"In[57]:="], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{"Abs", "[", "solk", "]"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}], ",", RowBox[{"ColorFunction", "\[Rule]", "Hue"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellLabel->"In[58]:="] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Potential Barriers (3)", "Section"], Cell["Let's examine a particle trapped inside a barrier.", "Text"], Cell[BoxData[{ RowBox[{ RowBox[{"nGrid", "=", "200"}], ";"}], "\n", RowBox[{ RowBox[{"v", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"-", "25"}], "\[LessEqual]", "x", "\[LessEqual]", "25"}], ",", RowBox[{"-", "0.5"}], ",", "0.0"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{ RowBox[{"-", FractionBox["nGrid", "2"]}], "+", "1"}], ",", FractionBox["nGrid", "2"]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"a", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"-", "\[ImaginaryI]"}], " ", "0.25"}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{"nGrid", "-", "1"}]}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"b", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"1.0", "\[InvisibleSpace]", "+", RowBox[{"\[ImaginaryI]", " ", RowBox[{"(", RowBox[{"1.0", "\[InvisibleSpace]", "+", RowBox[{ "v", "\[LeftDoubleBracket]", "i", "\[RightDoubleBracket]"}]}], ")"}], " ", "0.5"}]}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", "nGrid"}], "}"}]}], "]"}]}], ";"}], "\n", RowBox[{"ListPlot", "[", "v", "]"}]}], "Input", CellChangeTimes->{{3.449478236899953*^9, 3.449478247305566*^9}}, CellLabel->"In[59]:="], Cell[TextData[{ "Initially, we start with a very low initial momentum, ", StyleBox["p0", FontSlant->"Italic"], " = 0.02." }], "Text"], Cell[BoxData[{ RowBox[{ RowBox[{"\[Psi]0", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"initial", "[", RowBox[{"0.02", ",", RowBox[{"nGrid", "/", "2"}], ",", "8"}], "]"}], "[", "x", "]"}], ",", " ", RowBox[{"{", RowBox[{"x", ",", " ", "1", ",", " ", "nGrid"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"plot\[Psi]", "[", RowBox[{"\[Psi]0", ",", " ", RowBox[{"PlotRange", "\[Rule]", " ", "All"}]}], "]"}]}], "Input", CellChangeTimes->{3.449478249143755*^9}, CellLabel->"In[64]:="], Cell[BoxData[{ RowBox[{ RowBox[{"sol", "=", RowBox[{"NestList", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"cnStep", "[", RowBox[{"5", ",", "a", ",", "b", ",", "v"}], "]"}], "[", "#1", "]"}], "&"}], ",", "\[Psi]0", ",", "100"}], "]"}]}], ";"}], "\n", RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{"Abs", "[", "sol", "]"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}], ",", RowBox[{"ColorFunction", "\[Rule]", "Hue"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}], "\n", RowBox[{"ListPlot3D", "[", RowBox[{ RowBox[{"Abs", "[", "sol", "]"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}]}], "]"}]}], "Input", CellLabel->"In[66]:="], Cell[CellGroupData[{ Cell["Momentum Probability", "Subsubsection"], Cell[BoxData[ RowBox[{ RowBox[{"solk", " ", "=", " ", RowBox[{ RowBox[{ RowBox[{"rearrangeFourier", "[", RowBox[{"Fourier", "[", "#", "]"}], "]"}], "&"}], " ", "/@", " ", "sol"}]}], ";"}]], "Input", CellLabel->"In[69]:="], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{"Abs", "[", "solk", "]"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}], ",", RowBox[{"ColorFunction", "\[Rule]", "Hue"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellLabel->"In[70]:="], Cell[TextData[{ "Try increasing the kinetic energy of the particle by increasing the initial \ momentum. What happens when ", StyleBox["p0", FontSlant->"Italic"], " \[Rule] 1.0, so that ", Cell[BoxData[ FormBox[ SuperscriptBox["k", "2"], TraditionalForm]]], "/ 2 ~ \[Delta]V?" }], "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Summary", "Section"], Cell["\<\ We have solved the time-dependent Schr\[ODoubleDot]dinger's equations with a \ several simple potential wells. \ \>", "Text"], Cell[TextData[{ "For parabolic and linear potential wells, we found solutions that both \ resemble and contrast with their classical counter-parts. For parabolic \ wells, small wave packets oscillate periodically. For the \"linear\" \ potential well, the wave-function reflects in a complex way, generating a \ quantum interference pattern. \nPotential barriers cause reflection of the \ wave function. Surprisingly, potential ", StyleBox["wells", FontSlant->"Italic"], " also cause reflections. For initial conditions when the particle's energy \ is trapped within the potential well, particles can be confined. However, as \ the particle's momentum nears the depth of the confining potential, the \ particle escapes.", " " }], "Text"] }, Closed]] }, Open ]] }, WindowSize->{917, 917}, WindowMargins->{{4, Automatic}, {Automatic, 0}}, PrintingCopies->1, PrintingPageRange->{1, Automatic}, ShowSelection->True, FrontEndVersion->"6.0 for Mac OS X x86 (32-bit) (May 21, 2008)", StyleDefinitions->"TutorialBook.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[590, 23, 35, 0, 51, "Title"], Cell[628, 25, 123, 4, 41, "Subsubtitle"], Cell[CellGroupData[{ Cell[776, 33, 31, 0, 86, "Section"], Cell[810, 35, 276, 10, 24, "Text"], Cell[1089, 47, 2172, 79, 177, "Text"], Cell[3264, 128, 615, 14, 59, "Text"], Cell[CellGroupData[{ Cell[3904, 146, 44, 0, 34, "Subsection"], Cell[3951, 148, 313, 5, 41, "Text"], Cell[4267, 155, 341, 10, 41, "Text"], Cell[4611, 167, 2521, 64, 172, "Input"], Cell[7135, 233, 2401, 62, 134, "Input"], Cell[9539, 297, 1130, 34, 83, "Input"], Cell[10672, 333, 153, 4, 23, "Text"], Cell[10828, 339, 72, 2, 24, "Input"], Cell[10903, 343, 748, 25, 28, "Input"], Cell[11654, 370, 1853, 45, 171, "Input"], Cell[13510, 417, 208, 8, 23, "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[13767, 431, 45, 0, 54, "Section"], Cell[13815, 433, 389, 18, 23, "Text"], Cell[14207, 453, 1303, 41, 131, "Input"], Cell[15513, 496, 512, 15, 45, "Input"], Cell[16028, 513, 761, 21, 63, "Input"], Cell[CellGroupData[{ Cell[16814, 538, 45, 0, 33, "Subsubsection"], Cell[16862, 540, 322, 7, 42, "Text"], Cell[17187, 549, 786, 26, 46, "Input"], Cell[17976, 577, 250, 8, 26, "Input"], Cell[18229, 587, 290, 7, 26, "Input"], Cell[18522, 596, 231, 6, 26, "Input"], Cell[18756, 604, 335, 10, 41, "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[19140, 620, 42, 0, 54, "Section"], Cell[19185, 622, 58, 0, 23, "Text"], Cell[19246, 624, 1272, 39, 126, "Input"], Cell[20521, 665, 512, 15, 45, "Input"], Cell[21036, 682, 761, 21, 63, "Input"], Cell[CellGroupData[{ Cell[21822, 707, 45, 0, 33, "Subsubsection"], Cell[21870, 709, 250, 8, 26, "Input"], Cell[22123, 719, 290, 7, 26, "Input"], Cell[22416, 728, 231, 6, 26, "Input"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[22696, 740, 41, 0, 54, "Section"], Cell[22740, 742, 66, 0, 23, "Text"], Cell[22809, 744, 1357, 42, 124, "Input"], Cell[24169, 788, 585, 17, 45, "Input"], Cell[24757, 807, 761, 21, 63, "Input"], Cell[CellGroupData[{ Cell[25543, 832, 45, 0, 33, "Subsubsection"], Cell[25591, 834, 250, 8, 26, "Input"], Cell[25844, 844, 290, 7, 26, "Input"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[26183, 857, 41, 0, 54, "Section"], Cell[26227, 859, 59, 0, 23, "Text"], Cell[26289, 861, 1378, 43, 124, "Input"], Cell[27670, 906, 585, 17, 45, "Input"], Cell[28258, 925, 761, 21, 63, "Input"], Cell[CellGroupData[{ Cell[29044, 950, 45, 0, 33, "Subsubsection"], Cell[29092, 952, 250, 8, 26, "Input"], Cell[29345, 962, 290, 7, 26, "Input"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[29684, 975, 41, 0, 54, "Section"], Cell[29728, 977, 66, 0, 23, "Text"], Cell[29797, 979, 1401, 43, 124, "Input"], Cell[31201, 1024, 138, 5, 23, "Text"], Cell[31342, 1031, 586, 17, 45, "Input"], Cell[31931, 1050, 761, 21, 63, "Input"], Cell[CellGroupData[{ Cell[32717, 1075, 45, 0, 33, "Subsubsection"], Cell[32765, 1077, 250, 8, 26, "Input"], Cell[33018, 1087, 290, 7, 26, "Input"], Cell[33311, 1096, 300, 10, 24, "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[33660, 1112, 26, 0, 54, "Section"], Cell[33689, 1114, 135, 3, 24, "Text"], Cell[33827, 1119, 742, 14, 125, "Text"] }, Closed]] }, Open ]] } ] *) (* End of internal cache information *)