In purely NSC mode: How to get a diffraction pattern from an NSC Paraxial Lens, Detector Rectangle and Coherent Irradiation?
Simplest possible non-sequential file - 3 objects:
Source Ellipse (10mm in X and Y, collimated, 1E6 analysis rays),
NSC Paraxial Lens (X and Y half width = -6mm, X/Y focal length set to 50mm),
Detector Rectangle (X and Y = 0.02mm, 100x100 pixels, with Data Type=1, PSF Wave # = 1)
The detector is located 50mm from the paraxial lens, so it is at focus. However, the above parameters just give gibberish rather than a PSF pattern. What am I doing wrong? How can I get an NSC paraxial lens to form a coherent irradiance diffraction pattern on a rectangular detector? Is the NSC Paraxial Lens object incapable of doing this?
Thanks, Mike
Page 1 / 1
Hey Mike,
In NSC mode there is no way to compute the optical path length added by a paraxial lens. Such a thing does not exist, and NS mode only does real ray aiming. There are no paraxial references.
Sadly, using a paraxial lens in NSC is not the ‘simplest possible’ optical system...it is an idealized system. Try Documents\Zemax\Samples\Non-sequential\Coherence Interference and Diffraction\Interference Example 4- Diffraction Limited Imaging.zos instead. This is the simplest real system: a source, a diffraction-limited optical system made of real surfaces and a detector, and you get the expected diffraction performance.
Mark
Hi Mark, I read the manual on the Paraxial Lens object and was hoping there was a way to make it to act like an actual perfect lens, as is the case with the paraxial lens in sequential mode. As it is, the Paraxial Lens NSC object isn’t really a lens then, is it? I’m not actually sure what use it is now. Too bad the Zemax folks can’t make it an actual perfect lens that includes optical path length over the aperture to focus.
Could this be done as an NSC DLL? I don’t know how to do that but perhaps someone here can code that up, or give me pointers on how. The lens would convert ray slopes to x,y axis intercepts as it does now, but also calculate the OPL for each ray traced from the lens plane to whatever detector plane is defined.
This actual, functioning NSC perfect lens would work perfectly for my application. I saw the KB article but can’t use any kind of well-corrected refractive lens solution as shown to focus collimated light, as I have to be running in ray-splitting mode, and any real lens used as a perfect focusing lens splits the rays as well, which corrupts the transmission and reflection values I need.
I think I have solved the problem of not having an NSC perfect lens for now by using a paraboloidal mirror and detector at focus. This of course only works in parallel light, but it gets me answers for now.
How complex a task is it to create an NSC object DLL that behaves as an actual perfect lens?
Hi Mike,
Would it work to use a real lens and put an Ideal coating on the faces specifying 100% transmission?
Hi David, that is an interesting option. I.9999999, right? I'll try it on my own "perfect" lens. Also, I created T=1 glasses for my lens so there's no absorption. But that's only a limited stopgap solution, as the lens still generates tens of thousands of CPU-hogging unwanted rays when running in split-ray mode. We need an exact NSC version of the sequential-mode paraxial lens to do this right.
Hi Mike,
I made a ‘real’ aspheric lens in sequential using a model glass with n = 100, and coated it with
IDEAL Transmit100 1 0 0
which makes a coating named Transmit100 that transmits 100%, reflects 0, and kills TIR rays.
Made the edge thickness 0.1, which made the lens thickness not much more.
Then converted it to non-sequential. Trace of a single ray and path analysis confirms no splitting.