PyWolf: A PyOpenCL implementation for simulating the propagation of partially coherent light
We present PyWolf, an open-source software capable of performing numerical simulations of partially coherent light propagation from two-dimensional light sources. PyWolf computes the evolution of a user-defined cross-spectral density function in the Fresnel and far field approximations, which enables the retrieval of second-order optical quantities of interest such as the spectral degree of coherence and spectral density for a given frequency. The open-source tool kit PyOpenCL is used to increase the computation speed. We present examples of propagation of different source models and optical systems to validate our implementation. Performance results for the computation speed when using parallel computation through PyOpenCL is shown. Source models and propagation systems can be easily added to PyWolf, which has a graphical user interface built with PyQt5. This software can be of great utility for partially coherent light simulation problems that are difficult to treat analytically.