1D Linear BPM
This is a simple FFT based beam propagation method for potential-free 1+1+1D Schrodinger equation. The software if flexible and allows to introduce high-order derivatives in the term (very handful if is needed to include dispersion effects). For example, if one desires to solve an equation in the form:
(d/dz + d^2/dx^2 - 0.25*d^3/dx^3)Y == 0
It can be solved using the following code:
z=linspace(0,1,512);
x=linspace(-5,5,1024);
psi0=exp(-x.^2);
D=D_lateral1D(x,2)-0.25*D_lateral1D(x,3);
field=LinearBPM(psi0,D,z);
Where D_lateral1D is a provided function that "replaces" the derivative operator.
This function is a very early stage in a more complex set of non-linear BPM functions that I have made (split-step, spectral methods, etc.) and I will submit them when I finish their documentation and organization.
Sorry for my English, I'm eager for your comments.
Citation pour cette source
David Romero-Antequera (2024). 1D Linear BPM (https://www.mathworks.com/matlabcentral/fileexchange/28100-1d-linear-bpm), MATLAB Central File Exchange. Récupéré le .
Compatibilité avec les versions de MATLAB
Plateformes compatibles
Windows macOS LinuxCatégories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
Version | Publié le | Notes de version | |
---|---|---|---|
1.0.0.0 |