A program to calculate the propagation of a 1D electric field through free space and various optical elements. The program uses the angular spectrum method of fourier propagation and supports propagation through thin (ideal) lenses as well as spherical plano-convex lenses.
Python 3, numpy, matplotlib.
The user enters properties of the input field and sets up a sequence of propagation steps before running the script. The test script outputs a plot of the initial and final electric field intensity profiles in addition to an image of the full 2D intensity profile.