This is a MATLAB tool for solving numerically the highly oscillatory 1D Schrödinger equation
Here, a(x) is a real valued coefficient function bounded away from zero and epsi is the rescaled Planck constant 0 < epsi << 1.
The routine automatically switches between a standard Runge-Kutta solver and a WKB-based stepping procedure.
The whole program directly corresponds to our recently submitted article: J. Körner, A. Arnold, K. Döpfner, WKB-based scheme with adaptive step size control for the Schrödinger equation in the highly oscillatory regime. A preprint is available in the archive arXiv:2102.03107.
The main program is "adaptive_WKB_marching_method.m", which, depending on the users input, might or might not call the numerical integration routine "clenshaw_curtis.m" (see also here for help).
To run the program the following requirements are needed:
- MATLAB
Just clone the repository
git clone https://github.com/JannisKoerner/adaptive-WKB-marching-method.git
or download it manually and make sure the folder is added to the MATLAB search path.
For a quick start you can just run the example file "Test_adaptive_WKB_marching_method_Airy.m" or "Test_adaptive_WKB_marching_method_PCF.m".
There are short documentations available, just type the following commands into your MATLAB console:
doc adaptive_WKB_marching_method
doc clenshaw_curtis
This work is licensed under a Creative Commons Attribution 4.0 International License.