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 SUMMARYProgram Title: pyMOECPC Library link to program files:https://doi.org/10.17632/8xd387h3vf.1Developer's repository link:https://github.com/INLnano/pyMOELicensing provisions: CeCILL-B Free Software LicenseProgramming language: PythonNature 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 topography. In this respect, the design of appropriate masks is a crucial step where physics-based computational design and simulation are necessary. Yet, currently, no single software tool provides a complete and versatile framework for designing and simulating micro optical elements and flat optics, from modeling the physical optical propagation to the corresponding lithography masks required in the fabrication processes.Solution method: This software package provides an open-source end-to-end framework to aid the user in the design, simulation, and generation of lithography masks for micro optical elements and flat optics. The lithography mask is obtained from the component's intended optical functionality, which comprises optical amplitude and phase modulations, mapped to a 2D array. To this end, the user can define any optical function or numerically calculated 2D amplitude/phase profile and, using the software, efficiently generate the equivalent binary or multilevel lithography mask files (e.g. GDSII files) compatible with current semiconductor lithography microfabrication tools. This software package includes several mask generators for common optical functions (e.g. Fresnel lenses, Spiral Phase Plates, Alvarez lenses) as well as generation of holograms phase masks via the iterative Fourier Transform based Gerchberg-Saxton algorithm. To account for realistic fabrication conditions, the continuous topography profiles can be discretized into the number of topography steps (levels) intrinsic to the fabrication processes, such as the number of discrete levels in a grayscale lithography process or the number of available phase elements in a meta-element library. In the latter, the package can produce metasurface masks where the designed phase profile of the component can be converted to a mask using a meta-element library passed as input. Finally, the package provides optical simulation functionalities via Fresnel, Fraunhofer and Rayleigh-Sommerfeld propagation which allows to accurately simulate fields not only in the far field but also in the near field, expanding the possibilities for validation of the designed optical elements in all propagation ranges.
Read full abstract