/adaptive-WKB-marching-method

A MATLAB routine to compute numerically the solution to the 1D stationary Schrödinger equation in the highly oscillatory regime.

Primary LanguageMATLABCreative Commons Attribution 4.0 InternationalCC-BY-4.0

Table of Contents

  1. About
  2. Getting Started
  3. Usage
  4. Help
  5. License

About

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).

Getting Started

Prerequisites

To run the program the following requirements are needed:

  • MATLAB

Installation

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.

Usage

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".

Help

There are short documentations available, just type the following commands into your MATLAB console:

   doc adaptive_WKB_marching_method
   doc clenshaw_curtis

License

This work is licensed under a Creative Commons Attribution 4.0 International License.

CC BY 4.0