NOTE (added 2/5/2024): A new version of the DLL is now available, so I have deleted the older one supplied with the posting below. Please see this link for latest version:
Ray-tracing model of a perfect lens compliant with Fermat’s principle: the Cardinal Lens
***********************
Attached is a user-defined surface DLL that functions as an ideal thin lens obeying the Abbe sine condition. It is distinctly different than a paraxial lens surface and is particularly well-suited for simulation of high-NA objectives. The Ideal Lens surface requires two user-supplied parameters, namely the effective focal length and the paraxial magnification at which the lens yields optimal performance. It supports arbitrary conjugates (i.e., finite conjugate, or infinite conjugate in either object or image space) and is designed to work in both standard space and mirror space. A detailed description is provided in the included summary document, along with a discussion of several examples. The source code is not provided for now, but any and all feedback regarding the DLL functionality would be appreciated. Changes can be made accordingly.
Here is a related link:
Regards,
Jeff