Companion code for the paper:
Parameter-Free Absorbing Boundaries for Pseudo-Spectral Quantum Dynamics via C∞ Windowing David Ariza-Ruiz Computer Physics Communications (2026)
This repository provides a self-contained Python implementation of a parameter-free absorbing boundary condition for FFT-based split-step solvers of the one-dimensional time-dependent Schrodinger equation. The boundary treatment consists of multiplying the wave function at each time step by a compactly supported C-infinity bump function that equals unity on an interior plateau and vanishes smoothly at the computational boundaries, exploiting the super-algebraic convergence guarantees established by Bergold and Lasser (2020).
| File | Description |
|---|---|
smooth_windowing_abc.py |
Main script: runs all 13 numerical experiments and generates figures 1--14 |
pml_convergence_study.py |
PML convergence study with spatial refinement, higher-order stencils (FD2/FD4/FD6), and ultra-refined reference solutions |
convergence_extended.py |
Extended convergence analysis using 80-digit (mpmath) arithmetic |
convergence_extended.csv |
Pre-computed convergence data (80-digit precision) |
figure_1.pdf -- figure_14.pdf |
All figures reported in the paper |
requirements.txt |
Python dependencies |
CITATION.cff |
Citation metadata |
LICENSE |
MIT license |
The 13 experiments in smooth_windowing_abc.py are:
- Fourier approximation and Gibbs suppression
- Wave packet absorption
- Plateau parameter study
- Window regularity comparison
- Complex absorbing potential (CAP) comparison
- CAP robustness test across momenta
- Temporal convergence
- Gaussian barrier scattering (above-barrier)
- Gaussian barrier scattering (tunneling)
- Comprehensive tunneling and strong-barrier campaign with barrier-shape universality
- Delta-t anomaly diagnosis
- 1D PML benchmark (single traversal)
- Multiple-reflection benchmark (C-infinity windowing vs PML)
- Python 3.8+
- NumPy >= 1.22
- Matplotlib >= 3.5
- mpmath >= 1.3
- SciPy >= 1.10 (required for PML finite-difference solves; optional for main script)
Install all dependencies:
pip install -r requirements.txtRun the main experiments:
python smooth_windowing_abc.pyRun the PML convergence study:
python pml_convergence_study.pyRun the extended convergence analysis (computationally intensive):
python convergence_extended.pyAll figures are saved as figure_X.pdf in the working directory.
MIT License. See LICENSE.
If you use this code in your research, please cite:
@article{ArizaRuiz2026,
author = {Ariza-Ruiz, David},
title = {Parameter-Free Absorbing Boundaries for Pseudo-Spectral Quantum
Dynamics via {$C^\infty$} Windowing},
journal = {Computer Physics Communications},
year = {2026}
}