Commit 812edb73 authored by juandaanieel's avatar juandaanieel
Browse files

text about heuristic wkb wf added

parent 69ea3392
Pipeline #83903 failed with stage
in 54 seconds
This diff is collapsed.
config: ["MMLorHTML.js"],
jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"],
tex2jax: {
inlineMath: [ ['$','$'] ],
processEscapes: true
extensions: ["MathMenu.js", "MathZoom.js"]
This diff is collapsed.
function initThebelab() {
let activateButton = document.getElementById("thebelab-activate-button");
if (activateButton.classList.contains('thebelab-active')) {
// Run all thebelab cells marked as initialization code
setTimeout(function() {
let initDivs = document.getElementsByClassName("thebelab-init-code");
for(var i = 0; i < initDivs.length; i++) {
// div.thebelab-init-code > div.thebelab-cell > button.thebelab-run-button
let runButton = initDivs[i].firstElementChild.childNodes[1];
}, 500)
\ No newline at end of file
.thebelab-cell .thebelab-input pre {
z-index: 0;
.thebelab-code, .thebelab-init-code {
display: none;
.thebelab-button {
position: relative;
display: inline-block;
box-sizing: border-box;
border: none;
border-radius: .1rem;
padding: 0 2rem;
margin: .5rem .1rem;
min-width: 64px;
height: 1.6rem;
vertical-align: middle;
text-align: center;
font-size: 0.8rem;
color: rgba(0, 0, 0, 0.8);
background-color: rgba(0, 0, 0, 0.07);
overflow: hidden;
outline: none;
cursor: pointer;
transition: background-color 0.2s;
.thebelab-button:hover {
background-color: rgba(0, 0, 0, 0.12);
.thebelab-button:active {
background-color: rgba(0, 0, 0, 0.15);
color: rgba(0, 0, 0, 1)
#thebelab-activate-button {
font-size: 1rem;
margin-left: 0.4rem;
#thebelab-activate-button.thebelab-active {
color: rgb(83, 109, 254);
.thebelab-button.thebelab-restart-button {
display: none;
This diff is collapsed.
......@@ -4,7 +4,7 @@ import numpy as np
import scipy.sparse
from cmath import exp
from timeprop import propagate
from .timeprop import propagate
import matplotlib.animation
import matplotlib.pyplot as plt
......@@ -84,7 +84,7 @@ from scipy.optimize import brentq
import plotly.offline as py
import plotly.graph_objects as go
from common import make_plotly_slider_fig
from .common import make_plotly_slider_fig
def _calc_psi_wkb(x, x_t, m, E, V):
title: The WKB wave function
title: The WKB approximation
# The WKB wave function
# Quantum mechanics in a smooth potential
```{python initialize=True}
from IPython.display import HTML, display
......@@ -44,5 +44,29 @@ anim = make_wave_packet_animation(L=3500, pot_func=pot_step,
# The WKB wavefunction
## Heuristic derivation
The WKB wavefunction can be derived as follows by considering the following assumptions:
* A smooth potential can be decomposed into piecewise constant pads.
* There is no back reflection in a smooth potential.
The later can be justified by considering sufficiently small pads. In general, a wavefunction has an amplitude and a phase, that is,
\psi(x) = A(x)e^{i\phi(x)}.
First, let us focus on the phase. By moving along a single pad, the phase evolve as $\Delta \phi = \phi(x_{i+1})-\phi(x_{i})$. Over a constant potential, the acquired phase is $\Delta \phi = p(x_i) \Delta x / \hbar$, where $p(x)=\sqrt{2m(E-V(x))}$. Therefore, the total phase can be obtaining by summing the contributions of all the pads, that is,
\psi(x) \sim \exp\left( \frac{i}{\hbar} \sum_{j=0}^N p(x_j) \Delta x\right) = \exp\left( \frac{\pm i}{\hbar} \int_{x_0}^x p(x') d x'\right).
Note that, for the moment, it is implicitly assumed that $E>V(x)$. In the last equality, the sum is taken to the continuum limit. Second, consider the amplitude. The current is given by $j(x) = |\psi(x)^2| v(x)$ where the velocity is $v(x) = p(x)/m$. Since there is no back reflection, the current is constant. Therefore, $|\psi(x)^2| \sim 1/p(x)$. From here, we find that the amplitude of the wavefunction goes as $A(x) \sim 1/\sqrt{p(x)}$. Then, the WKB wavefunction will be given by,
\psi_{WKB}(x) = \frac{1}{\sqrt{p(x)}} \exp\left( \frac{i}{\hbar} \int_{x_0}^x p(x') d x'\right).
### WKB for evanescent waves
We assumed that $E>V(x)$, but this heuristic derivation holds for $E < V(x)$ as well. In this case, the wavefunction does not accumulate a phase, but accumulates a decaying amplitude. On the formal level, $p(x)=\sqrt{2m(E-V(x))}=i\sqrt{2m(V(x)-E)}=i|p(x)|$. Therefore, the WKB function in a region where $E < V(x)$ is,
\psi_{WKB}(x) = \frac{1}{\sqrt{p(x)}} \exp\left( \frac{\pm 1}{\hbar} \int_{x_0}^x p(x') d x'\right).
## Formal derivation
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment