Skip to main content
Question

Optimisation based on true beam size after vignetting

  • July 3, 2026
  • 1 reply
  • 20 views

SimonIsMyName

Hi all,

First things first, I am still using Zemax 2012, so this may be a limitation. I have a relatively simple setup: input fibre, half ball lens, PCX lens to collimate a beam, the beam passes through a test glass, and is collected onto an output fibre using a PCX lens and half ball lens combination. I optimise the energy throughput from fibre to fibre (using IMAE). The lens and test glass diameters are fixed. The optical beam is allowed to overfill the first PCX lens, but any rays passing through the first lens MUST NOT overfill the test glass or the second PCX lens. For short throw distances (distance from the first PCX lens to the test glass, and from the test glass to the second PCX lens) the Hammer Optimiser works just fine. I have the IMAE merit function to optimise the energy throughput, and I have MXSD merit functions on the test glass and second PCX lens to ensure that the beam is completely within them (no overfill).

For short throw distances (like 500mm) the optimisation works fine. The first PCX lens is not overfilled, the MXSD merit functions indicate that they have been fully satisfied and the values match the semi diameters showing in the Semi Diameters column of the Lens Editor table. And if I look at the 3D Layout plot, I can see that the semi diameters are correct.

However, for longer throw distances (1200mm) things seem to fall over. The optimisation seems to run fine. The Merit Function Editor table indicates that the beam diameter is OK (i.e. less than MXSD), and this is confirmed by the semi diameter values in the Lens Data Editor table. However, when I look at the 3D Layout plot the beam diameter at the test glass is much larger, i.e. I have overfilled the test glass by a large margin.

It seems that the semi diameter being solved for is not representing the beam diameter if a previous surface has vignetted the beam.

I have uploaded two examples. The first is with 500mm throw distances. No vignetting and everything is fine. The second example shows the result of optimisation at 1200mm throw distance. Here the semi diameter on the test glass reports 7mm, whereas the 3D Plot shows more like 10.6mm. 

Is this an inherent limitation of Zemax 2012? Or is there a trick I am missing?

Many thanks!

1 reply

Jeff.Wilde
Luminary
Forum|alt.badge.img+3
  • Luminary
  • July 4, 2026

@SimonIsMyName 

Yes, your observation is correct.  The problem you are encountering relates to the fact that the semi-diameter values are not taking into account vignetting.  The solution is to use the “Set Vignetting” feature in the Fields dialog box.  This will automatically set the vignetting factors for you.  Now the semi-diameter values should better match the 3D Layout Plot, but note that the “Fast Semi-Diameters” option (which is on by default) only uses rays in a tangential fan.  More accurate values are obtained by turning this feature off so that rays around the full periphery of the vignetted pupil are utilized.  More detail can be seen by using the Footprint Diagram for a surface of interest; it reports a max radius value for the beam as defined by a set of rays.

Also,  note that the MXSD operand returns the sum of all semi-diameters in the specified range that do not meet the target criterion (minus the target value when multiple surfaces are included).  For this reason, you may want to set Surf1 = Surf2.  Alternatively, you can use the DMLT operand.

Regards,

Jeff