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 enable...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Computer physics communications 2022-07, Vol.276, p.108336, Article 108336
Hauptverfasser: Magalhães, Tiago E.C., Rebordão, José M.
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung: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. Program Title: PyWolf CPC Library link to program files:https://doi.org/10.17632/frjscxypkd.1 Developer's repository link:https://github.com/tiagoecmagalhaes/PyWolf Licensing provisions: GPLv3 Programming language: Python External routines: NumPy, SciPy, Matplotlib, PyOpenCL, PyQt5 Nature of problem: Numerical simulations of the propagation of partially coherent light from planar sources in the Fresnel or far field approximations. Computation time can be improved by using optimized versions of the Fast Fourier Transform (FFT) algorithm, but other calculations can only be increased through parallel computation. Solution method: We use the open-source toolkit PyOpenCL to perform parallel computation on time-consuming calculations. The user can easily modify and add more features to the software, such as source models and propagation methods. A graphical user interface is also built using PyQt5 which enables the user to set input parameters, including the user's custom models, view the simulation results, export data, and save and load sessions.
ISSN:0010-4655
1879-2944
DOI:10.1016/j.cpc.2022.108336