mrcwa - Multilayer Rigorous Coupled Wave Analysis
'mrcwa' is a fast, flexible optical grating solver. It calculates an exact solution to the Maxwell equations for the diffraction of light from an optical grating, with arbitrary profile and materials, defined by the user through a set of intuitive python bindings.
'mrcwa' is developed in an ongoing research project a the Physics of Complex Fluids group at the University of Twente, where it is used to study the inverse diffraction problem of superhydrophobic surfaces. However, it can also be used to calculate intensities of diffraction orders for an arbitrary optical grating in transmission and reflection, and thereby it is applicable to high end optical grating design. It is an implementation of the Rigorous Coupled Wave Analysis as described in [1].
Features include:
- arbitrary grating profile
- dielectric and lossy materials
- scattering in reflection and transmission
- TE and TM polarization
Future developments:
- conical mount
- birefringent and magnetic materials
- 2D periodic gratings
'mrcwa' aims at combining a friendly user interface with high numerical performance. This is pursued by combining flexible and intuitive object oriented coding provided by python, with the unsurpassed computational power of FORTRAN, whereby heavily relying on the high performance linear algebra package LAPACK. This coding philosophy was inspired by camfr.
'mrcwa' is free software, released under the GPL.