Loading…

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

Full description

Saved in:
Bibliographic Details
Published in:Computer physics communications 2022-07, Vol.276, p.108336, Article 108336
Main Authors: Magalhães, Tiago E.C., Rebordão, José M.
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by cdi_FETCH-LOGICAL-c340t-2a364cd593990c6cfadec372376c20b84f1bc7b3ad84a4f154d8298e8d38e0d03
cites cdi_FETCH-LOGICAL-c340t-2a364cd593990c6cfadec372376c20b84f1bc7b3ad84a4f154d8298e8d38e0d03
container_end_page
container_issue
container_start_page 108336
container_title Computer physics communications
container_volume 276
creator Magalhães, Tiago E.C.
Rebordão, José M.
description 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.
doi_str_mv 10.1016/j.cpc.2022.108336
format article
fullrecord <record><control><sourceid>elsevier_cross</sourceid><recordid>TN_cdi_crossref_primary_10_1016_j_cpc_2022_108336</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><els_id>S0010465522000546</els_id><sourcerecordid>S0010465522000546</sourcerecordid><originalsourceid>FETCH-LOGICAL-c340t-2a364cd593990c6cfadec372376c20b84f1bc7b3ad84a4f154d8298e8d38e0d03</originalsourceid><addsrcrecordid>eNp9kE1Lw0AQQBdRsFZ_gLf9A6mzH0k2eipFq1BoD4oXYdnuTtotSTZsopB_b0o8exoewxuGR8g9gwUDlj2cFra1Cw6cj6yEyC7IjKm8SHgh5SWZATBIZJam1-Sm604AkOeFmJGv3fAZqvKRLulu2LbYrDbU122FNTa96X1oaBki7Xz9XY3YHGh_RNrG0JrDtA4lbU3svamqgdpwxDiatPKHY39LrkpTdXj3N-fk4-X5ffWabLbrt9Vyk1ghoU-4EZm0Li1EUYDNbGkcWpFzkWeWw17Jku1tvhfGKWlGSKVTvFConFAIDsScsOmujaHrIpa6jb42cdAM9DmPPukxjz7n0VOe0XmaHBwf-_EYdWc9Nhadj2h77YL_x_4FqSFunw</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>PyWolf: A PyOpenCL implementation for simulating the propagation of partially coherent light</title><source>Elsevier</source><creator>Magalhães, Tiago E.C. ; Rebordão, José M.</creator><creatorcontrib>Magalhães, Tiago E.C. ; Rebordão, José M.</creatorcontrib><description>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.</description><identifier>ISSN: 0010-4655</identifier><identifier>EISSN: 1879-2944</identifier><identifier>DOI: 10.1016/j.cpc.2022.108336</identifier><language>eng</language><publisher>Elsevier B.V</publisher><subject>Coherence theory ; Cross-spectral density ; Parallel computation ; Partially coherent light propagation ; PyOpenCL</subject><ispartof>Computer physics communications, 2022-07, Vol.276, p.108336, Article 108336</ispartof><rights>2022 The Authors</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c340t-2a364cd593990c6cfadec372376c20b84f1bc7b3ad84a4f154d8298e8d38e0d03</citedby><cites>FETCH-LOGICAL-c340t-2a364cd593990c6cfadec372376c20b84f1bc7b3ad84a4f154d8298e8d38e0d03</cites><orcidid>0000-0001-8056-003X ; 0000-0002-7418-0345</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27924,27925</link.rule.ids></links><search><creatorcontrib>Magalhães, Tiago E.C.</creatorcontrib><creatorcontrib>Rebordão, José M.</creatorcontrib><title>PyWolf: A PyOpenCL implementation for simulating the propagation of partially coherent light</title><title>Computer physics communications</title><description>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.</description><subject>Coherence theory</subject><subject>Cross-spectral density</subject><subject>Parallel computation</subject><subject>Partially coherent light propagation</subject><subject>PyOpenCL</subject><issn>0010-4655</issn><issn>1879-2944</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2022</creationdate><recordtype>article</recordtype><recordid>eNp9kE1Lw0AQQBdRsFZ_gLf9A6mzH0k2eipFq1BoD4oXYdnuTtotSTZsopB_b0o8exoewxuGR8g9gwUDlj2cFra1Cw6cj6yEyC7IjKm8SHgh5SWZATBIZJam1-Sm604AkOeFmJGv3fAZqvKRLulu2LbYrDbU122FNTa96X1oaBki7Xz9XY3YHGh_RNrG0JrDtA4lbU3svamqgdpwxDiatPKHY39LrkpTdXj3N-fk4-X5ffWabLbrt9Vyk1ghoU-4EZm0Li1EUYDNbGkcWpFzkWeWw17Jku1tvhfGKWlGSKVTvFConFAIDsScsOmujaHrIpa6jb42cdAM9DmPPukxjz7n0VOe0XmaHBwf-_EYdWc9Nhadj2h77YL_x_4FqSFunw</recordid><startdate>202207</startdate><enddate>202207</enddate><creator>Magalhães, Tiago E.C.</creator><creator>Rebordão, José M.</creator><general>Elsevier B.V</general><scope>6I.</scope><scope>AAFTH</scope><scope>AAYXX</scope><scope>CITATION</scope><orcidid>https://orcid.org/0000-0001-8056-003X</orcidid><orcidid>https://orcid.org/0000-0002-7418-0345</orcidid></search><sort><creationdate>202207</creationdate><title>PyWolf: A PyOpenCL implementation for simulating the propagation of partially coherent light</title><author>Magalhães, Tiago E.C. ; Rebordão, José M.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c340t-2a364cd593990c6cfadec372376c20b84f1bc7b3ad84a4f154d8298e8d38e0d03</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2022</creationdate><topic>Coherence theory</topic><topic>Cross-spectral density</topic><topic>Parallel computation</topic><topic>Partially coherent light propagation</topic><topic>PyOpenCL</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Magalhães, Tiago E.C.</creatorcontrib><creatorcontrib>Rebordão, José M.</creatorcontrib><collection>ScienceDirect Open Access Titles</collection><collection>Elsevier:ScienceDirect:Open Access</collection><collection>CrossRef</collection><jtitle>Computer physics communications</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Magalhães, Tiago E.C.</au><au>Rebordão, José M.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>PyWolf: A PyOpenCL implementation for simulating the propagation of partially coherent light</atitle><jtitle>Computer physics communications</jtitle><date>2022-07</date><risdate>2022</risdate><volume>276</volume><spage>108336</spage><pages>108336-</pages><artnum>108336</artnum><issn>0010-4655</issn><eissn>1879-2944</eissn><abstract>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.</abstract><pub>Elsevier B.V</pub><doi>10.1016/j.cpc.2022.108336</doi><orcidid>https://orcid.org/0000-0001-8056-003X</orcidid><orcidid>https://orcid.org/0000-0002-7418-0345</orcidid><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0010-4655
ispartof Computer physics communications, 2022-07, Vol.276, p.108336, Article 108336
issn 0010-4655
1879-2944
language eng
recordid cdi_crossref_primary_10_1016_j_cpc_2022_108336
source Elsevier
subjects Coherence theory
Cross-spectral density
Parallel computation
Partially coherent light propagation
PyOpenCL
title PyWolf: A PyOpenCL implementation for simulating the propagation of partially coherent light
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-07T00%3A22%3A32IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-elsevier_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=PyWolf:%20A%20PyOpenCL%20implementation%20for%20simulating%20the%20propagation%20of%20partially%20coherent%20light&rft.jtitle=Computer%20physics%20communications&rft.au=Magalh%C3%A3es,%20Tiago%20E.C.&rft.date=2022-07&rft.volume=276&rft.spage=108336&rft.pages=108336-&rft.artnum=108336&rft.issn=0010-4655&rft.eissn=1879-2944&rft_id=info:doi/10.1016/j.cpc.2022.108336&rft_dat=%3Celsevier_cross%3ES0010465522000546%3C/elsevier_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c340t-2a364cd593990c6cfadec372376c20b84f1bc7b3ad84a4f154d8298e8d38e0d03%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true