Loading…

A new version of PyWolf for the propagation of partially coherent light in media other than free space

PyWolf is an open-source software capable of performing numerical simulations of partially coherent light propagation from two-dimensional light sources using parallel computation. In the original version of PyWolf, the graphical user interface (GUI) would only show free-space propagation as the onl...

Full description

Saved in:
Bibliographic Details
Published in:Computer physics communications 2024-01, Vol.294, p.108899, Article 108899
Main Authors: Magalhães, Tiago E.C., Santos, Daniela O.
Format: Article
Language:English
Subjects:
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:PyWolf is an open-source software capable of performing numerical simulations of partially coherent light propagation from two-dimensional light sources using parallel computation. In the original version of PyWolf, the graphical user interface (GUI) would only show free-space propagation as the only option for propagating partially coherent light, even though users could add their own source models and other objects such as lenses and apertures, which was recognized by PyWolf's GUI. We introduce here the new version of PyWolf, PyWolf 2.0, which among other improvements, enables users to easily add their own propagation medium, which can be used throughout the simulation in different propagation planes. Program Title: PyWolf CPC Library link to program files:https://doi.org/10.17632/frjscxypkd.2 Developer's repository link:https://github.com/tiagoecmagalhaes/PyWolf Licensing provisions: GPLv3 Programming language: Python Supplementary material: Detailed description of the main changes with an example. Journal reference of previous version: Comput. Phys. Commun. 276 (2022) 108336. Reasons for the new version: In the previous paper [1] describing the original version of PyWolf, the propagation kernel was limited to free space, even though optical elements such as lenses and apertures could be added. For propagation in other media (e.g., turbulent medium), users had to substitute the free space propagation by the desired propagation medium since PyWolf always uses the same propagator, which is present in a single Python script. Summary of revisions: Propagation model selection was added to PyWolf's graphical user interface (GUI), enabling users to select the propagation medium of interest. It also enables input parameters (e.g., refractive index) for each propagation model. PyWolf checks for the Python scripts present in the “propagation models” folder at startup and displays them in the GUI, similar to what is done, for instance, for the source models. Then, during the simulation, instead of using the same free space propagators, PyWolf will use the ones that are defined in the selected propagation model. Four examples of propagation models are present in the current version, namely, free space, constant refractive index (besides 1), Kolmogorov, and Tatarskii models [2,3]. Depending on the model used, some propagation quantities may not be valid. For instance, in the current implementation for free space propagation, both the spectral density and degree of c
ISSN:0010-4655
DOI:10.1016/j.cpc.2023.108899