Add a dummy surface at the Entrance Pupil of a system

  • 7 February 2024
  • 2 replies

Userlevel 4
Badge +1

Like the exit pupil, the entrance pupil can be found using real rays; rays at different field angles must cross at any internal pupil of the system.  Adding a dummy surface at the location of the entrance pupil allows us to place optimization operands on that surface, to control location, diameter, tilt, etc. of the entrance pupil.  Finding the entrance pupils is especially useful in the case of wide-angle systems, where the entrance pupil may be decentered and tilted, leading to images that are significantly darker at the edges.

In the wide-angle system shown below, the full field of view is 100 degrees and the stop is in the center of the system, as shown below.  Using the Draw Real Entrance Pupil option in the 3D Viewer shows that the entrance pupil moves down and to the left with increasing field angle.

A system with a full FOV of 100 degrees, with the entrance pupil shown for each field angle.
Isometric view showing the outline of the entrance pupil at each field angle.

Below, I’ve set up a system to place a dummy surface at the entrance pupils, for each field angle. (The positions shown don’t agree exactly with the pupils shown by the Draw Real Entrance Pupil option, which uses a more sophisticated algorithm than the simple Merit Function that I’ve set up here.  More importantly, pupils are generally aberrated / out of focus, so that no precise location for the pupil exists and we must just minimize the “spot size” across field angle at the location of the pupil surface.)

A wide-field system with a dummy surface at the entrance pupil for each field angle.

Because there is significant movement of the pupil as a function of field, I’ve converted this into a Multi-Configuration system with one field in each configuration. That allows me to position the entrance pupil in a different location for each field angle considered. 

To allow the entrance pupil surface to move, I’ve used the Tilt Decenter button on the Lens Data Editor to place coordinate breaks around the Entrance Pupil surface.  And the thickness to the entrance pupil is reversed in line 5.

I set up the Merit Function so that rays at slightly different field angles must meet at the pupil surface, and optimized to position the dummy surface at the entrance pupil for each field angle.

Coordinate Breaks around the entrance pupil, to allow it to shift and tilt.
The Multi-config Editor, showing a separate configuration for each field angle.  The optimization variables are set so that an optimization positions surface 4 at the entrance pupil for that field angle.
A Merit Function that requires rays at small field angles to cross at the entrance pupil.


2 replies

Userlevel 7
Badge +3

Hey Erin,

My license doesn’t support the new draw entrance pupil feature so I can’t check with the file, but it looks to me like the entrance pupil is tilting the wrong way as field increases. I won;d expect the pupil to tilt ‘towards’ the rays, thereby increasing transmission. As I read you screenshots, it looks like the pupil is tilting ‘away from’ the rays. Am I interpreting this correctly?


Userlevel 4
Badge +1

Hi, Mark!  I see what you mean.  But pupil images are so aberrated, that I suspect the location of the real pupil can by tilted in virtually any direction. 

The beam getting through at the widest field is still smaller than the on-axis beam, following their chief rays, because any tilt of the pupil away from orthogonal to the chief ray will reduce the intensity, of course.

The other possible factor driving the tilt of the entrance pupil is the Scheimpflug condition: for a thin lens, the plane of the object and the image will intersect in the plane of the lens.  (  We have to think of the stop as the object and the entrance pupil at the image, of course, and for a thick lens system, they probably have the same height at the front and rear principal planes.

I wonder if it’s possible to optimize for the tilt of the pupil while also optimizing for good imaging performance.  I might try it out in multi-config.