pyMOE: Mask design and modeling for micro optical elements and flat optics
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 a...
Gespeichert in:
Veröffentlicht in: | Computer physics communications 2024-12, Vol.305, p.109331, Article 109331 |
---|---|
Hauptverfasser: | , , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | 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.
PROGRAM SUMMARY
Program Title: pyMOE
CPC Library link to program files:https://doi.org/10.17632/8xd387h3vf.1
Developer's repository link:https://github.com/INLnano/pyMOE
Licensing provisions: CeCILL-B Free Software License
Programming language: Python
Nature of problem: Micro optics is a key-enabling field which takes advantage of the optical manipulation capabilities of micro and nanostructures to provide enhanced optical functionalities and performance with respect to traditional optics. In this context, micro-optical components can replace traditional (bulky) refractive optical components with alternatives comprising (nano- or) microstructured surface topographies atop flat substrates. One of the main current strategies to produce these alternative components relies on semiconductor microfabrication techniques based on lithography, requiring a mask to translate the micro optical component design into a material top |
---|---|
ISSN: | 0010-4655 |
DOI: | 10.1016/j.cpc.2024.109331 |