The program package DiPoG (Direct and inverse Problems for optical Gratings) provides simulation and optimization of periodic diffractive structures with multilayer stacks.
The direct solver computes the field distributions and efficiencies of given gratings for TE and TM polarization as well as under conical mounting for arbitrary polygonal surface profiles. The inverse solver deals with the optimal design of the grating geometry, realizing given optical functions, for example far field patterns, efficiency or phase profiles. The algorithms are based on coupled generalized finite/boundary elements and gradient type optimization methods.
Please find further information under
http://www.wias-berlin.de/publications/annual_reports/2002/optik .