Getting Started Using ZEMAX® Version 1.1.6 Table of Contents 1 2 ABOUT THIS GUIDE ......................................................................................................................................................... 3 INSTALLING ZEMAX ......................................................................................................................................................... 4 2.1 2.2 2.3 2.4 2.5 2.6 3 INSTALLING THE KEY DRIVER ........................................................................................................................................ 4 INSTALLING ZEMAX ..................................................................................................................................................... 4 LICENSE CODES ........................................................................................................................................................... 4 NETWORK KEYS AND CLIENTS ...................................................................................................................................... 5 TROUBLESHOOTING ...................................................................................................................................................... 5 CUSTOMIZING YOUR ZEMAX INSTALLATION .................................................................................................................. 6 THE ZEMAX USER INTERFACE ...................................................................................................................................... 7 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 THE LENS DATA EDITOR ............................................................................................................................................... 7 ANALYSIS WINDOWS ..................................................................................................................................................... 9 THE SYSTEM MENU .................................................................................................................................................... 10 THE NORMALIZED COORDINATE SYSTEM ..................................................................................................................... 12 DEFINING & POSITIONING SURFACES ........................................................................................................................... 14 WORKING IN THREE DIMENSIONS ................................................................................................................................ 16 MULTIPLE CONFIGURATIONS ....................................................................................................................................... 18 EXPORTING TO MECHANICAL CAD PACKAGES ............................................................................................................. 24 SUMMARY .................................................................................................................................................................. 25 4 OPTIMIZATION ............................................................................................................................................................... 26 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 THE LENS SPECIFICATION ........................................................................................................................................... 26 ENTERING THE BASIC SYSTEM .................................................................................................................................... 26 SETTING VARIABLES ................................................................................................................................................... 31 DEFINING THE MERIT FUNCTION.................................................................................................................................. 32 OPTIMIZING THE LENS ................................................................................................................................................ 33 THE HAMMER OPTIMIZER ............................................................................................................................................ 36 ARE THERE ENOUGH FIELD POINTS?........................................................................................................................... 37 GLASS OPTIMIZATION ................................................................................................................................................. 39 TIPS FOR SUCCESSFUL OPTIMIZATION ......................................................................................................................... 41 Page 1 of 72 5 NON-SEQUENTIAL RAY TRACING (EE ONLY) ............................................................................................................ 43 5.1 5.2 5.3 5.4 5.5 5.6 5.7 6 A SIMPLE EXAMPLE .................................................................................................................................................... 43 OBJECT POSITIONING & DEFINITION ............................................................................................................................ 46 COMBINING SEQUENTIAL AND NON-SEQUENTIAL RAY-TRACING ................................................................................... 49 TRACING RAYS AND GETTING DATA ............................................................................................................................ 50 COMPLEX OBJECT CREATION ..................................................................................................................................... 54 OPTIMIZING NON-SEQUENTIAL SYSTEMS ..................................................................................................................... 56 COLORIMETRY ........................................................................................................................................................... 59 POLARIZATION, COATINGS & SCATTERING (EE ONLY) .......................................................................................... 61 6.1 6.2 6.3 6.4 6.5 6.6 POLARIZATION............................................................................................................................................................ 61 THIN-FILM COATINGS ................................................................................................................................................. 62 RAY SPLITTING........................................................................................................................................................... 66 RAY SCATTERING ....................................................................................................................................................... 66 IMPORTANCE SAMPLING ............................................................................................................................................. 68 BULK AND FLUORESCENT SCATTERING ....................................................................................................................... 69 7 WHAT’S NEXT? .............................................................................................................................................................. 71 7.1 GETTING TECHNICAL SUPPORT ................................................................................................................................... 72 ZEMAX is a registered trademark of Radiant ZEMAX, LLC. Page 2 of 72 1 About This Guide Congratulations on your purchase of ZEMAX! ZEMAX is the industry standard optical system design software, combining sequential lens design, analysis, optimization, tolerancing, physical optics, non-sequential optical system design, polarization, thin-film modeling and mechanical CAD Import/Export in a single, easy-to-use package. Although ZEMAX is easy to use, optical system design is a very broad area of engineering. This guide is intended to get you started using ZEMAX quickly. It is the first place to start if you are new to ZEMAX, or if you are returning to it after having not used ZEMAX for some time. You may learn something even if you have used ZEMAX for many years! We strongly recommend you take the time to work all the way through this booklet. It covers: • Installing ZEMAX, and customizing its appearance and file locations to your preference. • Entering a simple sequential design • Understanding the normalized definitions ZEMAX uses. • An overview of the multiple configurations capability. • How to export components and rays to mechanical CAD packages. • Optimizing a simple lens. • Using some of the powerful tools ZEMAX makes available. • Tilting and decentering optical components. • Entering a simple non-sequential system, tracing rays, and using detectors. • Colorimetry. • Thin-Film Coatings. • Surface, bulk and fluorescent scattering. As well as getting you started, this guide also points you to some of the other resources you can use to learn ZEMAX. In particular, the User's Manual is a detailed reference on all aspects of ZEMAX. It is supplied in PDF format and is found in ZEMAX by clicking on HelpManual. This guide refers to the various chapters and sections of the manual as it goes along, as well as to some of the many sample files distributed along with ZEMAX. Also, our web-based Knowledge Base at www.zemax.com/kb is an indispensible resource for all ZEMAX users. It contains tutorials, worked examples and answers to many frequently-asked questions. Page 3 of 72 2 Installing ZEMAX To use ZEMAX, there are two programs that must be installed on your computer. The latest versions of both can be downloaded from www.zemax.com/updates. The two programs are: • The ZEMAX installer, which has a name like ZEMAX_YYYY_MM_DD.exe, where YYYY, MM and DD are the year, month and day of the release. Different releases of ZEMAX are identified by their release date instead of a version number. The same installer is used for both ZEMAX-SE and ZEMAX-EE, and it contains all program files, sample files and a detailed User's Manual in PDF format. • The key driver installer. ZEMAX is not copy protected, and may be installed on as many machines as you wish. ZEMAX is supplied with a black USB device which allows ZEMAX to run on the machine it is plugged into, and determines whether the SE or EE feature sets are available. A multi-computer network key is also available. You must install both programs under a user account with Administrator privileges. Only Standard User privileges are needed to use ZEMAX once installation is complete. Note: The key supplied with the ZEMAX software is worth the full purchase price of the software. If the key is lost or stolen, it will not be replaced without payment of the full purchase price. Insure the key as you would any other business or personal asset of comparable value. 2.1 Installing The Key Driver The key driver installation is straightforward. Double-click the key driver installer once you have downloaded it, and choose the ‘Complete’ installation of all program features. A dialog box will also ask for your permission to modify the firewall settings of your computer to allow remote users of your computer to run ZEMAX using Remote Desktop. If you want to authorize this, click \"Yes\just re-run the key driver installer. Plug the key in once the key driver installation is complete, and Windows will detect the hardware key. The green LED at the end of the key will illuminate. 2.2 Installing ZEMAX The installation of ZEMAX itself is similarly straightforward. Double-click the ZEMAX installer once you have downloaded it, and step through the on-screen instructions. You may choose where on your hard drive ZEMAX is installed. 2.3 License Codes When ZEMAX runs for the first time, it may prompt you to enter a license code. If it does, visit www.zemax.com/updates and download the file lc.dat by right-mouse-clicking the link, choosing 'Save Target As:' and storing in your ZEMAX installation folder, over-writing the current version. If after that, you continue to see a dialog box like so: Page 4 of 72 Take a screenshot of this dialog box (use Alt-Print_Screen) and paste it into an email to support@zemax.com. We will promptly send you the license code or further instructions. Note: Please do not phone for a license code! License codes are complex multi-character strings and cannot be reliably given over the phone. Emailing the screenshot of the dialog box to us is the quickest, most error-free way of getting your license code. 2.4 Network Keys And Clients ZEMAX can also be supplied with 5, 10, 25 and 50-user network keys. Installation is almost identical, except that the key driver and hardware key are installed on one computer (called the ‘keyserver’ machine) and ZEMAX is installed on as many other machines as you wish (the ‘client’ computers). When a client machine starts ZEMAX, it looks to the keyserver machine to see if a license is available, and if so, ZEMAX starts. Installation of the key driver on the keyserver machine is identical to the normal installation, except that you obviously MUST allow the firewall settings to be adjusted to allow network access to the key. Installation of ZEMAX on the client machines is also identical to the normal installation, except that you must tell ZEMAX where to look for the keyserver machine after installation. Navigate to whatever folder you installed ZEMAX in (by default this is /program files/ZEMAX) and locate a file called sntlconfig.xml.bak. Rename this file to sntlconfig.xml, and open it in Notepad. Edit the following line:
10.0.0.1 Replace the default entry 10.0.0.1 with the IP address of your keyserver machine and save the file. 2.5 Troubleshooting ZEMAX will run without problem in the vast majority of cases. If you do experience problems, then visit our Knowledge Base at www.zemax.com/kb. Look at the Category ‘Installation and Troubleshooting’ for help. Make sure your key is plugged in! Page 5 of 72 2.6 Customizing Your ZEMAX Installation When ZEMAX starts for the first time, it loads a number of default settings which you may prefer to customize to your preference. Start ZEMAX, and click on FilePreferences. A multi-tab dialog box will open: This allows you to set all the ‘installation-specific’ settings. Note: Full details of all Preference settings are given in the User's Manual, chapter 4 “File Menu” or can be obtained by pressing the Help button in the dialog boxes. You should explore all these tabs, but the most important ones are: 2.6.1 The Address Tab This is shown above, and it allows you to enter information about your organization which is then printed on most graphics windows. 2.6.2 The Directories Tab This tab defines the folders that ZEMAX will use for the various file types it needs. They can be redirected wherever you wish by pressing the ? button for any path and navigating to the desired location. 2.6.3 The Editors Tab This tab allows you to adjust the appearance of the various Editors that ZEMAX uses. Adjusting the ‘Decimals’ setting affects how many decimal places ZEMAX displays in the Editor cells, but does not affect the accuracy of the data itself. All data is stored in ZEMAX as double-precision floating point numbers. Selecting \"Compact\" will vary the number of decimals displayed to minimize the space required to display numbers, so that trailing decimals are not displayed unless necessary. You can change the font, font size, and cell widths of all the editors. Page 6 of 72 3 The ZEMAX User Interface Start ZEMAX, and open the sample file “samples/sequential/objectives/Double Gauss 28 degrees field”. Even if you intend to use only the non-sequential mode of ZEMAX you should still follow this example, as the user interface is common to both sequential and non-sequential ray-tracing. The user interface consists of three main elements: 1. The program ‘frame’ that consists of the menu strip and toolbar at the top, and a status bar at the bottom. An editor spreadsheet, in this case the Lens Data Editor. Almost all data is entered via editors, which allow the parameters that define the optical system to be easily seen, and linked together or optimized as required. Data that is rarely modified once set is entered elsewhere, as we will discuss later. For now, note that the Lens Data Editor shows a sequence of ‘Standard’ surfaces which have radius of curvature, thickness, glass type, Semi-diameter and conic constant. There are then a series of parameters, labeled 0 through 12, which are not used by this surface type, and finally a Thermal Coefficient of Expansion (TCE) column, and a coating column (for EE use only). Each surface in this lens has coating ‘AR’, which is a quarter-wave thick MgF2 coating. Analysis windows, which are the results of some calculation the program has performed. In this case, the 2-D Layout, RMS Wavefront error versus field plot, and Spot Diagram are shown. 2. 3. Before proceeding, click on ToolsMiscellaneousPerformance Test and click Run Test This will give you a simple metric of how fast ZEMAX is on your computer. It also shows one of the best features of ZEMAX: its ability to use multiple CPUs in your computer, if available. Calculations are split up and spread over all available CPUs, and the results stitched back together again, without any user interaction. 3.1 The Lens Data Editor In sequential ray-tracing, light is traced from its source, called the ‘Object’ surface, to surface 1, then to surface 2, 3, etc. until it lands on the final ‘Image’ surface. For historical reasons this surface is always called the Image surface, even though the optical system may not form an image of the source. A laser beam expander or eyepiece for example may be afocal: this is covered later. Surfaces are inserted or deleted in the editor using the Insert or Delete keyboard keys, or via the ‘Edit’ menu which also allows individual cells or the entire spreadsheet to be copied to the clipboard. Column widths can be varied by placing the cursor in the top row, over the column separator. When the cursor turns to a ↔ symbol, click and hold the left mouse button to resize the column. Columns and rows can be hidden entirely (and unhidden) using the View menu. Page 7 of 72 The ‘V’ next to some parameters means that this parameter is ‘variable’. ZEMAX is allowed to change the values in such cells in order to improve the performance. This will be discussed in more detail later. Surfaces also have a set of properties that are not directly visible in the editor. These are generally those properties that are set and then not changed. To see these properties, move the mouse over the Type cell of the chosen surface, and double click. Alternatively, click anywhere on the chosen row, and choose EditSurface Type. A multi-tab dialog appears. From the Surface Type drop-down list you can select the type of the surface, which can be aspheric, diffraction grating, toroidal, etc. Note: See the User's Manual Chapter 11, “Surface Types” for full details of all the surface types that ZEMAX supports Spend some time exploring each tab. The most commonly used tabs are the Type, Draw, Aperture and the Tilt/Decenter tabs. Press the Help button on each tab to read the on-line Help. Note: Chapter 5 of the User's Manual, “Editors menu”, gives full details of all the Editors and their properties. Page 8 of 72 3.2 Analysis Windows Analysis windows provide either graphical or text-based data computed from the lens as entered in the Editor. Analysis windows never change the lens data: they provide diagnostic information of the various aspects of the lens system’s performance. Analysis windows all operate with the same user interface: • Pressing the Update menu item, or double-clicking anywhere in the Analysis window with the left mouse button, will make the Analysis window recompute. • Pressing the Text menu item will show the underlying data that is being presented graphically. • The Window menu item gives you access to Copy, Export as Bitmap, Export as Text File, etc. options. A typical Analysis window is shown opposite. All Analysis windows share the same menu bar. You can zoom in on a section of interest by clicking the left mouse button, holding it down and dragging it over the region you wish to zoom in on. Note: Chapter 7 of the User's Manual, “Analysis Menu”, gives full details of all Analysis windows. Clicking the Settings menu item, or right-mouse-clicking anywhere in the Analysis window, will bring up the Settings dialog box: The layout of this box will depend on the Analysis feature used, of course. The Settings are used to control the calculation. Pressing OK will recompute the Analysis calculation. The Save, Load and Reset buttons allow default settings to be saved, recalled or reset to ‘factory’ defaults. If you save the settings of any window, those become the defaults for every file that does not have its own settings, so your preferences automatically flow through all your work. The Help button will bring up the on-line help for the window. Page 9 of 72 3.3 The System Menu In addition to the surfaces of the optical system, we must also define the light that is incident on the optical system. This is done with the System menu: Or with these buttons on the button bar: 3.3.1 The General Dialog Box The General dialog box contains settings that apply to the whole lens design. The most important tab is the Aperture tab, which defines how big the bundle of light coming into the lens on-axis is: In this case, we define the Entrance Pupil Diameter to be 33.33 ‘lens units’. Click on the ‘Units’ tab to see that millimeters are the defined lens units in this file. Other options are Page 10 of 72 meters, centimeters, and inches. Once the lens units are defined, any length where the units are not explicitly given is in lens units. Entrance Pupil Diameter (EPD) defines the size of the on-axis bundle of light entering the lens system. In the double-Gauss sample file we are using, which is a traditional SLR-type camera lens, ZEMAX traces rays at this height through the lens and computes the size of the aperture stop surface (marked as STO in the Lens Data Editor), drawn in red opposite. The aperture stop surface is usually a ring diaphragm, so in reality the radial size of this surface defines the EPD, not the other way around. If you prefer this alternative definition, then choose the Aperture Type in the General dialog box to be ‘Float by Stop’, and then change the semi-diameter of the STO surface to say 8 mm. Double-click all the open Analysis windows to make them update to reflect this change, and notice the change in the lens apertures and performance. ZEMAX automatically computes the appropriate size of each surface so that all light passes through each surface. Another commonly used Aperture Type is ‘Object Space NA’ which is appropriate when the source is something like an optical fiber that radiates out in a defined numerical aperture. Use ‘Object Cone Angle’ if the source is defined by a source angle in degrees instead of NA. There are other definitions available for less common requirements, and several other tabs that define ‘system level’ settings for the file. Review these with the on-line Help, or see Chapter 6 of the User's Manual for full details. 3.3.2 The Field Dialog Box The term “Field” is short for field-of-view and it can be defined in three ways, one of which supports two options: • • The height of the object scene being imaged The height of the image being formed, which may be chosen to be either a real or paraxial image height The angle subtended by the object scene at the lens • Whichever you choose, it is defined by SystemField, or by pressing the ‘Fie’ button: Page 11 of 72 3.3.3 The Wavelength Dialog Box The wavelengths dialog box, defined under SystemWavelength or by pressing the ‘Wav’ button, is used to set wavelengths, weights, and the primary wavelength of the system. Wavelengths are always entered in microns. Wavelength weights can be used to define relative spectral intensity, or simply to define which wavelengths are most important in a design. The ‘primary’ wavelength is used as a default wavelength: for example, if asked to compute effective focal length, ZEMAX will compute it at the primary wavelength if no wavelength is specified. 3.4 The Normalized Coordinate System Because there are six ways to define system aperture, and four ways to define field of view, it is convenient to work in normalized coordinates. When performing the initial setup of your system you should choose the most appropriate aperture definition, and the most appropriate field definition, and enter the data for both of these. Subsequently, all calculations use normalized units, and you do not have to refer to the specific values entered or definitions used. 3.4.1 Normalized Field Coordinates Normalized field coordinates Hx and Hy are used throughout ZEMAX, its documentation, and in the wider optical design literature. The normalized field coordinate (0, 1), for example, is always at the top of the field of view in y, whether the field points are defined as angles or heights, and regardless of the magnitude of the field coordinates. Similarly the field coordinate (0,0) is always at the center of the field of view. For example, suppose 3 field points are defined in the (x, y) directions using object height in lens units of millimeters at (0, 0), (10, 0), and (0, 3). The field point with the maximum radial coordinate is the second field point, and the maximum radial field is therefore 10 mm. The normalized coordinate (Hx =0, Hy = 1) refers to the location on the object surface (as the field of view is defined in object height) of x= 0, y =10 mm. The normalized coordinate (Hx = 1, Hy = 0) refers to the object surface location (10, 0). You can then define any point within the field of view of the lens by its (Hx, Hy) coordinates, as long as Hx2 + Hy2 ≤ 1. This is referred to as radial field normalization, as the normalized field coordinates represent points on a unit circle. ZEMAX also supports rectangular field normalization, in which the normalized field coordinates represent points on a unit rectangle. Page 12 of 72 Note: See the User's Manual, chapter 3 “Conventions and Definitions”, for full details of these conventions and all the basic definitions ZEMAX uses. 3.4.2 Normalized Pupil Coordinates Similarly, normalized pupil coordinates are also used throughout ZEMAX, its documentation, and in the wider optical design literature. You define the system aperture using whatever definition is most useful, and thereafter we use the normalized pupil coordinates Px and Py to define any point within a unit circle. Therefore, the point (0,1) represents a point at the top of the bundle of rays entering the system, and (0, 0) is a point at the center of the ray bundle, no matter what the definition of system aperture is or what value it has. 3.4.3 Using the Normalized Coordinates Re-open the double Gauss 28 degree field sample file in order to undo any changes you may have made in the earlier sections. Open the Field dialog box and note that the field is defined as angle in degrees, and the maximum field point has a value of 14°. This is a half-angle, and so the full field of view is 28°. Note: ZEMAX is always clear on the definitions it uses, but these definitions are not universal in the optics industry. Always clarify with your customers what definitions they use for important system specifications to avoid costly errors! Then open the General dialog box, and under the aperture tab note that the system aperture is defined as Entrance Pupil Diameter, value 33.33. Go to the Units tab to see that the lens units are millimeters, so the EPD is 33.33 mm. Lastly, open the Wavelength dialog box and note that the design uses three wavelengths, at 0.4861, 0.5876 and 0.6563 microns respectively. The primary wavelength is set as wavelength number 2, which is 0.5876 microns. Now click on AnalysisCalculationsRay Trace. This is the most fundamental calculation in ZEMAX: the tracing of a single ray. Right-mouse click on this window to bring up its Settings dialog box: Page 13 of 72 Note how you can define any ray by where it starts on the object surface in normalized (Hx, Hy) coordinates, and where it goes to in the pupil in normalized (Px, Py) coordinates. Try tracing some rays, and look at the data provided by this feature. You are given the (x,y,z) position of the ray, the direction cosines of the ray, and the path length of the ray at each surface of the system. This is the fundamental data on which all the calculations in sequential ray tracing are based. Note also that instead of defining ‘arbitrary’ field coordinates (Hx, Hy) you can also define the starting coordinates of the ray by the field point number: Since field point 3 defined the maximum radial field, it is at (0, 1) in normalized field coordinates. Field point 2 is likewise at (0, .714) and field point 1 is at (0, 0). Depending on the Analysis feature selected, field points can be defined by either their field point number (as entered in the Field dialog box) or by their (Hx, Hy) values. 3.5 Defining & Positioning Surfaces In ‘sequential’ lens design, light always starts at surface 0, the ‘object’ surface, and is traced to surface 1, then surface 2, then 3 etc. It therefore makes sense to position surfaces relative to each other. Returning to the double Gauss sample file, look at the Lens Data Editor, and click on surface 1. Note that this surface is drawn in red in the Layout plots when you click on it in the editor. Rays propagate from left to right in the layout, and this direction is the +Z axis. The +Y axis goes from the bottom to the top of the window, and the +X axis goes ‘into’ the screen. If you position your right hand, such that your middle finger is touching surface 1 in the layout window and points into the screen, your index finger is pointing towards the right hand of the screen, and your thumb is pointing upwards, you have the classic ‘right hand coordinate system’ used throughout ZEMAX and in most of the optical design literature. Also, observe that as you move your mouse over the layout window, the coordinates of the mouse pointer are shown in the title bar of the window: Page 14 of 72 If you move the mouse across the Layout window, you will see the Z coordinate change, and as you move the mouse up or down the window, the Y value will change. The Lens Data Editor shows the following data for surface 1: Radius of curvature: Thickness: Glass: Semi-diameter: Conic: 54.153 8.747 SK2 29.225 0 Remember that any lengths where the units are not explicitly given are in “Lens Units”, which are in mm for this file (see SystemGeneral and the ‘Units’ tab). The radius of curvature of surface 1 is 54.153 mm. This is a positive number because the center of curvature lies in positive Z. By contrast, surface 7 has a radius of curvature of -25.685 mm because its center of curvature lies in –Z. Surface 1’s thickness of 8.747 mm means that surface 2 is located 8.747 in positive Z relative to surface 1. “Thickness” is therefore the distance along Z of two surfaces. We refer to this as thickness in the editor rather than ‘z-distance’ because if you were to hold the lens formed by surfaces 1 and 2 in your hand, you would naturally describe the lens as having a center thickness. Surface 1’s Glass type is set to SK2, which means that the space between surface 1 and surface 2 is filled by a particular glass called SK2. Click on the SK2 glass in the editor, and then click on ToolsCatalogsGlass Catalogs, or press the ‘Gla’ button on the toolbar. This shows that SK2 is a glass in the Schott catalog, and it gives all the data ZEMAX knows about the glass. Note: A full discussion of this dialog is outside of the scope of this Guide. See the User's Manual Chapter 18, “Using Glass Catalogs”, for full details. Next, see that surface 2 has no entry for its Glass column, and is instead blank. That means that surface 2 is made of ‘Air’ at Standard Temperature and Pressure. Both temperature and pressure can be changed, both at a system level and on a surface-by-surface basis. This has important, but subtle, effects. First, the index of refraction of glass depends upon both temperature and wavelength; relative indices which are measured with respect to air also change with pressure. Second, glass expands and contracts with temperature, which can change the radius, thickness, or other dimensions of a lens. Third, the distances between lenses change due to the expansion and contraction of the mounting material. Page 15 of 72 The thermal analysis features of ZEMAX can account for all these effects. ZEMAX can be used to analyze and optimize a design for any specific temperature or for a range of temperatures. This is outside of the scope of this Guide, however, and we will assume that the whole lens is at 20° C, 1 Atm pressure. Note: See Chapter 19 of the User's Manual, “Thermal Analysis” for full details of the comprehensive temperature and pressure modelling capabilities of ZEMAX. The “Semi-Diameter” column shows the radial height of the surface (it is called Semi-Diameter to avoid confusion with radius of curvature). This can be computed in two ways: automatically by ZEMAX (the default), or directly entered by the user. The automatic calculation sets the semi-diameter to ensure that the edge rays always pass through the lens. This means that the lenses are ‘just big enough’ to pass the full aperture of rays from across the field of view. Usually, lenses are made a little larger than this, so there is some unused glass that can be used to hold the lens in its mount without blocking the beam. You can specify the additional amount easily by adding a semi-diameter margin in SystemGeneralMisc. 3.6 Working In Three Dimensions The double Gauss example lens is an axially symmetric lens, and so each surface is simply positioned a distance in Z away from the previous surface. But what about systems in which optical components are tilted or decentered with respect to each other? Let’s imagine that the second group of elements (the doublet and singlet after the stop) is tilted and decentered with respect to the first. Click on surface 7 in the Lens Data Editor, then hold the left-mouse button down while dragging with the mouse to highlight surfaces 7 to 11. Alternatively, click on surface 7, and press the Shift key while also pressing the down cursor key to highlight surfaces 7-11. Then click on ToolsCoordinatesTilt/Decenter Element and configure the dialog like so: After you press OK, click on SystemUpdate All to update all the open windows. Note that the Layout plot displays a warning ‘Cannot perform 2D layout on non-axial system’. Close this window, and click on AnalysisLayout3D Layout or press the L3d button on the button bar: Page 16 of 72 You can see that the second group of elements has been shifted in the y-direction (upwards in the 3D Layout) and rotated around x (the x-axis points into the screen). Click anywhere inside the 3D Layout window so that this window is active (the title bar will appear brighter than the other ZEMAX Analysis windows). The layout can be rotated by using the cursor keys and the PageUp/PageDown keys, or by the Rotation X/Y/Z controls in the Settings dialog box for this window. Return to the Lens Data Editor, and see that ZEMAX has now entered two new surfaces into the design. These are called Coordinate Break (CB) surfaces. Coordinate Break surfaces have no optical effect; they just define a new coordinate system relative to the previous surface’s coordinate system. Click on the first CB surface, and scroll to the right in the Editor. See that the surface has a decentration in x, then y, and a tilt in x, y, and z. If you filled in the dialog as shown above, you should see a decentration in y of 2 mm, a tilt about x of 5 degrees, and have an order flag of 0. This means that the CB will execute ‘left to right’, meaning that the decentration in x is done first, then the decentration in y, then the tilt in x, etc. Now look at the second CB. It has a decentration in y of -2 mm and a tilt in x of -5 degrees. This ‘undoes’ the tilt/decentration of the first CB. Also its order flag is not zero, so it executes ‘right to left’. This means that the second CB undoes the first CB, and restores the coordinate system to its original frame of reference. Note also the letter P next to the decenters and tilts of the second CB. This indicates that a ‘Pick-Up Solve’ has been placed on this parameter. Click on the Decenter Y parameter of the second CB, and double-click it with the left mouse button: This locks the value of parameter 2 on surface 13 to be whatever the value of parameter 2, surface 7 is, except the sign is the opposite. The pick-up solve is one of the Editor’s most useful features, as it allows one part of an optical system to be locked to another. Page 17 of 72 Note: If you visit the ZEMAX User’s Knowledge Base at www.zemax.com/kb, look at the category Sequential Ray Tracing/3D Geometries for many helpful articles about the use of Coordinate Break surfaces. Finally, click on AnalysisLayoutShaded Model to get a presentation-quality graphical representation of the lens. Most engineering work is done with the 2D and 3D layouts, but most presentations of results are done with the Shaded Model, because it yields prettier pictures! Note that this window also allows you to spin the Shaded Model with the mouse. To see this, move the mouse over the Shaded Model window, and hold the left mouse button down, and move the mouse. The model will rotate, and the axes of rotation are defined by the ‘Spin Mode’, which maps the 2D motion of the mouse into the 3D geometry of the Shaded Model. 3.7 Multiple Configurations ZEMAX can also work with multiple configurations, or versions, of a design. This is typically used to model zoom lenses (where the spacings between lenses changes), systems where the temperature changes, and systems where the angle of a scanning mirror changes, amongst many others. We will use this now to model a system in which the spot produced by a catalog lens is scanned by a mirror over the image surface. ZEMAX includes the lens catalogs of all the major vendors so you can easily find catalog lenses. Click FileNew to clear ZEMAX, and click on ToolsCatalogsLens Catalog or press the Len button, and configure the dialog box like so: This searches for plano-convex singlet lenses with focal lengths between 99 and 101 mm, and Entrance Pupil Diameters between 15 and 20 mm. Note that there are 6 lenses that meet these criteria out of the 4060 files included in the Edmund Optics Page 18 of 72 catalog. Select the lens 32475, and press the Load button. ZEMAX then loads this stock lens: Our goal is to design a scanning mirror that scans the focal spot through ±10° around a nominal 90° reflection angle. First, note that the lens has been entered so that it is illuminated right up to the edge of its mechanical aperture. Since the lens will be held in a mount of some sort, we need to reduce the Entrance Pupil Diameter a little (since this is a catalog lens, the mechanical diameter is fixed). Under GeneralAperture, set the Entrance Pupil Diameter to 18. Check the Units tab to see what the Lens Units are. Click anywhere on surface 2. Note that the thickness of this surface is controlled by a marginal ray height solve, and can be seen by the M following the thickness. This keeps the lens at paraxial focus. We will discuss solves more in the next chapter. For now, simply press Insert afer clicking on surface 2, to insert a new surface. Give this surface a thickness of 70 mm, and note that the thickness of the last surface automatically changes to keep this lens in focus: Page 19 of 72 We will now make surface 3 a ‘Fold Mirror’ which just reflects the light through some angle. Click on surface 3, and then click ToolsCoordinatesAdd Fold Mirror, and configure it like so: When you press OK, the 2D layout window will again show ‘Cannot perform 2D layout on non-axial system’. Close this window, and open a 3D layout. You will have: This feature inserts two dummy surfaces, one before and one after the selected fold surface. The fold surface then has its glass type set to MIRROR, which is a special status that tells ZEMAX that light should now propagate in the opposite direction. The two newly inserted adjacent surfaces are set to be Coordinate Breaks with the appropriate tilt angles. The second tilt angle is set as a pickup from the first tilt angle. Finally, all subsequent surface thicknesses and curvatures change sign to account for the new mirror. Remember that light normally propagates in +Z (left to right) but after a mirror it obviously goes in the other direction. Using the Add Fold Mirror/Delete Fold Mirror tools automates all the tedious sign conversions. We now want to scan this mirror through ±10°. We will initially tilt it through +10°, and then use multiple configurations to define multiple tilt angles. Click on surface 4 (which is the mirror surface now). Click on Tools Coordinates Tilt/Decenter Element and configure the dialog like so: Page 20 of 72 Note that the semi-diameter of the Image surface has been set manually (as indicated by the U for user-defined status flag in the Lens Data Editor). Click on this semi-diameter and enter a semi-diameter value of 12mm: The Tilt/Decenter Element tool has operated just as it did in the earlier double-Gauss example, and it has added two more Coordinate Break surfaces, with pickups, that tilt the mirror surface. The two sets of Coordinate Breaks are ‘nested’, such that the set added by the Tilt/Decenter tool are inside the pair added by the Fold Mirror tool: Page 21 of 72 You can vary the +10° value by hand, and watch the 3D layout update, or click on Tools Miscellaneous Slider and configure it like so: Press the ‘Animate’ button and all open windows will update as the Tilt About X (parameter 3) of surface 4 is scanned. Now exit the slider, and click on EditorMulti-Configuration Editor: The lens currently has only one configuration, and the multiple-configuration operand MOFF (“Multiconfiguration OFF”) is a placeholder that affects nothing, and allows you to enter comments in the editor if desired. Note: The Multi-Configuration Editor is used to define everything that is different between configurations. We will define 5 configurations, representing scan angles of +10°, +5°, 0°, -5° and -10° respectively. Click on the Multi-Configuration Editor, and either click on EditInsert Configuration four times, or press the
keys simultaneously four times, so that a total of five configurations results: Each line in the Multi-Configuration Editor is an operand that acts on a parameter in the Lens Data Editor or some other System parameter and allows its value to be changed. Move the mouse over the ‘MOFF’ operand and double-left-click to edit the operand. All Page 22 of 72 the multiple configuration operands ZEMAX supports can be selected from the drop-down list in the resulting dialog. Set it up like so: The PRAM operand picks up parameter data, in this case parameter 3 of surface 4, and enters its current value into the editor. Edit this value as follows: Note: See the User's Manual Chapter 17, ‘Multi-Configurations’ for full details of all multi-configuration operands. Use the A keys to change the current configuration, and note that all open windows update to show the data for whatever configuration is current. Configure the 3D layout window like so: Page 23 of 72 Finally, click on AnalysisSpot DiagramsConfiguration Matrix to see how the spot varies with scan angle: 3.8 Exporting To Mechanical CAD Packages At some point in your lens design, you may want to export the lens design into a mechanical design package so that you or your mechanical engineering colleagues can design lens mounts and other opto-mechanical components alongside the lenses and rays. This is easily achieved via ToolsExport DataExport IGES/STEP/SAT/STL Solid Data File. Set it up like so: And load the file produced into your 3D CAD package: Page 24 of 72 Note: If you are using SolidWorks™, and do not see the exported rays, visit the ZEMAX User’s Knowledge Base at www.zemax.com/kb and search for “SolidWorks” to get advice on how to set SolidWorks’ importer options. This lets you see easily the range of motion of the mirror, the envelope of the rays, and the optical components. Multiple configurations can be exported as separate files, as separate layers of the same file, or ‘all at once’ as done here. Importing CAD objects is discussed in the non-sequential ray-tracing section of this Guide. 3.9 Summary Congratulations! You have finished the first part of the Getting Started Using ZEMAX guide. By now you should be familiar with • The Lens Data Editor, surface parameters and surface properties. • How to configure Analysis windows by right-mouse-clicking the window to access the Settings dialog box. • The normalized coordinate system used to define rays. • The local coordinate system used to position surfaces. • Multiple configurations of a design • Exporting optical components and ray sets to mechanical CAD packages These are fundamental concepts in using ZEMAX. If you’re not sure you ‘get it’ yet, review this chapter, read the User’s Manual, and read the appropriate Knowledge Base articles until you’re ready to proceed. Page 25 of 72 4 Optimization So far, we have loaded a lens file, and used Analysis features to look at the performance of the system. Optimization takes this to the next level: ZEMAX will actively work with you to obtain the best possible system performance. Note: Even if you intend to use only the non-sequential mode of ZEMAX you should work through this example, as the concepts of optimization are the same in non-sequential ray-tracing as in sequential. Optimization is a three step process: • First, a basic lens design is entered which has the correct field of view, wavelength, system aperture, number of surfaces, etc. This system should be traceable without error. • Next, some parameters in the Editor are defined as variables. This means that ZEMAX can change the value of these variable parameters in order to better meet the design specification. • Last, the design specification is expressed as a series of design goals called a merit function. The merit function ultimately is expressed as a single number, and the closer to zero this number is, the closer the design is to your desired performance. Optimization then changes the values of the defined variable parameters so that the merit function is reduced to its minimum value. ZEMAX contains several different optimization algorithms, two local optimizers and two global optimizers. In this example we will use the Damped Least Squares local optimizer, and the Hammer global optimizer. Also, this three-step optimization process may be repeated several times during the design process. After optimization, the system performance may still not be as required, and more lenses may be needed, or you may choose to make some surfaces aspheric and repeat the optimization with the aspheric parameters set as variables. Note: See Chapters 14 and 15 of the User's Manual, and the ZEMAX Users’ Knowledge Base category on Optimization, for full details and many examples of optimization. 4.1 The Lens Specification Here is the specification of the lens we are to design: Design a cemented doublet that works at f/5 over the visible region of the spectrum. The field of view is 10° full field of view, and the object is a very long distance away from the lens. The lens aperture is 25 mm entrance pupil diameter, and the lens must be at least 2 mm wider in diameter than the optical beam to allow for mounting. 4.2 Entering The Basic System Press FileNew to clear ZEMAX and start a new design. We will start by defining the incoming beam of light, by its aperture, wavelength, and field of view. The system aperture has been defined as 25 mm entrance pupil diameter, with at least a 27 mm mechanical diameter to allow for mounting of the lens. Click on the ‘Gen’ button in the button bar or press SystemGeneral and enter the Entrance Pupil Diameter as 25: Page 26 of 72 Lens units are millimeters by default, which you can confirm by clicking on the Units tab of the dialog box. We also have a requirement for the lens to be mechanically 2 mm larger in diameter than its working aperture, so click on the Misc tab and enter a 1 mm semi-diameter margin like so: (Note that ZEMAX works with semi-diameters, not diameters, so a 1 mm semi-diameter margin gives a 2 mm diameter margin.) Press OK. We will now define the wavelength of the light. This specification is a little vague on this important system parameter. For example, what is the ‘visible spectrum’, and at exactly what wavelength should the system be f/5? We will assume that the ‘visible’ region is that covered by the F, d and C spectroscopic lines. This is a very common assumption in visible system design. We will further assume that the d-line, being the central wavelength, should be the wavelength at which the f/# of the lens is defined. We will therefore enter the System wavelengths as follows (press the Wav button or click on SystemWavelength): Page 27 of 72 In the drop-down list next to the ‘Select’ button, choose the spectrum “F, d, C (visible)” and press the Select button to copy this spectrum into the Wavelength Data dialog. This sets three wavelengths, in ascending order, and sets wavelength #2 as the primary wavelength. Note: In real life, any time you find yourself making assumptions about what specifications mean, always refer back to the customer! Part of your QA process should be to do a point-by-point comparison of each specified parameter, how it has been entered into ZEMAX and how it will be tested in the built system. Last, we will define the field of view, which is 10° full field of view, hence 5° half-field. Click on the Fie button, or click on SystemField and enter: Note: As the lens is rotationally symmetric we do not need to specify a field point at y = -5°, or at x = 5° or -5°. Always define your field points in +y only unless you specifically require a non-rotationally-symmetric lens system. We have now entered everything we need about the light coming into the lens: its diameter, wavelength and angular extent. We now need to enter the first-guess data for the optical surfaces in this lens system. As we know we will be designing a cemented doublet, we know we will need a total of six surfaces: the OBJect surface, STOp surface, the front, middle and rear doublet lens surfaces and the IMAge surface. Click on the IMAge surface in the Lens Data Editor, and press the Insert key 3 times to insert the correct number of surfaces, and enter the following data: Because the specification says that the OBJect scene is ‘a very long distance’ away from the lens we have set the OBJect surface thickness to ‘Infinity’. You do this by typing the word “Infinity” (without the quotation marks) in the editor cell. Do not enter anything in the semi-diameter data column. ZEMAX will work this out for you, and include the requested margin so that the lens is larger than the incoming beam: Page 28 of 72 Now our system has a requirement that it must be f/5. There is a simple way to achieve this, just double-click the radius of curvature of the last lens surface, and choose an f-number solve like so: ZEMAX will immediately compute the radius of curvature that yields an f/5 cone of light: Try altering the radii of curvature of the other two surfaces, and you will see that the f/# solve automatically updates to enforce the condition that the lens be f/5. A solve is the most efficient way to enforce a system constraint. Note: Read Chapter 13 of the User's Manual, “Solves” in its entirety. A solid understanding, and use, of solves is one of the hallmarks of the professional lens designer! Page 29 of 72 Now we will bring the lens into focus. Click on ToolsMiscellaneousQuick Focus and set it up like so: Update the Analysis windows to see the final ‘basic setup’: Open a spot diagram by clicking on AnalysisSpot DiagramsStandard or by pressing the Spt button on the button bar: Page 30 of 72 The RMS spot radius is 143µ on axis, and about 169µ at the 5° field point. Check that you get the same data as shown here, and if not go back through the exercise step by step to make sure your system is correctly set up. Note: Finally, click on ReportsSystem Check. This invaluable utility checks your file for the most common setup faults. Although not every possible fault can be caught by such a utility, anything it does report should be checked, and anything classed as an ‘Error’ must be rectified before proceeding. Then click on FileSave As, or press the Sas button, to save the file as ‘basic setup.zmx’. 4.3 Setting Variables Our basic system setup is certainly an f/5 lens that meets the specification of aperture, wavelength and field of view, but it is not necessarily the best possible lens for the job. In fact, with only one curved surface, it is highly unlikely to be the best possible lens for the job! We are now going to optimize the lens to get the best possible performance. First we will tell ZEMAX what it may change. We do this by double-left-clicking on the parameter we want, and selecting the ‘variable’ solve: Or we can use the keyboard shortcut Z (press and hold the Cntl button, and then press the z button on the keyboard). Note: See Chapter 2 of the User's Manual, “User Interface’ for a summary of all the useful keyboard shortcuts ZEMAX has. We will set a total of six variables: Page 31 of 72 The status flag V indicates variables that ZEMAX may change the values of, just as the F flag means that the rear surface’s radius of curvature is set by an f/# solve. As ZEMAX modifies the values of the variables, the f/# solve will automatically update to maintain the lens at f/5. 4.4 Defining The Merit Function Next we will build the merit function for this design. Click on EditorsMerit Function to open the Merit Function Editor. This Editor is similar to the Lens Data Editor in functionality, but where the Lens Data Editor contains the details of the lens design, the Merit Function Editor contains the design goals, or specifications you want the lens to achieve. Then click on ToolsDefault Merit Function: Because this is a focal system, we want the smallest RMS spot radius, choose RMS Spot Radius, relative to the centroid, and set the number of rings to 4 (we will discuss this in more detail later, for now just make these changes): ZEMAX will then write out a merit function like so: Page 32 of 72 Each row in the Merit Function Editor contains an operand, which computes some value. The TRAC operand, for example, computes the radial point at which a specified ray lands on the image plane, relative to the average of all rays from that field point. Note that each TRAC operand traces a ray defined by its wavelength number, and its (Hx, Hy, Px, Py) normalized coordinates. Different operands will take different arguments, and the names of the arguments are given in the header row of the Editor. Each operand that computes a value returns that value in the ‘Value’ column of the editor. The operand is also given a target value to achieve, and a weight. The merit function value is then computed as: where Wi is the weight of the ith operand, Vi is its computed value and Ti is its target value, and the summation is over all the operands in the merit function. As the computed values of the operands move towards their target values, the merit function value approaches zero. Because the difference between the target and actual values of each operand is squared, any deviation from the target value yields an increasingly positive value of the merit function. Note: The goal of the optimizer is to reduce the merit function to zero, or as close as possible, by adjusting the values of the variable parameters in the Lens Data Editor. 4.5 Optimizing The Lens Now that we have defined the variables and the merit function, click Tools Optimization Optimization, or press the ‘Opt’ button in the button bar, and press the ‘Automatic’ button: (Note that the optimizer is multi-threaded and will split the calculation over all the CPUs in your machine if that will speed the calculation up.) The merit function value quickly falls, and the Spot Diagram plot shows the improved performance (double-click it to make it update). The RMS spot radius is now 11µ on axis, and about 20µ at the 5° field point, compared to 143µ and 168µ prior to the optimization. That’s a big improvement! Page 33 of 72 However, there is a clear problem, which can be seen in the Layout plot and Lens Data Editor: The lens is unfeasibly thick! We have told ZEMAX to minimize the RMS spot radius, but have given it no guidance about any constraints it must operate within. Press the F3 button, or click on Editors.Undo. This will undo the optimization and restore the previous, unoptimized system. Return to the Merit Function Editor, and click on ToolsDefault Merit Function again, and configure it like so: Page 34 of 72 These settings require that the lens elements have a center thickness somewhere in the range between 2 and 20 mm, and that the lens edge-thickness be greater than 2 mm (this is a useful constraint to aid manufacturability). Any surfaces made of air must have thicknesses between 0.5 and 100 mm, which is not necessary in this design, but in a multi-element design will prevent lens elements from hitting each other or being unreasonably far away from each other, and is therefore added here for completeness. If we repeat the optimization, and use Automatic again, we get: And the RMS spot radius is now 14.5µ on axis, and about 35µ at the 5° field point, but the lens design is far more reasonable: Page 35 of 72 The key point is that for successful optimization, the merit function should contain both the optical targets you want to achieve, plus constraints that will prevent ZEMAX from producing unwanted design shapes. Typical constraints include the thickness of elements, weight, maximum acceptable distortion, etc. Note: You should read all of Chapter 14 of the User's Manual, “Optimization”, but in particular the sections “Optimization Operands” and “Understanding Boundary Operands” 4.6 The Hammer Optimizer We have used the ‘local’ optimizer which improves lens design using a particular algorithm described in the User's Manual. After this optimization, the next step to run the Hammer optimizer, which is one of several ‘global’ optimization methods ZEMAX provides. This exhaustively searches for improvements, and unlike the local optimizer which self-terminates when it decides it can make no further progress, the Hammer optimizer will ‘hammer away’ until the user tells it to stop. Click on Tools... OptimizationHammer, or press the ‘Ham’ button in the button bar. Then click the Hammer button in the dialog: Hammer will very quickly make an improvement in this design. As this design is fairly simple, it will not make much further improvement to that shown here. In more complex designs, Hammer is invaluable in extracting the best performance from the lens. In this case, the RMS spot radius improves to 13.5µ on axis, and about 26µ at the 5° field point: Page 36 of 72 Note: The other global optimization algorithm, Global Search, is used to provide starting points for subsequent optimization, and is not suitable for such a simple design as this. See Chapter 15 of the User's Manual, “Global Optimization” for full details. 4.7 Are There Enough Field Points? We optimized this lens using just two field points, at 0° and 5°. Although the RMS spot radius looks well controlled at these two points, how do we know that at some intermediate field point the performance of the lens does not degrade? Click on AnalysisRMSRMS vs. Field and configure it like so: Page 37 of 72 This plot shows how the RMS spot radius varies as a function of field, with field as a continuous variable. We are using 50 points across the 5° field, and plotting the RMS spot radius for each wavelength individually and as a polychromatic average. Note that the RMS spot never exceeds its value at the extreme fields of 0° and 5°. Therefore, two field points provide adequate control in this design. If the curve shows exceeds the value at the maximum or minimum field points, add more field points as required. Note: If you change the number of field points, or the number of wavelengths, you must rebuild the merit function to include your changes into it. A similar RMS vs. Wavelength plot allows you to check that you have adequate control with the defined number of wavelengths, as does AnalysisMiscellaneousChromatic Focal Shift and AnalysisMiscellaneousLateral Color. Another excellent way to look at the optical behavior over field and wavelength is to use AnalysisImage SimulationImage Simulation. Configure it like so: This will produce a simulation of what a real source scene, described by an input bitmap, will look like when imaged by the lens. This analysis is amazingly fast, taking literally only a few seconds to produce the image below. This feature is ideal for communicating real-world optical performance to non-optical specialists. Page 38 of 72 4.8 Glass Optimization There is an important difference between optimizing glasses and other system parameters. Parameters like radii of curvature, thicknesses, etc. can be smoothly varied: a thickness of 10.0 mm can become 10.00001mm for example. However, glasses are only available with discrete properties: you cannot simply perturb a glass to get a slightly different refractive index! Instead, we use a method called Glass Substitution to swap out the glasses that the design currently uses for other glasses. The first step is to define a template for the glasses ZEMAX is allowed to choose. Click on Tools Optimization Glass Substitution Template and set it up like so: We are telling ZEMAX to use only Preferred optical glasses (a status flag that indicates the glass is easily available and does not have any unusual properties). In addition, each glass must cost no more than 10 times the price of N-BK7 (the relative cost), and must have a Climate Resistance factor of 2 or better and a Stain Resistance factor of 1 or better (see the “Using Glass Catalogs chapter of the User's Manual for full details). There are a total of 58 glasses in the currently loaded catalog (by default the Schott glass catalog is loaded) that meet these criteria, and these are the only ones that will be selected for substitution. Then double-click on the glass of surface number 2, which is currently N-BK7, and in the solve dialog box set a ‘Substitute’ solve: Repeat this for the F2 on surface 3. The Lens Data Editor should show an S status next to the glasses, to indicate that these glasses may be substituted: Page 39 of 72 The glass substitution method is too complex for the local optimizer. Instead, use the Hammer optimizer (Tools Optimization Hammer or press the ‘Ham’ button’) and ZEMAX will quickly find the best glasses for this design: Check the glasses in the Glass Catalog to ensure they meet the specification. The design now has an RMS spot radius below 19µ everywhere across the field of view: Page 40 of 72 4.9 Tips For Successful Optimization 4.9.1 Use Physically Significant Merit Functions Before you start to design your lens, think about how it will be tested and used. Test methods fall into a number of broad categories: • Imaging onto CCD arrays or (less common) photographic films. RMS Spot Radius is usually a good performance indicator in this case. If the final system is expected to have less than about 2 waves of aberration, use RMS Wavefront Error instead. If you will test your lens on an interferometer, optimize for RMS Wavefront error. If you will test your lens on an MTF measurement rig, use RMS wavefront error. MTF improves as RMS wavefront error approaches zero. If you need further improvement, use the various MTF* operands described in the Optimization chapter of the User's Man-ual to target MTF performance at specific spatial frequencies. If you are designing an afocal system like a beam expander, switch the lens to Afocal Mode via the switch on the General dialog box, Aperture tab, and use RMS Angular Ra-dius if you expect more than about 2 waves of aberration in the final system, and RMS wavefront error if you expect less than 2 waves of aberration. • • • 4.9.2 Don’t Optimize Aberration Coefficients Directly It is tempting to attempt to ‘control’ the lens under optimization by targeting Seidel aberrations like SPHA, COMA, etc directly in the merit function, and then using fifth-order aberrations for better control (see the macro fifthord.zpl, or the optimization macro ZPL03.zpl for example). While this is perfectly possible to do in ZEMAX, we do not recommend it, for the following reasons: • Aberrations are difficult to compute in tilted and decentered systems, or systems with components like aspheric surfaces, diffractive components or GRINs. The Gaussian Quadrature (GQ) method ZEMAX uses for RMS Spot Radius and RMS Default Merit Functions are exact to a specified order of wavefront aberration. If you use n rings in the default merit function, you then have control of all wavefront aberrations up to order r(2n-1). In the doublet lens we designed, we used 4 rings and therefore could con-trol all aberrations up to r7, which is a higher order than fifth order aberrations can achieve. See G. W. Forbes, \"Optical system assessment for design: numerical ray trac-ing in the Gaussian pupil\readable and full account of this useful technique.. We are usually interested in optimizing for real-world performance metrics like spot size, wavefront error, MTF, etc. Fifty years ago aberration theory was a useful computational shortcut, but 21st century computers and multi-threaded software like ZEMAX are mas-sively faster than the tools available then. Optimizing directly for the desired performance is more practical than optimizing for some intermediate function that we hope will then go on to give us the desired performance. Optimize for what you want to test the built sys-tem for! • • Note for example that in the optimization of the doublet we did not need to target chromatic effects like axial or lateral color directly: the default RMS spot radius merit function provided this automatically. The exception to this is distortion, because distortion affects only the location of the image, not its quality. Operands like DIMX, DISG, etc. can be used to control distortion. Page 41 of 72 4.9.3 Use the Default Merit Function Tool We recommend that you use the default merit function tool as the foundation of your merit function construction. Ultimately imaging systems are characterized by RMS spot radius or wavefront error, and afocal systems by RMS angular radius or wavefront error. The default merit function tool also automates the construction of the most common opto-mechanical constraints designers require, such as lens edge and center thickness constraints. Additional goals and constraints can be easily added by inserting your own operands above the default merit function’s operands in the editor. ZEMAX writes out the dummy operand DMFS (Default Merit Function Start) to indicate where the default merit function starts, and you should not hand-edit the operands below this line. Just click on the DMFS operand and press the insert key to insert new lines above the default merit function. 4.9.4 Use Hammer Often The Hammer optimizer is used to improve a lens that has already been optimized by the local optimizer. We recommend that in difficult files it be left to run overnight, or over weekends if necessary. 4.9.5 Use Adequate Boundary Conditions You should always add boundary constraints to your merit function, as well as optical targets. This yields two important benefits: • ZEMAX will produce designs you can build, and that meet your non-optical goals! For example you should always constrain edge and center thicknesses of lenses to be rea-sonable, and you can add constraints on length, weight, etc. as required by your applica-tion. Good boundary constraints speed up the global optimizers because ZEMAX does not look in regions of parameter space where the boundaries are violated. This can speed up Global Search in particular by orders of magnitude. • 4.9.6 Use the System Check Utility The System Check utility, under Reports...System Check is an invaluable aid to ensuring there are no accidental errors in the system setup. Although not every possible fault can be found by such a utility, anything it does report should be checked, and anything classed as an 'Error' must be rectified. Page 42 of 72 5 Non-Sequential Ray Tracing (EE only) Note: Even if you intend to use only the non-sequential mode of ZEMAX, you should work through the previous two chapters before starting this one. Sequential and non-sequential modes share many common user interface concepts and methods which are described in those chapters and are not repeated here. Non-sequential ray-tracing is a powerful and general technology for tracing rays in systems where there are multiple optical paths. Typical uses include: • • Illumination systems, especially those with multiple or complex optical sources Systems such as interferometers, in which light that has travelled through several differ-ent optical systems must be coherently recombined Opto-mechanical stray light analysis in otherwise sequential optical systems LCD backlighting Bio-optical systems, particularly those based on scattering from tissue or fluorescent scattering • • • Non-sequential ray tracing assumes that there is no pre-defined path for any ray. A ray is launched and hits whatever object is in its path, and it may then reflect, refract, diffract, scatter, split into child rays, etc. It is a far more general technology than sequential ray-tracing, and is therefore somewhat slower in terms of ray-tracing speed. Note: Non-sequential ray tracing is available only in ZEMAX-EE Sequential designs can be converted easily to non-sequential mode by using Tools...Miscellaneous...Convert to NSC Group. 5.1 A Simple Example Click on FileNew to start a new ZEMAX design. Then click on FileNon-Sequential mode. A new editor, the Non-Sequential Component Editor, (NSCE) will appear. The button bar will change, and if you click on the Analysis or Tools menu items you will see that these menus are not the same as in sequential mode. The NSCE is very similar to the Lens Data editor or the merit function editor in look and feel, and if you know how to use these editors the NSCE holds no surprises. However, in non-sequential mode we deal with ‘components’ or ‘objects’ rather than ‘surfaces’. Objects are full 3D volumes, not a collection of individual surfaces. There are three basic types of object: • • Source objects, from which rays are launched into the non-sequential system Geometry objects, which define the optical components (lenses, prisms, mirrors, CAD objects, etc.) that the rays reflect, refract, scatter or diffract from Page 43 of 72 • Detector objects, which detect rays and give quantitative data of optical performance like irradiance, radiant intensity etc. Note: See Chapter 12 of the User's Manual, section “NSC Objects”, for full details of all the object types ZEMAX supports. Double-click on the Object Type of object 1 in the editor. You will get a multi-tab ‘Object Properties’ dialog similar to the Surface Properties dialog in the Lens Data Editor. Set the Object Type to ‘Standard Lens’, which is a common type of geometry object: Click OK to close the dialog. Open a Layout plot to see the object. Note that you have a single ‘Standard Lens’ object that defines the entire object, rather than two surfaces and a thickness. Looking at the editor, you can position this object at any (x, y, z) location, and tilt it about x, y, z. You can then enter the glass type the object is made from, and its defining parameter data. Enter the following data: All positions and tilts: 0.0 Glass: Radius 1: Conic 1: Clear 1, Edge 1: Radius 2: Conic 2: Clear 2: Edge 2: N-BK7 5.0 0 both 1.0 2.0 0 0.8 1.0 You should see the lens as drawn in red at the top of this page. This is a fully parametric lens, modeled as a solid object and not a collection of surfaces. Next, click on the lens object in the editor again and press the Insert button to create a new ‘Null Object’. Double-click the new object, and in the Type parameter select ‘Source Ray’ object. Enter the following data: All parameters are 0.0 except: Y position: 0.5 Z position: -1.0 Tilt About X: 15.0 Layout Rays: 1 You will then see this ray-trace as per the second layout plot above. The ray is traced from the source to the front face of the lens, and then onto the second face of the lens. As there is no further object for the ray to hit, ZEMAX draws it for a short distance and then stops tracing it. Now click on the Source Ray object, and press to highlight the whole row. Now press C to copy this object to the clipboard. Page 44 of 72 Click on the row again so it is no longer highlighted and press V to paste the object back into the editor as a new object. You should now have two identical source objects. Modify the parameters of one of them as follows: Z position: Tilt About X: Tilt About Y: 2.0 -15.0 180.0 Do not change any other parameters. Update the layout as you make each change so you can see what is happening. You should see two sources, one on either side of the lens. On the Settings of the Layout plot, select the options to ‘Split Rays’ and ‘Fletch rays’: This simple example shows the key benefits of non-sequential ray tracing: • You do not have to tell rays where to go. Rays are launched and then interact with what-ever objects are in their path. When a ray hits a refractive object, part of its energy is reflected and part is transmitted. ZEMAX can produce ‘child’ rays that take the reflected energy, and these child rays then interact with whatever is in their path, and in turn produce children of their own, which can have children of their own, etc. As well as being partially reflected and refracted, rays can also scatter at the surface of an object or inside its volume (called bulk scattering to distinguish it from surface scatter-ing). Sources, objects and detectors are placed in a global coordinate system, and can be po-sitioned and tilted independently of each other. In addition, if it is required, objects can be positioned relative to other objects, which we will discuss later. • • • Because rays can be split into transmitted, reflected and scattered components, as each ray splits it contains less and less energy. We need to put some limits on the ray-tracing to prevent ZEMAX from tracing rays with insignificant amounts of energy. This is defined in the General dialog box, in the Non-Sequential tab: Page 45 of 72 Try varying this parameter and observe how it affects the number of child rays produced. Set it to 10-2 and note you get fewer rays; at 10-12 you will get many more. 5.2 Object Positioning & Definition The Non-Sequential Component Editor provides an easy way to define the non-sequential optical system, and the inter-relationships between components. Open the sample file in the samples/non-sequential/miscellaneous folder called “Digital Projector Flys Eye Homogenizer.zmx”. The system contains an elliptical source volume that approximates the shape of the fireball in an arc lamp inside a parabolic mirror. The output light enters an homogenizing optical system that consists of two fly’s eye lenslet arrays and a field lens. The homogenizer is manufactured as a complete sub-system which is then placed into the optical beam produced by the source and parabolic mirror. 5.2.1 Object Positioning Note how the objects are referenced: Every object has a number, shown in the left-most column of the editor, and a ‘Reference Object’. Ref Object 0 is the global coordinate reference point of the whole 3D space, and objects 1, 2 and 3 are positioned relative to this coordinate system. Objects 4, 5, 6, and 7 are positioned relative to object 3, and they therefore are positioned like a sub-assembly: try moving object 3, and notice that objects 4-7 automatically move as well. So the position of object 3 defines the position of the homogenizer assembly. Page 46 of 72 Note: Any object can be positioned relative to any prior-defined object, which can be positioned relative to any other object defined prior to it, etc. Imagine we now want to move the homogenizer about some arbitrary point. Click anywhere on object 1, and press the Insert key, so that you now have a ‘Null Object’ as object 1, and all other object numbers have automatically incremented. The Lenslet Array object that serves as the reference for the homogenizer assembly is therefore now object 4. Null objects have no optical properties, and so they are useful for defining reference and pivot points, for example. Position the null object at y = 40, z = 70, and then double-click on the object type to show the object properties tab: On the Draw tab, check the ‘Draw Local Axis’ control. On the NSC 3D Layout, the Null object’s local axes are now drawn (note that local axes are never drawn in the Shaded Model). On the Non-Sequential Component Editor’s menu bar, choose ToolsModify Reference Object: And set it like so: Page 47 of 72 ZEMAX will now modify Object 4’s properties so that it is positioned relative to object 1, while retaining its absolute position and orientation in global coordinates. In other words, object 4 has not moved, but its position is now defined relative to a different object. The subsequent objects are still positioned relative to object 4: If you now apply a Tilt About X of 10 degrees to Object 1, you will see that the whole homogenizer assembly pivots about object 1, but the lamp assembly remains in place: 5.2.2 Object Parameters As well as being positioned, objects are given their defining parameters in the NSC Editor. For example, the Lenslet 2 object is defined by parameters like x and y halfwidths, thickness, radii of curvature and conic constant, and numbers of lenslets in x and y. There is a great advantage to this parametric approach. Parametric objects require relatively little memory, are fast to ray-trace, and can be changed easily. They are also optimizable, just like sequential surfaces. Further, interrelationships between objects can be easily defined via pickup solves. Note that the second lenslet object uses pickups on several parameters to lock itself to the Page 48 of 72 first lenslet object. This is a great advantage during optimization, as changes to one parameter can automatically flow through the whole system. 5.3 Combining Sequential And Non-Sequential Ray-Tracing Most imaging systems are well described by the orderly sequential approach used in the Lens Data Editor. However, there are cases where an otherwise sequential system has some region in which there is a need for non-sequential ray-tracing. A classic example is the Abbe prism, in which different parts of the beam interact with different faces of the prism in a different order to other parts of the beam. See for example samples/non-sequential/prisms/Abbe roof.zmx: In this case, the system is set up initially just like any other sequential system, and then a special sequential surface type called a Non-Sequential Component is used. This acts like the ‘entry port’ into the non-sequential world defined in the non-sequential component editor. The parameters on the Non-Sequential Component surface in the Lens Data Editor define the location of the ‘exit port’, which is how rays come back to the sequential ray tracer. This is referred to as ‘hybrid’ or ‘mixed’ sequential/non-sequential ray tracing. When a sequential ray hits the Non-Sequential Component surface in the Lens Data Editor, it is passed to the non-sequential ray-tracer and it interacts with whatever objects are defined in the NSC Editor and are in the ray’s path. When the ray hits the region defined by the exit port in the Lens Data Editor, it is transferred back to the sequential ray-tracer and interacts with the subsequent sequential surfaces. Note: Sequential rays cannot split inside the non-sequential group. A sequential system can contain any number of Non-Sequential Component surfaces. The objects ‘inside’ each Non-Sequential Component group are independent of each other. You can easily switch between non-sequential component groups by clicking Editnext Group in the NSCE menu bar: Page 49 of 72 If a ray does not hit the exit port, it is terminated and it does not return to the sequential ray-trace. Note: The marginal and chief rays must be traceable through NS groups, otherwise ZEMAX cannot compute important sequential parameters like pupil positions and f/#. 5.4 Tracing Rays And Getting Data Ray tracing in hybrid non-sequential mode works exactly as it does in sequential mode, except that there is no paraxial ray-tracing inside an NS group. In pure non-sequential we use source objects to launch rays and detector objects to get quantitative information. 5.4.1 Source Objects Source objects are objects that launch rays into the optical system with the appropriate spatial and angular distributions to represent the radiance of the real sources in your system. Source objects fall into two categories: • Parametric sources, like the Source Diode or Source Filament, in which the source radi-ance is computed from some equation, and you enter the parameters for this equation via the editor. Measured sources, like the Source IESNA, Source EULUMDAT, and Source File. Note that IESNA and EULUMDAT data files contain only far-field (angular) data and model the source as a spatial point. The .DAT format, used by the Source file object, contains both spatial and angular ray data, and so defines the full radiance of the source. Data in .DAT format is provided free by many LED and lamp manufacturers, and can also be exported by third party programs like Radiant Imaging’s ProSource and Opsira’s Luca Raymaker. The .DAT format is documented in the Users' manual in both ASCII and binary formats. • Source wavelengths are defined in the SystemWavelength dialog just like sequential systems, although other definitions are also available, and will be discussed later in the section on Colorimetry. Source Units (Watts or Lumens) are chosen under the general dialog box, in the Units tab. Sources are positioned in global coordinates in exactly the same way as any other object. All sources use parameters 1-5 of the Non-Sequential Component Editor to define some basic information about the source. These are: • # Layout Rays: Defines how many random rays to launch from the source when creating layout plots. This is typically a small number, say less than 100, and is used on-ly for drawing purposes. # Analysis Rays: Defines how many random rays to launch from the source when per-forming analysis. This is typically a much larger number and may be millions or even bil-lions of rays. Power (units): Power is the total power over the defined range of the source. The power units are specified by the system source units. Wavenumber: The wavenumber to use when tracing random rays. Zero means poly-chromatic, which chooses ray wavelengths randomly with the weighting defined on the wavelength data editor. Color #: The pen color to use when drawing rays from this source. If zero, the default color will be chosen. The RGB values of each pen are defined under FilePreferencesColor. • • • • Parametric sources will then use further parameters to define their radiance. Page 50 of 72 Source objects are not made of any material. Rays, once launched, have no further interaction with source objects. Rays are normally launched into air, but can be launched inside some other refractive index if desired. Define a geometry object with the correct shape and refractive index first and then locate the source object inside it, and then use the “Inside Of” parameter to tell ZEMAX to launch the rays inside that object’s refractive index. Note: Source objects must use the Inside of parameter when the source is placed inside a geometry object, otherwise incorrect ray-tracing will result. 5.4.2 Detector Objects Rays are detected by Detector objects. Almost any kind of geometry object can be used as a detector also, but the dedicated Detector objects are designed for the task of displaying spatial and angular data and provide the controls users need to represent data the way it is measured experimentally. The most common type of detector object is the Detector Rectangle. This is a two-dimensional array of pixels, similar to a CCD array. It is most commonly used with the material ABSORB, so that rays terminate upon being detected, but it can also be set as a MIRROR (with coating, if required, to be discussed later), or its material may be left blank to indicate air. Note that when the material is left blank, rays are not perturbed in any way by being detected. This can be useful, but care must be taken as the detector may appear to not conserve energy if a ray interacts with it multiple times without losing any energy! 5.4.3 Tracing Analysis Rays Open the sample file samples/non-sequential/sources/simple LXHL-BD01 LED model.ZMX. This file contains just two objects, a Source Radial set with data taken from the LumiLeds LXHL-BD01 LED datasheet, and a Detector Rectangle set to 100 by 100 pixels. Note: Read the detailed description in Chapter 12 of the User's Manual of both these objects before proceeding with this example. Note that the source object has a total power of 27 Lumens, uses 30 layout rays for drawing purposes, and uses 1 million Analysis rays. Now click on AnalysisDetectorsRay Trace/Detector Control, or press the Dcl button: Click Clear Detectors and then press Trace to trace the million Analysis rays, then click Exit. If you have more than one CPU in your computer, the calculation will be automatically split up over all available CPUs. Click on AnalysisDetectorsDetector Viewer to see the data inside the Detector. The Settings dialog for the Detector Viewer is very powerful, and allows you to select incoherent illuminance, Luminous intensity, coherent illuminance and phase (not meaningful in this case) and luminance. Multiple Detector Viewer windows can be open simultaneously to display multiple views of the same data. Page 51 of 72 You can also show the data in false color, grey scale or look at cross-sections through the data using the ‘Show As’ control. When using cross-section views, row or column 0 always means the central row/column. Data can be scaled linearly or logarithmically. The data can also be smoothed by averaging the data in each pixel and its neighboring pixels. The operation can be repeated the number of times specified by the smoothing parameter. This improves signal/noise at the expense of spatial or angular resolution. 5.4.4 Ray Databases The Detector Viewers are very useful, but sometimes you will want access to the ray data directly. Repeat the ray trace (press the Dcl button) and select ‘Save Rays’ Note that the ray-trace takes longer now because of the time taken to write one million ray-histories out to disk. Then press AnalysisDatabaseRay Database Viewer, or press the Rdb button. The Ray Database Viewer shows the history of every ray traced: Page 52 of 72 The intensity position, direction cosines, normals, path length and polarization data of every ray can be shown, although only intensity is shown here. The ray is broken down into segments, where each segment is a single ray-object intersection. Segment 0 is the ray data at the source. Various parameters XRTS etc. show what happened at the end of the segment (X= terminated, R= reflected, etc.). This example is very simple in that rays are launched, traced once and terminated: Seg# Prnt Levl In Hit Face XRTS DGEF BZ Intensity Comment 0 0 0 0 0 0 ---- ---- -- 1.327225976E-007 Source 1: LXHL-BD01 1 0 1 0 2 0 *--- ---- -- 1.327225976E-007 In a more realistic system, there are many more segments, of course. Load the sample file led_model.zmx (in the same folder as the file we are currently using), trace Analysis rays using these settings: Use the Ray Database Viewer to view the ray histories. Note that as ray splitting is on, you can use the option ‘expand into branches’ to identify each child ray separately. 5.4.5 Filter Strings Because ZEMAX knows the history of every ray it has traced, we can use filter strings to identify rays that meet specific conditions easily. For example, in the led model.zmx file, object 2 is a reflector behind the source. Some rays are fired forwards, and never see this mirror, while others move in the opposite direction, hit the reflector, and then travel forwards: Page 53 of 72 Using the filter string R2 means that only rays that reflect from object 2 will be shown: !R2 will show those rays that do NOT reflect from object 2, i.e. rays that propagate forwards initially. You can AND, OR, NOT, XOR etc multiple filters to produce a filter string that identifies exactly the conditions you want to investigate. For example, to select rays that must have either a) hit object 7 and object 9, but did not reflect off object 6, or b) missed object 2, the filter string would be (H7 & H9 & !R6) | M2. Filter strings are your most important tool for detailed system analysis. They can also be used with ray databases, both prior to saving the ray-database and with the saved data. For example, in stray-light simulations you may have to trace millions of rays to get one that finds its way to the detector. By saving to disk only those rays that hit the detector, you can produce a manageable data set for further study. You can replay ray databases through the ray-database viewer, the layout plots, and the detector viewers, and add further filters to the filtered data. The ray database viewer will also let you filter a ray database and save the sub-set data into a new file. Note: Read the “Filter String” section of Chapter 12 of the User's Manual, “Non-Sequential Components” for full details of this important capability. 5.5 Complex Object Creation No matter how many objects we add to ZEMAX, you may still sometimes need an object that is not directly available. There are, however, ways to manipulate existing objects so as to create precisely what you need. Page 54 of 72 5.5.1 The Overlapping Objects Rule When two or more objects occupy the same region of space, a simple rule applies. The properties of the common region are defined by whichever object is listed last in the Non-Sequential Component Editor. Open the sample file non-sequential/diffractives/diffraction grating lens with hole.zmx. This mixed sequential/non-sequential design shows a lens with diffractive power, and a central region with no diffractive power: This is easily achieved by placing the non-diffractive element after the diffractive element in the editor, and co-locating them. There is no need to use the ‘Inside Of’ flag when geometry objects are nested inside each other, unless a source object is inside one of the nested objects. Geometry objects may fully or partially overlap, but source objects must always be entirely inside of any object they are co-located with. The ‘Inside of’ flag must be used for all nested geometry objects as well as sources in this case. 5.5.2 The Boolean Object Up to eight objects may be combined in any order by the Boolean object, and Boolean objects may be combined with other objects, including other Boolean objects. For example, a hexagonal lens can be formed by the Boolean intersection of a lens and a hexagonal bar: See any of the sample files in non-sequential/Boolean for further examples. Page 55 of 72 5.5.3 The Array Object The Array object allows you to make one, two or three-dimensional arrays of any object, for example an array of Boolean objects: Using the Array object is highly recommended over the alternative method of multiple object definitions for several reasons: • It uses much less memory than the equivalent number of individual objects: typically only slightly more than one instance of the parent object It employs sophisticated ray-trace acceleration techniques to trace orders of magnitude faster than the equivalent number of individual objects It is less error-prone than entering multiple objects, and only one object needs to be up-dated or optimized to update or optimize the whole array • • 5.5.4 The Source Object Any geometry object may be used as a source by using the Source object. This is ideal for infra-red and Narcissus analysis, where the emissivity of opto-mechanical components must be accounted for. 5.6 Optimizing Non-Sequential Systems Optimization is fully supported in both pure non-sequential and hybrid non-sequential/sequential optical systems. In pure non-sequential mode there is no default merit function tool, as non-sequential ray-tracing is too general a technology. The most common way to optimize a pure non-sequential system is to use the NSTR and NSDD operands, although other operands are also available. NSTR is used to trace rays, and it acts exactly like the Ray-Trace/Detector Control dialog. NSDD is used to clear detectors and to read out detector data. Any pixel can be read out directly, but for optimization it is usually more useful to optimize on aggregate ray data, like centroid location or effective widths in the spatial or angular domains. By using negative pixel numbers in the NSDD operand, ZEMAX will compute data like the average and standard deviation of all pixel data, and spatial or angular centroids and RMS widths. Note: See Chapter 14 of the User's Manual for full details of NSDD and other non-sequential optimization operands. Open the sample file in the samples/Non-sequential/Miscellaneous folder called Freeform Optimization.zmx. This file contains a CAD part and source ray file supplied by Osram for their LB_T67c LED. It also contains a lightpipe, the shape of which we wish to optimize. Page 56 of 72 The lightpipe is a Freeform-Z object, which is defined by a set of (y, z) data points. ZEMAX fits a smooth curve through these data points, and then rotates the curve around the z-axis to form a rotationally symmetric pipe. The pipe is currently just a cylinder, but note that the (y,z) data is set to be variable. Note also that the z-position, and x, y halfwidths of the detector object are locked to the Freeform-z object by pickup solves. These ensure that the detector will always be just in front of the output face of the lightpipe, as the pipe’s length is varied during optimization, and adjust the width of the detector so it always captures all the light from the output face as the width of the output face changes. The primary goal for this light pipe is that it should give the highest brightness in the forward direction. Therefore its luminous intensity should be as high as possible and the width (in angle space) of the luminous intensity plot should be as small as possible. In addition, there are some mechanical constraints on the maximum and minimum widths and length of the lightpipe that must be met. Open the Merit Function Editor and examine the merit function. First the detectors are cleared, and then rays are traced. Then we compute the RMS angular width of the detector data by using pixel -9 (which is RMS width) and Data = 2 (power/unit solid angle). The starting beam has an RMS angular width of 50° and a peak luminous intensity of 0.35 lm/sr: In addition, we also target the total power detected to be as large as possible. This is an important constraint, because if no rays land on the detector, the RMS angular width is identically zero! This is not a solution we want, so we are optimizing for maximum received power and minimum angular width. There are also some constraints on the shape of the pipe, and you should consult the User's Manual description of the FREZ operand for full details. Page 57 of 72 Run the optimizer, and select the ‘Orthogonal Descent’ optimization operand. This alternative local optimizer is very good at making big improvements quickly, especially in non-sequential systems, although the Damped Least Squares optimizer can usually make further improvements on it. After several cycles of optimization, the lightpipe’s shape has evolved to produce a peak luminous intensity of 13.7 lm/sr, which is almost 40 times brighter than the starting design, and an RMS angular radius of 8°: Note also that the detector object has shifted position and increased in size because of the pick-up solves used: Try experimenting with this file by repeating the optimization with the Damped Least Squares optimizer, and with the Hammer optimizer. Page 58 of 72 5.7 Colorimetry Colorimetry is the study of color, which is the response of the human eye to optical radiation in the wavelength range 0.38 to 0.83 microns. The color of any non-sequential source object can be defined in many ways. If the wavelength spectrum of a source is known, it can be entered directly in the System Wavelength dialog (up to 24 data points) or via an ASCII text file (up to 100 data points). If the source spectrum is not known, then the color coordinates of the source can be entered using several common definitions, and ZEMAX will synthesize a spectrum of up to 100 wavelengths to produce this color. The fitted color coordinates are provided, along with an RGB equivalent of the fitted color, on the Sources tab of the Object Properties dialog: Any number of sources, each with its own unique color, can be defined. For example, if you have CIE 1976 u’v’ data for a source where u’ = .31 and v’ = 0.5, ZEMAX can fit this color exactly using just four wavelengths: Page 59 of 72 In general, you should use the minimum number of wavelengths that gives adequate color rendering. Rays are then traced using either the specified or synthesized spectra of each source, until they are detected by a Detector Color or Detector Polar object which can provide either True Color (photometric) or False Color (radiometric) data as required by the user. For example, open the sample file sub-folder /Colorimetry in the non-sequential samples folder, and open Example 1, two color mixing gives white. White LEDs can be produced by using two phosphors in the LED die, giving spectra in the blue and yellow. For simplicity, in this file we show the blue and yellow sources as being separate, and also as overlapping: Note that because the two beams do not overlap perfectly, you can see a blue tinge on one side of the white spot, and a yellow tinge on the other. Optimization operands allow each pixel's color to be analyzed and targeted in the merit function, so that you can optimize for a desired color. Page 60 of 72 6 Polarization, Coatings & Scattering (EE Only) Ray tracing programs generally treat rays as purely geometric entities, which have only a position, orientation, and phase. For example, a ray is completely described at a surface by the ray intercept coordinates, the direction cosines which define the angles the ray makes with respect to the local coordinate axes, and the phase, which determines the optical path length or difference along the ray. At the boundary between two media, such as glass and air, refraction occurs according to Snell's law. Usually, the effects at the interface which do not affect beam direction are ignored. These effects include amplitude and phase variations of the electric field which depend upon the angle of incidence, the incident polarization, and the properties of the two media and any optical coatings at the interface. Polarization analysis is an extension to conventional ray tracing which considers the effects that optical coatings and reflection and absorption losses have on the propagation of light through an optical system. Further, scattering at the interface can also be considered. Scattering is due to micro-structure of the surface texture: at a sufficiently fine resolution, the surface of a ‘smooth’, polished glass is really a rough surface, with the result that the departing direction cosines are perturbed, or scattered, about their specular values. Scattering can also occur during ray-tracing through an optical material, due to inclusions in the material. This is referred to as ‘bulk scattering’. 6.1 Polarization In addition to position and direction, the amplitude and polarization state of a ray can be described by a vector E with complex valued components (Ex, Ey, Ez). Since the E vector must be orthogonal to the ray direction vector k, then k.E = 0 and Ex.l + Ey.m +Ez.n = 0 Where l, m, and n are the direction cosines of the ray. Since we know the direction cosines, we only need to specify the complex values of Ex and Ey, as Ez is then defined. The polarization can then be defined using a 2D Jones vector J = (Jx, Jy) where Jx and Jy are measured along the direction of the ray and have both a magnitude and a phase. The 3D E vector is then constructed from the 2D J vector and the direction cosines of the ray. The method used to define the initial polarization of a ray then depends on whether we are working with a sequential or non-sequential system. 6.1.1 Defining Polarization in a Sequential System The default polarization state of rays is defined in the General dialog box’s Polarization tab: Page 61 of 72 If an Analysis feature uses polarization, but its Settings do not allow for the definition of the polarization, then that calculation will use the settings here. However, many Analysis windows do allow the direct definition of the polarization state. These windows default to the setting in the General dialog box, but allow direct modification. For example, click on AnalysisPolarization Polarization Ray Trace and you can define the ray coordinates and polarization state directly: 6.1.2 Defining Polarization in a Non-Sequential System Non-Sequential source objects can have their polarization state defined by double-clicking on the Source object and going to the Sources tab: 6.2 Thin-Film Coatings ZEMAX has an extensive thin film modeling capability to support the polarization analysis. Multilayer film dielectric and metallic coatings may be defined, from either a predefined or user defined material database. Many thin-film codes, like The Essential Macleod, TFCalc and Film-Star, export coating designs directly in ZEMAX format. Page 62 of 72 Coatings may be applied to either dielectric or metallic substrates. Coatings may be composed of arbitrary layers of arbitrary material, each defined with a complex index of refraction, with full dispersion modeling in the coating materials. Substrates may be glass, metallic, or user defined. Coating layers may be of uniform or varying thickness, and loops of replicated coating stacks can be easily created. ZEMAX automatically reverses the coating layer order if surfaces go from air to glass then glass to air, so the same coating may be applied on many surfaces without the need to define “mirror image” coatings. Coatings are defined in a file with the .dat extension. This file is located in the coatings folder, which by default is /ZEMAX/coatings. This folder can be modified by clicking on File Preferences Directories. ZEMAX is shipped with a file called coatings.dat, which contains sample data. Note: You should not edit coatings.dat, as it is provided by the ZEMAX installer and will be overwritten when you next install an update. Always place your own coating data in your own .dat file, and load it via GeneralFiles: With the coating data in place, ZEMAX computes the diattenuation, phase, retardance, reflection, transmission, or absorption of any coating as a function of wavelength or angle. 6.2.1 Adding Coatings to Sequential Surfaces Open the sample file sequential/Objectives/Double Gauss 28 degree field.zmx again. This uses the supplied coatings.dat file. Scroll to the far right-hand edge of the Lens Data Editor. Note that the coating ‘AR’ has been placed on all surfaces. Now click on ToolsCoatingsCoating Listing. Scroll down to find the coating AR: Coating Name: AR, 1 layer(s) Material Thickness Absolute Loop Taper MGF2 0.250000 0 0 Coating thickness is given in units of waves at the primary wavelength unless the absolute flag is non-zero; in which case the coating thickness is in µm independent of wavelength. The coating AR is, therefore, a λ/4 thick layer of the material MGF2, which is defined earlier in the coating.dat file: Material Name: MGF2, 8 data point(s) Wavelength Index Extinction 0.400000 1.383870 0.000000 0.460000 1.381100 0.000000 0.500000 1.379780 0.000000 0.700000 1.376080 0.000000 0.800000 1.375060 0.000000 1.000000 1.373580 0.000000 2.000000 1.367840 0.000000 2.500000 1.364260 0.000000 Page 63 of 72 This listing gives the complex refractive index, defined as η = n + ik, where n is the usual index of refraction, and k is the extinction coefficient. As the material MGF2 is defined as having positive n and zero k, it is a pure dielectric. The material ALUM however: Material Name: ALUM, 1 data point(s) Wavelength Index Extinction 0.550000 0.700000 -7.000000 has index <1 and negative extinction, and so is a metal (the ZEMAX convention is that extinction is negative for an absorbing medium). Coatings can be made up of any number of dielectric and metallic layers, the layer thickness can be constant or tapered, and repetitive loops of coatings can be easily defined. If you do not have the coating prescription, ZEMAX supports several IDEAL coatings which allow you to just specify reflection and transmission, and also TABLE coatings that are similar to IDEAL coatings, except the transmission and reflection may be a function of incident angle and wavelength and may be specified separately for S and P polarizations. Note: See Chapter 20 of the User's Manual, “Polarization Analysis”, for full details of the coating file syntax. Now click on AnalysisCoatingsReflection vs Angle to see the performance of this coating on an SK2 substrate: Other plots in the same menu let you see transmission, diattenuation, phase, retardance, etc. In the coating column of surface 1, press the spacebar to delete the coating, and note how the reflection vs. angle plot changes. Coating names can be typed directly into the coating column to apply the coating to the surface. 6.2.2 Adding Coatings to Non-Sequential Objects It is only a little more complex to add coatings to non-sequential objects. Because objects are volumes and not surfaces, one object may have several faces that can take different coatings. Open the sample file non-sequential/Ray splitting/Beam Splitter.zmx Page 64 of 72 Double-click on the second prism object, object 3, to open its properties and go to the Coat/Scatter tab. This object has two faces: face 1 which is the splitter face (the hypotenuse of the prism) and face 0 is everything else. Face 1 is coated with an IDEAL coating I.5, which transmits 50% and reflects 50% of the ray energy, and face 0 is coated with I.95 which transmits 95% and reflects 5% of energy. All native ZEMAX objects use faces to define the various regions of optical interest in the object, and these are documented in the object definition section of the manual. Alternatively, you can use AnalysisLayoutNSC object viewer to view individual objects. If you click on a face of the object with the mouse, that face will highlight and will be identified in the title bar of the window: Page 65 of 72 6.2.3 Defining the Faces of CAD objects ZEMAX uses the Imported object to load objects created by CAD packages such as SolidWorks™, CATIA™ and Pro/Engineer™. These are defined by a potentially huge number of NURBS surfaces. Some CAD programs create data files that have many more small surfaces than is useful for optical analysis. For example, a simple cylinder may be described in the CAD file by hundreds of small surfaces, while for optical analysis only two or three different optical properties are applied to the entire object. Rather than assign optical properties to each of the many surfaces, it is usually more convenient to group CAD surfaces by assigning a single face number to all surfaces that form a continuous smooth portion of the object. Note: See the description of the Face Mode parameter of the Imported Object, and the Face tab of the Object properties dialog, in the User's Manual for full details of how to group NURBS surfaces into the appropriate number of optical faces. 6.3 Ray Splitting Either sequential or non-sequential ray-tracing may be done while accounting for polarization effects, or polarization may be ignored. If polarization ray-tracing is being used, transmission, reflection, and absorption of optical energy is accounted for at all surfaces, and bulk absorption by the optical media is also accounted for. In pure non-sequential ray-tracing, rays may also be split at interfaces. In this case, reflection losses are not just accounted for, but a new ray is launched that takes the reflected energy away. Because accurate reflection and transmission computation requires polarization information, ray splitting is only allowed when performing polarization ray-tracing. Ray splitting can be turned off, and in this case the transmitted path is always taken at a refractive interface unless the ray totally internally reflects. The reflected path is of course always taken if the object is a mirror. The layout above shows some of the ray paths possible in the beamsplitter example when rays are split. There is only 1 input ray drawn! The ray termination criteria defined under General Non-Sequential are essential for efficient calculation when ray splitting is on. It is advisable to set the relative ray transmission reasonably high, around 0.001, until the model is working well and more detailed results are needed. ZEMAX also supports an option to randomly choose either the reflected or the refracted path rather than split the ray into two and trace both. This is controlled by the ‘Simple Ray Splitting’ switch on the Non-Sequential tab of the General dialog box. The decision to trace the reflected or the refracted ray is random; with the reflection and transmission coefficients being interpreted as a relative probability of taking that path. 6.4 Ray Scattering In addition to partial reflections at the surfaces of optical components, rays can also scatter due to microscopic roughness of the surface. ZEMAX supports many detailed models of scattering from optical surfaces, including Lambertian (used for very rough, highly scattering surfaces), Gaussian (typically used for modeling the scattering of a well-polished surface, ABg, K-correlation and more. In addition, ZEMAX can import scattering data in a simple ASCII file format. Although scattering can be used in sequential ray-tracing (see the Scattering tab of the Surface Properties dialog), it is most useful in non-sequential ray-tracing, where rays can go wherever they want to. Scattering functions are applied to the faces of non-Page 66 of 72 sequential objects in the same way as thin-film coatings are: on the Coat/Scatter tab of the Object Properties tab. Open the sample file in non-sequential/Scattering/ called ABg scattering surface.zmx. This file uses the ABg scattering model, which is commonly used with measured scattering data: As it is based on measured data, the total amount of energy scattered by the surface is defined by the data file. Other scattering models, like the Lambertian model, require you to tell ZEMAX how much energy to scatter using the “Scatter Fraction” parameter on this dialog. If ray splitting is turned off, the ray will either scatter or not, depending on the value of the ‘Scatter Fraction’ parameter (or equivalent measured data) and a random number ZEMAX generates for each ray-object intersection. Update the NSC 3D layout, and note that the ray shown in either scatters or does not scatter: On the Settings dialog, select “Split Rays’ as well as “Scatter Rays”: Page 67 of 72 The ray will now be split into the unscattered ray, and five scattered rays: Update this layout a few times, and note that you always get the unscattered ray, and five randomly scattered rays. The number of scattered rays is defined by the ‘Number of Rays’ parameter in the Coat/Scatter tab of the Object properties. 6.5 Importance Sampling A very large number of rays may need to be traced to find a relatively small number of scattered rays that strike an object of interest, such as a detector. ZEMAX supports two powerful ways to improve the efficiency of the scattering analysis. The first method is to scatter a ray according to the scatter distribution, but only trace the ray if the ray propagates towards an object of interest. This method may be implemented by defining a 'Scatter To' list of objects using the 'Scatter To' tab of the Object Properties dialog box. The Scatter To method works well for wide angle scatter (such as Lambertian scatter) and when the object of interest subtends a relatively large angle as seen from the scattering surface. The second method is to always scatter the ray towards the object(s) of interest, and then to normalize the energy the ray carries to account for the probability the ray would have actually scattered in that direction. This method is called \"Importance Sampling\". Importance Sampling is generally superior to the Scatter To method if the scatter is narrow angle or the object of interest subtends a relatively small angle as seen from the scattering surface. Open the sample file in non-sequential/Scattering/ called Importance Sampling Demonstration.zmx. This shows directly the benefit of using Importance Sampling. Rays are always scattered to the desired object, in this case a detector, and the resulting signal/noise ratio is therefore far superior. Page 68 of 72 Note: See the section ‘How to Model Scattering Efficiently’, in Chapter 12 of the User's Manual for full details of this important capability. 6.6 Bulk And Fluorescent Scattering Bulk scattering models the random scattering of rays while propagating through a solid object. This may be a very rare event (like scattering from inclusions in optical-quality glass) or a very common event (like scattering in biological tissue samples). ZEMAX includes several bulk scattering models, including Henyey-Greenstein and Rayleigh scattering. In addition, rays may change wavelength when bulk scattered, usually to longer wavelengths. Open the sample file in non-sequential/Scattering/ called Fluorescence Example.zmx. This file uses two wavelengths, 1 (blue) and 2 (red). The source radiates only in the blue, and this light enters a medium that scatters the light in angle and wavelength. A beamsplitter transmits the red and reflects the blue: Bulk scattering properties are defined on the ‘Bulk Scatter’ tab of the Object Properties dialog: Page 69 of 72 The “Wavelength Shift” control allows definition of wavelength transitions during bulk scatter events. The syntax is \"in, out, prob\" where \"in\" is the input wavelength number, \"out\" is the output wavelength number, \"prob\" is the relative probability that this shift will occur when tracing the in wavelength. Multiple transitions may be defined using a semi colon separator. For example, if a single input wavelength (#1) will shift to wavelength #2 50% of the time, wavelength #3 40% of the time, and the remaining 10% of the time will remain at the input wavelength, then the wavelength shift string is \"1, 2, 50.0; 1, 3, 40.0; 1, 1, 10.0\". Page 70 of 72 7 What’s Next? Well done on working through this booklet! This guide is by necessity brief, and has only scratched the surface of what you can achieve with ZEMAX. The goal was to get you started using ZEMAX in just an hour or two. There is plenty that is not covered. For example, it does not discuss Tolerancing, Physical Optics, thermal analysis, multi-beam interference in non-sequential mode, and many of the powerful analysis and optimization capabilities of ZEMAX. Note: Just because it is not covered here does not mean that it’s not in ZEMAX! Here are some other resources that will help you: • The ZEMAX Knowledge Base, at www.zemax.com/kb. This is an indispensible resource for ZEMAX users, and contains hundreds of articles including tutorials, answers to frequently-asked questions, and examples. It is structured into categories, and has a powerful search engine to help you find articles of interest easily. • The ZEMAX User's Manual is distributed with ZEMAX as a PDF file. Click on HelpManual within ZEMAX. This gives detailed instructions on the use of everything in ZEMAX. You may print out all of the manual, or only those pages you wish, if you prefer printed materials. • The on-line Help, which you can get by pressing F1 on the keyboard, or clicking the Help button in dialog boxes. • Radiant ZEMAX and its team of international distributors offer dedicated training classes on the use of ZEMAX. Courses are held from introductory to advanced level, and cover all aspects of sequential lens design, illumination, stray light, programming ZEMAX and more. See www.zemax.com/training for more details. Page 71 of 72 7.1 Getting Technical Support Please contact support@zemax.com, or your local distributor, if you need help in using ZEMAX! Technical support is available to customers with current technical support all business days except US public holidays from 8 AM to 5 PM Pacific Time via ZEMAX support, and at other times via our team of international distributors. Note: It is vastly easier to resolve a technical problem with a sample file that demonstrates it. Of course, many customers are concerned about the confidentiality of their designs. We do not undertake any product development contract work. Therefore, if you have a technical question, you can be sure that you are not explaining your work to someone who may be working for a competitor, or bidding against you for the same job! Our goal is simply to help you use ZEMAX most effectively. If you are still uncomfortable about sharing your design file, try simplifying it to the bare essentials necessary to show the problem, or use one of the >100 sample files supplied with ZEMAX instead. Then please follow these steps: • Make sure you are running the current version. Press HelpCheck For Updates. If you are eligible for technical support then you are eligible to run the current version. Make sure you can reproduce your problem with the current version as it contains fixes for all known bugs. Run Reports...System Check to test your file for common setup errors. Email a full description of the problem to support@zemax.com or your local distributor. Please be sure you include: o Your name, organization, email address and phone number in case we need to talk directly with you. o The serial number of your ZEMAX key (run Help...About in ZEMAX to get this). o A clear description of your problem. Include the sample file that demonstrates the is-sue if you can. Use FileBackup to Archive and send the resulting .ZAR file. This single file contains everything we need to reproduce your design exactly as you have it on your computer. • • • You will get a response within a maximum of one working day, and usually a lot sooner. If support for your key is not current, you can renew it easily by sending an email to sales@zemax.com or your local distributor and requesting a quotation for support renewal. Page 72 of 72