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...
Saved in:
Published in: | Computer physics communications 2024-01, Vol.294, p.108899, Article 108899 |
---|---|
Main Authors: | , |
Format: | Article |
Language: | English |
Subjects: | |
Online Access: | Get full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
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 |