I encountered some issues when trying to analyze the diffraction on my zemax simulation (PSF FFT, MTF ..) including a "us_mems.dll" user-defined surface (see "DMD_study_thorlabsassembly_withmems" zemax file).
With paraxial lenses, everything is working fine (see "DMD_study_paraxiallenses_withmems" zemax file) . But when introducing tube lenses assemblies, the PSF of the system, even in a very small FOV, is very degraded .
I thought the issue was with the lenses assembly but I tested other blackboxes and the analysis results is still surprising. So I simulated the matrix of micromirrors behaviour in multi-configuration mode (see "DMD_study_thorlabsassembly_multiconf" zemax file). It shows very good results with all lenses.
So my questions are :
- Have you already had issues with the user-defined surface "us_mems.dll" ?
- Do you know a reason why there could be some compatibility issues between "us_mems.dll" and black boxes (and, in particular, issues that would effect diffraction analysis) ?
Thanks a lot,
Already have an account? Login
Enter your username or e-mail address. We'll send you an e-mail with instructions to reset your password.
I just wanted to make a follow-up post here to provide some details for anyone else who might pass by this thread.
The issue that Antoine was running into had to do with how the US_MEMS.DLL handles the bending of rays. Since it models a micro-structure of mirrors, what the DLL does is approximate the reflection of the rays off of a flat plane, regardless of how the mirrors might be tilted. To visualize:
So, the rays will still bend as expected between the MEMS DLL and a tilted mirror, but what happens as a result of the MEMS approximation is we introduce a tilt in our wavefront, causing a diffraction-limited system to have some unexpected error:
So, when performing analyses that require information on the wavefront, we recommend using a series of tilted mirrors where applicable. However, analyses that look at just the ray trace information, such as Spot Diagram, are fully applicable here and are recommended when you have the sequential MEMS DLL defined in your system.