Joao Cunha , José Queiroz , Carlos Silva , Fabio Gentile , Diogo E. Aguiam
{"title":"pyMOE: Mask design and modeling for micro optical elements and flat optics","authors":"Joao Cunha , José Queiroz , Carlos Silva , Fabio Gentile , Diogo E. Aguiam","doi":"10.1016/j.cpc.2024.109331","DOIUrl":null,"url":null,"abstract":"<div><p>We introduce a new open-source software package written in Python to design and model micro optical elements, such as diffractive lenses, holograms, as well as other components within the broad area of flat optics, and generate their corresponding (production-ready) lithography mask files. To this aim, the package provides functions to design a multitude of kinoform lenses, phase masks and holograms, but is versatile and the user can implement any arbitrary numerical or analytical optical component designs. For validating the designs, this package provides scalar diffraction propagation to simulate optical field propagation in different regimes covering near- and far-field regions (Fresnel, Fraunhofer and Rayleigh-Sommerfeld). Particularly, by implementing Rayleigh-Sommerfeld propagation, we demonstrate accurate field propagation within near- and far-field ranges, providing versatility and accuracy. Importantly, the package allows to directly export production-ready multilevel/binary lithography mask files of the designed optical components. Additionally, metasurface masks can conveniently be generated for any user-defined meta-element library given as input. Finally, the software package capabilities are illustrated with examples of mask design and modeling of diffractive lenses, holograms, and metasurfaces susceptible of being fabricated via lithography techniques. Beyond lithography, the package can also straightforwardly be used in other applications requiring mask generation, such as beam shaping, optical trapping and digital holography.</p></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"305 ","pages":"Article 109331"},"PeriodicalIF":7.2000,"publicationDate":"2024-08-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0010465524002546/pdfft?md5=72d18388a6734669c1b1b763c0bc9586&pid=1-s2.0-S0010465524002546-main.pdf","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465524002546","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0
Abstract
We introduce a new open-source software package written in Python to design and model micro optical elements, such as diffractive lenses, holograms, as well as other components within the broad area of flat optics, and generate their corresponding (production-ready) lithography mask files. To this aim, the package provides functions to design a multitude of kinoform lenses, phase masks and holograms, but is versatile and the user can implement any arbitrary numerical or analytical optical component designs. For validating the designs, this package provides scalar diffraction propagation to simulate optical field propagation in different regimes covering near- and far-field regions (Fresnel, Fraunhofer and Rayleigh-Sommerfeld). Particularly, by implementing Rayleigh-Sommerfeld propagation, we demonstrate accurate field propagation within near- and far-field ranges, providing versatility and accuracy. Importantly, the package allows to directly export production-ready multilevel/binary lithography mask files of the designed optical components. Additionally, metasurface masks can conveniently be generated for any user-defined meta-element library given as input. Finally, the software package capabilities are illustrated with examples of mask design and modeling of diffractive lenses, holograms, and metasurfaces susceptible of being fabricated via lithography techniques. Beyond lithography, the package can also straightforwardly be used in other applications requiring mask generation, such as beam shaping, optical trapping and digital holography.
期刊介绍:
The focus of CPC is on contemporary computational methods and techniques and their implementation, the effectiveness of which will normally be evidenced by the author(s) within the context of a substantive problem in physics. Within this setting CPC publishes two types of paper.
Computer Programs in Physics (CPiP)
These papers describe significant computer programs to be archived in the CPC Program Library which is held in the Mendeley Data repository. The submitted software must be covered by an approved open source licence. Papers and associated computer programs that address a problem of contemporary interest in physics that cannot be solved by current software are particularly encouraged.
Computational Physics Papers (CP)
These are research papers in, but are not limited to, the following themes across computational physics and related disciplines.
mathematical and numerical methods and algorithms;
computational models including those associated with the design, control and analysis of experiments; and
algebraic computation.
Each will normally include software implementation and performance details. The software implementation should, ideally, be available via GitHub, Zenodo or an institutional repository.In addition, research papers on the impact of advanced computer architecture and special purpose computers on computing in the physical sciences and software topics related to, and of importance in, the physical sciences may be considered.