Project

Solving Schrödinger equation with the finit elements method.

The physical situation one will see is a wavepacket propagating towards a potential barrier. When the wavepacket reaches the potential barrier it will scatters and some of the wavepacket will be transmitted and some reflected. One can also see how the wavepacket will spread at the same time as the amplitude will be damped. The Schrödinger equation can be solved analytical, so one can check the probability of the transmitted wave at the potential barrier.
One can also choose a harmonic potential, by doing some modifications in the java-code. Then one can see the wavepacket bounce back and forth in the potential well.(A potential parameter is to be implemented, so one can easily choose different potentials.)

align=center width=800 height=280>

Choosing theta smaller than 0.5 the wavepacket will explode due to numeric instability. By choosing theta larger than theta it will be damped due to numerics. One would like to to choose a theta larger than 0.5 when working with a diffusion equation and the diffusion is lager than the diffusion of the numerics. Working with the Schrödinger equation one should choose theta equal to 0.5, since we do not have any diffusion.
One can vary the TUNINT on the parameter list. If one choose TUNINT equal 1.0 and theta still 0.5 one will have similar scheme as Crank-Nicholson. Choose theta equal 0.5 we have centered Crank-Nicholson (explicit scheme) and with theta equal 1. we have fully implicit.
Partially implicit scheme with theta [0.5 , 1.]

The probability of the wavepacket is conserved while it is propagating. I have used periodic boundary conditions, so the wavepacket will be conserved all the time. Periodic boundary conditions means that the wavepacket that goes out on one side will come back on the other side of the applet and interfere with the initial wave. One can change the boundary to open boundary condition, by doing some small modifications in the code. When one lower the TUNINT the wavepacket is not longer conserved, since the wavepacket is damped. One could use this TUNINT to develop long-term instabilities by damping.

I have used Galerkin linear FEM approx. to compute the Schrödinger equation.
When we use the Galerkin scheme both basis fcn and test fcn are the roof top fcns.

To get a larger space for the wavepacket to propagate on. Choose more mech points and larger timestep, also one can choose smaller wavelength which will imply larger energy, so then one need to choose a larger potential.
Here is the link to the file FEMSolution.java which contains the results.