Grid phase to replace lens

  • 27 July 2022
  • 3 replies



I am looking to replace a lens by a grid phase description of it. However, after several attempts and trials, I am becoming unsure whether it can be done.

Here is the lens I would like to convert into a grid phase : R1=70.9, R2=105.5, thickness=12,5 (all are in mm).

But first, I am trying with a simple convex-plane lens : R1=100, R2=Infinity, thickness=12.5 (all are in mm).

It seems that whether I have 10 or 20 or 50mm of glass after the curve doesn’t matter in the phase description, because it only adds a phase offset in a uniform manner on the grid, and it seems that Zemax interprets these 3 different grids identically. To sum up, 3 different lens are represented identically by a single grid phase, because only an offset differentiates them.

However, when I simulate a change of thickness using traditional methods in Zemax, there is a difference between these 3 lenses, for example the amount of spherical aberration.

I have read across other topics that the phase sag should be defined through phase, dphase/dx, etc, however I have only implemented phase.

My interrogations are the following : 

  • Is it possible to represent a lens entirely through phase in Zemax ? 
  • If so, is it really necessary to implement dphase/dx, d^2(phase)/dx^2, etc in addition to phase ? If so, why, since I would extract these values from the sole phase shape, why wouldn’t Zemax do it itself ?
  • What should I measure to check the grid phase represents a lens identically ? Because the grid phase is a thickness=0 plane, the positions of other elements in the system are altered compared to the classical representation ; and the values given by Zemax for effective focal length in the grid phase configuration aren’t right ; and it doesn’t plot aberrations (Seidel Diagram) in the grid phase case either.

If you need any more information do not hesitate to ask, I will provide for them, if that helps you help me!

Kind regards,



Best answer by MichaelH 27 July 2022, 21:01

View original

3 replies

Userlevel 4
Badge +2

Hi Hugo,

First, the Grid Phase will always be an approximation to a real lens, but based on how you set it up, it can be a really good approximation.  Although in OpticStudio, we trace “rays” through the system, the ray is always going to be the normal to a phase front at any point in space.  When the ray hits a surface, the ray bends and thus the phase front changes.  So, using a Grid Phase rather than a “real” lens can represent this bending.

A few things to note:

  • The Grid Phase can only be a plane, so if your lens has high curvature, then rays that hit towards the edge of the lens will not be represented well with a Grid Phase (they will have lateral shift)
  • The Grid Phase is represented by units of radians, not nm, so you will need multiple Grid Phase (in a multi-config) to represent a polychromatic system
  • The Grid Phase will only be a “snapshot” for a specific field/set of fields (if the Grid Phase is close to the Stop, you will probably need a different Grid Phase for each field point).  The farther a new field point is from the field point used to calculate the Grid Phase, the more error you will introduce.
  • If the lens is thin enough, you can get by with using only 1 Grid Phase, but if the lens is thick, then you’ll need to create a Grid Phase for the front surface and another Grid Phase for the rear surface.  Just like with a lens, rays exiting the rear surface will bend a different amount based where they hit the rear surface (controlled by the thickness).

With that said, to answer your questions:

  1. Yes, but there are several limitations to consider and this will only be an approximation.
  2. Implementing the correct dz/dx, dz/dy, and d2z/dxdy might not be necessary for a well behaved lens (like your plano-convex lens).  If these derivatives are blank, OpticStudio will calculate these derivatives using a finite difference bicubic interpolation so the Grid Phase will still be smooth and continuous.  However, if the phase between pixels will not be well represented by a bicubic curve, then you should provide the derivatives directly.
  3. I would use direct ray tracing to ensure the phase is correct.  This could be either a Single Ray Trace or something like a Spot Diagram.  Paraxial calculations (like EFL) and wavefront calculations might take extra effort to be correct and are not necessarily tied directly to the phase pixels in the Grid Phase file.

One question I have is why are you trying to replace a lens with a Grid Phase?  Are you trying to hide the exact prescription of the lens file?  If so, a Black Box will be more accurate and easier to implement.  

Hello Michael,

I would like to replace a lens with a grid phase so as to model heat changes. That way, I would inject the temperature profile according to radius, deduce the index profile, and compute an altered grid phase.

Despite your help I haven’t been able to obtain a satisfying approximation, even when using a grid phase for the first ‘curved slice’, a block of Zemax glass, and a second grid phase for the last ‘curved slice’.

If you have implemented this successfully in the past, would you be so kind as to share the simplest configuration for which you have done this, so I can take a look at it ?

Thanks again,


Userlevel 6
Badge +3

Hey Hugo,

OS already does the thermal analysis you describe. Hit up the Knowledge Base and you’ll get many examples -Mark