Skip to main content

Hello,

I am designing some systems using cylindrical lenses and I am exploring the possibility of using freeform lenses, but I don’t have a lot of experience on this. I know there are some surfaces for this available in OpticStudio, but which one can be best used for cylindrical freeform lenses, such that there is only optical power in one direction?

Also, what is generally a good way for such a design? First optimize a standard system and from there introduce some freeform variables? Or directly go to the freeform variables?

Thanks in advance!

It’s a tough question to answer in general, as ‘freeform’ means that the surface can take any shape required. Here’s what works for me:

  1. Paraxial optics is only sensitive to R, k and/or alpha_2, the coefficient on r^2 in the even asphere expansion. Any higher order term does not affect the power near the vertex and so does not affect paraxial optics. As a result, if your surface describes a ‘mild’ deviation from a conic asphere, start with a conic asphere initially and then add extra terms to improve performance.
  2. If your surface is sufficiently wild that it’s not meaningful to think of the asphericity as a deviation from a sphere, then forget using paraxial constraints at all, and only use real raytracing in the merit function. In particular, don’t use REAX, REAY, etc as these are all computed for a single ray. Instead use CENX, CENY etc to target centroid locations. This works much better for highly aspheric systems as its easy to design a surface in which a single ray behaves as you want, but it’s nearest neighbour goes somewhere else entirely. Using centroid controls targets all the rays from a specified field point to go to a specified location, and gives much smoother optimization
  3. In my experience, for wildly aspheric systems, use contrast optimization as it uses the whole pupil of rays. The other default MFs work fine, but I find Contrast to be smoother. 

Hope that helps,

  • Mark

 


Hello Mark,

Thank you for your answer. These suggestions are probably already helpful form me to do some testing.


Reply