Modeling Quantum Tunneling With Python

Rhett Allain
10 min readOct 25, 2023
The wave function for a particle colliding with a barrier.

Everybody loves quantum tunneling. It’s just cool. It would be like having a ball rolling towards a hill. Imagine that ball doesn’t have enough kinetic energy to make it over the hill and down to the other side. However, when you look for the ball — sometimes you can find it on the other side the hill (where the grass is greener).

So, how do you model this type of interaction in python? I’m going to go over all the details. Do you know why? If I don’t, I’m going to forget this stuff the next time I teach quantum mechanics.

1D Schrödinger Equation

The wave function for a particle must be a solution to the 1D Schrödinger equation.

We can partially solve this equation by first assuming that Ψ can be a product of a function that only depends on x (ψ(x)) and a function that only depends on time (f(t)).

With a little bit of algebra, we get the following expression.

Equation updated on 11/3/23 — sorry about that.

IF the potential (V) only depends on x and not t, then the left side of this equation only depends on position and the right side only depends on time. So, if x changes then the right side would remain the same…

--

--

Rhett Allain

Physics faculty, science blogger of all things geek. Technical Consultant for CBS MacGyver and MythBusters. WIRED blogger.