The main task was to change the algorithm that would support more types of diffraction gratings, develop a modern graphical user interface, and the second was to optimize the usage of computer resources. The proposed solution includes the set of programs designed to create and solve multi-layer plain and concave diffraction gratings. The algorithm uses different computation optimizations – precomputation of common parameters, caching of intermediate results, and parallel computations.

Technologies used: С++, MFC, Aladdin HASP Keys