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.
Cite As
David Romero-Antequera (2024). 1D Linear BPM (https://www.mathworks.com/matlabcentral/fileexchange/28100-1d-linear-bpm), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |