Ze Max Manual
Ze Max Manual
Ze Max Manual
User's Guide
February 3, 2005
3
Ghost reflections ..................................................................................................................................... 48
Glasses ................................................................................................................................................... 48
Hexapolar rings....................................................................................................................................... 48
Image space F/# ..................................................................................................................................... 48
Image space numerical aperture (NA) .................................................................................................... 48
Lens units................................................................................................................................................ 48
Marginal ray ............................................................................................................................................ 48
Maximum field......................................................................................................................................... 48
Non-paraxial systems ............................................................................................................................. 49
Non-sequential ray tracing ...................................................................................................................... 49
Normalized field and pupil coordinates ................................................................................................... 49
Object space numerical aperture ............................................................................................................ 50
Parameter data ....................................................................................................................................... 50
Paraxial and parabasal rays ................................................................................................................... 50
Paraxial image height ............................................................................................................................. 51
Paraxial magnification............................................................................................................................. 51
Paraxial working F/# ............................................................................................................................... 51
Primary wavelength ................................................................................................................................ 51
Radii........................................................................................................................................................ 51
Real propagation..................................................................................................................................... 51
Sagittal and Tangential ........................................................................................................................... 51
Semi-diameters....................................................................................................................................... 52
Sequential ray tracing ............................................................................................................................. 52
Strehl ratio............................................................................................................................................... 52
Surface apertures ................................................................................................................................... 52
System aperture...................................................................................................................................... 53
Tangential ............................................................................................................................................... 53
Thicknesses ............................................................................................................................................ 53
Total internal reflection (TIR) .................................................................................................................. 53
Total track ............................................................................................................................................... 53
Units........................................................................................................................................................ 53
Vignetting factors .................................................................................................................................... 53
Virtual propagation.................................................................................................................................. 55
Wavelength data ..................................................................................................................................... 55
Working F/#............................................................................................................................................. 55
FILE MENU Chapter 4
New......................................................................................................................................................... 57
Open ....................................................................................................................................................... 57
Save........................................................................................................................................................ 57
Save As................................................................................................................................................... 57
Use Session Files ................................................................................................................................... 57
Program Mode ........................................................................................................................................ 57
Insert Lens .............................................................................................................................................. 58
Preferences............................................................................................................................................. 58
Address ....................................................................................................................................... 58
Directories ................................................................................................................................... 59
Graphics...................................................................................................................................... 59
Miscellaneous ............................................................................................................................. 60
Editors ......................................................................................................................................... 61
Printing ........................................................................................................................................ 62
Colors.......................................................................................................................................... 63
Buttons 1-16, Buttons 17-32, Buttons 33-48 ............................................................................... 63
Status Bar ................................................................................................................................... 64
4
Exit .......................................................................................................................................................... 64
Recently used files.................................................................................................................................. 64
EDITORS MENU Chapter 5
Lens Data................................................................................................................................................ 65
Inserting and deleting surfaces ............................................................................................................... 65
The surface number display........................................................................................................ 65
Cutting, copying, and pasting surface data ................................................................................. 65
Entering surface comments ........................................................................................................ 66
Entering radii data ....................................................................................................................... 66
Entering thickness data............................................................................................................... 66
Entering glass data ..................................................................................................................... 66
Entering semi-diameter data ....................................................................................................... 66
Entering conic data ..................................................................................................................... 66
Entering parameter data ............................................................................................................. 66
The Surface Properties dialog box.............................................................................................. 66
Surface properties type tab ......................................................................................................... 67
Surface Type ................................................................................................................... 67
Surface DLL .................................................................................................................... 67
Surface Color .................................................................................................................. 67
Surface Opacity............................................................................................................... 67
Row Color........................................................................................................................ 67
Make Surface Stop.......................................................................................................... 67
Make Surface Global Coordinate Reference................................................................... 67
Surface Cannot Be Hyperhemispheric ............................................................................ 67
Surface properties draw tab ........................................................................................................ 68
Hide Rays To This Surface ............................................................................................. 68
Skip Rays To This Surface.............................................................................................. 68
Do Not Draw This Surface............................................................................................... 68
Do Not Draw Edges From This Surface .......................................................................... 68
Draw Edges As................................................................................................................ 68
Surface properties aperture tab .................................................................................................. 68
Aperture type and other aperture controls....................................................................... 68
User defined apertures and obscurations ....................................................................... 69
The UDA file format......................................................................................................... 70
UDA Examples ................................................................................................................ 71
Surface properties scattering tab ................................................................................................ 72
Surface scattering settings .............................................................................................. 73
Surface tilt/decenter tab .............................................................................................................. 73
Surface physical optics tab ......................................................................................................... 74
Surface coating tab ..................................................................................................................... 74
Setting and removing solves ....................................................................................................... 74
Setting and removing variables................................................................................................... 74
Menu options............................................................................................................................... 74
Edit .............................................................................................................................................. 74
Solves ......................................................................................................................................... 75
Options........................................................................................................................................ 75
Help............................................................................................................................................. 75
Merit Function ......................................................................................................................................... 76
Edit .............................................................................................................................................. 76
Tools ........................................................................................................................................... 76
Help............................................................................................................................................. 77
Multi-Configuration.................................................................................................................................. 77
Edit .............................................................................................................................................. 77
5
Solves ......................................................................................................................................... 77
Tools ........................................................................................................................................... 78
Help............................................................................................................................................. 78
Tolerance Data ....................................................................................................................................... 78
Edit .............................................................................................................................................. 78
Tools ........................................................................................................................................... 79
Help............................................................................................................................................. 79
Extra Data ............................................................................................................................................... 79
Edit .............................................................................................................................................. 80
Solves ......................................................................................................................................... 80
Tools ........................................................................................................................................... 80
Help............................................................................................................................................. 80
Non-Sequential Components.................................................................................................................. 80
Menu options............................................................................................................................... 80
Edit .............................................................................................................................................. 80
Solves ......................................................................................................................................... 81
Errors .......................................................................................................................................... 82
Detectors..................................................................................................................................... 82
Database..................................................................................................................................... 82
Help............................................................................................................................................. 82
Undo, Redo, and Recover ...................................................................................................................... 82
Undo: None ................................................................................................................................. 82
Undo: Memory 1 Step ................................................................................................................. 82
Undo: Disk Multi Step.................................................................................................................. 82
SYSTEM MENU Chapter 6
Update .................................................................................................................................................... 85
Update All ............................................................................................................................................... 85
General ................................................................................................................................................... 85
Aperture ...................................................................................................................................... 85
Aperture Type.................................................................................................................. 85
Aperture Value ................................................................................................................ 85
Apodization Type............................................................................................................. 86
Uniform apodization ........................................................................................................ 86
Gaussian apodization...................................................................................................... 86
Cosine cubed apodization ............................................................................................... 86
User defined apodization................................................................................................. 86
Apodization Factor .......................................................................................................... 87
Telecentric Object Space ................................................................................................ 87
Units ............................................................................................................................................ 87
Lens Units ....................................................................................................................... 87
Source Units.................................................................................................................... 87
Analysis Units.................................................................................................................. 87
Title/Notes ................................................................................................................................... 88
Lens Title......................................................................................................................... 88
Notes ............................................................................................................................... 88
Glass Catalogs............................................................................................................................ 88
Ray Aiming.................................................................................................................................. 88
Ray Aiming ...................................................................................................................... 88
Use Ray Aiming Cache ................................................................................................... 89
Robust Ray Aiming (slow) ............................................................................................... 89
Pupil Shift: X, Y, and Z .................................................................................................... 89
Environment ................................................................................................................................ 90
Use Temperature, Pressure ............................................................................................ 90
6
Temperature in degrees C .............................................................................................. 90
Pressure in ATM.............................................................................................................. 90
Polarization ................................................................................................................................. 90
Unpolarized ..................................................................................................................... 90
Jx, Jy, X-Phase, Y-Phase................................................................................................ 90
Convert thin film phase to ray equivalent ........................................................................ 91
Files............................................................................................................................................. 91
Coating File ..................................................................................................................... 91
Scatter Profile.................................................................................................................. 91
ABg Data File .................................................................................................................. 91
GRADIUM Profile ............................................................................................................ 91
Miscellaneous ............................................................................................................................. 91
Reference OPD ............................................................................................................... 91
Paraxial Rays .................................................................................................................. 92
Fast Asphere Trace......................................................................................................... 92
Fast Semi-Diameters....................................................................................................... 92
Check GRIN Apertures.................................................................................................... 93
Semi Diameter Margin (lens units) .................................................................................. 93
Semi Diameter Margin % ................................................................................................ 93
Global Coordinate Reference Surface ............................................................................ 93
Method To Compute F/# ................................................................................................. 94
Non-Sequential ........................................................................................................................... 94
Maximum Intersections Per Ray ..................................................................................... 94
Maximum Segments Per Ray.......................................................................................... 95
Maximum Nested/Touching Objects ............................................................................... 95
Minimum Relative Ray Intensity ...................................................................................... 95
Minimum Absolute Ray Intensity ..................................................................................... 95
Glue Distance In Lens Units............................................................................................ 95
Missed Ray Draw Distance in Lens Units ....................................................................... 96
Retrace source rays upon file open................................................................................. 96
Fields ...................................................................................................................................................... 96
Vignetting factors ........................................................................................................................ 96
Saving and loading field data ...................................................................................................... 96
Wavelengths ........................................................................................................................................... 96
Saving and loading wavelength data .......................................................................................... 97
Next Configuration .................................................................................................................................. 97
Last Configuration................................................................................................................................... 97
ANALYSIS MENU Chapter 7
Introduction ............................................................................................................................................. 99
Layout ..................................................................................................................................................... 99
2D Layout.................................................................................................................................... 99
3D Layout.................................................................................................................................. 100
The orientation indicator................................................................................................ 101
Ray errors...................................................................................................................... 101
Configuration data ......................................................................................................... 102
Raylist file format........................................................................................................... 102
Wireframe.................................................................................................................................. 102
Solid Model ............................................................................................................................... 103
Shaded Model ........................................................................................................................... 103
ZEMAX Element Drawing ......................................................................................................... 104
Special characters......................................................................................................... 105
ISO Element Drawing................................................................................................................ 105
Summary of ISO 10110 symbols and codes ................................................................. 106
7
Diameters and bevels.................................................................................................... 107
Tolerance data .............................................................................................................. 107
NSC 3D Layout ......................................................................................................................... 107
NSC Shaded Model .................................................................................................................. 108
Fans ...................................................................................................................................................... 108
Ray Aberration .......................................................................................................................... 108
Evaluating results at intermediate surfaces................................................................... 109
Optical Path............................................................................................................................... 110
Pupil Aberration......................................................................................................................... 110
Spot Diagrams ...................................................................................................................................... 111
Standard.................................................................................................................................... 111
Through Focus .......................................................................................................................... 113
Full Field.................................................................................................................................... 113
Matrix ........................................................................................................................................ 113
Configuration Matrix .................................................................................................................. 113
MTF....................................................................................................................................................... 114
FFT MTF ................................................................................................................................... 114
FFT Through Focus MTF .......................................................................................................... 115
FFT Surface MTF...................................................................................................................... 116
FFT MTF vs. Field..................................................................................................................... 116
Comment about vignetting factors................................................................................. 117
FFT MTF Map ........................................................................................................................... 117
Huygens MTF............................................................................................................................ 118
Huygens Through Focus MTF .................................................................................................. 119
Huygens Surface MTF .............................................................................................................. 119
Geometric MTF ......................................................................................................................... 119
Geometric Through Focus MTF ................................................................................................ 120
Geometric MTF vs. Field........................................................................................................... 121
Geometric MTF Map ................................................................................................................. 121
PSF ....................................................................................................................................................... 122
FFT PSF.................................................................................................................................... 122
Assumptions used in the FFT PSF calculation.............................................................. 123
Discussion of the FFT method and sampling issues..................................................... 123
FFT PSF Cross Section ............................................................................................................ 125
FFT Line/Edge Spread.............................................................................................................. 125
Huygens PSF ............................................................................................................................ 126
Huygens PSF Cross Section..................................................................................................... 127
Wavefront.............................................................................................................................................. 128
Wavefront Map.......................................................................................................................... 128
Interferogram............................................................................................................................. 128
Foucault Analysis ...................................................................................................................... 129
Surface.................................................................................................................................................. 130
Surface Sag .............................................................................................................................. 130
The Contour Format String............................................................................................ 131
Surface Phase........................................................................................................................... 131
RMS ...................................................................................................................................................... 132
RMS vs. Field............................................................................................................................ 132
Comments about RMS wavefront computations ........................................................... 133
RMS vs. Wavelength................................................................................................................. 133
RMS vs. Focus.......................................................................................................................... 134
Encircled energy ................................................................................................................................... 135
Diffraction .................................................................................................................................. 135
Geometric.................................................................................................................................. 136
Geometric Line/Edge Spread.................................................................................................... 137
8
Extended Source....................................................................................................................... 137
Illumination............................................................................................................................................ 139
Relative Illumination .................................................................................................................. 139
Effective F/# .................................................................................................................. 140
Vignetting Plot ........................................................................................................................... 140
Illumination XY Scan ................................................................................................................. 140
Illumination 2D Surface ............................................................................................................. 142
Image Analysis...................................................................................................................................... 142
Geometric Image Analysis ........................................................................................................ 142
The IMA format.............................................................................................................. 144
The BIM format.............................................................................................................. 144
How rays are chosen for analysis ................................................................................. 144
Calculating efficiency of multi-mode fibers .................................................................... 145
Text output .................................................................................................................... 146
Geometric Bitmap Image Analysis ............................................................................................ 146
Diffraction Image Analysis......................................................................................................... 148
Comment about the coherent optical transfer function.................................................. 151
Extended Diffraction Image Analysis ........................................................................................ 151
IMA/BIM File Viewer.................................................................................................................. 153
Biocular Analysis................................................................................................................................... 153
Field of View.............................................................................................................................. 153
Dipvergence/Convergence........................................................................................................ 154
Miscellaneous ....................................................................................................................................... 156
Field Curvature/Distortion ......................................................................................................... 156
Grid Distortion ........................................................................................................................... 158
Footprint Diagram ..................................................................................................................... 160
Longitudinal Aberration ............................................................................................................. 160
Lateral Color.............................................................................................................................. 161
Y-Ybar Diagram ........................................................................................................................ 161
Chromatic Focal Shift................................................................................................................ 162
Dispersion Diagram................................................................................................................... 162
Glass Map ................................................................................................................................. 163
Internal Transmittance vs. Wavelength..................................................................................... 163
System Summary Graphic ........................................................................................................ 163
Aberration coefficients .......................................................................................................................... 164
Seidel Coefficients .................................................................................................................... 164
Zernike Fringe Coefficients ....................................................................................................... 165
Strehl ratio approximation ............................................................................................. 167
Zernike Standard Coefficients................................................................................................... 168
Zernike Annular Coefficients ..................................................................................................... 171
Calculations .......................................................................................................................................... 174
Ray Trace.................................................................................................................................. 174
Fiber Coupling Efficiency .......................................................................................................... 174
YNI Contributions ...................................................................................................................... 176
Sag Table.................................................................................................................................. 177
Cardinal Points.......................................................................................................................... 178
Glass and Gradient Index ..................................................................................................................... 178
Dispersion Diagram................................................................................................................... 178
Glass Map ................................................................................................................................. 178
Internal Transmittance vs. Wavelength..................................................................................... 179
Grin Profile ................................................................................................................................ 179
Gradium Profile...................................................................................................................... 180
Universal Plot........................................................................................................................................ 180
New Universal Plot.................................................................................................................... 180
9
Polarization ........................................................................................................................................... 182
Polarization Ray Trace.............................................................................................................. 182
Polarization Pupil Map .............................................................................................................. 182
Transmission............................................................................................................................. 183
Phase Aberration ...................................................................................................................... 183
Transmission Fan...................................................................................................................... 184
Coatings................................................................................................................................................ 184
Reflection vs. Angle .................................................................................................................. 184
Transmission vs. Angle ............................................................................................................. 185
Absorption vs. Angle ................................................................................................................. 185
Diattenuation vs. Angle ............................................................................................................. 185
Phase vs. Angle ........................................................................................................................ 185
Retardance vs. Angle................................................................................................................ 186
Reflection vs. Wavelength......................................................................................................... 186
Transmission vs. Wavelength ................................................................................................... 186
Absorption vs. Wavelength ....................................................................................................... 186
Diattenuation vs. Wavelength ................................................................................................... 187
Phase vs. Wavelength .............................................................................................................. 187
Retardance vs. Wavelength ...................................................................................................... 187
Physical Optics ..................................................................................................................................... 187
Paraxial Gaussian Beam........................................................................................................... 187
Limitations of the analysis ............................................................................................. 188
Overview of Gaussian beams ....................................................................................... 188
Default beam parameters.............................................................................................. 188
Propagating the embedded beam ................................................................................. 188
The quality factor........................................................................................................... 189
Interactive analysis........................................................................................................ 189
Skew Gaussian Beam............................................................................................................... 189
Physical Optics Propagation ..................................................................................................... 190
Comment about beam projection .................................................................................. 192
Beam File Viewer ...................................................................................................................... 193
TOOLS MENU Chapter 8
Optimization .......................................................................................................................................... 195
Optimization .............................................................................................................................. 195
Global Search ........................................................................................................................... 195
Hammer Optimization ............................................................................................................... 195
Merit Function Listing ................................................................................................................ 195
Remove All Variables................................................................................................................ 195
Glass Substitution Template ..................................................................................................... 195
Tolerancing ........................................................................................................................................... 196
Tolerancing ............................................................................................................................... 196
Tolerance Listing....................................................................................................................... 196
Tolerance Summary.................................................................................................................. 196
Test Plates ............................................................................................................................................ 197
Test Plate Fitting ....................................................................................................................... 197
Test Plate Lists.......................................................................................................................... 198
Catalogs................................................................................................................................................ 198
Glass Catalogs.......................................................................................................................... 198
Glass Compare ......................................................................................................................... 199
Lens Catalogs ........................................................................................................................... 199
Coatings................................................................................................................................................ 202
Edit Coating File........................................................................................................................ 202
Reload Coating File................................................................................................................... 203
10
Add Coatings to All Surfaces .................................................................................................... 203
Coating Listing .......................................................................................................................... 203
Scattering.............................................................................................................................................. 203
ABg Scatter Data Catalogs ....................................................................................................... 203
Wavelength scaling of ABg data ................................................................................... 204
Scatter Function Viewer ............................................................................................................ 204
Apertures .............................................................................................................................................. 206
Convert Semi-Diameters to Circular Apertures......................................................................... 206
Convert Semi-Diameters to Floating Apertures ........................................................................ 206
Remove All Apertures ............................................................................................................... 206
Replace Vignetting With Apertures ........................................................................................... 206
Fold Mirrors........................................................................................................................................... 207
Add Fold Mirror ......................................................................................................................... 207
Limitations of reversing surfaces following the fold mirror............................................. 207
Delete Fold Mirror ..................................................................................................................... 207
Export Data ........................................................................................................................................... 208
Export IGES/SAT/STEP Solid................................................................................................... 208
Export IGES Line Work ............................................................................................................. 210
Export 2D DXF File ................................................................................................................... 211
Miscellaneous ....................................................................................................................................... 212
Reverse Elements..................................................................................................................... 212
Tilt/Decenter Elements.............................................................................................................. 212
Scale Lens ................................................................................................................................ 212
Make Focal................................................................................................................................ 213
Quick Focus .............................................................................................................................. 213
Convert to NSC Group .............................................................................................................. 214
Replicate Object........................................................................................................................ 215
Ghost Focus Generator............................................................................................................. 215
Performance Test...................................................................................................................... 217
Lock/Unlock All Windows .......................................................................................................... 217
Create Polygon Object .............................................................................................................. 217
Slider ......................................................................................................................................... 218
REPORTS MENU Chapter 9
Introduction ........................................................................................................................................... 219
Surface Data ......................................................................................................................................... 219
System Data ......................................................................................................................................... 219
Prescription Data .................................................................................................................................. 219
Comments on computing element volumes .............................................................................. 220
Report Graphics 4/6.............................................................................................................................. 220
MACROS, EXTENSIONS, AND WINDOWS MENUS Chapter 10
Edit/Run ZPL Macros............................................................................................................................ 223
Refresh Macro List................................................................................................................................ 223
Macro Names........................................................................................................................................ 223
Extensions ............................................................................................................................................ 223
Refresh Extensions List ........................................................................................................................ 224
Extension Names.................................................................................................................................. 224
Listing of open windows........................................................................................................................ 224
SURFACE TYPES Chapter 11
Introduction ........................................................................................................................................... 225
Parameter data ..................................................................................................................................... 225
11
Extra data.............................................................................................................................................. 225
Summary of surface types .................................................................................................................... 225
User defined surfaces ............................................................................................................... 225
Surface types ............................................................................................................................ 226
ABCD .................................................................................................................................................... 228
Alternate Even ...................................................................................................................................... 228
Alternate Odd........................................................................................................................................ 229
Atmospheric Refraction......................................................................................................................... 229
Biconic .................................................................................................................................................. 229
Biconic Zernike ..................................................................................................................................... 230
Binary Optic 1 ....................................................................................................................................... 230
Binary optic coefficients sign conventions................................................................................. 232
Binary Optic 2 ....................................................................................................................................... 232
Binary optic coefficients sign conventions................................................................................. 233
Binary Optic 3 ....................................................................................................................................... 233
Binary optic coefficients sign conventions................................................................................. 235
Birefringent In and Birefringent Out ...................................................................................................... 235
Defining the index ..................................................................................................................... 236
Defining the crystal axis orientation .......................................................................................... 236
Determining which ray is traced ................................................................................................ 237
Accounting for phase rotation ................................................................................................... 237
Transmission and other properties of birefringent surfaces ...................................................... 237
Sample ZEMAX files ................................................................................................................. 237
Conjugate.............................................................................................................................................. 238
Coordinate Break .................................................................................................................................. 239
Cubic Spline.......................................................................................................................................... 240
Comments about spline surfaces.............................................................................................. 240
Cylinder Fresnel.................................................................................................................................... 240
Diffraction Grating ................................................................................................................................. 241
Elliptical Grating 1 ................................................................................................................................. 242
Elliptical Grating surface shape................................................................................................. 242
Elliptical Grating 2 ................................................................................................................................. 243
Even Asphere ....................................................................................................................................... 243
Extended Asphere ................................................................................................................................ 244
Extended Cubic Spline.......................................................................................................................... 245
Extended Fresnel.................................................................................................................................. 245
Extended Odd Asphere......................................................................................................................... 246
Extended Polynomial ............................................................................................................................ 247
Extended Toroidal Grating .................................................................................................................... 248
Fresnel .................................................................................................................................................. 249
Generalized Fresnel.............................................................................................................................. 249
Gradient 1 ............................................................................................................................................. 250
Discussion on maximum step size for GRIN surfaces .............................................................. 250
Restrictions on surfaces following GRIN surfaces .................................................................... 251
Gradient 2 ............................................................................................................................................. 251
Gradient 3 ............................................................................................................................................. 251
Gradient 4 ............................................................................................................................................. 252
Gradient 5 ............................................................................................................................................. 252
Gradient 6 ............................................................................................................................................. 253
Gradient 7 ............................................................................................................................................. 254
GRADIUM ......................................................................................................................................... 255
GRADIUM profile file format...................................................................................................... 255
Gradient 9 ............................................................................................................................................. 257
Gradient 10 ........................................................................................................................................... 258
12
Grid Phase ............................................................................................................................................ 258
Using the shear distance........................................................................................................... 258
Phase coefficients sign conventions ......................................................................................... 259
Grid Sag................................................................................................................................................ 259
Importing grid data .................................................................................................................... 259
Bicubic spline vs. linear interpolation ........................................................................................ 260
Suggestions for using the Grid Sag surface.............................................................................. 260
Hologram 1 ........................................................................................................................................... 261
Hologram 2 ........................................................................................................................................... 262
Irregular................................................................................................................................................. 262
Jones Matrix.......................................................................................................................................... 263
Non-Sequential Components................................................................................................................ 263
Odd Asphere......................................................................................................................................... 263
Odd Cosine ........................................................................................................................................... 263
Optically Fabricated Hologram.............................................................................................................. 264
Defining the substrate shape .................................................................................................... 264
Defining the construction optics ................................................................................................ 265
Optimizing the construction and playback optics ...................................................................... 265
Selecting the hologram type...................................................................................................... 265
Paraxial ................................................................................................................................................. 266
Paraxial XY ........................................................................................................................................... 267
Periodic ................................................................................................................................................. 267
Polynomial ............................................................................................................................................ 268
Radial Grating ....................................................................................................................................... 268
Radial NURBS ...................................................................................................................................... 269
Retro Reflect ......................................................................................................................................... 270
Standard ............................................................................................................................................... 270
Modeling an ellipse with the standard surface .......................................................................... 270
Modeling an axicon with the standard surface .......................................................................... 270
Superconic ............................................................................................................................................ 271
Tilted ..................................................................................................................................................... 272
Toroidal ................................................................................................................................................. 272
Toroidal Grating .................................................................................................................................... 273
Toroidal Hologram ................................................................................................................................ 273
Toroidal NURBS ................................................................................................................................... 274
User Defined ......................................................................................................................................... 275
The UDS DLL............................................................................................................................ 275
Refractive and reflective UDS DLLs.......................................................................................... 276
Gradient index UDS DLLs......................................................................................................... 277
Diffractive UDS DLLs ................................................................................................................ 277
Lenslet arrays using UDS DLLs ................................................................................................ 277
User defined surface apodization using DLLs........................................................................... 277
Polarization and coating data using DLLs................................................................................. 277
Error handling and UDS ............................................................................................................ 278
Sample DLLs............................................................................................................................. 278
Variable Line Space Grating ................................................................................................................. 282
Zernike Fringe Phase............................................................................................................................ 282
Zernike Fringe Phase coefficients sign conventions ................................................................. 283
Zernike Fringe Sag ............................................................................................................................... 283
Zernike Standard Phase ....................................................................................................................... 284
Zernike Standard Phase coefficients sign conventions............................................................. 285
Zernike Standard Sag ........................................................................................................................... 285
Zone Plate............................................................................................................................................. 286
13
NON-SEQUENTIAL COMPONENTS Chapter 12
Introduction ........................................................................................................................................... 289
Paraxial data and ray tracing with NSC ................................................................................................ 289
Optimization with NSC .......................................................................................................................... 290
The two methods of using NSC ray tracing .......................................................................................... 290
NSC with ports .......................................................................................................................... 290
NSC without ports ..................................................................................................................... 290
Combining NSC with and without ports..................................................................................... 290
Overview of NSC ray tracing with ports ................................................................................................ 291
The entry port ................................................................................................................ 291
The exit port .................................................................................................................. 291
Getting rays in ............................................................................................................... 292
Tracing rays within the NSC.......................................................................................... 292
Getting rays out ............................................................................................................. 292
Overview of NSC ray tracing without ports ........................................................................................... 292
Getting rays in ............................................................................................................... 293
Tracing rays within the NSC.......................................................................................... 293
Detecting rays ............................................................................................................... 293
Launching rays for analysis........................................................................................... 293
NSC Objects ......................................................................................................................................... 293
Annular Aspheric Lens .............................................................................................................. 297
Annular Volume......................................................................................................................... 297
Annulus ..................................................................................................................................... 298
Aspheric Surface....................................................................................................................... 298
Aspheric Surface 2.................................................................................................................... 299
Axicon Surface .......................................................................................................................... 299
Biconic Lens.............................................................................................................................. 300
Biconic Surface ......................................................................................................................... 301
Making a hyperhemispheric surface.............................................................................. 302
Binary 1 ..................................................................................................................................... 302
Binary 2 ..................................................................................................................................... 303
Binary 2A................................................................................................................................... 303
Cone.......................................................................................................................................... 304
Compound Parabolic Concentrator (CPC)................................................................................ 305
Cylinder Pipe............................................................................................................................. 305
Cylinder Volume........................................................................................................................ 306
Cylinder 2 Pipe.......................................................................................................................... 306
Cylinder 2 Volume..................................................................................................................... 306
Diffraction Grating ..................................................................................................................... 307
Ellipse........................................................................................................................................ 307
Elliptical Volume........................................................................................................................ 307
Even Asphere Lens................................................................................................................... 308
Extended Polynomial Lens........................................................................................................ 308
Extended Polynomial Surface ................................................................................................... 309
Fresnel 1 ................................................................................................................................... 309
Fresnel 2 ................................................................................................................................... 310
Hexagonal Lenslet .................................................................................................................... 312
Hologram Lens.......................................................................................................................... 312
Hologram Surface ..................................................................................................................... 313
Imported .................................................................................................................................... 314
Comments about imported objects................................................................................ 314
Ray tracing accuracy for imported objects .................................................................... 314
Ray tracing speed for imported objects......................................................................... 315
14
Limitations on imported objects..................................................................................... 315
Jones Matrix.............................................................................................................................. 315
Lenslet 1.................................................................................................................................... 315
Lenslet 2.................................................................................................................................... 317
Micro Electro Mechanical System (MEMS)............................................................................... 317
Null Object................................................................................................................................. 318
Odd Asphere Lens .................................................................................................................... 318
Polygon Object.......................................................................................................................... 319
Rectangular Corner................................................................................................................... 319
Rectangle .................................................................................................................................. 320
Rectangular Pipe....................................................................................................................... 320
Rectangular Pipe Grating.......................................................................................................... 320
Rectangular Roof ...................................................................................................................... 321
Rectangular Torus Surface ....................................................................................................... 321
Rectangular Torus Volume ....................................................................................................... 321
Rectangular Volume.................................................................................................................. 322
Rectangular Volume Grating..................................................................................................... 322
Slide .......................................................................................................................................... 322
Sphere....................................................................................................................................... 323
Standard Lens........................................................................................................................... 323
Standard Surface ...................................................................................................................... 324
STL Object ................................................................................................................................ 324
Fast Load/Fast Trace STL objects ................................................................................ 325
Tabulated Faceted Radial ......................................................................................................... 325
Tabulated Faceted Toroid ......................................................................................................... 326
Tabulated Fresnel Radial .......................................................................................................... 327
Toroidal Lens ............................................................................................................................ 327
Toroidal Surface........................................................................................................................ 327
Torus Surface............................................................................................................................ 328
Torus Volume............................................................................................................................ 328
Triangular Corner ...................................................................................................................... 329
Triangle ..................................................................................................................................... 329
User Defined Object.................................................................................................................. 329
Sample Object DLLs ..................................................................................................... 330
Zernike Surface......................................................................................................................... 331
The use of facets .................................................................................................................................. 331
Detectors............................................................................................................................................... 332
Detector Rectangle object......................................................................................................... 332
Comments on coherent data computations................................................................... 333
Detector Surface object............................................................................................................. 334
Comments about detector triangles .............................................................................. 335
Detector Volume object............................................................................................................. 335
Objects as detectors ................................................................................................................. 335
Sources................................................................................................................................................. 336
Placing sources inside objects .................................................................................................. 336
Adding new source types .......................................................................................................... 336
Parameters common to all source objects ................................................................................ 337
Source Diode ............................................................................................................................ 337
Source DLL ............................................................................................................................... 338
Source DLL parameters ................................................................................................ 338
Creating a new Source DLL .......................................................................................... 338
Sample Source DLLs .................................................................................................... 339
Source Ellipse ........................................................................................................................... 339
Source Filament ........................................................................................................................ 340
15
Source File ................................................................................................................................ 340
ASCII vs. binary format files .......................................................................................... 340
Memory requirements for source file objects ................................................................ 341
Restrictions on the number of rays selected ................................................................. 341
Binary Source File format.............................................................................................. 341
ASCII Source File format............................................................................................... 342
Intensity normalization in source files............................................................................ 342
Source Gaussian....................................................................................................................... 342
Source Point.............................................................................................................................. 342
Source Radial............................................................................................................................ 342
Source Ray ............................................................................................................................... 343
Source Rectangle...................................................................................................................... 343
Source Tube.............................................................................................................................. 343
Source Two Angle..................................................................................................................... 343
Source Volume Cylinder ........................................................................................................... 343
Source Volume Ellipse .............................................................................................................. 344
Source Volume Rectangle ........................................................................................................ 344
Object Placement.................................................................................................................................. 344
The object coordinate system ................................................................................................... 344
Reference objects ..................................................................................................................... 345
Placing objects inside of, adjacent to, or overlapping other objects.......................................... 345
Glue distance ............................................................................................................................ 345
Nesting object limits .................................................................................................................. 345
Nesting volumes........................................................................................................................ 346
Nesting surfaces ....................................................................................................................... 346
Refraction and reflection from NSC objects.......................................................................................... 346
Diffraction from NSC objects................................................................................................................. 347
The object properties dialog box........................................................................................................... 348
Type tab .................................................................................................................................... 348
Coating/Scattering tab............................................................................................................... 349
Bulk Scattering tab .................................................................................................................... 349
GRIN tab ................................................................................................................................... 349
Diffraction tab ............................................................................................................................ 350
Sources tab ............................................................................................................................... 350
Defining paths using the Consider Objects list ..................................................................................... 351
Defining a Scatter Towards list ............................................................................................................. 351
User defined apertures ......................................................................................................................... 352
Coating and scatter groups................................................................................................................... 352
Polarization and thin film coatings ........................................................................................................ 352
Coatings on surfaces in contact ................................................................................................ 352
Scattering.............................................................................................................................................. 352
Fraction to scatter and number of scatter rays.......................................................................... 352
Scatter models .......................................................................................................................... 353
No scattering ............................................................................................................................. 354
Lambertian scattering................................................................................................................ 354
Gaussian scattering .................................................................................................................. 354
ABg model scattering ................................................................................................................ 354
BSDF properties............................................................................................................ 355
The ABg BSDF model ................................................................................................... 355
Defining ABg data ......................................................................................................... 356
Scattering rays using the ABg model ............................................................................ 356
User defined scattering ............................................................................................................. 356
Defining an object to use DLL defined surface scattering ............................................. 357
DLL parameters............................................................................................................. 357
16
Creating a new DLL....................................................................................................... 357
Sample surface scattering: TwoGaussian.DLL ............................................................. 357
Bulk scattering ...................................................................................................................................... 357
No Bulk Scattering .................................................................................................................... 357
Angle Scattering........................................................................................................................ 358
DLL Defined Scattering ............................................................................................................. 358
Defining an object to use DLL defined bulk scattering .................................................. 358
DLL parameters............................................................................................................. 358
Creating a new DLL....................................................................................................... 358
Coherence length modeling .................................................................................................................. 359
Defining GRIN media for non-sequential ray tracing ............................................................................ 359
Defining an object to be of gradient index material ................................................................... 359
Discussion on maximum step size for GRIN objects ................................................................ 359
GRIN DLL parameters .............................................................................................................. 359
Creating a new GRIN DLL ........................................................................................................ 359
Sample GRIN DLLs................................................................................................................... 360
Defining DLLs for ray splitting at diffractive surfaces ............................................................................ 361
Defining an object to use the diffraction DLL ............................................................................ 361
Diffraction DLL parameters ....................................................................................................... 361
Creating a new Diffraction DLL ................................................................................................. 361
Ray splitting .......................................................................................................................................... 362
Ray splitting and polarization .................................................................................................... 362
Putting it all together ............................................................................................................................. 363
Performing a Monte Carlo ray trace...................................................................................................... 363
The Ray Trace/Detector Control ............................................................................................... 363
Choosing the number of analysis rays ...................................................................................... 365
Lost energy ............................................................................................................................... 365
Ray database files..................................................................................................................... 366
Ray Database Viewer ........................................................................................................................... 367
The Detector Viewer ............................................................................................................................. 369
The filter string ...................................................................................................................................... 371
Filter string examples ................................................................................................................ 373
Defining Polygon Objects...................................................................................................................... 373
The comment symbol: !............................................................................................................. 374
The coating group name symbol: C .......................................................................................... 374
The invisible symbol: I............................................................................................................... 374
The vertex symbol: V ................................................................................................................ 374
The triangle symbol: T............................................................................................................... 374
The rectangle symbol: R ........................................................................................................... 375
Maximum triangles in the polygon object .................................................................................. 375
Example POB file ...................................................................................................................... 375
Defining STL Objects ............................................................................................................................ 376
Maximum triangles in STL objects ............................................................................................ 376
Example STL files ..................................................................................................................... 376
Special considerations for faceted objects............................................................................................ 376
Comments about DLLs ......................................................................................................................... 377
SOLVES Chapter 13
Introduction ........................................................................................................................................... 379
Curvature: Marginal ray angle............................................................................................................... 380
Curvature: Chief ray angle .................................................................................................................... 380
Curvature: Pick up ................................................................................................................................ 380
Curvature: Marginal ray normal ............................................................................................................ 381
Curvature: Chief ray normal.................................................................................................................. 381
17
Curvature: Aplanatic ............................................................................................................................. 381
Curvature: Element power .................................................................................................................... 381
Curvature: Concentric with surface....................................................................................................... 381
Curvature: Concentric with radius......................................................................................................... 381
Curvature: F number............................................................................................................................. 381
Thickness: Marginal ray height ............................................................................................................. 381
Thickness: Chief ray height................................................................................................................... 382
Thickness: Edge thickness ................................................................................................................... 382
Thickness: Pick up ................................................................................................................................ 382
Thickness: Optical path difference........................................................................................................ 382
Thickness: Position ............................................................................................................................... 382
Thickness: Compensator ...................................................................................................................... 382
Thickness: Center of curvature ............................................................................................................. 383
Glass: Model ......................................................................................................................................... 383
Glass: Pick up ....................................................................................................................................... 383
Glass: Substitute................................................................................................................................... 383
Glass: Offset ......................................................................................................................................... 383
Semi-Diameter: Pick up ........................................................................................................................ 384
Semi-Diameter: Maximum .................................................................................................................... 384
Conic: Pick up ....................................................................................................................................... 384
Parameter: Pick up ............................................................................................................................... 384
Parameter: Chief ray............................................................................................................................. 384
Suggestions for use .............................................................................................................................. 384
OPTIMIZATION Chapter 14
Introduction ........................................................................................................................................... 385
Selecting variables................................................................................................................................ 385
Defining the default merit function ........................................................................................................ 385
Selecting the type of optimization ............................................................................................. 385
Physically significant merit functions......................................................................................... 386
Selecting the pupil integration method.................................................................................................. 387
Rings ......................................................................................................................................... 387
Arms.......................................................................................................................................... 388
Grid ........................................................................................................................................... 388
Delete Vignetted........................................................................................................................ 388
Setting thickness boundary values............................................................................................ 388
Start At ...................................................................................................................................... 389
Assume Axial Symmetry ........................................................................................................... 389
Ignore Lateral Color .................................................................................................................. 389
Relative X Weight...................................................................................................................... 389
Overall Weight........................................................................................................................... 389
Pitfalls with the default merit function.................................................................................................... 389
Optimization with apodized beams ....................................................................................................... 390
Modifying the merit function .................................................................................................................. 390
Int1 and Int2 .............................................................................................................................. 390
Hx, Hy, Px, Py ........................................................................................................................... 390
Operand weights less than zero................................................................................................ 390
Operand weights equal to zero ................................................................................................. 391
Operand weights greater than zero........................................................................................... 391
Merit function definition ............................................................................................................. 391
Optimization operands .......................................................................................................................... 391
Understanding boundary operands....................................................................................................... 421
Using MTF operands ............................................................................................................................ 421
Performing an optimization ................................................................................................................... 422
18
Defining complex operands .................................................................................................................. 423
Optimizing glass selection .................................................................................................................... 424
Using model glasses ................................................................................................................. 424
Using glass substitution ............................................................................................................ 426
Optimizing zoom and multi-configuration lenses .................................................................................. 426
Optimizing extra data ............................................................................................................................ 426
Optimizing tolerance sensitivity............................................................................................................. 426
Optimizing objects in a non-sequential group with sequential rays ...................................................... 427
Optimizing with sources and detectors in non-sequential mode........................................................... 427
Comments about random numbers and NSTR......................................................................... 428
Pixel numbering for detectors ................................................................................................... 428
Optimizing with the IMAE operand........................................................................................................ 428
Using gradient index operands ............................................................................................................. 428
DLTN......................................................................................................................................... 428
LPTD ......................................................................................................................................... 429
User defined operands.......................................................................................................................... 429
Optimizing with ZPL macros ..................................................................................................... 429
Optimizing with externally compiled programs.......................................................................... 431
Suggestions for use .............................................................................................................................. 433
The global optimum .............................................................................................................................. 433
GLOBAL OPTIMIZATION Chapter 15
Introduction ........................................................................................................................................... 435
Capabilities of ZEMAX .......................................................................................................................... 435
The Global Search algorithm ................................................................................................................ 436
The Hammer algorithm ......................................................................................................................... 437
Optimizing glass selection .................................................................................................................... 437
Using glass substitution ............................................................................................................ 437
Restricting selected glasses...................................................................................................... 438
Suggestions for use .............................................................................................................................. 438
Summary............................................................................................................................................... 439
TOLERANCING Chapter 16
Introduction ........................................................................................................................................... 441
The basic procedure ............................................................................................................................. 441
Tolerance operands .............................................................................................................................. 442
TRAD: Tolerance on radius....................................................................................................... 443
TCUR: Tolerance on curvature ................................................................................................. 444
TFRN: Tolerance on fringes...................................................................................................... 444
TTHI: Tolerance on thickness ................................................................................................... 444
TCON: Tolerance on conic........................................................................................................ 444
TSDX, TSDY: Tolerance on surface decenters ........................................................................ 445
TSTX, TSTY: Tolerance on surface tilts.................................................................................... 445
TIRX, TIRY: Tolerance on surface TIR ..................................................................................... 445
TIRR: Tolerance on surface irregularity .................................................................................... 445
TEXI: Tolerance on surface irregularity using the Fringe Zernike model .................................. 446
TEZI: Tolerance on surface irregularity using the Standard Zernike model.............................. 447
TPAR: Tolerance on parameter data ........................................................................................ 448
TEDV: Tolerance on extra data values ..................................................................................... 448
TIND: Tolerance on index ......................................................................................................... 448
TABB: Tolerance on Abbe ........................................................................................................ 448
TCMU: Tolerance on coating multiplier..................................................................................... 448
TEDX, TEDY: Tolerance on element decenters ....................................................................... 448
19
TETX, TETY, TETZ: Tolerance on element tilts........................................................................ 449
TOFF: Tolerance off (can be used for comments) .................................................................... 449
TUDX, TUDY, TUTX, TUTY, TUTZ: Tolerance on user defined tilts and decenters................. 449
TNPS, TNPA: Tolerances on non-sequential data.................................................................... 449
TMCO: Tolerance on multi-configuration data .......................................................................... 450
Tolerancing with the Irregular surface type........................................................................................... 450
Tolerance control operands .................................................................................................................. 450
CEDV: Define extra data value compensator ........................................................................... 451
General comments about min and max values on compensators ................................ 451
CMCO: Define multi-configuration operand compensator ........................................................ 451
COMP: Define compensator ..................................................................................................... 451
CPAR: Define parameter compensator..................................................................................... 451
SAVE: Save sensitivity analysis lenses .................................................................................... 451
SEED: Seed the random number generator ............................................................................. 452
STAT: Define statistics.............................................................................................................. 452
TWAV: Test wavelength............................................................................................................ 452
Defining default tolerances ................................................................................................................... 452
Surface tolerances .................................................................................................................... 452
Element tolerances ................................................................................................................... 453
Defining compensators ......................................................................................................................... 453
Preparing the lens for tolerancing ......................................................................................................... 454
Performing the tolerance analysis......................................................................................................... 454
How ZEMAX computes the tolerance analysis ..................................................................................... 457
Evaluating compensators.......................................................................................................... 458
Sensitivity analysis................................................................................................................................ 458
Inverse sensitivity analysis.................................................................................................................... 459
Monte Carlo analysis ............................................................................................................................ 460
Normal statistical distribution .................................................................................................... 460
Uniform statistical distribution ................................................................................................... 460
Parabolic statistical distribution ................................................................................................. 461
User defined statistical distribution............................................................................................ 461
Discussion of Monte Carlo analysis method ............................................................................. 462
Nesting rules for Monte Carlo analysis ................................................................................................. 462
Using Tolerance Scripts........................................................................................................................ 463
Tolerance Script overview......................................................................................................... 463
The Tolerance Script commands .............................................................................................. 463
! ..................................................................................................................................... 463
CEDV ............................................................................................................................ 463
CLEARCOMP................................................................................................................ 463
CLOSEFILE................................................................................................................... 464
CMCO ........................................................................................................................... 464
COMP............................................................................................................................ 464
CPAR ............................................................................................................................ 464
FORMAT ....................................................................................................................... 464
LOADMERIT ................................................................................................................. 464
NOMINAL ...................................................................................................................... 465
OPENFILE..................................................................................................................... 465
OPTIMIZE ..................................................................................................................... 465
PERTURB ..................................................................................................................... 465
REPORT ....................................................................................................................... 466
SAVE............................................................................................................................. 466
UPDATE........................................................................................................................ 467
Tolerance Script example ......................................................................................................... 467
Tolerancing multi-configuration (zoom) lenses ..................................................................................... 467
20
Tolerancing with solves......................................................................................................................... 468
Trouble shooting the tolerance results.................................................................................................. 468
Optimizing for tolerance sensitivity ....................................................................................................... 468
Pitfalls when tolerancing ....................................................................................................................... 468
Summary............................................................................................................................................... 468
MULTI-CONFIGURATIONS Chapter 17
Introduction ........................................................................................................................................... 471
The first step ......................................................................................................................................... 471
Summary of multi-configuration operands ............................................................................................ 471
Defining the number of configurations .................................................................................................. 474
Defining each configuration .................................................................................................................. 475
Adding and removing elements ............................................................................................................ 475
Changing configurations ....................................................................................................................... 475
Optimization with multi-configurations .................................................................................................. 475
Suggestions for organizing multiple-configuration merit functions ............................................ 475
Using solves with multi-configuration data............................................................................................ 476
MCE Pick up solves .................................................................................................................. 476
MCE Thermal pick up solves .................................................................................................... 476
USING GLASS CATALOGS Chapter 18
Introduction ........................................................................................................................................... 477
Specifying which glass catalogs to use................................................................................................. 477
Editing and reviewing glass catalogs .................................................................................................... 477
Description of catalog data ................................................................................................................... 478
Creating a new catalog ......................................................................................................................... 479
Copying or moving glass catalog files................................................................................................... 479
The glass dispersion formulas .............................................................................................................. 480
The Schott formula.................................................................................................................... 480
The Sellmeier 1 formula ............................................................................................................ 480
The Sellmeier 2 formula ............................................................................................................ 480
The Sellmeier 3 formula ............................................................................................................ 480
The Sellmeier 4 formula ............................................................................................................ 481
The Sellmeier 5 formula ............................................................................................................ 481
The Herzberger formula ............................................................................................................ 481
The Conrady formula ................................................................................................................ 481
The Handbook of Optics 1 formula ........................................................................................... 481
The Handbook of Optics 2 formula ........................................................................................... 481
The Extended formula............................................................................................................... 482
General comments of using dispersion formulas ...................................................................... 482
Fitting index data................................................................................................................................... 482
Fitting melt data .................................................................................................................................... 482
Discussion of melt fitting method: ............................................................................................. 483
Defining Transmission Data.................................................................................................................. 484
Modeling gases and liquids................................................................................................................... 484
Finding a glass quickly.......................................................................................................................... 485
Using MIL number glasses ................................................................................................................... 485
Using model glasses............................................................................................................................. 485
Glass catalog sources........................................................................................................................... 486
Obsolete catalog data ........................................................................................................................... 490
THERMAL ANALYSIS Chapter 19
Introduction ........................................................................................................................................... 491
21
Defining temperature and pressure ...................................................................................................... 491
Defining wavelengths............................................................................................................................ 491
Index of refraction computation............................................................................................................. 491
Environmental effects on index for gradient index, MIL number, and model glasses ............... 493
Defining multiple temperature and pressure values.............................................................................. 493
Defining which parameters consider thermal effects ............................................................................ 493
Radius of curvature (CRVT) values .......................................................................................... 494
Thickness (THIC) values........................................................................................................... 494
Parameter values ...................................................................................................................... 494
Extra data values ...................................................................................................................... 494
All other values.......................................................................................................................... 495
Defining multiple environments within a single configuration................................................................ 495
Automatic thermal setup ....................................................................................................................... 495
Adding TCE data................................................................................................................................... 495
Modeling gases and liquids................................................................................................................... 495
Adding thermal index variation data...................................................................................................... 495
Optimizing athermal lenses................................................................................................................... 496
Limitations of thermal analysis.............................................................................................................. 496
POLARIZATION ANALYSIS Chapter 20
Introduction ........................................................................................................................................... 497
Review of polarization concepts ........................................................................................................... 497
The electric field vector ............................................................................................................. 497
Field vs. ray phase conventions................................................................................................ 498
The polarization ellipse ............................................................................................................. 498
Definition of terms ..................................................................................................................... 498
Intensity, I ...................................................................................................................... 498
Phase, P........................................................................................................................ 498
Path length through medium, ....................................................................................... 499
Internal absorption per lens unit, .................................................................................. 499
Internal Transmittance, IT ............................................................................................. 499
Propagation Phase Factors, pc, ps ............................................................................... 499
Amplitude Reflectance, ................................................................................................ 499
Amplitude Transmittance, ............................................................................................. 499
Intensity Reflectance, Rs, Rp ........................................................................................ 499
Intensity Transmittance, Ts, Tp ..................................................................................... 499
Intensity Absorption, As, Ap .......................................................................................... 500
Diattenuation, D............................................................................................................. 500
Coating Phase, Ps, Pp .................................................................................................. 500
Retardance, S ............................................................................................................... 500
Phase Difference Between X and Y, Pxy ...................................................................... 500
Major and Minor semi axis of the Polarization Ellipse, EM, Em .................................... 500
Angle of XY Polarization Ellipse, Ap.............................................................................. 500
Properties of uncoated surfaces ........................................................................................................... 500
Defining coatings in ZEMAX ................................................................................................................. 501
Coating file data syntax............................................................................................................. 501
The MATE data section................................................................................................. 503
The TAPR data section ................................................................................................. 503
The COAT data section................................................................................................. 505
Defining replicated groups of coating layers ................................................................. 506
Defining simple ideal coatings....................................................................................... 506
The IDEAL data section ................................................................................................ 506
The IDEAL2 data section .............................................................................................. 507
The TABLE data section ............................................................................................... 507
22
Adding comments to the coating file ............................................................................. 508
Limits on the amount of coating data ............................................................................ 508
Editing the coating file ................................................................................................... 508
Optimizing coatings with ZEMAX.......................................................................................................... 508
Default materials and coatings supplied with ZEMAX .......................................................................... 509
Specifying coatings on surfaces ........................................................................................................... 510
What ZEMAX does if no coating is specified ........................................................................................ 510
Defining the incident polarization .......................................................................................................... 510
Defining polarizing components............................................................................................................ 511
What ZEMAX can compute using polarization analysis........................................................................ 512
Bulk absorption and transmission ............................................................................................. 512
Modeling birefringent materials............................................................................................................. 512
Modeling frustrated total internal reflection ........................................................................................... 512
Limitations of polarization analysis ....................................................................................................... 514
PHYSICAL OPTICS PROPAGATION Chapter 21
Introduction ........................................................................................................................................... 515
Support for multiple processors ............................................................................................................ 516
Diffraction propagation.......................................................................................................................... 516
Representation of the electric field............................................................................................ 516
The Fresnel number.................................................................................................................. 516
Near and far field........................................................................................................... 517
Angular spectrum propagation .................................................................................................. 517
Fresnel diffraction...................................................................................................................... 519
Selecting the correct propagator ............................................................................................... 520
Fraunhofer diffraction ................................................................................................................ 520
The pilot beam ...................................................................................................................................... 520
Sign conventions for phase data........................................................................................................... 521
Propagating in and out of the Rayleigh range....................................................................................... 522
Separation of X and Y propagation ........................................................................................... 523
Comments about point spacing and sampling ...................................................................................... 524
Propagation through arbitrary optical surfaces ..................................................................................... 524
Propagating through non-sequential surfaces .......................................................................... 525
Accounting for polarization.................................................................................................................... 525
Memory requirements ........................................................................................................................... 525
Defining the initial beam........................................................................................................................ 526
Gaussian Waist ......................................................................................................................... 526
Gaussian Angle......................................................................................................................... 527
Gaussian Size+Angle................................................................................................................ 527
Top Hat ..................................................................................................................................... 527
User defined table ..................................................................................................................... 528
ZEMAX Beam File (ZBF) binary format......................................................................... 528
ZEMAX Beam File (ZBF) ASCII format ......................................................................... 528
User defined DLL program........................................................................................................ 529
Beam DLL parameters .................................................................................................. 529
Creating a new Beam DLL ........................................................................................................ 529
Surface specific settings ....................................................................................................................... 529
Computing Fiber Coupling .................................................................................................................... 530
Where the integral is computed ................................................................................................ 531
Defining the fiber mode ............................................................................................................. 531
Decenters and tilts .................................................................................................................... 531
Choosing the location for the receiving fiber ............................................................................. 531
Suggestions for use .............................................................................................................................. 532
Algorithm assumptions.......................................................................................................................... 533
23
Samples ................................................................................................................................................ 533
Free space propagation ............................................................................................................ 533
A pinhole aperture..................................................................................................................... 534
A lens array ............................................................................................................................... 534
Talbot imaging........................................................................................................................... 534
Fresnel lens............................................................................................................................... 534
ZEMAX PROGRAMMING LANGUAGE Chapter 22
Introduction ........................................................................................................................................... 535
Creating ZPL macros ............................................................................................................................ 535
Running ZPL macros ............................................................................................................................ 535
Assigning ZPL macros to buttons ............................................................................................. 536
An overview of ZPL............................................................................................................................... 536
ZPL variables ........................................................................................................................................ 536
ZPL functions ........................................................................................................................................ 537
Using the FICL() function ...................................................................................................................... 546
ZPL math operations............................................................................................................................. 546
ZPL logical operators ............................................................................................................................ 546
ZPL string variables and operations ..................................................................................................... 547
ZPL string logical operators .................................................................................................................. 549
ZPL keywords ....................................................................................................................................... 549
APMN, APMX............................................................................................................................ 549
APXD, APYD............................................................................................................................. 550
APTP......................................................................................................................................... 550
ATYP, AVAL.............................................................................................................................. 551
BEEP......................................................................................................................................... 552
COAT ........................................................................................................................................ 552
CLOSE ...................................................................................................................................... 552
CLOSEWINDOW ...................................................................................................................... 552
COLOR ..................................................................................................................................... 553
COMMENT................................................................................................................................ 553
CONI ......................................................................................................................................... 553
COPYFILE ................................................................................................................................ 553
CURV ........................................................................................................................................ 554
DELETE .................................................................................................................................... 554
DELETECONFIG ...................................................................................................................... 554
DELETEFILE............................................................................................................................. 554
DELETEMCO............................................................................................................................ 555
DELETEMFO ............................................................................................................................ 555
DELETEOBJECT ...................................................................................................................... 555
EDVA ........................................................................................................................................ 555
END........................................................................................................................................... 556
EXPORTBMP............................................................................................................................ 556
EXPORTCAD............................................................................................................................ 556
EXPORTJPG ............................................................................................................................ 557
EXPORTWMF........................................................................................................................... 557
FINDFILE .................................................................................................................................. 557
FLDX, FLDY, FWGT, FVDX, FVDY, FVCX, FVCY, FVAN ....................................................... 558
FOR, NEXT ............................................................................................................................... 558
FORMAT ................................................................................................................................... 559
FTYP ......................................................................................................................................... 559
GCRS........................................................................................................................................ 560
GDATE...................................................................................................................................... 560
GETEXTRADATA ..................................................................................................................... 560
24
GETGLASSDATA ..................................................................................................................... 560
GETLSF .................................................................................................................................... 561
GETMTF ................................................................................................................................... 562
GETPSF.................................................................................................................................... 562
GETSYSTEMDATA .................................................................................................................. 563
GETTEXTFILE .......................................................................................................................... 564
GETVARDATA.......................................................................................................................... 565
GETZERNIKE ........................................................................................................................... 566
GLAS......................................................................................................................................... 567
GLENSNAME............................................................................................................................ 567
GOSUB, SUB, RETURN, and END .......................................................................................... 568
GOTO........................................................................................................................................ 568
GRAPHICS ............................................................................................................................... 568
GTEXT ...................................................................................................................................... 569
GTEXTCENT ............................................................................................................................ 569
GTITLE...................................................................................................................................... 570
HAMMER .................................................................................................................................. 570
IF-THEN-ELSE-ENDIF.............................................................................................................. 570
IMA............................................................................................................................................ 571
IMASHOW................................................................................................................................. 571
IMASUM.................................................................................................................................... 572
IMPORT_ED ............................................................................................................................. 572
INPUT ....................................................................................................................................... 572
INSERT ..................................................................................................................................... 572
INSERTCONFIG ....................................................................................................................... 573
INSERTMCO............................................................................................................................. 573
INSERTMFO ............................................................................................................................. 573
INSERTOBJECT....................................................................................................................... 573
LABEL ....................................................................................................................................... 574
LINE .......................................................................................................................................... 574
LOADCATALOG ....................................................................................................................... 574
LOADLENS ............................................................................................................................... 574
LOADMERIT ............................................................................................................................. 575
LOCKWINDOW......................................................................................................................... 575
NEXT......................................................................................................................................... 575
NSTR ........................................................................................................................................ 575
NUMFIELD................................................................................................................................ 576
NUMWAVE ............................................................................................................................... 576
OPEN ........................................................................................................................................ 576
OPTIMIZE ................................................................................................................................. 577
OPTRETURN............................................................................................................................ 577
OUTPUT ................................................................................................................................... 577
PARM........................................................................................................................................ 578
PARn......................................................................................................................................... 578
PARAXIAL................................................................................................................................. 578
PAUSE ...................................................................................................................................... 578
PIXEL ........................................................................................................................................ 579
POLDEFINE.............................................................................................................................. 579
POLTRACE............................................................................................................................... 579
POP........................................................................................................................................... 580
PRINT ....................................................................................................................................... 580
PRINTFILE................................................................................................................................ 581
PRINTWINDOW........................................................................................................................ 581
PWAV........................................................................................................................................ 581
25
QUICKFOCUS .......................................................................................................................... 582
RADI.......................................................................................................................................... 582
RANDOMIZE............................................................................................................................. 582
RAYTRACE............................................................................................................................... 583
RAYTRACEX ............................................................................................................................ 583
READ ........................................................................................................................................ 584
READNEXT............................................................................................................................... 585
READSTRING........................................................................................................................... 585
RELOADOBJECTS................................................................................................................... 585
REM, ! ....................................................................................................................................... 586
REMOVEVARIABLES............................................................................................................... 586
RENAMEFILE ........................................................................................................................... 586
RETURN ................................................................................................................................... 586
REWIND.................................................................................................................................... 586
SAVELENS ............................................................................................................................... 587
SAVEMERIT ............................................................................................................................. 587
SAVEWINDOW......................................................................................................................... 587
SCATTER ................................................................................................................................. 588
SDIA.......................................................................................................................................... 588
SETAIM..................................................................................................................................... 588
SETAIMDATA ........................................................................................................................... 588
SETAPODIZATION................................................................................................................... 589
SETCONFIG ............................................................................................................................. 589
SETDETECTOR ....................................................................................................................... 589
SETMCOPERAND.................................................................................................................... 590
SETNSCPARAMETER ............................................................................................................. 590
SETNSCPOSITION .................................................................................................................. 591
SETNSCPROPERTY................................................................................................................ 591
SETOPERAND ......................................................................................................................... 593
SETSTDD ................................................................................................................................. 593
SETSURFACEPROPERTY ...................................................................................................... 593
SETTEXTSIZE .......................................................................................................................... 595
SETTITLE ................................................................................................................................. 595
SETUNITS ................................................................................................................................ 595
SETVAR.................................................................................................................................... 596
SETVECSIZE............................................................................................................................ 596
SETVIG ..................................................................................................................................... 596
SHOWFILE ............................................................................................................................... 596
SOLVETYPE............................................................................................................................. 597
STOPSURF............................................................................................................................... 598
SUB........................................................................................................................................... 598
SURFTYPE ............................................................................................................................... 598
TELECENTRIC ......................................................................................................................... 599
TESTPLATEFIT ........................................................................................................................ 599
THIC.......................................................................................................................................... 599
TIMER ....................................................................................................................................... 599
UNLOCKWINDOW ................................................................................................................... 600
UPDATE.................................................................................................................................... 600
VEC1, VEC2, VEC3, VEC4....................................................................................................... 600
WAVL, WWGT .......................................................................................................................... 601
XDIFFIA .................................................................................................................................... 601
ZBFCLR .................................................................................................................................... 602
General comments about all ZBF related keywords ..................................................... 602
ZBFMULT.................................................................................................................................. 602
26
ZBFPROPERTIES .................................................................................................................... 602
ZBFRESAMPLE........................................................................................................................ 603
ZBFSHOW ................................................................................................................................ 603
ZBFSUM ................................................................................................................................... 603
ZBFTILT .................................................................................................................................... 604
Example 1 ............................................................................................................................................. 604
Example 2 ............................................................................................................................................. 605
ZEMAX EXTENSIONS Chapter 23
Introduction ........................................................................................................................................... 607
Requirements for writing Extensions .................................................................................................... 607
Establishing the link .............................................................................................................................. 608
Terminating the link............................................................................................................................... 608
Extracting data from ZEMAX ................................................................................................................ 608
The data items ...................................................................................................................................... 609
CloseUDOData ......................................................................................................................... 609
DeleteConfig ............................................................................................................................. 609
DeleteObject ............................................................................................................................. 609
DeleteSurface ........................................................................................................................... 609
ExportCAD ................................................................................................................................ 609
ExportCheck.............................................................................................................................. 610
FindLabel .................................................................................................................................. 610
GetAddress ............................................................................................................................... 610
GetAperture............................................................................................................................... 610
GetAspect ................................................................................................................................. 610
GetBuffer................................................................................................................................... 610
GetComment............................................................................................................................. 611
GetConfig .................................................................................................................................. 611
GetDate..................................................................................................................................... 611
GetExtra .................................................................................................................................... 611
GetField..................................................................................................................................... 611
GetFile....................................................................................................................................... 611
GetFirst ..................................................................................................................................... 611
GetGlass ................................................................................................................................... 611
GetGlobalMatrix ........................................................................................................................ 612
GetIndex.................................................................................................................................... 612
GetLabel.................................................................................................................................... 612
GetMetaFile............................................................................................................................... 612
GetMulticon ............................................................................................................................... 613
GetName................................................................................................................................... 613
GetNSCData ............................................................................................................................. 613
GetNSCMatrix ........................................................................................................................... 613
GetNSCObjectData................................................................................................................... 613
GetNSCParameter .................................................................................................................... 614
GetNSCPosition ........................................................................................................................ 614
GetNSCSettings........................................................................................................................ 614
GetOperand .............................................................................................................................. 614
GetPath ..................................................................................................................................... 614
GetPolState............................................................................................................................... 614
GetPupil .................................................................................................................................... 614
GetPolTrace .............................................................................................................................. 615
GetPolTraceDirect..................................................................................................................... 615
GetRefresh................................................................................................................................ 615
GetSag ...................................................................................................................................... 616
27
GetSequence ............................................................................................................................ 616
GetSerial ................................................................................................................................... 616
GetSettingsData........................................................................................................................ 616
GetSolve ................................................................................................................................... 616
GetSurfaceData ........................................................................................................................ 617
GetSurfaceDLL ......................................................................................................................... 617
GetSurfaceParameter ............................................................................................................... 617
GetSystem ................................................................................................................................ 617
GetSystemAper......................................................................................................................... 618
GetTextFile................................................................................................................................ 618
GetTol ....................................................................................................................................... 618
GetTrace ................................................................................................................................... 619
GetTraceDirect.......................................................................................................................... 619
GetUDOSystem ........................................................................................................................ 620
GetUpdate................................................................................................................................. 620
GetVersion ................................................................................................................................ 620
GetWave ................................................................................................................................... 620
ImportExtraData ........................................................................................................................ 620
InsertConfig............................................................................................................................... 620
InsertObject............................................................................................................................... 621
InsertSurface............................................................................................................................. 621
LoadFile .................................................................................................................................... 621
LoadMerit .................................................................................................................................. 621
MakeGraphicWindow ................................................................................................................ 621
MakeTextWindow...................................................................................................................... 622
NewLens ................................................................................................................................... 622
OpenWindow............................................................................................................................. 622
Optimize .................................................................................................................................... 623
PushLens .................................................................................................................................. 623
PushLensPermission ................................................................................................................ 623
ReleaseWindow ........................................................................................................................ 623
SaveFile .................................................................................................................................... 623
SetAperture ............................................................................................................................... 624
SetBuffer ................................................................................................................................... 624
SetConfig .................................................................................................................................. 624
SetExtra .................................................................................................................................... 624
SetField ..................................................................................................................................... 624
SetFloat..................................................................................................................................... 625
SetLabel .................................................................................................................................... 625
SetMulticon ............................................................................................................................... 625
SetNSCObjectData ................................................................................................................... 625
SetNSCPosition ........................................................................................................................ 625
SetNSCParameter .................................................................................................................... 625
SetNSCSettings ........................................................................................................................ 625
SetOperand............................................................................................................................... 626
SetPolState ............................................................................................................................... 626
SetSettingsData ........................................................................................................................ 626
SetSolve.................................................................................................................................... 626
SetSurfaceData......................................................................................................................... 626
SetSurfaceParameter................................................................................................................ 626
SetSystem................................................................................................................................. 626
SetSystemAper ......................................................................................................................... 627
SetUDOData ............................................................................................................................. 627
SetUDOItem.............................................................................................................................. 627
28
SetVig........................................................................................................................................ 627
SetWave.................................................................................................................................... 627
WindowMaximize ...................................................................................................................... 627
WindowMinimize ....................................................................................................................... 628
WindowRestore......................................................................................................................... 628
Tracing large numbers of rays .............................................................................................................. 628
Step 1: Placing the ray data in the array ....................................................................... 628
Mode 0: Similar to GetTrace ......................................................................................... 628
Mode 1: Similar to GetTraceDirect ................................................................................ 630
Mode 2: Similar to GetPolTrace .................................................................................... 630
Mode 3: Similar to GetPolTraceDirect........................................................................... 631
Mode 5: For tracing non-sequential rays....................................................................... 632
Step 2: Pass the array to ZEMAX ................................................................................. 633
How ZEMAX calls the client.................................................................................................................. 634
Generating a text window ..................................................................................................................... 634
Generating a graphic window ............................................................................................................... 635
ADDRESS................................................................................................................................. 635
BOX........................................................................................................................................... 635
DATA......................................................................................................................................... 635
DATE......................................................................................................................................... 635
FRAME...................................................................................................................................... 635
LENSNAME .............................................................................................................................. 635
LINE .......................................................................................................................................... 636
NOFRAME ................................................................................................................................ 636
PENSTYLE ............................................................................................................................... 636
TEXT ......................................................................................................................................... 636
TITLE ........................................................................................................................................ 636
A sample Extension program................................................................................................................ 636
The DDE_DEMO code.............................................................................................................. 637
A simplified technique for implementing Extensions............................................................................. 637
The ZCLIENT program.............................................................................................................. 637
A sample Extension program using ZCLIENT .......................................................................... 638
Writing Extensions from the PhasePlot template ...................................................................... 638
Getting analysis data using GetTextFile and GetMetaFile........................................................ 639
29
30
Chapter 1 INTRODUCTION
31 Chapter 1: INTRODUCTION
Author Title Publisher
Smith, Gregory Hallock Practical Computer-Aided Lens Willmann-Bell, Inc.
Design
Smith, Warren Modern Optical Engineering McGraw-Hill
Smith, Warren Modern Lens Design McGraw-Hill
Welford Aberrations of Optical Systems Adam Hilger Ltd.
Welford Useful Optics University of Chicago Press
Most importantly, ZEMAX is no substitute for good engineering practices. No design should ever be considered
finished until a qualified engineer has checked the calculations performed by the software to see if the results are
reasonable. This is particularly important when a design is to be fabricated and significant costs are involved. It
is the engineers responsibility to check the results of ZEMAX, not the other way around.
Learning to use ZEMAX
A tutorial that covers the basic use of ZEMAX and other topics is available as a help file. To use the tutorial,
install ZEMAX, then choose Help, Tutorial from the main menu. The latest tutorial may be downloaded from our
web site, www.zemax.com. Short courses which cover beginner to advanced use of ZEMAX are offered
throughout the year, please check our web site, www.zemax.com, for details.
System requirements
ZEMAX requires the current version of the operating system, 200 Mb (or more) of available hard disk space,
a CD-ROM drive, a minimum display resolution of 1024 x 768 pixels, and Internet and e-mail access for technical
support and program updates. Either a parallel port or a USB port is also required for the key (see below).
The amount of RAM ZEMAX requires varies substantially depending upon the nature of the optical system
being modeled and the type of analysis being done. For conventional imaging systems, 256 Mb of RAM is
adequate and should be considered a minimum requirement. For modeling of very complex objects, extensive
physical optics, or scattering and illumination analysis, substantially more memory may be required for optimal
performance. For these types of analysis, 512 Mb of RAM should be considered the minimum, and better
performance will be achieved with 1 Gb or more of RAM. It is possible to perform physical optics analysis with
ZEMAX using very large arrays that require substantially more RAM than this, see Memory requirements on
page 525 for details.
Multiple processor computers
Many ZEMAX features are designed to run on multiple processors simultaneously. If more than one CPU is
installed in the computer system, ZEMAX will automatically detect and use the additional processors.
Installation procedure
Before you install ZEMAX, please verify that you have the required hardware, defined in the previous section.
Installing the key
ZEMAX is copy-protected using a hardware device called a key. The key only permits one copy of ZEMAX to
run at a time. Attempting to run ZEMAX on more than one computer at a time, or attempting to defeat the intention
of the key is a violation of the owner's copyright, and is punishable by severe criminal and civil penalties.
Attach the key supplied with the program on the parallel printer port at the rear of the computer if you have
been supplied a parallel port type key, or to the USB port if you have been supplied a USB type key. For parallel
port keys, if you do not have a printer, place the key in the port by itself. If you have a printer, disconnect the printer
cable, then attach the key to the port, then attach the printer cable to the key. Your printer, and all other computer
operations, will be unaffected by the presence of the key. You do not need to hook up a printer to the key, but if
you do, the printer may have to be turned on. If you do not have the key installed correctly, ZEMAX will issue an
error message and not allow the program to run.
Chapter 1: INTRODUCTION 32
Running ZEMAX
The ZEMAX installation program will create a new program group. To run ZEMAX, double click on the ZEMAX
icon within this program group.
Policy on the key
ZEMAX is multiple-use protected by a device called a key. The key must be attached to the computer on which
ZEMAX is running. The key prevents more than one copy of ZEMAX from running at one time. The registered
user of the ZEMAX software is allowed to install the ZEMAX software on more than one computer, as long as
there is no possibility that more than one copy of ZEMAX will be running at one time. For example, the user is
allowed to install the ZEMAX software on a computer at work and another computer at home, as long as the two
installations of ZEMAX are never used at the same time. The key must be physically moved from one computer
to another, so that only one copy of ZEMAX can run at one time.
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. Defective keys, or keys that become inoperable, will be replaced
at no charge if the key has a current support contract. Defective keys must be returned before a replacement key
will be provided.
!If the key is lost or stolen, it will not be replaced without payment of the full purchase price.
Definition of support
The purchase of a new license to use ZEMAX includes a period of one year of support. Additional years of
support may be purchased at the time the new license is purchased or at a later date. The support period is
associated with a specific ZEMAX key. To "have support" for a given ZEMAX key means the support period for
that key has not expired. Support consists of two benefits: technical support and program updates.
Technical support is defined as ZEMAX Development Corporation responding to any question that requires
an engineer to resolve. This includes answering telephone calls, e-mail, faxes, or letters regarding how to use
ZEMAX, understanding ZEMAX features, problems with your key, program installation, or reporting suspected
bugs.
Program updates include new features as they are developed, along with any bug fixes recently incorporated
in the program. Updates also include new electronic documentation. Program updates are available for download
from the ZEMAX Development Corporation web site, www.zemax.com, for all users who have support.
Getting technical support
If you have any questions about installing or using ZEMAX, please try the following suggestions to find the
information you require:
1) Look in the Table of Contents to see if there is a chapter or section on the subject.
2) Check the index (at the back of this document) to see if it is referenced.
3) Look for a sample file of the type of lens you are trying to set up, if appropriate.
If you still cannot find the information you require, you may need to call, FAX, e-mail, or write for technical
support. The phone numbers and address are on the title page of this manual. If you telephone, try to be in front
of your computer when you call. Note that technical support is available only if you have support for the ZEMAX
key you are using, as described in the previous section.
Policy on bug fixes
All non-trivial computer programs have bugs. Every effort is made to find and fix all bugs before a new version
is released. However, the program is sufficiently complex such that even a talented team of pre-release program
testers will not find every bug. ZEMAX Development Corporation therefore may provide periodic bug fix releases.
If you find an apparent bug, please report it to us. Try to isolate the exact actions which cause or lead up to
the bug. Try to see if the error is unique to the lens file you are working with. Bugs are usually easier to find if they
also appear on the example files provided with the program.
33 Chapter 1: INTRODUCTION
If you find a bug which causes significant degradation of program performance while you have support, the
bug fix will be provided free of charge. ZEMAX Development Corporation reserves the right to determine what
bugs constitute significant degradation. If you do not have support, you may be required to renew your support
before receiving the bug fix; in this case you will receive the latest program version.
Bug fixes may not be provided if the problem is traced to incompatible, non-standard, or insufficient hardware,
or if you are using an outdated version of the operating system.
Chapter 1: INTRODUCTION 34
Chapter 2 USER INTERFACE
Introduction
This chapter describes the conventions used by the ZEMAX user interface, and describes some keyboard
shortcuts for common window operations. ZEMAX is easy to use once you learn the conventions used throughout
the program. For step by step sample sessions using ZEMAX, see the tutorial (choose Help, Tutorial from the
main ZEMAX menu).
Types of windows
ZEMAX has different types of windows, each of which serves a different purpose. The types of windows are:
The main window: This window has a large blank area, with a title bar, menu bar, and toolbar at the top. The
commands available on this menu bar apply in general to the current optical system as a whole.
Editor windows: There are six different editors: the Lens Data Editor, the Merit Function Editor, the Multi-
Configuration Editor, the Tolerance Data editor, and in ZEMAX-EE only, the Extra Data Editor and the Non-
Sequential Components Editor.
Graphic windows: These windows are used to display graphic data such as layouts, ray fans, and MTF plots.
Text windows: Text windows are used to display text data such as prescription data, aberration coefficients,
and numerical data.
Dialogs. Dialogs are pop-up windows which cannot be resized. Dialogs are used to change options or data
such as field angles, wavelengths, apertures, and surface types. They are also used extensively to change
options on graphic and text windows, such as for changing the number of rays on a layout plot.
All windows can be moved or resized (except dialogs) using the standard mouse or keyboard commands. If
you are not familiar with these procedures, see any good book on using Windows or the Windows documentation.
Main window operations
The main window bar has several menu headings. Most menu headings correspond to a chapter of the same
name later in this manual. See the specific chapter for detailed instructions on using the features available from
each menu option. These are the menu bar headings:
File: Used to open, close, save, and rename (save as) lens files.
Editors: Used to invoke (make appear) any of the editor windows.
System: Used to define properties of the optical system as a whole.
Analysis: Analysis groups together features which do not change the lens data, but compute numerical or
graphical results from the lens data. These features include layouts, ray fans, spot diagrams, diffraction
calculations, and more.
Tools: Tools are features which can change the lens data or perform advanced computations on the system
as a whole. These include optimization, tolerancing, test plate fitting, and more.
Reports: Reports are used to document a lens design. These features include system data summaries, surface
data summaries, and report graphics.
Macros: Used to edit and run ZPL macros.
Extensions: Provides access to ZEMAX Extensions, which are compiled features added to ZEMAX.
Window: Selects from the list of currently open windows which window to move to the front of the display.
Help: Provides access to the program documentation.
Most of the commonly used menu options have keyboard equivalents which may be faster to use. For example,
typing Ctrl-Q will quit ZEMAX. The keyboard shortcuts are listed along side the menu options.
A handy shortcut key for switching between windows within the main window is Control-Tab. This will advance
control to the next window in the list of windows maintained by ZEMAX.
Action Result
Ctrl + letter Shortcut for many ZEMAX tools and functions. For example, Ctrl-L invokes the 2D
layout plot. All the keyboard shortcuts are listed alongside the menu items.
F1..F10 Function keys are also used as shortcuts for many functions. All the keyboard
shortcuts are listed alongside the menu items.
Backspace When an editor window has the input focus, the highlighted cell can be edited using
the backspace key. Once the backspace key is pressed, the mouse and left-right
cursors can be used for editing.
Left double click If the mouse is positioned over any graphic or text window, double clicking will
cause the window contents to be recalculated and redrawn. This is the same as
selecting Update. For editor windows, invokes the solves dialog box.
Right click If the mouse is positioned over any graphic or text window, right clicking will invoke
the settings box for that window. This is the same as selecting Settings. For editor
windows, invokes the solves dialog box.
Tab Moves to the next cell in the editor windows, or the next field in the dialog boxes.
Shift + Tab Moves to the previous cell in the editor windows, or the previous field in the dialog
boxes.
Home/End On spreadsheet editors, moves to the top left/bottom left of the current editor.
On text windows, moves to the top/bottom of the window.
On graphic windows, Zoom in/out.
Ctrl + Home/End On spreadsheet editors, moves to the top right/bottom right of the current editor.
On graphic windows, Last Zoom/Unzoom.
Cursor Key (Left, Right, Up, On spreadsheet editors, moves one cell at a time.
Down) On 3D graphic windows, rotates the view around X and Y.
Ctrl + Cursor Key (Left, On spreadsheet editors, moves one screen at a time.
Right, Up, Down) On graphic windows, Pan left, right, up, down.
Page Up/Down On spreadsheet editors, moves up or down one screen at a time.
On 3D graphic windows, rotates the view around Z.
Ctrl + Page Up/Down On spreadsheet editors, moves to top or bottom of column.
WINDOWS SHORTCUTS
Action Result
Alt + Tab Toggles between all currently running applications. Extremely useful for quickly moving
between ZEMAX and other running applications.
Ctrl + Esc Invokes the Windows task list. The task list allows selection of another running
application.
Alt Selects the top menu bar of the current application.
Alt + letter Selects the menu option with that letter. For example, Alt + F selects the File menu.
Tab Moves to the next option or field.
Shift + Tab Moves to the previous option or field.
Space bar Toggles selected checkboxes on or off.
Extension Description
AGF ASCII Glass Format. These are ASCII files which contain the data for the glass catalogs. An
ASCII format is used so that additional data may be incorporated in future releases of ZEMAX.
ANN Annotation files. These binary files store user defined annotations for ZEMAX graphics.
BGF Binary Glass Format. To accelerate the loading of AGF files, ZEMAX converts AGF files to BGF,
which are the version specific binary images of the glass catalogs.
C C language source code files.
CFG Configuration file. ZEMAX.CFG is the main configuration file which describes the user-selected
options on the environment dialog box. There are numerous other files that may be present
which end in CFG, such as RAY.CFG, which contains the user-defined defaults for the ray fan
plot control screen.
DLL Dynamic Link Library files. These files are externally compiled programs linked into ZEMAX at
run time. Typically, DLLs are used to implement user-defined surfaces.
Introduction
This chapter describes conventions and defines terminology used throughout this manual. Most of the
conventions and terms ZEMAX uses are common in the optics industry, however there may be some important
differences.
Active configuration
The active configuration is the configuration currently being displayed in the lens data editor. For details see
the Chapter "Multi-Configurations".
Angular magnification
The ratio of the paraxial image space chief ray angle to the paraxial object space chief ray angle. The angles
are measured with respect to the paraxial entrance and exit pupil locations.
Apodization
Apodization refers to the uniformity of illumination in the entrance pupil of the system. By default, the pupil is
always illuminated uniformly. However, there are times when the pupil should have a non-uniform illumination.
For this purpose, ZEMAX supports pupil apodization, which is a variation of amplitude over the pupil.
Three types of pupil apodization are supported: uniform, Gaussian, and tangential. For each type (except
uniform), an apodization factor determines the rate of variation of amplitude in the pupil. See the discussion on
apodization types and factors in the chapter "System Menu".
ZEMAX also supports user defined apodizations, which may be placed on any surface. Surface apodizations
behave differently than pupil apodizations, because surfaces need not be located at a pupil. For more information
on surface apodizations, see User Defined on page 275.
Back focal length
ZEMAX defines the back focal length as the distance along the Z axis from the last surface made of glass to
the paraxial image plane for the object at infinite conjugates. If no surfaces are made of glass, the back focal
length is the distance from surface 1 to the paraxial image plane for the object at infinite conjugates.
Cardinal planes
The term cardinal planes (sometimes called cardinal points) refers to those special conjugate positions where
the object and image surfaces have a specific magnification. The cardinal planes include the principal planes,
where the lateral magnification is +1, the anti-principal planes, where the lateral magnification is -1, the nodal
planes, where the angular magnification is +1, the anti-nodal planes, where the angular magnification is -1, and
the focal planes, where the magnification is 0 for the image space focal plane and infinite for the object space
focal plane.
Except for the focal planes, the cardinal planes are conjugates with each other, that is, the image space
principal plane is conjugate with the object space principal plane, etc. If the lens has the same index in both object
space and image space, the nodal planes are identical to the principal planes.
ZEMAX lists the distance from the image surface to the various image space planes, and lists the distance
from the first surface to the various object space planes.
Chief ray
If there is no vignetting, and there are no aberrations, the chief ray is defined to be the ray that travels from a
specific field point, through the center of the entrance pupil, and on to the image plane. Note that without vignetting
or aberrations, any ray passing through the center of the entrance pupil will also pass through the center of the
stop and the exit pupil.
When vignetting factors are used, the chief ray is then considered to be the ray that passes through the center
of the vignetted pupil, which means the chief ray may not necessarily pass through the center of the stop.
Ei = Zi + 1 Zi + Ti
where Z i is the sag of the surface at the +y semi-diameter of the surface, Z i + 1 is the sag of the next surface
at the +y semi-diameter of the next surface, and T i is the axial thickness of the surface. Note that the edge
thicknesses are computed accounting for the sag at the respective semi-diameter of each surface, which in
general are different.
Note also that edge thickness is normally computed for the +y radial aperture, which may be inadequate if the
surface is not rotationally symmetric, or if surface apertures have been placed upon either of the surfaces.
The exception to this rule is when computing edge thickness solves. Because the edge thickness solve can
change the center thickness, the edge thickness solve can change where rays strike the following surface, which
in turn means the semi-diameter of the next surface may change. If the semi-diameter of the next surface is used
in the edge thickness computation, an "infinite loop" or circular definition may occur.
l
tan x = ---
n
m
tan y = ----
n
2 2 2
l +m +n = 1
2 2 2 2
H x + H y 1, P x + P y 1 .
The advantage of using normalized coordinates is that certain rays always have the same coordinates,
independent of the size or location of either the object or the entrance pupil. For example, the marginal ray is the
ray which travels from the center of the object to the top of the entrance pupil, or (Hx = 0, Hy = 0, Px = 0, Py = 1).
The chief ray travels from the top of the field to the center of the pupil, or (0,1,0,0). Note that "top of the field" in
n = n'' .
Many definitions in optics are based upon this assumption of linearity. Aberrations are deviations from this
linearity, and so the paraxial properties of optical systems are often considered the properties the system has in
the absence of aberrations. Paraxial rays are traced using formulas which assume the optical surface power is
based only upon the vertex radius of curvature, ignoring local linear tilts and higher order curvature of the surface.
Paraxial data is computed on a plane tangent to the surface vertex, assuming the vertex radius of curvature
is an acceptable approximation to the surface power over the entire aperture of the surface. Certain unusual
surface types do not have a paraxial analog, so the real ray tracing calculations are made at these surfaces, even
for a paraxial ray.
ZEMAX computes many paraxial entities, such as focal length, F/#, focal position, entrance pupil diameter,
and others. These values should be used with caution when the optical system has components which violate
the assumption that the vertex curvature is an acceptable approximation to the surface power over the entire
aperture of the surface.
For many analysis features, paraxial data is required, typically as a reference against which real rays are
measured. To ensure these features work properly, even for optical systems that do not meet the paraxial
assumption above, ZEMAX traces "parabasal" rays which are real (real means using Snell's law explicitly) that
make small angles with respect to a reference ray, which is usually an axis or chief ray. The parabasal rays are
1
W = ------------------ ,
2n tan
where is the paraxial marginal ray angle in image space and n is the index of refraction of image space. The
paraxial marginal ray is traced at the specified conjugates. For non-axial systems, this parameter is referenced
to the axis ray and is averaged over the pupil. The paraxial working F/# is the effective F/# ignoring aberrations.
See also the definition for working F/#.
Primary wavelength
The primary wavelength in micrometers is displayed. This value is used for calculating most other paraxial or
system values, such as pupil positions.
Radii
The radius of curvature of each surface is measured in lens units. The convention is that a radius is positive
if the center of curvature is to the right (a positive distance along the local z axis) from the surface vertex, and
negative if the center of curvature is to the left (a negative distance along the local z axis) from the surface vertex.
This is true independent of the number of mirrors in the system.
Real propagation
A real propagation means the rays are propagated in the direction energy would actually flow. See also Virtual
propagation on page 55 and Thicknesses on page 53.
Sagittal and Tangential
The term "tangential" refers to data computed in the tangential plane, which is the plane defined by a line and
one point: the line is the axis of symmetry, and the point is the field point in object space. The sagittal plane is the
plane orthogonal to the tangential plane, which also intersects the axis of symmetry at the entrance pupil position.
For typical rotationally symmetric systems with field points lying along the Y axis, the tangential plane is the
YZ plane and the sagittal plane is the plane orthogonal to the YZ plane which intersects the center of the entrance
pupil.
The problem with this definition is that it is not readily extended to non-rotationally symmetric systems. For this
reason, ZEMAX instead defines the tangential plane to be the YZ plane regardless of where the field point is, and
P y = VDY + P y ( 1 VCY ) .
The scaled and shifted coordinates are then rotated by the vignetting angle:
P y = P x sin + P y cos ,
where is the vignetting angle VAN. The VDX term can shift the apparent pupil left and right, while VCX makes
the pupil larger or smaller in the x direction. Similar results hold for the VDY and VCY values. Note that if the
vignetting factors are all zero, the pupil coordinates are left unmodified. Vignetting factors provide a convenient
way of designing optics which employ vignetting. However, there are restrictions to using vignetting factors that
must be understood.
Some ZEMAX features are capable of tracing rays from arbitrary field positions where no vignetting factors
have been assigned. These features may not provide completely accurate results for data computed at field
positions other than the defined fields. Some features will remove the vignetting factors for these computations
by placing a clear aperture on each surface that vignettes the rays an equivalent amount. Features that
automatically remove the vignetting factors are described in the Analysis chapter.
Some features in ZEMAX do not automatically remove vignetting factors for intermediate field positions, such
as ray operands in the merit function (operands like REAX that can launch a single ray, for example) or ZPL
macros. If the vignetting factors are not removed, ZEMAX will attempt to interpolate the vignetting factors. For
rotationally symmetric systems, or systems with field points entirely along the y axis, ZEMAX interpolates between
adjacent field points to estimate the vignetting factors to use at intermediate field points. For more general optical
systems with X field values, ZEMAX uses the closest defined field point for determining the vignetting factors for
an arbitrary field point.
Once a vignetting factor is defined, it is up to the designer to ensure that rays beyond the apparent pupil are
in fact vignetted! If the vignetting factor is used to shrink the size of the lenses, then the lenses should be made
no larger than is required to pass the rays which are at the edge of the apparent pupil. If rays from beyond the
vignetted aperture are allowed to pass in the real optical system, then the lens performance will not correlate with
the computer model.
Identical or nearly identical field coordinates may not be defined with different vignetting factors. Field
coordinates must be different by roughly 1E-06 times the maximum field coordinate if two neighboring fields use
different vignetting factors. This is required because ZEMAX must determine vignetting factors for any field
coordinates, not just those at defined field positions; and identical field coordinates with different vignetting factors
have no physical interpretation. The proper way to set up this sort of system is to use multiple configurations, and
change the vignetting factors via the multi-configuration editor.
The vignetting factors work with and without ray aiming turned on. If ray aiming is off, then the paraxial entrance
pupil is remapped according to the equations given earlier. If ray aiming is turned on, then the remapping is done
at the stop surface.
One possible application of vignetting factors is to account for pupil aberration without using the ray aiming
feature. This is an advanced trick which can be used to speed up ray tracing in wide angle systems.
!Wavelength data are always measured in micrometers referenced to "air" at the system
temperature and pressure.
Working F/#
Working F/# is defined as
1
W = ----------------- ,
2n sin
where is the real marginal ray angle in image space and n is the index of refraction of image space. The
marginal ray is traced at the specified conjugates. Working F/# ignores surface apertures but considers vignetting
factors.
For off axis field points or non-axial systems, working F/# is determined by the average of the square of the
numerical aperture between the axis ray and four marginal rays, at the top, bottom, left, and right side of the
vignetted pupil. The average of the square of the numerical aperture of the four rays is converted back to
equivalent F/#.
Working F/# is generally much more useful than image space F/# because it is based upon real ray data at
the actual conjugates of the lens. See also Paraxial working F/# on page 51.
If the marginal rays cannot be traced (due to ray errors) then a smaller pupil is temporarily used to estimate
the working F/#. In this case, ZEMAX scales the data to estimate the working F/# at the full pupil size, even though
rays are not be traceable at the full aperture.
If the marginal rays are nearly parallel to the chief ray, the resulting F/# may become so large as to be
inaccurate. ZEMAX will automatically "cap" the F/# at 10,000 if the calculated F/# becomes larger than 10,000.
This result simply means the F/# cannot be calculated accurately using rays. Such a large F/# means the output
beam is nearly collimated, and many assumptions ZEMAX makes are not valid in this case. The two solutions
are to bring the nearly collimated beam to a focus using a paraxial lens, or to use the exit pupil size and position
to estimate the F/#. For more information, see Method To Compute F/# on page 94.
For a generalized definition of F/# useful for evaluating image brightness, see Effective F/# on page 140.
New
Purpose:
Clears the current lens.
Discussion:
This option restores ZEMAX back to the start-up condition. If the current lens has not been saved, ZEMAX will
prompt to save the lens before it is destroyed.
Open
Purpose:
Opens an existing ZEMAX lens file.
Discussion:
This option opens a previously saved lens file.
Save
Purpose:
Saves lens file.
Discussion:
This option saves the current lens file. To save the lens under a different name or directory, use Save As.
Save As
Purpose:
Saves lens file, optionally with another name.
Discussion:
This option saves the current lens file with the option to change the current file name or directory.
Use Session Files
Purpose:
Toggles the environment setting between using and not using session files. If the menu option is checked, then
session files are used.
Discussion:
For a complete discussion of session files, see Editors on page 61.
Program Mode
Purpose:
Selects the user interface and program mode.
Discussion:
There are two distinct modes to the ZEMAX User Interface:
Sequential or Mixed Sequential/Non-Sequential Design ("Sequential mode")
Non-Sequential Design ("Non-Sequential mode" or "NSC mode")
In Sequential mode, all program features are available, including the ability to place a non-sequential group
upon any surface. In Sequential mode, ZEMAX will trace rays which leave the object surface through all defined
surfaces and non-sequential groups. This is the preferred mode for designing imaging systems, or any system
requiring optimization, tolerancing, and detailed image analysis.
In Non-Sequential mode, multiple changes are made to the user interface and to the lens data to simplify the
analysis of these systems:
Item Description
Address Line 1 The first line of text to appear in the address box.
Address Line 2 The second line of text to appear in the address box.
Address Line 3 The third line of text to appear in the address box.
Address Line 4 The fourth line of text to appear in the address box, unless file name or zoom position
is chosen instead.
Address Line 5 The fifth line of text to appear in the address box, unless file name or zoom position is
chosen instead.
Show Line 4 As Choose either the entered text, the lens file name, or the zoom position.
Directories
Purpose:
These settings determine where ZEMAX will place or search for certain types of files. The "?" button may be
used to select the desired path.
Settings:
Item Description
ZEMAX Path The directory where ZEMAX will look for files used by the program, such as glass
catalogs and stock lens catalogs.
Output Path The directory where text and graphics output will be sent.
Lens Path The directory for lens files.
ZPL Path The directory for ZPL Macros. Macros may also be placed in subdirectories within the
specified macro.
Undo Path The directory for storing lens files for the undo/redo feature.
Stock Path The directory for the stock lens files.
Objects Path The directory for Non-Sequential Component object files and DLLs.
Glass Path The directory for glass catalog files.
Coating Path The directory for coating definition files.
Graphics
Purpose:
These settings determine the size, color, and behavior of most ZEMAX graphics windows.
Settings:
Item Description
B/W Display By default, ZEMAX draws color graphics to the screen. If this checkbox is selected, then
all graphics on screen will be black and white.
B/W Plots By default, ZEMAX prints color graphics to printers. If this checkbox is selected, then all
printed graphics will be black and white. Only printers which support color will print in
color, otherwise, gray scales will be used to simulate color.
Show Options First If this checkbox is selected, then the settings box will appear before any analysis graphic
or text is computed and displayed.
Win X,Y Size The default x and y size for graphics and text windows in pixels. This can be adjusted
to suit the monitor size and resolution.
Background The background color on graphics windows can be selected from this drop down list.
Miscellaneous
Purpose:
Miscellaneous settings.
Item Description
Text Window Font The font size in points to be used for text displayed in an analysis window, such as a ray
fan text listing. To change the size of text displayed in the editors see "Editors" below.
Date/Time Select either None for no date or time, Date for the date only, and Date/Time for both
the date and the time to be printed on plots and graphics.
Check For Updates Select how often ZEMAX should check to see if a new version of ZEMAX is available.
Updates may be downloaded from www.zemax.com/downloads. An active Internet
connection is required for ZEMAX to be able to check for updates. The "Check For
Updates" option listed under the Help menu can be used to check for updates anytime.
Remote Desktop The ZEMAX key driver by default does not allow ZEMAX to run under Windows Remote
Desktop feature. To allow ZEMAX to run under Remote Desktop, select this option to
"On", then exit and restart ZEMAX. This feature requires version 7.0.0 or later of the
Sentinel driver, available from the ZEMAX website www.zemax.com. When Remote
Desktop is set to "On" only one instance of ZEMAX at a time can run.
The reason this is not the default setting is that if ZEMAX terminates abnormally
(crashes) the remote desktop enabled driver does not allow ZEMAX to run again for
several minutes, until the driver resets itself. Also, the remote driver only allows one
application at a time to connect to the key, preventing multiple versions of ZEMAX from
running.
To modify the setting without running ZEMAX, edit the ASCII text file ZEMAX.CFG found
in the same directory as the ZEMAX.exe executable file. Look for the line in the file that
starts with RDSK. The syntax is RDSK 0 for Remote Desktop off and RDSK 1 for Remote
Desktop on.
Editors
Purpose:
These settings determine characteristics of the spreadsheet editors. If the editor cell sizes are too narrow to
display all the data in each cell, an asterisk "*" symbol will be printed instead of the truncated data.
Settings:
Item Description
Decimals Decimals will alter the number of decimal digits displayed on the lens data editor.
Selecting "Compact" will vary the number of decimals displayed to minimize the space
required to display numbers.
Exponential Above/ ZEMAX displays numeric data in either fixed decimal or exponential (scientific) notation.
Below If the absolute value of the number is either a) greater than or equal to the "Exponential
Above" value, or b) not zero but less than or equal to the "Exponential Below" value,
then the number is displayed in exponential notation. Otherwise fixed notation is used.
Font Size The font size in points to be used for text. The default is an 8 point text.
Auto Update Controls how and when ZEMAX performs updates on the editor data. The "None" setting
means pupil positions, solves, and other lens data editor data are not updated until
"Update" is selected from the "System" menu. The "Update" setting will cause an update
to be performed whenever new data is typed in to the lens, extra, or multi-configuration
editors. "Update All" causes all windows to be updated whenever new data is typed in
the editors. See the "System menu" chapter for details on Update and Update All.
Undo The Undo feature has three selectable states: None, Memory 1 Step, and Disk Multi
Step. See the Chapter "Editors Menu" for details on the Undo feature.
LDE Cell Size The width in characters of a single edit cell in the Lens Data Editor. Larger cells will mean
fewer columns can be displayed, but the data is generally more readable.
Printing
Purpose:
These settings determine characteristics of the printed output.
Settings:
Item Description
Skip Print Dialog If this box is checked, then ZEMAX will not present the "Print" dialog box
which allows selection of printer type and other options when "Print" is
selected from any window. If the box is unchecked, then the default printer
settings will be used as specified by the Windows Print Manager.
Rotate Plots If selected, this will cause all printed graphics to be rotated by 90 degrees.
This allows a landscape type orientation while printing in portrait mode. See
the discussion below.
Plot Width See the discussion below.
Pen Width The width of the pen in pixels. Values of 0 result in fine lines, larger values
yield thicker lines.
Print Font Size The font size in points to be used for text when a text window is printed.
Left Graphic Margin % The left margin of the plot as a percentage of the maximum possible plot
width. Only affects graphics printing.
Right Graphic Margin % The right margin of the plot as a percentage of the maximum possible plot
width. Only affects graphics printing.
Top Graphic Margin % The top margin of the plot as a percentage of the maximum possible plot
height. Only affects graphics printing.
Bottom Graphic Margin % The bottom margin of the plot as a percentage of the maximum possible plot
height. Only affects graphics printing.
Discussion:
The "Plot Width" control is different from most other settings in ZEMAX, because it is actually used to tell
ZEMAX how wide the plots are rather than how wide they should be. Every printer will print ZEMAX graphics at
a different size. To get accurate scaling on layout plots and scale bars, ZEMAX must be informed as to how big
the plots are when printed. With this information, ZEMAX can print exactly at 1:1, or 2:1, and so on.
Pressing the "Plot Width" button will invoke the Print dialog box. This is the same box that is displayed when
printing graphics from ZEMAX. This box allows selection of the printer driver, and usually allows selection of
printer specific items such as resolution, orientation, and perhaps other options which vary from printer to printer.
Using the Print dialog box, select the driver and mode you normally like to print in. Note ZEMAX prints graphics
in "landscape mode" by rotating the plot 90 degrees and then using the portrait setting. This is done because
virtually all printers default to portrait mode. It is therefore better to stay in portrait mode all the time, and use the
rotate plots feature. ZEMAX will use these settings to determine how wide the actual plot will be when printed,
and place this width, in inches, in the "plot width" edit box. Note that the plot width is automatically recalculated
for the default printer settings whenever the print orientation or margins are adjusted, or the "Reset" button is
pressed.
Once the actual plot width has been computed, the scaling on layout plots will be very accurate. However, it
will only be accurate if the same printer driver and mode settings are actually used for printing. If a different printer
driver or mode is selected at print time, then the plot width scaling will not automatically be recalculated. To get
correct scaling when printing to a new printer or using a different printer mode, the plot width environment variable
must be reset using the procedure described above.
Lastly, there are times when it may be required to override the default settings for the plot width. For example,
if the final printed output is to be reduced to a certain size for inclusion in another document, then the known final
size can be used to get exact scaling at the final image size. To accomplish this, enter the known final image width
in inches in the plot width edit box, and press Save. All subsequent printing will be done assuming the final image
size specified.
Note that the precise scaling controls specified only affect the Layout and Element Drawing features, since all
other plots are scale independent.
Colors
This dialog box is used to define the colors used for drawing graphics and for the background color of rows in
the various spreadsheet editors. Each color is used by the corresponding wavelength or field position when
graphing ray fan data, spot diagrams, and other data. For example, typically wavelength or field number 1 uses
color 1, field or wavelength 2 uses color 2, and so on. The Red, Green, and Blue values define the color. Each
entry must be between 0 and 255. Colors are defined using the RGB values for 24 bit color (16 million colors),
but will only display up to the resolution provided by the graphics hardware present. The resulting colors are
shown to the right of each RGB value. When using the defined colors in the spreadsheet editors, ZEMAX
automatically blends the color with white to make the foreground text more readable. The Highlight Color is the
color ZEMAX uses to draw lens surfaces and NSC objects currently selected in the LDE and NSCE, respectively.
Buttons 1-16, Buttons 17-32, Buttons 33-48
Purpose:
These settings determine which functions are available from the button bar at the top of the ZEMAX main
screen. The buttons are only user-definable in sequential mode. In NSC mode, ZEMAX uses a fixed set of button
Lens Data
The Lens Data Editor is the primary spreadsheet where the majority of the lens data will be entered. This data
includes the radius of curvature, thickness, and glass for each surface in the system. Single lenses are defined
by two surfaces (a front and a back), and the object and image also each require one surface. This fundamental
data can be entered directly on the spreadsheet. When the Lens Data Editor is displayed, data can be entered
on the spreadsheet by typing in the required values at the highlighted bar. Each column is labeled by the data
type, and each row represents a single optical (or perhaps a dummy) surface. The cursor keys move the
highlighted bar to whichever column is desired. Moving the cursor continuously to the right or left causes the
display to scroll, which provides access to the other columns of data such as semi-diameters, conic constants,
and "parameter" terms whose values depend upon the surface type. The display will scroll left to right or right to
left. The page up and page down keys will move the bar to the top and bottom of the display. The display will also
scroll up and down if required, when the number of lens surfaces is sufficiently large.
Inserting and deleting surfaces
Note that initially (unless a lens has been loaded) three surfaces are shown; the object, stop, and image
surfaces. The object and image surfaces are permanent, and cannot be deleted. However, other surfaces can
be inserted and deleted by using the Insert and Delete keys. No surface can be inserted in front of the object, or
behind the image. In this context "in front of" means a smaller surface number, and "behind" means a larger
surface number, in the sense that the light reaches the various surfaces sequentially. ZEMAX numbers surfaces
from the object, being surface zero, upwards to the last surface, being the image surface.
To enter values in the spreadsheet, move the cursor to the correct cell, and start typing. To edit values currently
displayed, press the backspace key. Once you are editing the cell contents, you can use the left/right cursor keys
and the home and end keys to navigate around in the text. When the data has been changed, press any cursor
key, or click on any other cell, or press enter.
There are also a few shortcuts available. To add a value to the current value, type a plus sign before the
number. For example, if the displayed number is 10, typing "+5" and pressing enter will change it to 15. The
symbols "*" and "/" also work. To subtract a value, use the minus sign followed by a space. For example entering
"- 5" would change a 17 to a 12. Note the space between the "-" and the "5". If no space was entered, the program
assumes you are entering a new value which happens to be negative. Entering "*-1" will change the sign of the
number.
The surface number display
The left most column of the Lens Data Editor displays the surface number and type for each surface. The
surface number is zero for the object surface, 1 for the first surface, and so on to the image surface. Three
"special" surfaces, the object, stop, and image, display "OBJ", "STO", and "IMA", respectively, instead of the
surface number. The object surface is always surface zero, and the image surface is always the last surface,
however the stop surface may be any surface number in between.
Some additional information is displayed adjacent to the surface number. When an aperture is defined on a
surface, ZEMAX will display an asterisk "*" symbol next to the surface number. If surface tilt/decenter data is
defined on a surface, the "+" symbol will be displayed. If both aperture and tilt/decenter data are defined the "#"
symbol is displayed.
To define the surface type and other properties, see The Surface Properties dialog box on page 66. To define
the stop surface, see Make Surface Stop on page 67. For information on defining surface aperture data, see
Aperture type and other aperture controls on page 68. For information on defining tilt/decenter data, see
Surface tilt/decenter tab on page 73.
Cutting, copying, and pasting surface data
See the discussion on the "Edit" menu below.
The end of a polygon is indicated by either a BRK entity or a LIN entity with both X and Y being set to zero.
For this reason, a polygon may not be defined which has a vertex at (0,0). If a vertex must be defined at (0,0), a
work around is to instead use some very small value for one of the points, such as (1e-6, 0). As long as at least
one of the coordinates is not zero, the point will be considered a vertex rather than indicating the end of a polygon.
The last listed vertex in the polygon is assumed to then connect to the first point.
Note that the UDA entities REC and CIR define "stand alone" apertures not connected to any other aperture
entities, while LIN and ARC define pieces of a polygon whose definition ends with a BRK. When using LIN and
ARC entities, the first entity defined should be an LIN, which defines the first point of the polygon. Multiple
apertures may be defined separated by BRK entities.
The maximum number of line segments defined within the UDA file is limited only by available memory.
However, ray tracing and rendering of surfaces and objects is slower when using very complex UDA data files.
See the following sections for UDA examples.
UDA Examples
To define a square 20 lens units on the side, the UDA file is:
LIN -10, -10
LIN -10, 10
LIN 10, 10
LIN 10, -10
BRK
Note the BRK indicates the end of the polygon definition, and
the last point is assumed to join back to the first point, thus defining
the last side of the square. This same aperture may be defined with
a single REC command:
REC 0 0 10 10 0
Note the REC command does not require a BRK command to
define the end of the aperture.
Multiple polygons may be defined by separating them with a
single BRK. For example, to define an aperture consisting of two
slits, each 5 lens units wide, with an inner separation of 10 lens
units, the UDA file is:
LIN -10, -10
LIN -10, 10
LIN -5, 10
LIN -5, -10
BRK
LIN 10, -10
LIN 10, 10
LIN 5, 10
LIN 5, -10
BRK
Or the equivalent
REC -7.5 0 2.5 10 0
REC +7.5 0 2.5 10 0
Update
This option only updates data in the Lens Data and Extra Data editors. Update is used to recompute first-order
properties, pupil positions, semi-diameters, index data, and solves. Only data presented in the Lens Data and
Extra Data editors are affected. See "Update All" in this chapter for more information.
Update All
This option updates all windows to reflect the most recent lens data. ZEMAX does not automatically change
all data presented in graphic and text windows to reflect the latest lens data. The reason is that if ZEMAX
constantly recalculated MTF, ray fan, spot diagram, and other data while new data is being typed in the lens data
editor, then program response would be very slow. Instead, make all the required changes to the lens, and then
select Update All to refresh and recompute all the data windows.
Individual graphic and text windows (not editors) can also be updated by double clicking anywhere within the
window.
General
This option invokes the General System Data dialog box, which is used to define commonly used data that
pertains to the lens as a whole system, rather than data associated with a single surface. The general data is
divided into groups as follows.
Aperture
The aperture group consists of the following settings.
Aperture Type
The system aperture defines the size of the beam through the system on axis. To set the system aperture, you
need to define the system aperture type and the system aperture value. Use the cursor keys to select from the
drop down list the desired system aperture type. The system aperture type can be any one of the following:
Entrance Pupil Diameter: The diameter of the pupil in lens units as seen from object space
Image Space F/#: The infinite conjugate paraxial F/# in image space
Object Space Numerical Aperture: The numerical aperture ( n sin m ) of the marginal ray in object space
Float By Stop Size: Defined by the semi-diameter of the stop surface
Paraxial Working F/#: The defined conjugate paraxial F/# in image space.
Object Cone Angle: The half angle in degrees of the marginal ray in object space, which may exceed 90
degrees. Object cone angle may not be used if the entrance pupil is virtual, that is, if the distance from the object
to the entrance pupil is negative. When using object cone angle, the normal apodization of rays in the pupil is
uniform in angle space, rather than uniform on a plane. This change is required to support angles greater than
90 degrees. This ray distribution may be significantly different than other aperture type settings for large cone
angles.
These terms are further defined in the Chapter "Conventions and Definitions". If you select "Object Space NA"
or "Object Cone Angle" for a system aperture type, the object thickness must be less than infinity. Only one type
of system aperture may be defined; for example, once the Entrance Pupil Diameter is specified, all the other
aperture definitions are determined by the lens data prescription.
Aperture Value
The system aperture value meaning depends upon the system aperture type selected. For example, if
"Entrance Pupil Diameter" is selected as the system aperture type, the system aperture value is the entrance
pupil diameter in lens units. ZEMAX uses the system aperture type and system aperture value together to
determine such fundamental quantities as the entrance pupil size, and clear apertures for all components.
where G is the apodization factor and is the normalized pupil coordinate. If the apodization factor is zero,
then the pupil illumination is uniform. If the apodization factor is 1.0, then the beam amplitude has fallen to the 1
over e point at the edge of the entrance pupil (which means the intensity has fallen to the 1 over e squared point,
about 13% of the peak). The apodization factor can be any number greater than or equal to 0.0. Values larger
than about 4.0 are not recommended. This is because most computations will sample too few rays to produce
meaningful results if the beam amplitude falls too quickly at the edges of the pupil.
Cosine cubed apodization
Cosine cubed apodization is appropriate to simulate the intensity fall off characteristic of a point source
illuminating a flat plane (such as the entrance pupil, which is always a plane). For a point source, the intensity of
a ray illuminating a differential area on a plane is given by
3
I ( ) = ( cos ) ,
where is the angle between the z axis and the ray intersecting the entrance pupil, and the relative intensity
at the center of the pupil is 1.0. Converting to normalized pupil coordinates and taking the square root yields the
pupil coordinate amplitude apodization
1
A ( ) = --------------------------------------------
-,
2 34
( 1 + ( tan ) )
where tan is the tangent of the angle between the z axis and the marginal ray. ZEMAX uses the entrance
pupil position and size to compute tan . The apodization factor is not used by the cosine cubed apodization.
Note cosine cubed apodization is only useful for point sources or for field points close to the axis when compared
to the entrance pupil diameter.
User defined apodization
ZEMAX also supports user defined apodizations on any surface, rather than just the entrance pupil. User
defined surface apodizations are implemented using the user defined surface type described in the chapter
"Surface Types".
!Wavelength data are always measured in micrometers referenced to "air" at the current
ambient system air pressure.
If the system temperature and air pressure change; care should be taken to adjust the wavelength definitions
to match the new environment. See Wavelength data on page 55 and THERMAL ANALYSIS on page 491 for
more information.
xg xo R 11 R 12 R 13 x l
y g = y o + R 21 R 22 R 23 y l ,
zg zo R 31 R 32 R 33 z l
where the "g" subscript indicates global coordinate, "o" indicates an offset coordinate (the translation) and "l"
indicates local coordinate. The rotation matrix R and the offset vector can be computed for any surface using any
other surface as a global reference.
The rotation matrix yields valuable insight into the orientation of the surface coordinate system with respect to
the global reference surface. On the local surface, the unit vector which is oriented along the local x direction is
R 11 R 12 R 13
x l = R 21 , y l = R 22 , z l = R 23 .
R 31 R 32 R 33
Note that the global coordinate system orientation of the unit vectors oriented along the local coordinate axes
are the columns of the R matrix. The global vertex listing on the prescription report lists the R matrix components
and offset vector for each surface, all referenced to the global reference surface. If the surface is a coordinate
break, then the R matrix includes the effects of the coordinate translation and rotation. If the reference surface is
a coordinate break, the reference coordinate system is defined after the decentration and rotation of the local
coordinate system. If the surface for which R is computed precedes the reference surface, and it is a coordinate
break, the R matrix is for the system prior to the coordinate transformation. When in doubt, insert a dummy surface
that is not a coordinate break at the location of interest to check the global orientation.
The reference surface will be incremented or decremented automatically as surfaces above the reference
surface are inserted or deleted. Any surface may be chosen as the reference surface, unless the object is at
infinity, then 0 may not be the reference surface. The reference surface is also used to define the point of overlap
for multiple zoom positions on the 3D layout plot.
Method To Compute F/#
By default, ZEMAX computes the paraxial and working F/# of a system using ray tracing. For details, see
Paraxial working F/# on page 51 and Working F/# on page 55. For systems with very large F/#s, the ray tracing
method may be inaccurate, because the very small angles between the marginal and chief rays leads to round-
off error, and even small amounts of aberrations such as spherical aberration can significantly effect the
calculation of F/#. For these reasons, ZEMAX will "cap" the maximum F/# to a value of 10,000. It is strongly
recommended that rays be used to compute the F/# for all systems whose F/# is less than 10,000.
The preferred method of modeling systems with very large F/#s is to use a paraxial lens in the optical space
preceding the image surface with any convenient focal length selected to "convert" the nearly collimated beam
to a focusing beam with a more moderate F/#. This method avoids round-off error problems associated with nearly
collimated rays traveling great distances. The only disadvantage to this approach is that the effective magnifica-
tion of the paraxial lens must separately be accounted for. For example, if the true F/# of the system is 20,000, a
paraxial lens may be selected to convert the beam to a F/20 system. However, the diffraction results ZEMAX
computes based upon the F/#, such as the Point Spread Function width, need to be interpreted as being scaled
by the additional factor of 1000.
Optionally, the F/# can be computed using the exit pupil distance divided by the exit pupil diameter. This
method can be selected using this "Method To Compute F/#" switch. There are some important points to consider
when using this option. First, ZEMAX makes no attempt to scale the F/# with either pupil orientation or field angle.
Therefore, this option should only be used when the chief ray at all field position makes a small angle with respect
to the Z axis in image space. Second, the exit pupil diameter and position used are based upon the paraxial values
for these parameters (see Exit pupil diameter on page 47). In the presence of significant pupil aberration, the
paraxial values may not agree with the real, aberrated pupil sizes. The best way to avoid this possibility is to place
the stop at the end of the optical system, prior to the image surface, and use ray aiming (see Ray Aiming on
page 88) and float by stop size for the aperture type (see Aperture Type on page 85).
Non-Sequential
The controls on this tab define how rays trace within a NSC group.
Maximum Intersections Per Ray
This control defines how many times a single ray may intersect objects along any single path from the original
source parent ray to the final object intersection. When ray splitting is used, this parameter controls the maximum
number of generations of child rays split off from the parent ray.
!Identical or nearly identical field coordinates may not be defined with different vignetting
factors; see the Chapter Conventions and Definitions for details.
Introduction
This chapter provides detailed descriptions of each of the analysis features ZEMAX supports. Analysis in this
context means any graphical or text data computed from data defining the lens. This includes aberrations, MTF,
spot diagrams, and many other computations. Program features which modify the lens data or which manipulate
other data (such as glass catalog data) are described in the chapter Tools Menu.
Selecting a menu option will immediately perform the requested calculation. Once the graph or text window is
displayed, you may select the Settings menu option to modify the default settings for that window. Once you have
made the appropriate changes, click on OK and the program will recalculate and redisplay the data presented
in the window. If you prefer to change the settings before the graphic or text data is displayed, use the Show
Options First checkbox on the Graphics tab of the File, Preferences dialog box.
For a description of the OK, Cancel, Save, Load, Reset, and Help buttons present on most of the "Settings"
dialog windows, see the chapter "User Interface".
Each analysis window has an "Update" menu item. The update function forces ZEMAX to recompute and
redisplay the data presented in the window. This is useful if the lens data has changed and the graph now displays
obsolete data. Double clicking within the window has the same effect as selecting Update. Clicking with the right
mouse button is equivalent to clicking on "Settings". For more information, see USER INTERFACE on page 35.
Layout
2D Layout
Purpose:
Layout diagram. This is a YZ cross section through the lens.
Settings:
Item Description
First Surface The first surface to be drawn.
Last Surface The last surface to be drawn.
Wavelength Either any one or all wavelengths may be shown.
Field Either any one or all field positions may be shown.
Number of Rays The number of rays specifies the number of tangential rays to be drawn for each defined
field. The rays will be evenly distributed along the fan of the pupil, unless apodization
has been specified. This parameter may be set to zero.
Scale Factor If the scale factor is set to zero, then "Fill Frame" will be selected, which will scale the
range of surfaces drawn to fill the graphic page. If a numeric value is entered, then the
plot will be drawn in "real" scale, times the scale factor. For example, a scale factor of
1.0 will plot the lens actual size on the printer (not the screen). A factor of 0.5 will plot
the lens at half scale.
Y Stretch The relative exaggeration of the Y direction. This control is useful for drawing systems
with very large aspect ratios. Ignored if negative, zero, or unity.
Upper Pupil Limit The maximum pupil coordinate to draw rays to.
Lower Pupil Limit The minimum pupil coordinate to draw rays to.
Marginal and Chief Draws only the marginal and chief rays, overriding the other ray settings.
Only
Discussion:
This feature is not available if you use coordinate breaks, spider obscurations, obscuration decenters, X-
angles, holograms, or other attributes which spoil the rotational symmetry of the lens. Use the 3D layout instead.
If rays miss a surface, then the rays will not be drawn to the surface where the error occurred. If the ray is total
internal reflected, then the ray will be drawn up to but not past the surface where the error occurred. Ray failures
can be evaluated in detail by using Ray Trace on page 174.
3D Layout
Purpose:
Draws 3D layout plots of the lens system. The algorithm draws a wireframe style representation of the lens.
Settings:
Item Description
First Surface The first surface to be drawn.
Last Surface The last surface to be drawn.
Wavelength Either any one or all wavelengths may be shown.
Field Either any one or all field positions may be shown.
Number of Rays The number of rays specifies the number of rays to be drawn for each selected field and
wavelength. The rays will be evenly distributed along the fan of the pupil, or around the
perimeter if Ring is the selected Ray Pattern, or unless apodization has been specified.
This parameter may be set to zero. It is ignored if the Ray Pattern is set to List.
Ray Pattern Choose XY Fan, X Fan, Y Fan, Ring, List, Random, or Grid to indicate what the pattern
of rays to be traced should be. The List option indicates that the rays to be traced are
user defined and listed in a file, see the discussion below for information on the ray list
format. If List is selected the Number of Rays setting is ignored.
Scale Factor If the scale factor is set to zero, then "Fill Frame" will be selected, which will scale the
range of surfaces drawn to fill the graphic page. If a numeric value is entered, then the
plot will be drawn in "real" scale, times the scale factor. For example, a scale factor of
1.0 will plot the lens actual size on the printer (not the screen). A factor of 0.5 will plot
the lens at half scale.
Hide Lens Faces If checked, this option will suppress drawing of the lens faces, and only the lens edges
will be drawn. This is useful because some complicated systems look cluttered with the
faces drawn.
Hide Lens Edges If checked, this option will suppress drawing of the outer aperture of the lens. This is
useful for giving the 3D layout a 2D "cross section" appearance.
Hide X Bars If checked, this option will suppress drawing of the X portions of the lens faces. This
option is useful when "Hide Lens Edges" is checked and "Hide Lens Faces" is not
checked.
Discussion:
Pressing the left, right, up, down, Page Up, or Page Down keys will rotate the displayed image for a different
perspective.
The orientation indicator
To create the layout, ZEMAX projects the 3D coordinates of the rotated optical model onto the 2D plane of the
plot. Conceptually, the optical model is first rendered in an unrotated 3D space, with +z oriented to the right, +y
up, and +x away from the viewer into the page. The coordinates and orientations of all surfaces and objects are
defined by the Global Coordinate Reference Surface (see Global Coordinate Reference Surface on page 93).
This 3D model is then rotated by the Rotation About X, Y, and Z values specified in the settings (see also
Graphics on page 59 for information about the rotation order). The resulting 3D model is then projected onto a
2D plane by plotting the z coordinate along the horizontal direction and the y coordinate along the vertical
direction; the x coordinate is ignored.
To help visually define the orientation of the model, an orientation indicator is shown in the bottom left hand
corner of the drawing. This indicator consists of 3 lines extending along the directions of the +x, +y, and +z axes
of the global coordinate reference surface. These 3 lines rotate as the drawing is rotated. If the coordinates of the
3D orientation indicator lines lie in the plane of the drawing, or would extend out (toward the viewer), they are
drawn in black. If the orientation indicator lines would extend in (away from the viewer) then the lines are drawn
in grey.
Ray errors
If rays miss a surface, then the rays will not be drawn to the surface where the error occurred. If the ray is total
internal reflected, then the ray will be drawn up to but not past the surface where the error occurred. Ray failures
can be evaluated in detail by using Ray Trace on page 174. These comments only apply to rays from the
sequential object surface, and not to rays from NSC sources.
Item Description
Draw Section Select "Full" to draw each lens element completely. The 3/4, 1/2, and 1/4 options draw
just that much of the element, yielding a cut away perspective of the lens interior.
Radial Segments The number of radial segments used to approximate the lens shapes. Larger numbers
require more processing time.
Angular Segments The number of angular segments used to approximate the lens shapes. Larger numbers
require more processing time.
Discussion:
The wireframe algorithm describes the lens as a collection of polygon facets. The number of facets used to
display the lens elements can be modified using the radial and angular segment options. The wireframe model
Item Description
Draw Section Select "Full" to draw each lens element completely. The 3/4, 1/2, and 1/4 options draw
just that much of the element, yielding a cut away perspective of the lens interior.
Radial Segments The number of radial segments used to approximate the lens shapes. Larger numbers
require more processing time.
Angular Segments The number of angular segments used to approximate the lens shapes. Larger numbers
require more processing time.
Discussion:
The solid model algorithm describes the lens as a collection of polygon facets. The lines and facets which are
hidden from view are removed, which gives the lens a solid appearance. This algorithm is slower than the other
layout plots. The number of facets used to display the lens elements can be modified using the radial and angular
segment options.
Pressing the left, right, up, down, Page Up, or Page Down keys will rotate the displayed image for a different
perspective.
If rays miss a surface, then the rays will not be drawn to the surface where the error occurred. If the ray is total
internal reflected, then the ray will be drawn up to but not past the surface where the error occurred. Ray failures
can be evaluated in detail, see Ray Trace on page 174.
See also The orientation indicator on page 101.
Shaded Model
Purpose:
Draws a shaded solid model representation of the lens using OpenGL graphics.
Settings:
The options are almost identical to those available for the Solid Model feature, except there are additional
controls for setting the lighting level and background color.
There is an additional control labeled "opacity". The options are to ignore, which ignores the surface and object
opacity values and draws all surfaces and objects as opaque; and method 1 or 2, which use different algorithms
to render the scene. Some systems are difficult for OpenGL to render when there are a mixture of opaque and
transparent surfaces and objects; choose the method which yields the preferred rendering. For information on
setting the opacity of surfaces and objects see Surface Opacity on page 67 and The object properties dialog
box on page 348.
Item Description
Surface The first surface of the element to be drawn.
Show As Select either "Surface", "Singlet", "Doublet", or "Triplet".
Note File Name The name of the ASCII file which contains the notes to be appended to the notes section
of the element drawing. Notes should always start at number 2, since number 1 is
reserved for the units specification.
Edit Note File Clicking on this button will invoke the Windows NOTEPAD.EXE editor, which can then
be used to modify the selected note file.
Radius The radius tolerance value for the specified surface.
Irregularity The irregularity tolerance value for the specified surface.
Clear Aper The clear aperture diameter of the specified surface.
Thickness The center thickness tolerance of the specified surface.
Scale Factor If the scale factor is set to zero, then "Fill Frame" will be selected, which will scale the
element to fill the right half of the element drawing. If a numeric value is entered, then
the plot will be drawn in "real" scale, times the scale factor. For example, a scale factor
of 1.0 will plot the element at actual size on the printer (not the screen). A factor of 0.5
will plot the element at half scale.
Decimals The number of decimals to use in numeric values. Press the "Reset all but surface, show
as, and titles" button to reformat all displayed numbers.
Drawing Title This field is for any user defined text. The default is the lens title.
Date If left blank, the default date format is used. If any text is supplied, the exact text is used.
Drawing Name All of these fields are for user defined text. Any text may be entered. No default value.
Approved
Revision
Drawn By
Project
Note Font Size Choose Standard, Medium, Small, or Fine. These are in order of decreasing font size.
The Note Font Size setting only affects the size of the note file that is annotated on the
drawing. Smaller fonts permit larger note files to be displayed.
Save As/Load From These two buttons allow saving and reloading of all settings displayed on the element
drawing settings box. The data is stored in a binary format with the extension ELE.
Reset all but... If selected, this button will reset all the default tolerances and apertures for the specified
surfaces, but the current surface, show as, and text titles will remain as they are.
Discussion:
The element drawing settings may be stored for the specific lens file by pressing the Save button. Unlike most
analysis features, the element drawing feature saves all the settings for each surface separately. For example,
2
R
#fringes = ------- -----2- ,
R
where R is the radius error, is the test wavelength, is the radial aperture, and R is the radius of
curvature. This formula is an approximation for shallow curvatures. For more information, see Malacara, Optical
Shop Testing, J. Wiley & Sons, Inc.
Special characters
There are useful special characters that may be inserted and edited in the text fields of the tolerances. The
symbols are inserted by pressing and holding Alt on the keyboard and typing a 4 digit number on the numeric
keypad. Some common characters are - Alt 0177, - Alt 0181, - Alt 0174, - Alt 0169.
ISO Element Drawing
Purpose:
This feature creates an ISO 10110 type drawing of surface, singlet, or doublet elements suitable for use in
optical shop fabrication.
Settings:
Item Description
First Surface The first surface of the element to be drawn.
Show As Choose surface, singlet, or doublet.
Other settings There are many other settings available for this feature that correspond to the tolerances
defined in the ISO 10110 specification. See the discussion for details.
Discussion:
The ISO 10110 Element Drawing is an interpretation of the drawing specification "ISO 10110 Optics and
Optical Instruments -- Preparation of drawings for optical elements and systems: A User's Guide", by Ronald K.
() Coating specification
P; Rq; Lmin, Lmax Indicates a polished surface on the lens drawing. The details of the polish
specification are not provided on the drawing, but are specified in the
surface data. Rq = maximum permissible rms surface roughness in
micrometers, Lmin/Lmax = minimum and maximum length of sampling
interval for rms calculation in mm.
0/A Stress Birefringence; A = maximum optical path difference in nm/cm.
1/NxA Bubbles & Inclusions; N = number of bubbles and/or inclusions, A =
bubble grade number (size)
2/A; B Inhomogeneity and Striae; A = homogeneity class number, B = striae
class number
3/A(B/C) Surface Form Tolerance; A = maximum sagitta error in fringes or - if
or tolerance is part of radius tolerance, B = peak-to-valley irregularity in
3/A(B/C) RMSx < D fringes or - if no tolerance is given, C = non-spherical rotationally
symmetric error in fringes. If (B/C) is replaced by A(B), no tolerance is
or given.
3/- RMSx < D For RMS tolerances, D = maximum rms error in fringes, t = total rms
where x is either t, i, or a deviation from nominal, i = rms irregularity, a = rms asymmetry remaining
after asphericity is subtracted from irregularity.
4/S(L) Centering Tolerance; S = surface tilt angle in minutes of arc, L = lateral
displacement
5/NxA; CNxA; LN" x A"; EA Surface Imperfection Method 1; N = number of imperfections, A = grade
number (square root of imperfection area), C = coating imperfection
designation, N = number of coating imperfections, A = grade number, E
= edge chips designation, A = chip protrusion from edge, L = long
scratch designation, N" = number of scratches, A" = grade number
(scratch width (mm))
Item Description
Fletch Rays If checked, small arrows are drawn on each ray to indicate the direction of propagation.
Split Rays If checked, rays from NSC sources will be statistically split at ray-surface intercepts.
Rays entering from the entry port are not affected by this setting.
Scatter Rays If checked, rays from NSC sources will be statistically scattered at ray-surface
intercepts. Rays entering from the entry port are not affected by this setting.
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details.
Suppress Frame Suppresses drawing of the frame on the bottom of the screen, which leaves more room
for the layout plot itself. No scale bar, address block, or other data will be displayed.
Configuration Select "All" to draw all configurations at once, or select the one configuration to draw, or
select "Current" to show the active configuration.
Color Rays By Select "Sources" to use color to distinguish rays traced from each source, unless a
source has a user defined color assigned to that source, or "Waves" to distinguish
between each wavelength, or "Config" to distinguish between configurations.
Scale Factor If the scale factor is set to zero, then "Fill Frame" will be selected, which will scale the
range of surfaces drawn to fill the graphic page. If a numeric value is entered, then the
plot will be drawn in "real" scale, times the scale factor. For example, a scale factor of
1.0 will plot the lens actual size on the printer (not the screen). A factor of 0.5 will plot
the lens at half scale.
Discussion:
The settings in the above table are very much like their counterparts on the 3D Layout feature. However, this
feature only draws objects in a single NSC group, and only traces and draws rays from sources defined within
the group.
To make surfaces partially transparent, see Surface properties type tab on page 67.
NSC Shaded Model
Purpose:
Draws a shaded solid model representation of the lens using OpenGL graphics.
Settings:
The options are very similar to those available for the NSC 3D Layout and Shaded Model features. One
additional feature is the option to color detector objects by either the energy incident on the detector in the last
analysis or by just the rays traced in the layout view. The detector shows false color or black and white displays,
using either coherent intensity or any of the other options supported by the detector viewer. See Detectors on
page 332 for details.
There is an additional control labeled "opacity". The options are to ignore, which ignores the surface and object
opacity values and draws all surfaces and objects as opaque; and method 1 or 2, which use different algorithms
to render the scene. Some systems are difficult for OpenGL to render when there are a mixture of opaque and
transparent surfaces and objects; choose the method which yields the preferred rendering. For information on
setting the opacity of surfaces and objects see Surface Opacity on page 67 and The object properties dialog
box on page 348.
Fans
Ray Aberration
Purpose:
Shows ray aberrations as a function of pupil coordinate.
Item Description
Plot Scale Sets the maximum vertical scale for the plots. The maximum scale is in micrometers for
ray fans, waves for OPD plots, or percent for entrance pupil aberration plots. This
overrides the automatic selection of scale for the plots. Enter zero for automatic scaling.
Number of Rays This is the number of rays traced on each side of the origin of the plot.
Wavelength The wavelength number for which the calculation should be performed.
Field The field number for which the calculation should be performed.
Tangential Selects which aberration component to plot for the tangential fan. Since tangential fans
are functions of the y pupil coordinate, the default is to plot the y component of the
aberration.
Sagittal Selects which aberration component to plot for the sagittal fan. Since sagittal fans are
functions of the x pupil coordinate, the default is to plot the x component of the
aberration.
Use Dashes Selects either solid lines or dashed lines to differentiate the various curves.
Check Apertures Specifies whether or not to check if rays pass all surface apertures. If this is selected,
rays which do not pass surface apertures will not be drawn.
Vignetted Pupil If checked, the pupil axis will be scaled to the unvignetted pupil, in which case the data
will reflect the vignetting in the system. If unchecked, the pupil axis will be scaled to fit
the vignetted pupil.
Surface Selects the surface at which the fan is to be evaluated. This is useful for evaluating
intermediate images. See Evaluating results at intermediate surfaces on page 109.
Discussion:
The tangential fans show either the x or the y component of the transverse ray aberration as a function of the
y pupil coordinate of the ray. The default option is to plot the y component of the aberration. However, since
transverse ray aberrations are vectors, this is an incomplete description of the aberration. When ZEMAX plots
the y component, the plot is labeled EY, when plotting the x component of the aberration, the plot is labeled EX.
The vertical axis scale is given at the bottom of the graph. The data being plotted is the difference between
the ray intercept coordinate and the chief ray intercept coordinate. The tangential fan is the plot of the difference
between the ray x or y coordinate and the chief ray x or y coordinate at the primary wavelength, as a function of
the y pupil coordinate. The sagittal plot is the difference between the ray x or y coordinate and the chief ray x or
y coordinate as a function of the x pupil coordinate. The horizontal scale for each graph is the normalized entrance
pupil coordinate, either PX or PY.
If "All" wavelengths are shown, then the plot is referenced to the primary wavelength chief ray. If monochro-
matic, then the chief ray for the selected wavelength is used as a reference. For this reason, the data for non-
primary wavelengths will in general change when switching between monochromatic and polychromatic displays.
Because ray aberrations are vectors, with both an x and a y component, the ray aberration fan is an incomplete
description of the aberrations, especially when the image plane is rotated or the system is otherwise non-
rotationally symmetric. Also, the fans only indicate aberrations along two "slices" through the pupil, rather than
over the entire entrance pupil. The primary purpose of the ray fan plot is to determine what aberrations are present
in the system; it is not a complete description of the system performance, especially for systems without rotational
symmetry.
Evaluating results at intermediate surfaces
ZEMAX can compute analysis results for surfaces other than the image surface by applying assumptions.
These assumptions work in most cases, however, there may be cases where the methods described here for
analyzing intermediate surfaces is not appropriate, including those systems which require significant use of ray
Item Description
Pattern The pattern may be either hexapolar, square, or dithered. These terms refer to the
pattern of rays as they appear in a pupil plane. Defocus the lens significantly to see the
pattern, if desired. Dithered spot diagrams are generated by pseudo-random rays which
eliminate the symmetrical artifacts in the spot diagram typical of rectangular or hexapolar
patterns. The pattern is distorted to give the correct distribution of rays if pupil
apodization is specified. There is no best pattern to use, each shows a different
character of the spot diagram.
Refer To The spot diagrams by default are referenced to the real chief ray. The RMS and GEO
spot radii listed at the bottom of the diagram (and defined in the discussion section) are
calculated assuming the chief ray is the "zero aberration" point. However, this option
allows selection of other reference points. The centroid is defined by the average
position of the rays traced. The middle is defined so that the maximum ray errors are
equal in the plus and minus x and y directions. The vertex is defined by the local
coordinates 0,0 on the selected surface.
Show Scale Scale bar is the default. Selecting "Airy Disk" will draw an elliptical ring around each spot
showing the size of the Airy ellipse. The Airy disk radius is 1.22 times the wavelength
(primary wavelength is used if polychromatic) times the F/# of the system; which in
general depends upon field position and pupil orientation. If the Airy disk is larger than
the spot, the Airy disk will set the scale size, otherwise the spot radius will set the scale.
Selecting "Square" will draw a box, centered on the reference point, whose width is twice
the distance from the reference point to the outermost ray. Selecting "Cross" will draw
a cross through the reference point location. The "Circle" setting will draw a circle
centered on the reference point.
Wavelength The wavelength number for which the calculation should be performed.
Field The field number for which the calculation should be performed.
Surface Selects the surface at which the spot diagram is to be evaluated. This is useful for
evaluating intermediate images or vignetting.
Plot Scale Sets the maximum scale size of the display in micrometers. A setting of zero will
generate an appropriate scale.
Delta Focus The delta focus option is only used if through-focus spot diagrams are selected. This is
the Z-axis spacing between spot diagram planes. Five spot diagrams will be shown for
each field angle. The defocus will be -2, -1, 0, 1, and 2 times the delta focus provided.
The delta focus units are in micrometers. For some systems the default delta focus may
be too small to cause a change in the spot diagram structure.
Ray Density The ray density specifies the number of hexapolar rings to be traced if a hexapolar or
dithered pattern is selected, or the number of rays across the width and height if a
rectangular pattern is selected. The more rays traced, the greater the accuracy of the
RMS spot radius, although the computation time increases. There are 6 rays in the first
hexapolar ring, 12 in the second, 18 in the third, and so on.
Discussion:
The ray density has a maximum value based upon the number of fields displayed, the number of wavelengths
defined, and available memory. Through-focus spot diagrams will trace half of the maximum number of rays
possible on standard spot diagrams.
The GEO spot radius listed on the plot for each field point is the distance from the reference point (which is
either the chief ray at the primary wavelength, the centroid of all the rays traced, or the middle of the spot cluster)
to the ray which is farthest away from the reference point. In other words, the GEO spot radius is the radius of
the circle centered at the reference point which encloses all the rays.
The RMS spot radius is the root-mean-square radial size. The distance between each ray and the reference
point is squared, and averaged over all the rays, and then the square root is taken. The RMS spot radius gives
a rough idea of the spread of the rays, since it depends upon every ray. The GEO spot radius only gives
information about the one ray which is farthest from the reference point.
For information on the X and Y RMS spot radii, see the "text" listing for the spot diagram.
The Airy disk radius is given by 1.22 times the wavelength (primary wavelength is used if polychromatic) times
the F/# of the beam, which in general depends upon field position and pupil orientation. This is the radius to the
first dark ring of the Airy disk for a circular, uniformly illuminated entrance pupil. The Airy disk may be optionally
drawn to give an idea of the scale of the plot. For example, if all the rays are well within the Airy disk, then the
system is often said to be "diffraction limited". If the RMS spot radius is significantly larger than the Airy disk radius,
then the system is not diffraction limited. The threshold for diffraction limited performance depends upon which
criterion is used. There is no absolute boundary at which the system becomes diffraction limited. The Airy disk
shown is not an accurate representation of the diffraction dark ring shape or size if the system does not have
uniform illumination or if vignetting is used to eliminate some of the rays. ZEMAX does not plot vignetted rays on
spot diagrams, nor are they used in computing the RMS or GEO spot radii.
ZEMAX generates grids of rays based upon the wavelength weighting factors and the pupil apodization, if any.
The wavelength with the largest weight uses the maximum grid size set by the "Ray Density" option. Wavelengths
with lower weights use grids with fewer rays to maintain the correct representation in the diagram. Ray grids are
also distorted to maintain the correct ray distribution, if apodization is specified. The RMS spot radius stated on
the spot diagram considers the wavelength weighting and apodization factors. However, it is only an estimate of
the RMS spot radius based on the rays actually traced. It is not a very accurate estimate for some systems.
The image plane intercept coordinates of the reference point are shown underneath each spot diagram. If a
surface other than the image plane is specified, then the coordinates are the intercept coordinates of the reference
Item Description
Ignore Lateral Color If checked, this option will reference each spot diagram to the reference point for each
field and wavelength independently. This in effect ignores the effects of lateral color
which can displace the reference points for each wavelength.
Discussion:
The matrix representation is a convenient way of distinguishing the components of wavelength dependent
aberrations.
Configuration Matrix
Purpose:
Show spot diagram as a matrix of individual diagrams, with each field along a row and each configuration down
a column.
Settings:
The options for the configuration matrix spot diagram are similar to those for the standard spot diagram.
Discussion:
Item Description
Sampling The size of the ray grid used to sample the pupil. The sampling may be 32x32, 64x64,
etc. Although higher sampling yields more accurate data, calculation times increase.
Show Diffraction Select whether or not the diffraction limited data should be displayed.
Limit
Max Frequency Specify the maximum spatial frequency (in cycles per millimeter) plotted.
Wavelength The wavelength number to be used in the calculation.
Field The field number to be used in the calculation.
Type Select either modulation, real, imaginary, phase, or square wave response.
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details. Only ZEMAX-EE supports this capability.
Use Dashes Selects either solid lines or dashed lines to differentiate the various curves.
Surface Selects the surface at which the MTF is to be evaluated. This is useful for evaluating
intermediate images. See Evaluating results at intermediate surfaces on page 109.
Discussion:
!See the discussion sections of the FFT and Huygens PSF. Those comments also apply to this
feature.
The diffraction MTF computation is based upon an FFT of the pupil data. The resulting MTF is the modulation
as a function of spatial frequency for a sine wave object, although optionally the real, imaginary, phase, or square
wave response is available. The Square wave MTF is the modulation response for a square wave target of the
specific frequency, as opposed to the response to a sine wave target for the other plots. The square wave
response is computed from the MTF data using the following formula:
4 M ( v ) M ( 3v ) M ( 5v ) M ( 7v )
( v ) = --- ------------- ---------------- + ---------------- ---------------- +
1 3 5 7
where S(v) is the square wave response, M(v) is the sinusoidal modulation response, and v is the spatial
frequency.
The cutoff frequency at any one wavelength is given by one over the wavelength times the working F/#. ZEMAX
computes the working F/# at each wavelength for each field for the sagittal and tangential response separately.
This yields accurate MTF data even for systems with anamorphic and chromatic distortion, such as those
incorporating cylinders or gratings.
Item Description
Sampling The size of the ray grid used to sample the pupil. The sampling may be 32x32, 64x64,
etc. Although higher sampling yields more accurate data, calculation times increase.
Delta Focus The range of defocus used.
Frequency The spatial frequency (in cycles per millimeter) for which data is plotted.
# Steps The number of focal planes at which the data is computed. A smooth curve is drawn
through the computed points. More steps yield higher accuracy and longer computation
times.
Wavelength The wavelength number to be used in the calculation.
Field The field number for which the calculation should be performed.
Type Select either modulation, real, imaginary, phase, or square wave response.
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details. Only ZEMAX-EE supports this capability.
Use Dashes Selects either solid lines or dashed lines to differentiate the various curves.
Item Description
Sampling The size of the ray grid used to sample the pupil. The sampling may be 32x32, 64x64,
etc. Although higher sampling yields more accurate data, calculation times increase.
Rotation Rotation specifies how the surface plots are rotated for viewing; either 0, 90, 180, or 270
degrees.
Scale The scale factor overrides the automatic vertical scaling set by the program on the
surface plots. Generally, this value should be set to unity. The scale factor can be greater
than unity to vertically stretch the plot, or less than unity to compress it.
Wavelength The wavelength number to be used in the calculation.
Field The field number determines for which defined field position the calculation should be
performed.
Show As Choose surface plot, contour map, grey scale, or false color map as the display option.
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details. Only ZEMAX-EE supports this capability.
Discussion:
The regular MTF plot is just two orthogonal cross sections through the surface MTF plot. This plot is primarily
qualitative. See FFT MTF on page 114 for details.
FFT MTF vs. Field
Purpose:
Computes the FFT MTF data as a function of field position, and displays the data in a graph.
Settings:
Item Description
Sampling The size of the ray grid used to sample the pupil. The sampling may be 32x32, 64x64,
etc. Although higher sampling yields more accurate data, calculation times increase.
Frequency 1-6 The spatial frequencies (in cycles per millimeter) for which data is plotted.
Wavelength The wavelength number to be used in the calculation.
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details. Only ZEMAX-EE supports this capability.
Use Dashes Selects either solid lines or dashed lines to differentiate the various curves.
Remove Vignetting If checked, vignetting factors are automatically removed. See the comments about
Factors vignetting factors in the discussion section below.
Discussion:
See FFT MTF on page 114 for details. This feature plots MTF vs. field height up to the maximum defined
radial field coordinate.
Comment about vignetting factors
Vignetting factors determine the size and shape of the pupil as seen from different field points (see Vignetting
factors on page 96 for a full discussion). Because this analysis feature needs to trace rays at arbitrary
intermediate field points where no specific vignetting factors are defined, the use of vignetting factors is not
recommended. If "Remove Vignetting Factors" is checked on (the default), any defined vignetting factors will
automatically be replaced with surface apertures for this computation. The surface aperture method is generally
more accurate than the vignetting factor method when the pupil is overfilled with light. The resulting data may be
different between the two methods. In some cases, particularly where the vignetting factors are being used to
define the shape of the source beam rather than the apertures of the optics, it may be required to use the defined
vignetting factors. In this case, check the "Remove Vignetting Factors" box off. ZEMAX will then use the closest
defined field to determine the vignetting factors to use for an arbitrary field point.
FFT MTF Map
Purpose:
Computes the FFT MTF as a function of field position, and displays the data over a rectangular region of field.
Settings:
Item Description
Sampling The size of the ray grid used to sample the pupil. The sampling may be 32x32, 64x64,
etc. Although higher sampling yields more accurate data, calculation times increase.
X or Y Field Width The X or Y field width in field units. This is the total width or height, not the half width or
height. Field units are degrees in object space if field angle is used, otherwise field units
are the same as lens units.
Frequency The spatial frequency at which to compute the MTF.
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details. Only ZEMAX-EE supports this capability.
Wavelength The wavelength number to be used in the calculation, or All for polychromatic MTF.
X or Y Pixels The number of pixels at which to compute the MTF in each respective direction. Note
the size of the pixels is determined by both the number of pixels and the width of the
field; the pixels are not required to be square. The MTF is computed at the center of the
pixel and the MTF is assumed to have that value over the entire region of the pixel for
display purposes.
MTF Data Choose Tangential, Sagittal, or average MTF to be displayed.
Reference Field This control selects the field number that corresponds to the center of the map. If zero
is selected the (0, 0) field coordinate is used as the center of the map.
Discussion:
See FFT MTF on page 114 for details.
This feature computes the MTF at each field point on a 2D grid. If the total number of points is large, the
computation time may become quite large. See also the Geometric MTF Map feature on page 121.
Huygens MTF
Purpose:
Computes the diffraction modulation transfer function (MTF) data using a Huygens direct integration algorithm.
Settings:
Item Description
Pupil Sampling Selects the size of the grid of rays to trace to perform the computation. Higher sampling
densities yield more accurate results at the expense of longer computation times.
Image Sampling The size of the grid of points on which to compute the diffraction image intensity. This
number, combined with the image delta, determine the size of the PSF used to compute
the MTF. See also Huygens PSF on page 126.
Image Delta The distance in micrometers between points in the image grid.
Zero Padding Adds a zero-value guard band around the computed PSF before performing the Fourier
transform.
Configuration Select "All" to perform a calculation of the MTF based upon a coherent sum of the PSF
at each wavelength across all configurations, or select the "Current" or any single
configuration. Note the MTF is computed from the PSF, which is a coherent sum for the
same wavelength in each configuration, followed by an incoherent sum of the resulting
PSFs for different wavelengths. For this reason, each defined wavelength must be the
same in all configurations. Wavelength and configuration weights may be used but the
wavelength values must be identical. See CWGT and WLWT in Summary of multi-
configuration operands on page 471. This coherent sum also assumes that the image
surface is located in the identical position in all configurations.
Wavelength The wavelength number to be used in the calculation.
Field The field number for which the calculation should be performed.
Type Select the data to display, currently modulation is the only option.
Max Frequency The maximum spatial frequency in cycles per millimeter to display.
Show As Choose surface plot, contour map, grey scale, or false color map as the display option.
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details. Only ZEMAX-EE supports this capability.
Use Dashes Selects either solid lines or dashed lines to differentiate the various curves.
Discussion:
!See the discussion sections of the Huygens PSF. Those comments also apply to this feature.
Chapter 7: ANALYSIS MENU 118
The Huygens MTF computes an FFT of the Huygens PSF. The initial PSF sampling settings for Image
Sampling and Image Delta settings are the same as for the Huygens PSF, therefore it is instructive to do a
Huygens PSF first (see Huygens PSF on page 126). The zero padding setting adds zero intensity values around
the PSF and has the visual effect of increasing the pixel density in the transform. Since the transform is done on
the PSF in image space coordinates, the tangential response corresponds to spatial frequencies in the y direction
in local image surface coordinates, and the sagittal response corresponds to spatial frequencies in the x direction.
The Huygens MTF also has no dependence on the location of rays in the paraxial pupils. The MTF can therefore
be computed for any system that the Huygens PSF can be computed for including many non-sequential systems
using ports where reference rays required by other diffraction algorithms would not make it through, or for systems
where pupils or images formed by multiple non-sequential sub-apertures are overlapped. Systems with extreme
exit pupil distortion, such as very fast off-axis reflectors, are also handled correctly with the Huygens technique.
The spatial frequency scale of the MTF is always in cycles per mm in image space.
The nature of the Huygens algorithm is that the computation is done in image space coordinates. For this
reason, rotating the image surface will affect the orientation of the computed MTF. The tangential response
corresponds to the image of a periodic target oriented with lines along the image space X axis, and the sagittal
response corresponds to the image of a periodic target oriented with lines along the image space Y axis. This is
different from the conventions of the FFT MTF on page 114.
Huygens Through Focus MTF
Purpose:
Computes the diffraction modulation transfer function (MTF) data using a Huygens direct integration algorithm
and displays the data as a function of delta focus.
Settings:
Item Description
Delta Focus The range of defocus used.
Frequency The spatial frequency (in cycles per millimeter) for which data is plotted.
# Steps The number of focal planes at which the data is computed. A smooth curve is drawn
through the computed points. More steps yield higher accuracy and longer computation
times.
The other settings are the same as for the Huygens MTF feature, as described on page 118.
Discussion:
This feature is very similar to the Huygens MTF feature, as described on page 118.
Huygens Surface MTF
Purpose:
Computes the diffraction modulation transfer function (MTF) data using a Huygens direct integration algorithm
and displays the data as a surface, grey scale, false color, or contour plot.
Discussion:
This feature is very similar to the Huygens MTF feature, as described on page 118.
Geometric MTF
Purpose:
Computes the geometric MTF, which is an approximation to the diffraction MTF based upon ray aberration
data.
Item Description
Sampling The size of the ray grid used to sample the pupil. The sampling may be 32x32, 64x64,
etc. Although higher sampling yields more accurate data, calculation times increase.
Max Frequency The maximum spatial frequency (in cycles per millimeter) for which data is plotted.
Wavelength The wavelength number to be used in the calculation.
Field The field number for which the calculation should be performed.
Multiply by When checked, will scale the geometric MTF by the diffraction limited MTF to yield a
Diffraction Limit more realistic result for systems with small aberrations. Should always be used.
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details. Only ZEMAX-EE supports this capability.
Scatter Rays If checked, rays will be statistically scattered at ray-surface intercepts that have defined
scattering properties. Only ZEMAX-EE supports this capability.
Discussion:
The geometric MTF is a useful approximation to the diffraction MTF if the system is not close to the diffraction
limit. The primary advantage to using the geometric MTF is for systems which have too many waves of aberration
to permit accurate calculation of the diffraction MTF. The geometric MTF is also very accurate at low spatial
frequencies for systems with large aberrations.
The nature of the geometric algorithm is that the computation is done in image space coordinates. For this
reason, rotating the image surface will affect the orientation of the computed MTF. The tangential response
corresponds to the image of a periodic target oriented with lines along the image space X axis, and the sagittal
response corresponds to the image of a periodic target oriented with lines along the image space Y axis. This is
different from the conventions of the FFT MTF on page 114.
Geometric Through Focus MTF
Purpose:
Computes the geometric MTF data through focus at a specific spatial frequency.
Settings:
Item Description
Sampling The size of the ray grid used to sample the pupil. The sampling may be 32x32, 64x64,
etc. Although higher sampling yields more accurate data, calculation times increase.
Delta Focus The range of defocus used.
Frequency The spatial frequency (in cycles per millimeter) for which data is plotted.
# Steps The number of focal planes at which the data is computed. A smooth curve is drawn
through the computed points. More steps yield higher accuracy and longer computation
times.
Wavelength The wavelength number to be used in the calculation.
Field The field number for which the calculation should be performed.
Multiply by When checked, will scale the geometric MTF by the diffraction limited MTF to yield a
Diffraction Limit more realistic result for systems with small aberrations. Should always be used.
Discussion:
See the Geometric Transfer Function section on page 119 for details.
Geometric MTF vs. Field
Purpose:
Computes the geometric modulation transfer function data as a function of field position.
Settings:
The settings are identical to those for the FFT MTF vs. Field feature, with the added ability to scatter rays, and
a choice to scale by the diffraction limit or not.
Discussion:
This feature is nearly identical to the (diffraction) MTF vs. Field feature, except the geometric MTF is used
rather than the diffraction based MTF.
Geometric MTF Map
Purpose:
Computes the geometric modulation transfer function data as a function of field position, and displays the data
over a rectangular region of field.
Settings:
Item Description
Sampling The size of the ray grid used to sample the pupil. The sampling may be 32x32, 64x64,
etc. Although higher sampling yields more accurate data, calculation times increase.
X or Y Field Width The X or Y field width in field units. This is the total width or height, not the half width or
height. Field units are degrees in object space if field angle is used, otherwise field units
are the same as lens units.
Frequency The spatial frequency at which to compute the GMTF.
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details. Only ZEMAX-EE supports this capability.
Wavelength The wavelength number to be used in the calculation, or All for polychromatic GMTF.
X or Y Pixels The number of pixels at which to compute the GMTF in each respective direction. Note
the size of the pixels is determined by both the number of pixels and the width of the
field; the pixels are not required to be square. The GMTF is computed at the center of
the pixel and the GMTF is assumed to have that value over the entire region of the pixel
for display purposes.
MTF Data Choose Tangential, Sagittal, or average GMTF to be displayed.
Discussion:
See the Geometric Transfer Function on page 119 for details. This feature computes the GMTF at each field
point on a 2D grid. If the total number of points is large, the computation time may become quite large. See also
the (Diffraction) MTF Map feature on page 117.
PSF
FFT PSF
Purpose:
Computes the diffraction point spread function (PSF) using the Fast Fourier Transform (FFT) method.
Settings:
Item Description
Sampling The size of the ray grid used to sample the pupil. The sampling may be 32x32, 64x64,
etc. Although higher sampling yields more accurate data, calculation times increase.
Display The display size indicates what portion of the computed data will be drawn when a
graphic display is generated. The display grid can be any size from 32 x 32 up to twice
the sampling grid size. Smaller display sizes will show less data, but at higher
magnification for better visibility. This control has no effect on the text display.
Rotation Rotation specifies how the surface plots are rotated for viewing; either 0, 90, 180, or 270
degrees.
Wavelength The wavelength number to be used in the calculation.
Field The field number for which the calculation should be performed.
Type Select linear (intensity), logarithmic (intensity), or phase.
Show As Choose surface plot, contour map, grey scale, or false color map as the display option.
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details. Only ZEMAX-EE supports this capability.
Image Delta The delta distance between points in image space, measured in micrometers. If zero, a
default spacing is used. If negative, the image delta is set to the maximum allowed value
and the full sampling grid is used. See the discussion for details.
Normalize If checked, the peak intensity will be normalized to unity. Otherwise, the peak intensity
is normalized to the peak of the unaberrated PSF (the Strehl ratio).
Surface Selects the surface at which the PSF is to be evaluated. This is useful for evaluating
intermediate images. See Evaluating results at intermediate surfaces on page 109.
= F ------------ ,
n2
2n
For grids larger than 32 x 32, the grid is by default stretched in pupil space by a factor of 2 each time the
sampling density doubles. The general formula for the sampling in image space is then
12
= F ------------ ------
n 2 32
,
2n n
W = 2n .
Since the stretching of the pupil grid decreases the number of sample points in the pupil, the effective grid size
(the size of the grid that actually represents traced rays) is smaller than the sampling grid. The effective grid size
increases as the sampling increases, but not as quickly. The following table summarizes the approximate effective
grid size for various sampling density values.
DEFAULT EFFECTIVE GRID SIZES FOR PSF CALCULATIONS
32 x 32 32 x 32
64 x 64 45 x 45
128 x 128 64 x 64
256 x 256 90 x 90
The sampling is also a function of wavelength. The discussion above is only valid for the shortest wavelength
used in the calculation. If the computation is polychromatic, then the longer wavelengths will be scaled to have
smaller effective grids. The scale factor used is the ratio of the wavelengths. This should be considered when
selecting sampling grids for systems with broad wavelength bands. For polychromatic computations, the data for
shorter wavelengths is more accurate than for longer wavelengths.
The image delta, , can be selected manually if a different sampling distance is required. If the image delta
is zero, ZEMAX uses the default spacing and sampling grids described above. If the image delta is greater than
zero, then ZEMAX scales the pupil sampling to yield the desired image delta size. The actual amount of stretching
depends upon the grid size, the image delta, the defined wavelengths, the F/#s at each field and wavelength,
and the aspect ratio of the exit pupil. If the image delta is set too small, then not enough points will be left to sample
the pupil; if the image delta is too big, then the pupil grid will not extend over the full width of the exit pupil. Both
of these cases are trapped by ZEMAX and an error message will be issued if they occur. If the image delta is less
than zero, then ZEMAX does not stretch the pupil at all. This maximizes the extent of the PSF in image
coordinates and uses the full grid of rays in the pupil, at the expense of not increasing the spatial resolution with
sampling, as the image delta will be nearly constant with increased sampling.
Item Description
Sampling The size of the ray grid used to sample the pupil. The sampling may be 32x32, 64x64,
etc. Although higher sampling yields more accurate data, calculation times increase.
Row/Col The row or column to display. For a sampling of 32 x 32, there are 64 rows and 64
columns (see the discussion section of the FFT PSF feature). Whether a row or a column
is used depends upon the "Type" setting. The default "Center" displays the center of the
PSF, which is not always the peak of the PSF.
Plot Scale Sets the maximum horizontal scale in micrometers. Enter zero for automatic scaling.
Wavelength The wavelength number to be used in the calculation.
Field The field number for which the calculation should be performed.
Type Select X or Y cross sections, either linear, logarithmic, or phase. X cross sections are
called rows, and Y cross sections are called columns, but this is arbitrary
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details. Only ZEMAX-EE supports this capability.
Normalize If checked, the peak intensity will be normalized to unity. Otherwise, the peak intensity
is normalized to the peak of the unaberrated PSF (the Strehl ratio).
Discussion:
!See the discussion section of the FFT PSF. Those comments also apply to this feature.
The cross sections are taken directly from the PSF data. Because the PSF is computed directly from the phase
in the exit pupil, the orientation of the coordinate system may not be correct in all cases. What constitutes positive
x or y may not agree with data presented in image space coordinates such as the spot diagram.
FFT Line/Edge Spread
Purpose:
This feature plots the edge or line spread functions based upon a computation and integration of the diffraction
FFT PSF.
Item Description
Sampling The size of the ray grid used to sample the pupil. The sampling may be 32x32, 64x64,
etc. Although higher sampling yields more accurate data, calculation times increase.
Spread Choose either line or edge spread function.
Plot Scale Sets the maximum horizontal scale in micrometers. Enter zero for automatic scaling.
Wavelength The wavelength number to be used in the calculation.
Field The field number for which the calculation should be performed.
Type Select X or Y orientation and either linear or logarithmic scale.
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details. Only ZEMAX-EE supports this capability.
Discussion:
!See the discussion section of the FFT PSF. Those comments also apply to this feature.
The Line Spread Function is computed by integration of the PSF along either rows (for Y orientation) or
columns (for X orientation). The Edge Spread Function is the subsequent running integral of the Line Spread
Function. The X orientation refers to the line or edge being oriented parallel to the X axis of the PSF. The Y
orientation refers to the line or edge being oriented parallel to the Y axis of the PSF. See also Geometric Line/
Edge Spread on page 137.
Huygens PSF
Purpose:
Computes the diffraction PSF using direct integration of Huygens wavelets method. The Strehl ratio is also
computed.
Settings:
Item Description
Pupil Sampling Selects the size of the grid of rays to trace to perform the computation. Higher sampling
densities yield more accurate results at the expense of longer computation times.
Image Sampling The size of the grid of points on which to compute the diffraction image intensity. This
number, combined with the image delta, determine the size of the area displayed.
Image Delta The distance in micrometers between points in the image grid.
Rotation Rotation specifies how the surface plots are rotated; either 0, 90, 180, or 270 degrees.
Wavelength The wavelength number to be used in the calculation.
Field The field number for which the calculation should be performed.
Type Select linear (intensity), or logarithmic (intensity).
Discussion:
One way of considering the effects of diffraction is to imagine each point on a wavefront as a perfect point
source with an amplitude and phase. Each of these point sources radiates a spherical "wavelet", sometimes
called a "Huygens wavelet" after Huygens, who first proposed the model. The diffraction of the wavefront as it
propagates through space is given by the interference, or complex sum, of all the spherical wavelets radiated.
To compute the Huygens PSF, a grid of rays is launched through the optical system, and each ray represents
a particular amplitude and phase wavelet. The diffraction intensity at any point on the image surface is the
complex sum of all these wavelets, squared. Unlike the FFT PSF, ZEMAX computes the Huygens PSF on an
imaginary plane tangent to the image surface at the chief ray intercept. Note the imaginary plane is normal to the
normal of the surface, not the chief ray. Therefore, the Huygens PSF accounts for any local tilt in the image surface
caused by either the image plane slope, the chief ray incidence angle, or both.
The Huygens method accounts for the evolving shape of the diffraction image as the beam propagates along
the image surface. This is an important effect if the image surface is tilted with respect to the incoming beam.
Another advantage to the Huygens PSF method is that any grid size and spacing, may be selected by the user.
This allows direct comparison between PSF's from two different lenses, even if the F/#'s or wavelengths are
different.
The only disadvantage of the Huygens PSF is speed. Direct integration is slow when compared to the FFT
method (see the previous section for details). The computation time depends upon the pupil grid size squared
times the image grid size squared, times the number of wavelengths. ZEMAX accounts for any symmetry the
system has.
Huygens PSF Cross Section
Purpose:
Computes the diffraction PSF using direct integration of Huygens wavelets method. The Strehl ratio is also
computed. This feature is very similar to the Huygens PSF on page 126, with the difference being the data is
plotted as a cross section.
Item Description
Sampling The size of the ray grid used to sample the pupil. The sampling may be 32x32, 64x64,
etc. Although higher sampling yields more accurate data, calculation times increase.
Rotation Rotation specifies how the surface plots are rotated for viewing; either 0, 90, 180, or 270
degrees.
Scale The scale factor is used to override the automatic vertical scaling set by the program on
the surface plots. The scale factor can be greater than unity to vertically stretch the plot,
or less than unity to compress it.
Wavelength The wavelength number to be used in the calculation.
Field The field number for which the calculation should be performed.
Reference To By default, the wavefront aberration is referenced to the reference sphere for the
Primary wavelength being used. If this box is checked, then the primary wavelength reference
sphere will be used instead. In other words, checking this box will cause the data to
exhibit the effects of lateral color.
Use Exit Pupil By default, the shape of the pupil is distorted to show the approximate shape of the exit
Shape pupil as seen from the on axis chief ray image point. If this box is unchecked, then
instead the plot will be scaled to circular entrance pupil coordinates, no matter how
distorted the exit pupil may actually be.
Show As Choose surface plot, contour map, grey scale, or false color map as the display option.
Surface Selects the surface at which the data is to be evaluated. This is useful for evaluating
intermediate images. See Evaluating results at intermediate surfaces on page 109.
Remove Tilt If checked, the linear X- and Y- tilt is removed from the data. This is equivalent to
referencing the OPD data to the centroid.
Discussion:
See also the Interferogram feature described below.
Interferogram
Purpose:
Generates and displays interferograms.
Settings:
Item Description
Sampling The size of the ray grid used to sample the pupil. The sampling may be 32x32, 64x64,
etc. Although higher sampling yields more accurate data, calculation times increase.
Surface Selects the surface at which the data is to be evaluated. This is useful for evaluating
intermediate images. See Evaluating results at intermediate surfaces on page 109.
Scale Factor Determines the number of fringes per wave of OPD. Useful for modeling double pass
interferometers (i.e. use a scale factor of two).
Discussion:
This feature works by computing two pupil maps, one each from beams 1 and 2. The phase (or OPD) of these
two pupil maps is subtracted, and then optionally some linear phase is added as a function of the x and y pupil
coordinate to simulate tilt fringes. The individual beams may be OPD as computed for any one configuration, or
a "reference" beam which has identically zero OPD may be selected.
Interferometers may be simulated by modeling the two paths through the system using two configurations, and
then computing the interferogram of the two resulting beams. The accuracy of this approach is limited by some
simplifying assumptions:
-Any lateral shift or magnification difference between the two beams is ignored; it is assumed that the pupils
perfectly overlap at the exit pupil.
-Any differences in transmission are ignored; so the two OPD values at any one point in the pupil are assumed
to be of equal value in intensity and the phase can be subtracted to yield the net phase difference.
Foucault Analysis
Purpose:
Generates and displays Foucault knife-edge shadowgrams.
Settings:
Item Description
Sampling The size of the ray grid used to sample the pupil. The sampling may be 32x32, 64x64,
etc. Although higher sampling yields more accurate data, calculation times increase.
Type Selects either linear or logarithmic display of the data.
Show As Choose surface, contour map, grey scale, false color map, or cross section as the
display option.
Wavelength The wavelength is the wavelength number to be used in the calculation.
Field The field number for which the calculation should be performed.
Row/Column When "Show As" is selected to be a cross section, this control defines the row or column
number to display.
Discussion:
This feature simulates the placement of either an X- or Y- oriented knife edge at any position near focus; then
computes the resulting shadowgram after propagating the vignetted beam back to the near field. The method of
calculation involves computing the diffraction based complex amplitude PSF at focus via the FFT method; then
a portion of the complex amplitude is vignetted by the simulated knife edge, and the remaining complex amplitude
is propagated back to the near field. The shadowgram calculated this way is called the "computed" shadowgram
for this feature.
This feature also allows the import of either a BMP or JPG bitmap file of a reference or measured shadowgram.
The reference shadowgram may be displayed for convenient check of orientation.
The difference between the computed and reference shadowgram may be displayed. ZEMAX computes the
RMS difference between the computed and reference shadowgrams, and this RMS difference may be optimized
using the FOUC operand described in the chapter "Optimization". Optimizing the RMS difference permits
quantitative determination of the aberrations present in the beam that created the measured shadowgram. When
calculating the difference between the computed and reference shadowgram, the two images must be registered
together to overlap correctly. The decenter x/y and scale x/y controls are used for registering the two images.
Surface
Surface Sag
Purpose:
Displays the sag of a surface as a 2D color or contour map, or as a 3D surface plot.
Item Description
Sampling The size of the grid used. The sampling may be 32x32, 64x64, etc. Although higher
sampling yields more accurate data, calculation times increase. ZEMAX actually
increases the sampling by 1, so that an odd sampling number is used. This allows for a
more symmetric display of the data.
Contour Format The contour format string. For a discussion of the contour format string syntax, see "The
Contour Format String" below. The contours are defined in lens units.
Surface The surface number to compute the sag display for.
Show As Choose surface plot, contour map, grey scale, or false color map as the display option.
Discussion:
This feature accounts for the size and shape of any aperture present on the surface; even if the aperture is
decentered. The sag is computed on a uniform grid of points in XY plane, and the Z value of the sag is the
displayed data.
See also the Surface Phase feature described below.
The Contour Format String
The Contour Format string allows some control over the appearance of the contour map.
If left blank, the default contour spacing will be selected. If a single value is entered, then the contour spacing
will be set to this value. For example, if 0.05 is entered, the contour interval will be 0.05. If multiple values
separated by spaces are entered, only those contours will be drawn. For example, if "0.8 0.5 0.2" is entered, only
those three contours will be drawn. If the specified contour settings result in too many contours to be drawn
properly, the default number of contours will be selected.
Surface Phase
Purpose:
Displays the phase of a surface as a 2D color or contour map, or as a 3D surface plot.
Settings:
Item Description
Sampling The size of the grid used. The sampling may be 32x32, 64x64, etc. Although higher
sampling yields more accurate data, calculation times increase. ZEMAX actually
increases the sampling by 1, so that an odd sampling number is used. This allows for a
more symmetric display of the data.
Contour Format The contour format string. For a discussion of the contour format string syntax, see The
Contour Format String on page 131. The contours are defined in periods; each period
is a phase change of 2 .
Discussion:
This feature accounts for the size and shape of any aperture present on the surface; even if the aperture is
decentered. The phase is computed on a uniform grid of points in XY plane, and the phase value is the displayed
data. This feature defines phase in units of periods; so one period represents a phase change of 2 . Surfaces
which do not impart a phase change to the ray, such as the Standard surface, will display a phase of zero
everywhere on the surface phase display. See also the Surface Sag feature described above.
Item Description
Ray Density If the method is Gaussian quadrature, then the ray density specifies the number of radial
rays to be traced. The more rays traced, the greater the accuracy, although the
computation time increases. The maximum number is 20 which is sufficient for pupil
aberrations up to order 40. If the method is rectangular array, then the ray density
indicates the grid size. Rays outside the circular entrance pupil are ignored. See the
"Discussion" section for details.
Field Density The field density is the number of points between zero degrees and the maximum field
angle specified at which the RMS/Strehl ratio is calculated, intermediate values are
interpolated. A maximum of 100 field points is allowed.
Plot Scale Sets the maximum vertical scale for the plot. Zero results in automatic scaling.
Method Selects either Gaussian quadrature or rectangular array. The Gaussian quadrature
method is very fast and accurate, but only works if there is no vignetting. If any rays are
to be vignetted, then rectangular array is more accurate.
Data Selects either wavefront error, spot radius, spot x-direction, spot y-direction, or Strehl
ratio. Strehl ratio is only available for monochromatic calculations, and is computed
using the method described in Strehl ratio approximation on page 167. For a
polychromatic Strehl, see the Huygens PSF on page 126.
Refer To Select either chief ray or centroid. For monochromatic calculations, the specified
wavelength is used for reference. For polychromatic calculations, the primary
wavelength is used for reference. Both reference points subtract out wavefront piston.
The centroid reference mode also subtracts out the tilt of the wavefront, which yields
smaller RMS values.
Orientation Select +y, -y, +x, or -x field direction. Note the data will only be computed to the limits of
the defined fields in the selected direction.
Use Dashes Selects either solid lines or dashed lines to differentiate the various curves.
Wavelength Select "All" to display data for each wavelength and a polychromatic computation, select
any one wavelength to plot monochromatic data, or select "Poly Only" which only plots
the polychromatic data. Strehl ratio can only be computed for a single wavelength.
Show Diffraction If checked, then a horizontal line indicating the diffraction limited response will be drawn
Limit on the plot. For RMS radius, x, or y; the diffraction limit is assumed to be 1.22 times the
working F/# on axis times the wavelength (primary wavelength if polychromatic). The
change in the diffraction limit due to changes in F/# with field are ignored; a single value
is used across the range of the plot. For Strehl ratio, 0.8 is used, and for RMS wavefront,
0.072 waves is used. These are all approximate indicators for convenience only; the
actual meaning of "diffraction limited" may be open to interpretation.
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details. Only ZEMAX-EE supports this capability.
Remove Vignetting If checked, vignetting factors are automatically removed. See Comment about
Factors vignetting factors on page 117.
Discussion:
Item Description
Ray Density If the method is Gaussian quadrature, then the ray density specifies the number of radial
rays to be traced. The more rays traced, the greater the accuracy, although the
computation time increases. The maximum number is 20 which is sufficient for pupil
aberrations up to order 40. If the method is rectangular array, then the ray density
indicates the grid size. Rays outside the circular entrance pupil are ignored. See the
"Discussion" section for details.
Wave Density The wave density is the number of points between the minimum and maximum defined
wavelength at which the RMS/Strehl ratio is calculated, intermediate values are
interpolated. A maximum of 100 points is allowed.
Plot Scale Sets the maximum vertical scale for the plot. Zero results in automatic scaling.
Method Selects either Gaussian quadrature or rectangular array. The Gaussian quadrature
method is very fast and accurate, but only works if there is no vignetting. If any rays are
to be vignetted, then rectangular array is more accurate.
Data Selects wavefront error, spot radius, spot x-direction, spot y-direction, or Strehl ratio.
Refer To Select either chief ray or centroid. Both reference points subtract out wavefront piston.
The centroid reference mode also subtracts out the tilt of the wavefront, which yields
smaller RMS values.
Use Dashes Selects either solid lines or dashed lines to differentiate the various curves.
Field Select "All" to display data for all fields, select one field to display data for a single field.
Discussion:
This feature calculates the RMS error or Strehl ratio as a function of wavelength for each field position. The
method of calculation is identical to that described in RMS vs. Field on page 132; see that section for a detailed
discussion. The wavelength range is determined by the minimum and maximum wavelengths defined on the
wavelengths dialog box.
RMS vs. Focus
Purpose:
Plots RMS radial, x, and y spot radius, RMS wavefront error, or Strehl ratio as a function of focus change.
Settings:
Item Description
Ray Density If the method is Gaussian quadrature, then the ray density specifies the number of radial
rays to be traced. The more rays traced, the greater the accuracy, although the
computation time increases. The maximum number is 20 which is sufficient for pupil
aberrations up to order 40. If the method is rectangular array, then the ray density
indicates the grid size. Rays outside the circular entrance pupil are ignored. See the
"Discussion" section for details.
Focus Density The focus density is the number of points between the minimum and maximum focus
shift specified at which the RMS/Strehl ratio is calculated, intermediate values are
interpolated. A maximum of 100 points is allowed.
Plot Scale Sets the maximum vertical scale for the plot. Zero results in automatic scaling.
Method Selects either Gaussian quadrature or rectangular array. The Gaussian quadrature
method is very fast and accurate, but only works if there is no vignetting. If any rays are
to be vignetted, then rectangular array is more accurate.
Data Selects either RMS wavefront error, RMS spot radius, RMS X-direction, RMS Y-
direction, or Strehl ratio. Strehl ratio is only available for monochromatic calculations,
and is computed using the method described in Strehl ratio approximation on
page 167. For a polychromatic Strehl, see the Huygens PSF on page 126.
Use Dashes Selects either solid lines or dashed lines to differentiate the various curves.
Refer To Select either chief ray or centroid. For monochromatic calculations, the specified
wavelength is used for reference. For polychromatic calculations, the primary
wavelength is used for reference. Both reference points subtract out wavefront piston.
The centroid reference mode also subtracts out the tilt of the wavefront, which yields
smaller RMS values.
Wavelength Select "All" to display data for a polychromatic computation, select any one wavelength
to plot monochromatic data.
Min Focus The minimum value of the defocus to plot. The units are lens units.
Discussion:
This feature calculates the RMS error or Strehl ratio as a function of a change in focus position for each field
position. The method of calculation is identical to that described in RMS vs. Field on page 132; see that section
for a detailed discussion. ZEMAX adds the specified focus shift to the value of the thickness of the surface prior
to the image plane. If the optical system has an odd number of mirrors, this surface normally would have a
negative thickness, and therefore negative focus values move the image plane farther away from the last
component. For systems with an even number of mirrors, then negative focus values move the image plane closer
to the last component.
Encircled energy
Diffraction
Purpose:
Encircled energy diagram. This is the percentage of total energy enclosed as a function of distance from either
the chief ray or the image centroid at the image of a point object.
Settings:
Item Description
Sampling The size of the ray grid used to sample the pupil. The sampling may be 32x32, 64x64,
etc. Although higher sampling yields more accurate data, calculation times increase.
Type The analysis type option specifies how the encircled energy is calculated; either
encircled (radial), X-only, Y-only, or ensquared.
Maximum Distance This setting overrides the default scaling. The units are micrometers. To choose the
default scaling option, enter zero.
Use Dashes Selects either solid lines or dashed lines to differentiate the various curves.
Refer To Select chief ray, centroid, or vertex as the reference point. Vertex refers to the
coordinates (0, 0) on the image surface. This option will only return meaningful data if
the diffraction image at all selected fields is within the maximum distance of the vertex.
When vertex is selected, ZEMAX is unable to detect if the sampling is sufficient, so some
care should be taken to set the sampling high enough for accurate results.
Surface Selects the surface at which the data is to be evaluated. This is useful for evaluating
intermediate images. See Evaluating results at intermediate surfaces on page 109.
Wavelength The wavelength number to be used in the calculation.
Field The field number for which the calculation should be performed.
Discussion:
!See the discussion sections of the FFT and Huygens PSF. Those comments also apply to this
feature.
The accuracy of the diffraction encircled energy calculation is limited by the magnitude and slope of the OPD
error and the sampling density used. If the sampling density is insufficient, ZEMAX will issue an error message
indicating that the data is inaccurate. To increase the accuracy, increase the sampling density or decrease the
OPD error. If shown, the diffraction limit curve is for the aberration free response at the reference field position
(see Diffraction Limited in the chapter Conventions and Definitions).
Geometric
Purpose:
Computes encircled energy using ray-image plane intercepts.
Settings:
Item Description
Sampling The size of the ray grid used to sample the pupil. The sampling may be 32x32, 64x64,
etc. Although higher sampling yields more accurate data, calculation times increase.
Type The analysis type option specifies how the encircled energy is calculated; either
encircled (radial), X-only, Y-only, or ensquared.
Max Distance This setting overrides the default scaling. The units are micrometers. To choose the
default scaling option, enter zero.
Use Dashes Selects either solid lines or dashed lines to differentiate the various curves.
Refer To Select either chief ray, centroid, vertex, or middle as the reference point. The middle is
the coordinate upon which the smallest circle enclosing all the ray intercepts is centered.
Surface Selects the surface at which the data is to be evaluated. This is useful for evaluating
intermediate images. See Evaluating results at intermediate surfaces on page 109.
Wavelength The wavelength number to be used in the calculation.
Field The field number for which the calculation should be performed.
Multiply by If checked, ZEMAX approximates the diffraction encircled energy by scaling the
Diffraction Limit geometric data by the theoretical diffraction limit curve computed for a rotationally
symmetric Airy disk. The only way to compute an obscured or asymmetric pupil
diffraction limit function would be to perform an exact diffraction calculation, in which
case the diffraction encircled energy feature should be used instead. The diffraction limit
approximation is only useful for systems with unobscured pupils, reasonably rotationally
symmetric images, and modest field angles since the approximation ignores the change
in F/# with field.
Discussion:
The X- and Y-only options will compute the fraction of rays which are contained with plus or minus the specified
distance from either the chief ray or the image centroid. If a scale of 10 micrometers is shown, then the region
enclosed is 20 micrometers across (and infinite in the other direction). The geometric encircled energy is not a
good indicator of performance if the system is close to diffraction limited.
Geometric Line/Edge Spread
Purpose:
Computes the geometric response to a line object and an edge object.
Settings:
Item Description
Sampling The size of the ray grid used to sample the pupil. The sampling may be 32x32, 64x64,
etc. Although higher sampling yields more accurate data, calculation times increase.
Max Radius The maximum radius setting overrides the default scaling. The units are micrometers.
To choose the default scaling option, enter zero.
Surface Selects the surface at which the data is to be evaluated. This is useful for evaluating
intermediate images. See Evaluating results at intermediate surfaces on page 109.
Wavelength The wavelength number to be used in the calculation.
Field The field number to be used in the calculation.
Type The type option specifies which data is displayed on the graph; line and edge, line only,
or edge only.
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details. Only ZEMAX-EE supports this capability.
Discussion:
The line response function (or line spread function, LSF) is the cross section of the intensity pattern of the
image of a line object. The edge spread function (ESF) is the cross section of the intensity pattern of the image
of an edge (a semi-infinite plane). The tangential and sagittal data refer to the orientation of the line or edge. The
zero coordinate is referenced to the chief ray. This is a geometric calculation. See also FFT Line/Edge Spread
on page 125.
Extended Source
Purpose:
Computes encircled energy using an extended source similar to the geometric image analysis feature.
Item Description
Field Size This value defines the full width of the square image file in field coordinates, which may
be either lens units or degrees, depending upon the current field definition (heights or
angles, respectively).
Rays x 1000 This setting determines approximately how many rays will be traced. The number of rays
traced is approximately 1000 times the specified value. The reason the number of rays
is only approximate is because the distribution of rays over the pixels in the image must
be uniform. For example, if there are 1500 pixels in an image file, then at least 1500 rays
will be traced, even if a value of 1 is selected. The distribution of rays at each wavelength
is in proportion to the wavelength weights.
Type The analysis type option specifies how the encircled energy is calculated; either
encircled (radial), X-only, Y-only, or ensquared. The X-only and Y-only options are
sometimes called "enslitted" and correspond to the total fraction of energy contained
within an expanding slit.
There are also options for X- or Y-distributions, which show the energy distribution in
either x or y directions. These latter two options also report the geometric full width at
half max. The X- or Y- distributions are the amount of energy falling on a pixel which is
narrow in one direction and infinite in the other direction.
Refer To Select either chief ray or centroid as the reference point.
Surface Selects the surface at which the data is to be evaluated. This is useful for evaluating
intermediate images. See Evaluating results at intermediate surfaces on page 109.
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details. Only ZEMAX-EE supports this capability.
Multiply by If checked, ZEMAX approximates the diffraction encircled energy by scaling the
Diffraction Limit geometric data by the theoretical diffraction limit curve. The diffraction limit curve
ZEMAX uses is based upon the unobscured circular pupil. The only way to compute the
obscured pupil diffraction limit function would be to perform the exact diffraction
calculation, in which case the diffraction encircled energy feature should be used
instead. The diffraction limit approximation is only useful for systems with unobscured
pupils and modest field angles, since the approximation ignores the change in F/# with
field.
Wavelength The wavelength number to be used in the calculation.
Field The image file may be centered on any defined field position. This permits a small target
such as a bar chart to be moved to any location in the field of view.
File The name of the .IMA image file. This file must reside in the \ImaFiles directory. See the
discussion section in the Geometric Image Analysis feature for a full description of the
IMA file format.
Max Distance This setting overrides the default scaling. The units are micrometers. To choose the
default scaling option, enter zero.
Use Dashes Selects either solid lines or dashed lines to differentiate the various curves.
Remove Vignetting If checked, vignetting factors are automatically removed. See Comment about
Factors vignetting factors on page 117.
Discussion:
The X- and Y-only options will compute the fraction of rays which are contained with plus or minus the specified
distance from either the chief ray or the image centroid. If a scale of 10 micrometers is shown, then the region
Item Description
Ray Density The number of rays on one side of an array of rays used to integrate the illumination of
the exit pupil. A value of 10 will trace about 10 x 10 x pi / 4 or 78 rays. Higher ray densities
yield more accurate results at the expense of longer computation times.
Field Density The number of points along the radial field coordinate to compute the relative
illumination for. Larger field densities yield smoother curves.
Wavelength Selects the wavelength for computation. Relative illumination is a monochromatic entity.
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details. Only ZEMAX-EE supports this capability.
Log Scale If checked, a logarithmic rather than linear scale will be shown.
Remove Vignetting If checked, vignetting factors are automatically removed. See Comment about
Factors vignetting factors on page 117.
Scan Type Choose +y, +x, -y, or -x field scan direction.
Discussion:
This feature computes the relative illumination (RI) as a function of radial y field coordinate. RI is defined as
the intensity of illumination per unit area of image surface normalized to the illumination at the point in the field
that has maximum illumination (which may not be on axis). The computation considers apodization, vignetting,
apertures, aberrations of both the image and pupils, variations in F/#, chromatic aberrations, image surface
shape, angle of incidence, and optionally, polarization effects assuming unpolarized light. The method is based
upon one described in M. Rimmer, "Relative illumination calculations", Proc. SPIE Vol. 655, p99 (1986). The
published method was extended to include apodization, transmission, polarization, and non-planar image surface
effects. The computation method assumes the following are all true:
1. The object scene is plane, uniform, and Lambertian.
2. The image surface is a reasonably good conjugate (that is, an image) of the object surface, so that rays
coming from small patches of light on the object surface are imaged to patches of light on the image surface.
Aberrations are fine, but the rays should be reasonably localized on the image surface.
3. The exit pupil is not too close to the image surface. This condition will be satisfied if the F/# is larger than
about 0.1 and the ray aberrations are small compared to the exit pupil distance.
The relative illumination is computed by integration of the effective area of the exit pupil as seen from the image
point(s). The integration is carried out in direction cosine space using a uniform grid in image cosine space.
Note that the RI computation will not in general yield a cosine-fourth law curve, because the cosine-fourth law
is an approximation based upon a thin, aberration free lens with the stop at the lens illuminating a plane image
surface. For general systems including telecentric systems, systems with pupil or image aberrations, or vignetting,
- ,
E = ------
4A
where A is the area of the projected solid angle of the pupil in cosine space weighted for system transmission.
The Effective F/# is a useful metric for comparing the brightness of the image formed by different optical systems,
because it accounts for RI and is independent of the aperture shape.
Vignetting Plot
Purpose:
Calculates fractional vignetting as a function of field angle.
Settings:
Item Description
Ray Density The ray density specifies the number of rays to be traced. The more rays traced, the
greater the accuracy, although the computation time increases. For a ray density of n,
ZEMAX traces a grid of (2n+1) x (2n + 1) rays at each field point.
Field Density The field density is the number of points between zero degrees and the maximum field
angle specified at which vignetting is calculated, intermediate values are interpolated.
Remove Vignetting If checked, vignetting factors are automatically removed. See Comment about
Factors vignetting factors on page 117.
Discussion:
Fractional vignetting is the percentage of rays incident upon the entrance pupil which pass all obscurations
and apertures in the system and survive to the image plane, normalized to relative pupil area. The graphic
generated by this function shows fractional vignetting as a function of field position. If too few rays are used, the
results may be inaccurate. This is especially true in systems with many apertures and large field angles.
Only the primary wavelength is used in this calculation. This is a geometric calculation. Only positive y field
positions are used, therefore this feature is only appropriate for rotationally symmetric lenses and fields. Rays
which cause errors such as missing a surface or those which are TIR are considered vignetted.
See also the relative illumination feature.
Illumination XY Scan
Purpose:
Computes relative illumination for an extended source along a line across any surface.
Item Description
Sampling Selects the grid size used to sum the illumination. The sampling determines how many
pixels are used to collect the ray data.
Rays x 1000 Determines the approximate total number of rays to be traced in computing the
illumination due to the extended source.
File The name of the IMA file used to define the shape of the extended source. See the
Geometric Image Analysis feature for details.
Source Size The full width in field units of the extended source.
Rotation The angle to rotate the extended source in object space about the normal to the center
of the extended source.
Show As Select either X or Y direction scan.
Smoothing Smoothing helps remove jagged lines due to low ray sampling by applying a smoothing
operator to average the data in adjacent pixels.
Wavelength The wavelength number to be used in the calculation.
Field The field number indicates which field position is used as the center reference point for
the extended source.
Surface The scan may be computed at any surface, however, the relative illumination
computation is only used at the image surface.
Detector Size The total width of the detector in lens units. The detector size is divided into pixels
according to the "Sampling" setting.
Use Relative If checked, then the RI computation described in the feature "Relative illumination" is
Illumination used to weight the rays from various points in the field of view to accurately account for
the effects of exit pupil radiance and solid angle. The computation is generally more
accurate, but slower, if this feature is used. RI may only be used if the selected surface
is the image surface, and ZEMAX assumes the image surface is a reasonable conjugate
of the object surface. See the RI feature for details.
If unchecked, the RI is estimated from the system distortion.
RI is only considered if the surface is the image surface.
Assume If checked, rays are weighted according to the cosine of the angle they make with
Lambertian Source respect to the object surface. This cosine factor is not appropriate in all cases. This
option is not available if "Use Relative Illumination" is checked, since the RI calculation
already assumes the object is Lambertian.
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details. Only ZEMAX-EE supports this capability.
Remove Vignetting If checked, vignetting factors are automatically removed. See Comment about
Factors vignetting factors on page 117.
Discussion:
The illumination XY scan is similar to the relative illumination (RI) feature, with the added capability to estimate
the RI for non-uniform extended sources. For uniform extended Lambertian sources, the RI feature is faster and
more accurate. However, for systems with complex source properties, the illumination XY scan can estimate
illumination by Monte Carlo ray tracing combined with the conventional RI computation.
The extended sources are defined in the same way as described in the Image Analysis feature.
Item Description
Field Size This value defines the full width of the square image file in field coordinates, which may
be either lens units or degrees, depending upon the current field definition (heights or
angles, respectively). Note that when using "field angle" as the field type the square IMA
file is inherently distorted; see the discussion below for details.
Image Size If "Show" is selected as a spot diagram, this value sets the size of the scale bar which
is superimposed on the image. It has no effect on the actual size of the image. The image
size is set by the object scale and the magnification and aberrations of the system. The
default may not be acceptable to see the desired portion of the image.
If "Show" is selected as any other option, this value sets the size of the detector used to
capture rays. Rays landing outside of the image size are ignored, and are not included
in the total detected rays, which will decrease the computed efficiency.
Parity The "Even" setting leaves the object as it would appear when viewed looking down the
negative Z axis in object space. The parity can be set to "Odd" which reverses the object
from top to bottom.
Rotation The rotation can be set to any angle in degrees. The algorithm actually rotates the object
before tracing the rays, so this feature can be used to switch from tangential to sagittal
orientation of bar targets, for example.
Rays x 1000 This setting determines approximately how many rays will be traced. The number of rays
traced is approximately 1000 times the specified value. The reason the number of rays
is only approximate is because the distribution of rays over the pixels in the image must
be uniform. For example, if there are 1500 pixels in an image file, then at least 1500 rays
will be traced, even if a value of 1 is selected. The distribution of rays at each wavelength
is in proportion to the wavelength weights.
Show Choose surface plot, contour map, grey scale, false color map, or spot diagram as the
display option.
Discussion:
ZEMAX supports three different file formats. Two of these formats end in the IMA extension, one in the BIM
extension.
W
%E = ----------i
W j
where the sum i is over all rays which were unvignetted, and the sum over j is over all rays which were
launched. The efficiency calculation considers vignetting, source distribution, wavelength weights, and reflection
and transmission losses in the optical system if the "Use Polarization" checkbox is selected. If "spot diagram" is
selected for the "show" option, then the percent efficiency includes all unvignetted rays. The other display options
vignetted rays that are beyond the extent of the detector size. Therefore, the percent efficiency will be different
between spot diagram displays and other displays if rays fall outside the region of the detector.
Calculating efficiency of multi-mode fibers
ZEMAX has an algorithm for accurately computing fiber coupling into single-mode fibers; for details see Fiber
Coupling Efficiency on page 174. Also see Computing Fiber Coupling on page 530.
To estimate the coupling efficiency for multi-mode fibers, a geometric approach may be used. Place a circular
aperture at or just before the image surface with the appropriate maximum radial aperture representing the core
size. Then set the NA (see the table above) to the maximum acceptance NA of the fiber. The percent efficiency
will then be calculated by summing all the rays that pass the core aperture within the specified NA. The NA of a
typical multi-mode fiber with an inner core of index n i and an outer cladding of index n o is given by
2 2
NA = n i no .
Item Description
Field Y Size This value defines the full y direction size of the source bitmap in field coordinates, which
may be either lens units or degrees, depending upon the current field definition (heights
or angles, respectively).
Parity The "Even" setting leaves the object as it would appear when viewed looking down the
negative Z axis in object space. The parity can be set to "Odd" which reverses the object
from top to bottom.
Rotation The rotation can be set to any angle in degrees. The algorithm actually rotates the object
before tracing the rays, so this feature can be used to switch from tangential to sagittal
orientation of bar targets, for example.
Rays x 1000 This setting determines how many rays will be traced. The distribution of rays at each
wavelength is in proportion to the relative RGB intensities of each pixel.
X-Pixels The number of pixels across the X direction on the detector.
Y-Pixels The number of pixels across the Y direction on the detector.
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details. Only ZEMAX-EE supports this capability.
Grey Scale If checked, the RGB intensities will be averaged at each detector pixel to yield a grey
scale detected image. Rays will still be traced according to the relative RGB intensities
of the source bitmap, but all color information will be lost when the detected image is
displayed.
Discussion:
See also the Geometric Image Analysis feature discussion, as this feature is very similar.
The BMP files used as source bitmaps must be standard Windows format, uncompressed, 24-bit color RGB
bitmaps. Not all files ending in the .BMP extension meet this definition. Contact technical support if you have a
BMP file that does not work correctly for advice on converting the file to the proper format. Any properly formatted
JPG file will work.
The rays generated by each pixel are chosen randomly from coordinates within the source pixel cell. The
entrance pupil coordinates are also chosen randomly for each ray. The distribution of rays is uniform over the
pixel, the ray distribution over the entrance pupil is uniform unless pupil apodization is defined.
The Field Y Height determines the physical size of the source file as seen by the optical system. For example,
if a 50H x 100W pixel source file is used, and the Field Y Height is 2.0 mm (this assumes the fields are defined
in terms of object or image heights), then each pixel represents a 0.040mm x 0.040mm region, and the source
bitmap covers a 2.0mm high x 4.0 mm wide area.
Note that if fields are defined by image height, then Field Y Height determines the size of the object in image
space, not object space. The Field Y Height is always in whatever units the fields are defined in, and so when
using image height as a field type the Field Y Height determines the source bitmap height in image space. The
size of the source in object space is then determined by the Field Y Height divided by the magnification of the lens.
W i
%E = ----------
W j
where the sum i is over all rays which were unvignetted, and the sum over j is over all rays which were
launched. The efficiency calculation also includes consideration of reflection and transmission losses in the
optical system if the "Use Polarization" checkbox is selected, as well as ray errors. Rays that are beyond the
extent of the detector are considered to be vignetted.
Selecting the "Text" option on the menu bar will generate and display an ASCII file listing the detected pixel
data.
Use the "Escape" key to terminate a lengthy image analysis computation.
Diffraction Image Analysis
Purpose:
The diffraction image analysis feature is similar to the geometric image analysis feature, except the complex
system Optical Transfer Function (OTF) is used to compute the image appearance. This method accounts for the
finite pass band and other diffraction related effects real optical systems have on image formation.
The image analysis feature uses IMA/BIM files to describe the object to be imaged. See The IMA format on
page 144 and The BIM format on page 144.
Settings:
Item Description
File Size The full width in lens units of the region defined by the IMA file measured in image space.
Note IMA files are always square.
Oversampling Sets the factor by which the IMA file pixels are oversampled. This increases the effective
resolution of the IMA file without the need to define a new IMA file. If the original IMA file
has an odd number of pixels, oversampling will make the number of pixels even because
the oversampling values are all even.
Zero Padding Determines the actual size of the region to compute the diffraction image of by adding
zero intensity values around the IMA file pixels. This increases the size of the displayed
diffraction image without changing the size of the unaberrated image; this allows study
of the energy diffracted well away from the perfect image location.
To keep the IMA file data centered, zero padding will yield an odd number of pixels if the
original IMA file has an odd number of pixels. The number of pixels will be 2*n-1, where
n is the original number of pixels. If the original IMA file has an odd number of pixels,
the modified image will have 2*n pixels.
OTF Sampling The grid size of the sampling in the pupil; larger grids yield a more accurate
representation of the system OTF. This has no affect on the size of the diffracted image,
just the accuracy of the predicted frequency response.
Show As Choose surface plot, contour map, grey scale, or false color map as the display option.
Discussion:
This feature can compute complex diffraction image properties from extended sources. The method involved
in the computation is based upon Fourier Optics, which is described in clear and insightful detail in "Introduction
to Fourier Optics" by Joseph Goodman, McGraw-Hill 1968. A more detailed treatment of coherent imaging theory
may be found in "Linear Systems, Fourier Transforms, and Optics" by Jack Gaskill, John Wiley 1978. See those
references for more information on coherent vs. incoherent imaging and other Fourier optics theory. There are
several important assumptions in the method that must be understood by the user before this feature may be
used to draw important conclusions.
The IMA file defines the relative intensity at each of an arbitrary number of pixels arranged on a square grid.
For example, the letter "F" may be described by a 7 x 7 grid such as:
0111110
0100000
0100000
0111100
0100000
0100000
0100000
The file size parameter determines how big each pixel is in the image space of the optical system. Note this
is different from the geometric image analysis feature, where the IMA file defines the size and shape in "field"
space, which may be either object or image space. For the diffraction image analysis, the IMA file defines the
ideal image shape in image space. If the file size is 0.1 mm, then each pixel is 14.286 micrometers wide for this
7 x 7 pixel image.
Although the IMA file is convenient for defining simple shapes, the resolution of files created by hand is
generally too low to see sufficient detail in the diffracted image. The oversampling option remedies this problem
by increasing the resolution; the number of pixels is increased, and the data from each pixel is replicated as
required to yield the same shape at higher resolution. With an oversampling of 2X; the letter "F" file IMA image
becomes a 14 x 14 grid:
iKW ( d i f x, d i f y )
H ( f x, f y ) = P ( d i f x, d i f y )e
where H is the complex OTF, d i is the pupil to image distance, f x and f y are the spatial frequencies, P is the
pupil function (which determines the relative transmission over the pupil, and is zero outside the pupil), and W is
the wavefront aberration function. This approximation is valid for a wide range of optical systems. For more
information on the development of coherent imaging theory, see the references by Gaskill or Goodman.
This feature also accounts for any vignetting at the image surface due to surface apertures (apertures at other
surfaces are accounted for via the effects of those apertures on the optical transfer function). After the diffraction
image is computed, any energy that lies outside of the aperture defined on the image surface is eliminated. The
fraction of energy within the unvignetted portion of the image surface aperture is reported on the text version of
the analysis, if the image surface has a defined aperture.
Extended Diffraction Image Analysis
Purpose:
The extended diffraction image analysis feature is similar to the diffraction image analysis feature, except the
Optical Transfer Function (OTF) may vary over the field of view of the image. This feature uses IMA/BIM files to
describe the object to be imaged. See The IMA format on page 144 and The BIM format on page 144.
Settings:
Item Description
File Size The full width in lens units of the region defined by the IMA file. Note IMA files are always
square. This control does not set the size of the resulting image; that is defined by the
Display Size and the OTF sampling (see the discussion below).
Oversampling Sets the factor by which the IMA file pixels are oversampled. This increases the effective
resolution of the IMA file without the need to define a new IMA file. If the original IMA file
has an odd number of pixels, oversampling will make the number of pixels even because
the oversampling values are all even.
Display Size If smaller than the maximum image size available (see the discussion below) then this
parameter will define the width of the displayed image in lens units.
OTF Sampling The grid size of the sampling in the pupil; larger grids yield a more accurate
representation of the system OTF. Larger grids will also yield a larger maximum display
size (see the discussion below).
OTF Grid The grid size of the OTF computation. A denser OTF grid yields a more accurate
computation of the variation of OTF over the field of view of the image at the expense
of more memory usage and slower computation.
Resolution This multiplier yields more points in the final image while keeping the display size fixed,
at the expense of more memory usage.
Show As Choose surface plot, contour map, grey scale, or false color map as the display option.
Data Type Choose either the incoherent image or coherent image. See Comment about the
coherent optical transfer function on page 151 for information about the coherent
transfer function and the limitations of this computation.
Diffraction Limited If checked, aberrations are ignored. Apertures are still considered.
Discussion:
This feature can compute complex diffraction image properties from extended sources while accounting for
the variation in the optical transfer function (OTF) over the field of view. Most of the discussion in the Diffraction
Image Analysis feature applies, see Diffraction Image Analysis on page 148 for details. The differences between
the Diffraction Image Analysis feature and the Extended Diffraction Image Analysis feature are described below.
Diffraction image formation can be thought of as a filtering or as a convolution process. Suppose the ideal,
unaberrated, undiffracted image is described by a function "A" which describes image amplitude as a function of
spatial coordinates in the image space of an optical system. Convolving this function with the system PSF (see
FFT PSF on page 122) here denoted by "P" yields the final image "I":
I ( x, y ) = A ( x, y ) P ( x, y ) ,
where the notation A P denotes the convolution of A and P. Taking the Fourier transform of this equation
yields the spatial filtering perspective of the image forming process:
i ( f x, f y ) = a ( fx, f y ) o ( f x, f y ) ,
where i, a, and o are the transforms of I, A, and P into the spatial frequency domain. The function o is called
the optical transfer function (OTF); which acts as a filter scaling the amplitude and phase of the spatial frequency
components of the image.
The Extended Diffraction Image Analysis eliminates one major assumption of the Diffraction Image Analysis
feature: that the OTF is constant over the field of view represented by the function A. This is accomplished by
considering the source IMA file one pixel at a time, and computing the Fourier transform of the one pixel. The one
pixel transform is multiplied by the OTF corresponding to that pixel. The sum over all pixels is then computed in
spatial frequency space, and finally the sum of the filtered pixel transforms is Fourier transformed back to form
the final image.
Item Description
File The name of the .IMA or .BIM image file. This file must reside in the \ImaFiles directory.
See the discussion section for a full description of the IMA and BIM file formats.
Show Choose surface plot, contour map, grey scale, or false color map as the display option.
Color If the selected file is a binary IMA, this control will select the color channel to display.
Edit IMA File Pressing this button will invoke the Windows Notepad editor which allows modification
of the currently selected IMA file. This button is disabled if the file type is BIM.
Discussion:
See Geometric Image Analysis on page 142 for a discussion of IMA/BIM files.
Biocular Analysis
Field of View
Purpose:
Displays the field of view for up to four configurations. See the discussion for important assumptions before
using this feature.
Item Description
Config 1, 2, 3, 4 Selects which configurations to display the field of view data for.
X Points, Y Points Defines the number of points to use in each direction.
Left/Right X The left and right limits in field of view units.
Top/Bottom Y The upper and lower limits in field of view units.
Use Angles If checked, the field of view units are degrees, otherwise, the units are direction cosines.
Wavelength The wavelength number to be used in the calculation.
Discussion:
This feature is intended to show the field of view for up to four configurations. Field of view in this context
means the angle of rays emanating from the stop surface, not the object surface, which are unvignetted all the
way to the image surface. The primary usage is the analysis of biocular systems, where both eyes look through
the same optical path to see a projected image. This feature makes all of the following assumptions:
-The field of view is either angles in degrees or in direction cosines directly. The angles/cosines are
measured along the chief ray from the stop position relative to the local Z axis at the stop surface. Surfaces
prior to the stop are ignored.
-The image surface is assumed to be the location of the image the eyeball is looking at. Each selected
configuration should represented a single (usually decentered) eyeball position.
-The eyeball decenter should be set up so that the X, Y coordinates on the image surface represent the
same point on the image source in all configurations. For example, if the image source is a CRT, then the
point with image coordinates (x = 1, y = 2) should correspond to the same physical location on the CRT in
all configurations.
-All surfaces should have fixed apertures for the purposes of vignetting rays that are outside of the field of
view.
The field of view is computed by tracing chief rays at various angles from each configuration. If the ray passes
all apertures, then the point on the plot corresponding to that angle will be inside of the closed curve for that
configuration. Each configuration will generate a closed curve representing the limits of the field of view for that
configuration. The ray tracing is done iteratively to determine the exact angles at which the chief rays become
vignetted.
If the field of view units are cosines, then the plot is linear in cosine space, with the Z direction cosine
determined from the X and Y direction cosines. If the field of view units are angles, then the direction cosines of
the chief rays are determined from the X and Y field angles using these formulas:
l m 2 2 2
tan ( x ) = --- , tan ( y ) = ---- , l + m + n = 1 ,
n n
Item Description
Left Eye Config Defines the configuration to use as the left reference eye.
Right Eye Config Defines the configuration to use as the right eye, whose dipvergence and convergence
is determined relative to the left eye.
Do X Scan If checked, the plot scan is across the X direction field of view, otherwise, the scan is
across the Y direction field of view.
Use Angles If checked, the field of view units are degrees, otherwise, the units are direction cosines.
Min/Max Angle/ Sets the limits of the scan in X or Y, in either cosine space or in degrees. Note the limits
Cosine do not need to be symmetric, and the min value need not be less than the max value.
X/Y Angle/Cosine If "Do X Scan" is checked, then up to 6 Y angles/cosines offsets may be selected for
1-6 display. If "Do X Scan" is unchecked, then up to 6 X angles/cosines offsets may be
selected for display. To turn off one or more of the offset values, set the value to -99.
# Points The number of points to use across the full scan.
Wavelength The wavelength number to be used in the calculation.
Convergence This value is subtracted from the computed convergence value. This allows only the
Offset deviation from the desired value to be displayed.
Discussion:
The assumptions made for this feature are the same as for Field of View on page 153.
When two eyes are used to look through a biocular lens, there is usually a small angular difference between
the direction the two eyes must look to see the same image point. The vertical (up/down) angle is called
dipvergence. The horizontal left-right angle is called convergence if the eyes gaze toward a common point in front
of the viewers head, so the chief rays from the two eye positions would converge as they move toward the lens
and away from the viewers head. If the two chief rays diverge as the rays propagate toward the lens, as if to see
a virtual image point behind the head, then the angle is called divergence. Convergence and divergence are really
the same thing from a computational standpoint. ZEMAX uses the common convention that convergence is a
positive value and divergence is a negative value; for this reason only the term convergence will be used in the
subsequent discussion, with the understanding that if the convergence is negative then it is properly called
divergence. Usually, convergence is more tolerable than divergence and the two aberrations may have different
specifications. Dipvergence and convergence are both measured in milliradians, and typical limits are on the order
of 1.0 milliradians for visual systems.
The computation proceeds for a given point in the field of view by tracing a reference ray in the left eye
configuration. The same angle chief ray is then traced in the right eye configuration. In general, the right eye ray
will not land on the exact same X, Y coordinates on the image surface as the left eye reference ray did. ZEMAX
iterates the right eye trace until the chief ray is found that matches the left eye reference ray intercept coordinates.
The resulting right eye chief ray will in general make some angle with respect to the left eye in both the vertical
and horizontal directions, and it is these angles that are the dipvergence and convergence, respectively.
Note that both the left eye and the right eye chief rays must pass all surfaces without errors and without
vignetting for the computation to be valid. If both rays do not trace, no data will be returned for that field of view.
The field of view overlap between the configurations is very useful for setting appropriate min/max scan values,
see the Field of View on page 153 for determining the field of view overlap.
It is possible for the iteration required for the right eye to fail. This typically happens if either no solution exists
or if the dipvergence/convergence is so large that algorithm becomes unstable. Failed iteration will usually show
up as gaps in the plot.
Item Description
Max Curvature Defines the maximum scale for the field curvature plot in lens units. Enter zero for
automatic.
Max Distortion Defines the maximum scale for the distortion plot in percent. Enter zero for automatic.
Wavelength The wavelength number to be used in the calculation.
Use Dashes Selects either solid lines or dashed lines to differentiate the various curves.
Ignore Vignetting See the discussion section.
Factors
Distortion Select Standard, F-Theta, or Calibrated. See the discussion section for details.
Scan Type Choose +y, +x, -y, or -x field scan direction.
Discussion:
The field curvature plot shows the distance from the currently defined focal (image) plane to the paraxial focal
plane as a function of field coordinate. The tangential data are the distances measured along the Z-axis from the
currently defined focal plane to the paraxial focal plane measured in the tangential (YZ) plane. The sagittal data
are the distances measured in the plane orthogonal to the tangential plane. The base of the plot is on axis, and
the top of the plot represents the maximum field (angle or height). There are no units on the vertical scale because
the plot is always normalized to the maximum radial field.
The field curvature for the tangential and sagittal rays is defined as the distance from the defined image plane
to the paraxial focus for that ray. In non-rotational systems, the real ray and the chief ray may never intersect, and
so the value presented is at the point of closest approach.
The field scan is along the +Y field by default. If +X or -X is selected, then the field scan is along the X direction,
in which case the tangential curve is for the XZ plane, and the sagittal curve is in the YZ plane.
Users often ask why the field curvature plot does not always start at zero for zero field. The reason is that the
plot shows the distance from the currently defined image plane to the paraxial focal plane, and the currently
defined image plane need not be coincident with the paraxial focal plane. If there is any defocus, then the two
planes are offset, and so is the field curvature data.
"Standard" distortion in percent is defined as the real chief ray height, minus the reference ray height, divided
by the reference ray height, times 100:
y chief y ref
Distortion = 100 --------------------------- ,
y ref
where all heights are taken to be the image surface radial coordinate, at whatever image surface is defined
(the data is not referred to the paraxial image plane). The reference ray height is computed by tracing a real ray
from a very small field height, and then scaling the results as required. This generalization permits the
computation of reasonable distortion values even for systems not well described by paraxial ray tracing. The
reference height for the undistorted ray in a rotationally symmetric system at paraxial focus is given by
y ref = f tan ,
y ref = f ,
where f is the focal length and is the angle in object space. F-Theta is used in scanning systems where the
image height needs to be linear with scan angle.
"Calibrated" distortion is similar to "F-Theta" distortion, except that the "best-fit" focal length is used rather than
the system focal length. Calibrated distortion measures the deviation from linearity between the image height and
the field angle, without the restriction that the proportion of linearity be defined by the focal length of the system.
A focal length is chosen that best fits the data, rather than the system focal length, although in general the best
fit focal length is close to the system focal length. The calibrated focal length used is given on the text listing for
this feature. The reference height for the undistorted ray is given by
y ref = f' ,
where f is the calibrated focal length and is the angle in object space. One somewhat surprising effect of
this definition of calibrated distortion is the non-zero distortion at zero field angle. The reason for this non-zero
distortion is best explained by looking at the limiting behavior of the definition of calibrated distortion. Calibrated
distortion in percent is defined as
y chief y ref
Distortion = 100 --------------------------- .
y ref
For small angles, the real y chief ray coordinate in any reasonable optical system is well described by
y chief = f , and the reference ray coordinate by y ref = f' , so the distortion near zero field is
which is not zero, unless f = f' . Therefore, the calibrated distortion is not generally zero on axis. This does
not mean the image height is not zero, it is an artifact of the different choice of focal lengths for the reference and
actual ray coordinates near the optical axis. Note that a percentage distortion near the axis is not significant
because the field itself approaches zero at zero field angle.
For non-rotationally symmetric systems, distortion is poorly defined and the data presented is probably
meaningless. The reason is that no single number adequately describes distortion at a single field point if the
system is not rotationally symmetric. Instead, see Grid Distortion on page 158.
Strictly speaking, the field curvature and distortion plots are only valid for rotationally symmetric systems with
plane object and image surfaces. However, ZEMAX uses a generalization of the field curvature and distortion
concepts to give reasonable results for some, but not all, non-rotationally symmetric systems. Caution should be
used when interpreting these data for non-rotationally symmetric systems or systems with object and/or image
surfaces that are not planes.
Item Description
Display Select either "Cross" to mark each chief ray intercept with a cross, or "Vector" to
plot a vector from the ideal image point to the actual chief ray image point.
Grid Size The size of the grid.
Wavelength The wavelength number to be used in the calculation.
Ref. Field The reference field position. See the "Discussion".
Scale If the scale is different than 1.0, then the "x" points on the distortion grid will be
exaggerated by the selected scale factor. The scale factor may be negative to
change positive to negative distortion on the plot.
H/W Aspect If unity, then a square field will be selected. The output image may not be square
if the system is not symmetric, but the object field will be square. If the H/W aspect
is greater than 1, then the "height" or "y" field will be expanded by the aspect ratio.
If the aspect is less than 1, then the "height" or "y" field will be compressed by the
aspect ratio. The aspect ratio is the "y" field height divided by the "x" field width.
The aspect ratio only affects the input field; the image aspect ratio is determined
by the optical system imaging properties.
Symmetric Magnification If checked, then the X magnification is required to be identical to the Y
magnification. This causes distortion to be referenced to a symmetric predicted
grid rather than an anamorphic predicted grid.
Field Width The full width, in field units, of the "x" field of view.
Discussion:
This feature displays or computes the coordinates of a grid of chief rays. In a system without distortion, the
chief ray coordinates on the image plane follow a linear relationship with the field coordinate:
xp f
= A B x ,
yp C D fy
where xp and yp are the predicted image coordinates relative to a reference image point and fx and fy are the
linear coordinates on the object surface relative to a reference point. For optical systems using angles as a field
definition, fx and fy are the tangents of the field angles (the field coordinates must be linear, therefore, tangents
of angles rather than angles are used). To compute the ABCD matrix, ZEMAX traces rays over a very small region
centered upon the reference field position. Usually, this is the center of the field of view. ZEMAX allows selection
of which field position to use for reference.
1
wide = 2 tan ------2- tan r ,
2
where r is the maximum radial field angle at the corner of the field.
The ray coordinates in image space for the very small field of view are used to determine the ABCD matrix
components. The use of an ABCD matrix allows for coordinate rotations. If the image plane is rotated, such that
a y object coordinate images to both an x and a y image coordinate, the ABCD matrix will automatically account
for the rotation. The grid distortion plot shows the linear grid, and then marks the actual chief ray intercept for a
ray with the same linear field coordinates with an "X" for each point on the grid.
If the optical system is not rotationally symmetric, then the distortion is not generally radial. The distortion is a
vector, and the magnitude of the distorted vector must be used to compute the total distortion.
The text listing available tabulates the predicted image coordinate, the actual image coordinate, and the
"percent distortion" defined by
R distorted
P = 100% -------------------- , where
R predicted
2 2
R real = ( xr ) + ( yr ) ,
2 2
R predicted = ( x p ) + ( y p ) , and
2 2
R distorted = ( xp xr ) + ( yp yr ) ,
and the subscripts r and p refer to the real and predicted coordinates on the image plane relative to the
reference field position image location, respectively. Because the values for R real and R predicted are always
positive, this definition will always yield a positive value for P . However, it is still a frequently useful concept to
distinguish between "positive" and "negative" distortion. To support this, if R real is less than R predicted , then the
sign of P is changed to be negative.
!This definition of generalized distortion may not be applicable in all cases, and the results
should be used with caution.
ZEMAX cannot compute the distortion in the manner described here if the field type is real image height. The
reason is that when using real image height, ZEMAX iterates each ray trace to find the exact field coordinate to
hit the desired image coordinate; implicitly removing the distortion. As a workaround, ZEMAX automatically
changes the field type from real to paraxial image height for the purposes of this computation, and this may affect
the accuracy of the results for some systems. Generally the results will be accurate if the distortion is small.
Grid distortion cannot be calculated if the field units are angles and the maximum angle equals or exceeds 90
degrees. This limitation is due to the assumption that the predicted image height is proportional to the tangent of
the field angle in object space. When the field angle exceeds 90 degrees, the tangent does not predict the linear
image height correctly.
Item Description
Ray Density Determines the number of rays traced across the half pupil; a setting of 10 will trace a
grid of 21 x 21 rays.
Surface The surface to show the beam footprint on.
Wavelength The wavelength number to be used in the calculation.
Field The field number to be used in the calculation.
Delete Vignetted If checked, then rays which are vignetted by subsequent surfaces will not be drawn.
Rays which are vignetted by prior surfaces are never drawn.
Use Symbols If checked, this option will draw different symbols rather than dots for each wavelength.
This helps distinguish the various wavelengths.
Configuration Select "All" to draw all configurations at once, or select the one configuration to draw, or
select "Current" to show the active configuration.
Color Rays By Select "Fields" to use color to distinguish between each field position, or "Waves" to
distinguish between each wavelength, or "Config" to distinguish between configurations.
Discussion:
This feature will draw the shape of the surface, and then superimpose on that surface a grid of rays. If there
is no aperture on the surface, then a circular surface shape with a radial clear aperture of the semi-diameter value
is shown. Otherwise, the shape of the aperture is shown. The surface aperture is always shown as centered in
the frame; even if the aperture is decentered on the actual surface. If there is an obscuration on the surface, then
the obscuration will be drawn along with the circular aperture defined by the semi-diameter.
The ray grid size is specified by the ray density parameter, and rays may be from any or all fields, at any or all
wavelengths. Rays which are vignetted by surfaces prior to the surface shown are not drawn. Rays which are
vignetted by the surface or subsequent surfaces are not drawn if "delete vignetted" is checked, otherwise, they
are drawn. The ray set is apodized if any system pupil apodization is selected. The number of rays shown divided
by the total number of rays launched is shown as a percentage.
Longitudinal Aberration
Purpose:
Displays the longitudinal aberration as a function of pupil height at each wavelength.
Settings:
Item Description
Plot Scale Defines the maximum scale for the plot in lens units. Enter zero for automatic.
Wavelength The wavelength number to be used in the calculation.
Use Dashes Selects either solid lines or dashed lines to differentiate the various curves.
Item Description
Plot Scale Defines the maximum scale for the plot in lens units. Enter zero for automatic.
Use Real Rays If checked, real rays are used, otherwise paraxial rays are used.
All Wavelengths If checked, then data for all defined wavelengths will be displayed. Each wavelength will
be referenced to the primary wavelength. If not checked, then the difference between
the shortest and longest wavelength rays will be used. See the discussion.
Show Airy Disk If checked, then the Airy disk radius at the primary wavelength will be plotted on either
side of the reference line to indicate the extent of the Airy disk.
Discussion:
This feature computes the lateral color either of two ways:
If "All wavelengths" is checked: The data computed is the distance on the image surface from the intercept of
the chief ray at each wavelength to the primary wavelength chief ray intercept.
If "All Wavelengths" is not checked: The data computed is the distance on the image surface from the shortest
wavelength chief ray intercept to the longest wavelength chief ray intercept.
The base of the plot is on axis, and the top of the plot represents the maximum field radius. Only positive field
angles or heights in the Y direction are used. The vertical scale is always normalized to the maximum field angle
or height. The horizontal scale is in micrometers. Either real or paraxial rays may be used.
If "Show Airy Disk" is check on, then the Airy disk radius will be approximated as the square root of the sum
of the squares of the X and Y direction Airy disk radii.
This feature may produce meaningless data for non-rotationally symmetric systems. Great care should be
exercised in interpreting this plot for non-rotationally symmetric systems.
Y-Ybar Diagram
Purpose:
Y-Ybar diagram.
Settings:
Item Description
First Surface The first surface for which data will be plotted.
Last Surface The last surface for which data will be plotted.
Discussion:
The Y-Ybar diagram is a plot of marginal ray height as a function of chief ray height for a paraxial skew ray at
every surface in the lens.
Chromatic Focal Shift
Purpose:
Chromatic focal shift plot.
Settings:
Item Description
Maximum Shift The maximum extent in lens units for the horizontal axis. The vertical axis scale is set
by the range of wavelengths defined. Enter zero for automatic.
Pupil Zone The radial zone in the pupil used to compute the back focus. The default value of zero
means a paraxial ray will be used. Values between 0 and 1 mean real marginal rays are
used in the appropriate zone in the entrance pupil. A 1 is at the edge of the pupil, or full
aperture.
Discussion:
This is a plot of the shift in back focal length with respect to the primary wavelength. At each plotted
wavelength, the shift in the image plane required to reach focus for that color marginal ray is computed. The shift
distance is computed in the same media (glass or air) as the surface prior to the image surface. This plot may
not be meaningful for non-paraxial systems.
The maximum shift setting overrides the default scaling. Units are in lens units. The entire plot is always
referenced to the primary wavelength paraxial focus. The diffraction limited depth of focus listed is given by the
2
formula 4F , where F is the working F/# and is the primary wavelength.
Dispersion Diagram
Purpose:
Plots index of refraction as a function of wavelength for any material in the glass catalog.
Settings:
Item Description
Min Wavelength Defines the left X- axis of the dispersion plot.
Max Wavelength Defines the right X- axis of the dispersion plot.
Minimum Index Defines the bottom Y- axis of the dispersion plot. Enter zero for automatic scaling.
Maximum Index Defines the top Y- axis of the dispersion plot. Enter zero for automatic scaling.
Glass The name of the material.
Use Temperature, If checked, then the change in index due to temperature and pressure effects will be
Pressure considered.
Discussion:
Item Description
Min Abbe Defines the left X- axis of the plot.
Max Abbe Defines the right X- axis of the plot.
Min Index Defines the bottom Y- axis of the plot. Enter zero for automatic scaling.
Max Index Defines the top Y- axis of the plot. Enter zero for automatic scaling.
Discussion:
This is useful for locating a glass with particular refractive and dispersive properties. By convention, the glass
map is shown with the Abbe number decreasing while going from left to right, which is why the default min and
max Abbe numbers seem to be reversed.
Internal Transmittance vs. Wavelength
Purpose:
Plots the internal transmittance for any thickness as a function of wavelength for any material in the glass
catalog.
Settings:
Item Description
Min Wavelength Defines the left X- axis of the plot.
Max Wavelength Defines the right X- axis of the plot.
Minimum Defines the bottom Y- axis of the plot.
Transmission
Maximum Defines the top Y- axis of the plot. Enter zero for automatic scaling.
Transmission
Glass The name of the material.
Thickness The thickness of the glass in millimeters.
Discussion:
This is useful for checking the transmittance of a particular glass. See the Chapter Polarization Analysis.
System Summary Graphic
Purpose:
Displays in a graphic window a summary of the system data, similar to the text based system data report.
Settings:
None.
Discussion:
Item Description
Wavelength The wavelength number to use for the calculation.
Discussion:
ZEMAX will compute the unconverted Seidel, transverse, longitudinal, and some wavefront coefficients. The
Seidel coefficients are listed surface by surface, as well as a sum for the entire system. The coefficients listed are
for spherical aberration (SPHA, S1), coma (COMA, S2), astigmatism (ASTI, S3), field curvature (FCUR, S4),
distortion (DIST, S5), longitudinal color (CLA, CL), and transverse color (CTR, CT). The units are always the same
as the system lens units, except of course for the coefficients measured in waves.
These calculations are only valid and accurate for systems consisting entirely of standard surfaces. Any
systems which contain coordinate breaks, gratings, paraxial, or other non-standard surfaces are not adequately
described by the paraxial rays which are used to compute the coefficients.
Transverse aberration coefficients are listed for each surface and for the system as a whole. The coefficients
given are transverse spherical (TSPH), transverse sagittal coma (TSCO), transverse tangential coma (TTCO),
transverse astigmatism (TAST), transverse Petzval field curvature (TPFC), transverse sagittal field curvature
(TSFC), transverse tangential field curvature (TTFC), transverse distortion (TDIS), transverse axial color (TAXC),
and transverse lateral color (TLAC). The transverse aberrations are in the system lens units. The transverse
aberration coefficients may be very large in optical spaces where the light is nearly collimated, and have little
meaning in these optical spaces.
Longitudinal aberration coefficients are computed for longitudinal spherical aberration (LSPH), longitudinal
sagittal coma (LSCO), longitudinal tangential coma (LTCO), longitudinal astigmatism (LAST), longitudinal Petzval
field curvature (LPFC), longitudinal sagittal field curvature (LSFC), longitudinal tangential field curvature (LTFC),
longitudinal distortion (LDIS), longitudinal axial color (LAXC), and longitudinal lateral color (LLAC). The longitu-
dinal aberrations are in the system lens units. The longitudinal aberration coefficients may be very large in optical
spaces where the light is nearly collimated, and have little meaning in these optical spaces.
The wavefront coefficients given are spherical aberration (W040), coma (W131), astigmatism (W222), field
curvature Petzval (W220P), distortion (W311), axial color defocus term (W020), lateral color tilt term (W111), field
curvature sagittal (W220S), field curvature medial (W220M), and field curvature tangential (W220T). All the
wavefront coefficients are in units of wavelengths at the edge of the exit pupil. The various aberration coefficients
are interrelated according to the following table. The symbols n and u refer to the index of refraction and the
paraxial marginal ray angle in the object space side of each surface. The primes above the n and u symbols
indicate that these are the values on the image space side of the surface. For a discussion of the meaning and
derivation of the Seidel aberration coefficients, see Welford, Aberrations of Optical Systems, Smith, Modern Lens
Design, or O' Shea, Elements of Modern Optical Design. A list of good references can be found in REFERENCES
ON LENS DESIGN on page 31.
Spherical Spherical S1
S1 S1
S1 ----- ----------- -------------
-
2
8 2n'u' 2n'u'
Coma Sagittal S2
S2
----------- -------------
-
2
2n'u' 2n'u'
S2
S2 -----
2 Tangential
3S 2 3S 2
----------- -------------
-
2n'u' 2
2n'u'
Astigmatism From tangential S3
S3 to sagittal foci S3
S3 ----- -------- ----------
-
2 n'u' 2
n'u'
Field Curvature Gaussian to S4
S4 S4 Petzval S4
----- ----------- -------------
-
4 2n'u' 2
2n'u'
Gaussian to
S3 + S4 sagittal ( S3 + S4 ) S3 + S 4
S3 + S4 ----------------- ---------------------- -----------------
4 2n'u' 2
2n'u'
Gaussian to
2S 3 + S 4 medial ( 2S 3 + S 4 ) 2S 3 + S 4
2S 3 + S 4 -------------------- ------------------------- --------------------
4 2n'u' 2
2n'u'
Gaussian to
3S 3 + S 4 tangential ( 3S 3 + S 4 ) 3S 3 + S 4
3S 3 + S 4 -------------------- ------------------------- --------------------
4 2n'u' 2
2n'u'
Distortion Distortion S5
S5 S5
S5 ----- ----------- -------------
-
2
2 2n'u' 2n'u'
Axial Color Chromatic CL
CL aberrations are C
CL ------ measured
-------L- ----------
-
2
2 n'u' n'u'
between the
extreme defined
Lateral Color wavelengths,
C CT
CT CT referenced to the -------T- ----------
-
selected n'u' 2
wavelength. n'u'
The Petzval radius of curvature shown on the Seidel screen is in system lens units, as is the Lagrange (or
optical) invariant.
Zernike Fringe Coefficients
Purpose:
Calculates the Zernike coefficients using the Fringe (also called the "University of Arizona") polynomials.
Item Description
Sampling Specify the density in the pupil to use for coefficient fitting. Larger grid sizes are more
accurate, although the computation time increases.
Max Term Specify the maximum Zernike coefficient to compute. Any value up to 37 may be
specified.
Wavelength The wavelength number to use for the calculation.
Field The field number to use for the calculation.
Ref OPD To Vertex Normally, ZEMAX references the OPD to the chief ray; which in effect subtracts out tilt
from the wavefront phase. For interferometry, it is sometimes desirable to retain the
wavefront tilt. Checking this option on will add tilt to the beam based upon the deviation
of the chief ray from the image surface vertex. This option is only useful for field positions
whose chief ray is reasonably close to the surface vertex, where the assumption that tilt
is described by the deviation of the chief ray is valid.
Surface Selects the surface at which the data is to be evaluated. This is useful for evaluating
intermediate images. See Evaluating results at intermediate surfaces on page 109.
Discussion:
The Zernike screen displays the individual coefficients as well as the peak-to-valley, RMS, variance, Strehl
ratio, residual RMS fit error, and maximum fit error.
The RMS of the wavefront error, , when referenced to the mean, is defined as
2 2 2
= W W
2
where W is the wavefront error, W is the mean square error, and W is the average wavefront error. The RMS
can actually be computed several different ways. If the mean wavefront term is ignored, then the RMS "referenced
2
to zero" results. This computation yields the square root of W directly, and is rarely used.
If the mean wavefront is subtracted from all the wavefront phase values (the absolute phase reference has no
physical meaning), then the RMS is "referenced to the mean".
Typically, the RMS is further referenced to the tilted and shifted reference sphere which minimizes the RMS.
This is equivalent to subtracting out not only the mean (which is piston) but the average tilt in x and y as well. This
is justified because tilt shifts the location of the diffraction image centroid, but otherwise has no affect on image
quality. For brevity, ZEMAX calls this reference point the "centroid", although it is a reference point which is usually
close to but not exactly at the diffraction image centroid. Most of the time, the RMS is taken to mean the RMS
referenced to the centroid, which is always the lowest of the three numbers.
The W values used by the Zernike RMS computations are the "raw" OPD values measured by computing the
phase of each ray as it intercepts the reference sphere. The reference sphere is centered on the chief ray - image
surface intercept point, and has a radius equal to the "exit pupil position" length (see Exit pupil position on
page 47). This method does not consider a subtle effect due to the change in the location of the center of the
reference sphere in the presence of coma. For this reason, the Zernike based estimate of the RMS wavefront
referenced to the centroid may differ slightly from that computed by the RMS analysis feature; see Comments
about RMS wavefront computations on page 133 for more information.
( 2 )
2
S = e .
This approximation is valid for monochromatic calculations resulting in a Strehl ratio higher than about 0.10.
This feature computes a maximum of 37 Zernike terms. The particular Zernike terms used are not orthonormal,
but are instead all normalized to have unity magnitude at the edge of the pupil. Some of the higher order terms
in the expansion were dropped to keep the total number of terms small, and the terms remaining were selected
to favor accurate fitting of higher order spherical aberration. This particular set of Zernike polynomials is
sometimes called the "Fringe" or "University of Arizona" notation. The more formal, and more general polynomial
set is the Standard notation, sometimes called the "Born & Wolf" or the similar "Noll" notation, which is described
under the "Zernike Standard Coefficients" feature.
The Zernike Fringe polynomials are defined in the following table. The angle is measured counter clockwise
from the local +x axis. The radial coordinate is the normalized dimensionless parameter .
ZERNIKE FRINGE POLYNOMIALS
Term Z( , )
1 1
2 cos
3 sin
4 2
2 1
5 2
cos 2
6 2
sin 2
7 2
( 3 2 ) cos
8 2
( 3 2 ) sin
9 4 2
6 6 + 1
10 3
cos 3
11 3
sin 3
12 2 2
( 4 3 ) cos 2
13 2 2
( 4 3 ) sin 2
14 4 2
( 10 12 + 3 ) cos
15 4 2
( 10 12 + 3 ) sin
Item Description
Sampling Specify the density in the pupil to use for coefficient fitting. Larger grid sizes are more
accurate, although the computation time increases.
Max Term Specify the maximum Zernike coefficient to compute. Any value up to 231 may be
specified.
Wavelength The wavelength number to use for the calculation.
Field The field number to use for the calculation.
Ref OPD To Vertex Normally, ZEMAX references the OPD to the chief ray; which in effect subtracts out tilt
from the wavefront phase. For interferometry, it is sometimes desirable to retain the
wavefront tilt. Checking this option on will add tilt to the beam based upon the deviation
of the chief ray from the image surface vertex. This option is only useful for field positions
whose chief ray is reasonably close to the surface vertex, where the assumption that tilt
is described by the deviation of the chief ray is valid.
Surface Selects the surface at which the data is to be evaluated. This is useful for evaluating
intermediate images. See Evaluating results at intermediate surfaces on page 109.
Discussion:
This feature is almost identical to the "Zernike Fringe Coefficients" feature, except a somewhat different
numbering scheme is used, more terms in the expansion are available for fitting, the terms are orthogonal and
normalized, and none of the terms are skipped. See the description of Zernike Fringe Coefficients on page 165
for some important details.
The most general way to express the Zernike polynomials is in the form
m
m im Rn ( ) cos m
R n ( )e =
Rm ( ) sin m
n
The radial portion of the polynomial is defined by two indices, n and m. The n index defines the order of the
5
radial power; so an n value of 5 would indicate all polynomials whose maximum radial power was . Only certain
values for m are allowed once n is chosen; n + m must be even, and 0 m n . For details on Zernike Standard
polynomials, see "Principles of Optics", by Born & Wolf, referenced in Chapter 1, or the Noll reference listed
above. The terms are orthonormal such that the magnitude of the coefficient of each term is the RMS contribution
of the term.
This feature lists the formulas next to the fitted coefficients; the entire 231 term table is too long to include here.
The first 28 terms are given below. The angle is measured counter clockwise from the local +x axis. The radial
coordinate is the normalized dimensionless parameter .
Term Z( , )
1 1
2
4 cos
3
4 sin
4 2
3 ( 2 1 )
5 2
6 ( sin 2 )
6 2
6 ( cos 2 )
7 3
8 ( 3 2 ) sin
8 3
8 ( 3 2 ) cos
9 3
8 sin 3
10 3
8 cos 3
11 4 2
5 ( 6 6 + 1 )
12 4 2
10 ( 4 3 ) cos 2
13 4 2
10 ( 4 3 ) sin 2
14 4
10 cos 4
15 4
10 sin 4
16 5 3
12 ( 10 12 + 3 ) cos
17 5 3
12 ( 10 12 + 3 ) sin
18 5 3
12 ( 5 4 ) cos 3
19 5 3
12 ( 5 4 ) sin 3
20 5
12 cos 5
21 5
12 sin 5
22 6 4 2
7 ( 20 30 + 12 1 )
Item Description
Sampling Specify the density in the pupil to use for coefficient fitting. Larger grid sizes are more
accurate, although the computation time increases.
Max Term Specify the maximum Zernike coefficient to compute. Any value up to 231 may be
specified.
Wavelength The wavelength number to use for the calculation.
Field The field number to use for the calculation.
Ref OPD To Vertex Normally, ZEMAX references the OPD to the chief ray; which in effect subtracts out tilt
from the wavefront phase. For interferometry, it is sometimes desirable to retain the
wavefront tilt. Checking this option on will add tilt to the beam based upon the deviation
of the chief ray from the image surface vertex. This option is only useful for field positions
whose chief ray is reasonably close to the surface vertex, where the assumption that tilt
is described by the deviation of the chief ray is valid.
Obscuration The obscuration ratio, of the annular pupil.
Surface Selects the surface at which the data is to be evaluated. This is useful for evaluating
intermediate images. See Evaluating results at intermediate surfaces on page 109.
Discussion:
This feature is similar to the "Zernike Standard Coefficients" feature, except the pupil may be annular rather
than circular. See that discussion, and the references above, for important information. The annular nature of the
pupil is defined by the single parameter , defined as
R inner
= -------------- ,
R outer
Term Z( , , )
1 1
2 2 cos -
------------------
2
1+
3 2 sin -
-----------------
2
1+
4 2 2
3 ( 1 + 2 )
------------------------------------------
2
1
5 2
6 sin 2-
-----------------------------
2 4
1+ +
6 2
6 cos 2-
-----------------------------
2 4
1+ +
7 4 2 2 2
2 2 ( 2 2 + 3 + ( 2 + 3 ) ) sin -
-----------------------------------------------------------------------------------------------------------
2 2 2 2 4
( 1 ) ( 1 + ) ( 1 + 4 + )
8 4 2 2 2
2 2 ( 2 2 + 3 + ( 2 + 3 ) ) cos -
------------------------------------------------------------------------------------------------------------
2 2 2 2 4
( 1 ) ( 1 + ) ( 1 + 4 + )
9 3
2 2 sin 3 -
----------------------------------------
2 4 6
1+ + +
10 3
2 2 cos 3 -
----------------------------------------
2 4 6
1+ + +
11 4 2 4 2 2
5 ( 1 + 6 + 6 + ( 4 6 ) )-
-------------------------------------------------------------------------------------------
2 2
( 1)
14 4
10 cos 4 -
----------------------------------------------------
2 4 6 8
1+ + + +
15 4
10 sin 4 -
----------------------------------------------------
2 4 6 8
1+ + + +
16
( 2 3 )EQ cos -
------------------------------------------------------- , where
2 3 2 4
( 1 ) ( 1 + 4 + )
2 2 2 4
( 1 ) ( 1 + 4 + )
E = -------------------------------------------------------- , and
2 4 6
1 + 9 + 9 +
8 2 4 6 2 4 2 4 2 2 4
Q = ( 3 + 3 12 + 10 12 ( 1 ) + 2 ( 15 24 + 5 ) + 4 ( 3 12 + 10 ) ) .
17
( 2 3 )EQ sin -
------------------------------------------------------- , where E and Q are defined as in term 16 above.
2 3 2 4
( 1 ) ( 1 + 4 + )
18 3
( 2 3 )EQ cos 3
------------------------------------------------------------ , where
2 4 2 4
( 1) ( 1 + )( 1 + )
2 6 2 4
( 1 ) (1 + )(1 + )
E = -----------------------------------------------------------------------------------------------------
- , and
2 4 6 8 10 12
1 + 4 + 10 + 20 + 10 + 4 +
8 2 2 2 4 2 6 2
Q = 4 + 4 5 + ( 4 5 ) + ( 4 5 ) + ( 4 5 ) .
19 3
( 2 3 )EQ sin 3
------------------------------------------------------------ , where E and Q are defined as in term 18 above.
2 4 2 4
( 1) ( 1 + )( 1 + )
20 5
2 3 cos 5
------------------------------------------------------------------
2 4 6 8 10
1+ + + + +
Calculations
Ray Trace
Purpose:
Paraxial and real trace of a single ray.
Settings:
Item Description
Hx Normalized x-field coordinate. The value should be between -1 and 1.
Hy Normalized y-field coordinate. The value should be between -1 and 1.
Field Select either a specific field or "Arbitrary" to enter in Hx and Hy. If a specific field is
selected; the Hx and Hy controls are grayed out.
Wavelength The wavelength number of the ray to trace.
Px Normalized x-pupil coordinate. The value should be between -1 and 1.
Py Normalized y-pupil coordinate. The value should be between -1 and 1.
Global Coordinates If checked, all ray trace data is given in global coordinates rather than local coordinates,
except tangent angles.
Type Select "Dir Cosines" to display the ray direction cosines at each surface, "Tangent Ang"
to display the tangent of the angle the ray makes at each surface, or "Ym,Um,Yc,Uc" to
display the paraxial marginal and chief ray intercept/tangent angle display. The tangent
angle is the ratio of the x (or y) direction cosine to the z direction cosine.
Discussion:
The Hx, Hy, Px, Py, and Global Coordinates settings are ignored if the "Ym, Um, Yc, Uc" option is selected.
For a description of normalized coordinates, see the chapter "Conventions and Definitions".
For the other options, this feature allows the user to specify the normalized object coordinates, the normalized
pupil coordinates, and wavelength number and then view the real and paraxial ray coordinates at every surface.
The first set of data presented is for a real ray. The values presented are the coordinates (in the surface local
or the global coordinate system) of the ray intercept point. The direction cosines (or tangent angles) are the values
of the ray in the surface after refraction. The direction cosine value is the cosine of the angle the ray makes with
respect to the specified axis (the x-direction cosine is the cosine of the angle the ray makes with respect to the
x-axis, etc.) The second set of data is just like the first set, except it is for a paraxial ray. Tangent angles are always
computed relative to the local Z axis; regardless of the Global Coordinates setting.
Fiber Coupling Efficiency
Purpose:
Item Description
Source Fiber
NA x/y Numerical Aperture of the source fiber in object space in the xz and yz planes
respectively. This is n times the sin of the half angle to the 1 over e squared intensity
point.
X Angle, Y Angle The angular rotation of the source fiber in object space, in degrees, measured from the
nominal orientation of the source fiber. The X angle is the angle measured in the XZ
plane; the Y angle is measured in the YZ plane.
Field The field number to use for the calculation.
Wavelength The wavelength number to use for the calculation.
Sampling The grid size to use for the numerical integration.
A lign So u rce to If unchecked, the fiber is oriented along the object z axis, centered on the field point. If
Chief Ray checked, the center of the fiber points along the chief ray for that field point.
Ignore Source Fiber If checked, then illumination of the pupil as specified by the System, General,
Apodization setting will be used. All computations are then referenced to the total energy
incident upon the entrance pupil.
Receiving Fiber
NA x/y Numerical Aperture of the receiving fiber in image space in the xz and yz planes
respectively. This is n times the sin of the half angle to the 1 over e squared intensity
point.
Tilt About X, Y The angular rotation of the receiving fiber in image space, in degrees, measured from
the nominal orientation of the receiving fiber. If both X and Y rotations are specified, the
rotation is first around X, then around Y. Note the rotations are about the specified axes;
so Tilt About X rotates the fiber toward or away from the Y axis. Rotations are done after
the XYZ decenters below.
Decenter XYZ The linear position shift in the x/y/z direction in lens units of the receiving fiber, measured
from the nominal position of the receiving fiber. Shifts are done before the XY tilts above.
Align Receiver to If unchecked, the fiber is positioned at XY coordinates (0.0, 0.0) on the image surface.
Chief Ray If checked, the fiber is repositioned in x and y to be centered at the point the chief ray
intercepts the image surface. In either case the receiving fiber is oriented along the
image space z axis, unless rotated using the controls above.
Use Polarization If checked, polarized rays will be traced for each ray required, and the resulting
transmitted intensity through the system will be accounted for. See the System Menu
chapter under Polarization for information on defining the polarization state and other
details. Only ZEMAX-EE supports this capability.
Discussion:
This feature computes fiber coupling for single-mode fibers with a Gaussian shaped mode. For multi-mode
fiber coupling, see Calculating efficiency of multi-mode fibers on page 145. For a more detailed and flexible
physical optics treatment of fiber coupling see Computing Fiber Coupling on page 530.
Fiber coupling efficiency is computed based upon a two fiber or a one fiber model. In the two fiber model, light
emerges from a source fiber to fill (or partially overfill) the entrance pupil of an optical system. Energy not collected
by the entrance pupil is lost, reducing the overall efficiency. If desired, the source fiber may be ignored for a one
2
t ( x, y )Fs ( x, y ) dx dy
S = E----------------------------------------------------- ,
Fs ( x, y ) dx dy
where F s is the source fiber amplitude function and the integral in the numerator is only done over the entrance
pupil of the optical system, and t ( x, y ) is the amplitude transmission function of the optics. The transmission is
affected by bulk absorption and optical coatings (if use polarization is checked on). If the source fiber is ignored,
then the integral in the denominator is only done over the entrance pupil, and the F s function is determined by
the system apodization, if any.
Aberrations in the optical system introduce phase errors which will affect the coupling into the fiber. Maximum
coupling efficiency is achieved when the mode of the wavefront converging towards the receiving fiber perfectly
matches the mode of the fiber in both amplitude and phase at all points in the wavefront. This is defined
mathematically as a normalized overlap integral between the fiber and wavefront amplitude:
T =
F r ( x, y )W ( x, y ) dx dy
-------------------------------------------------------------------------------------------------------------------
-,
Fr ( x, y )Fr ( x, y ) dx dy W ( x, y )W ( x, y ) dx dy
where F r ( x, y ) is the function describing the receiving fiber complex amplitude, W ( x, y ) is the function
describing the complex amplitude of the wavefront from the exit pupil of the optical system, and the symbol
represents complex conjugate. Note that these functions are complex valued, so this is a coherent overlap
integral.
Large phase errors in the wavefront function are difficult to numerically integrate accurately. Fortunately, rays
with huge phase aberrations are not going to contribute to the fiber coupling anyway, as these rays move through
2 phase cycles so quickly that they tend to all average to zero. To improve the accuracy of the fiber coupling
computation for highly aberrated systems, the integration algorithm will ignore rays with more than n/8 waves of
OPD error, where n is the number of rays across the pupil, which is determined by the sampling setting.
T has a maximum possible value of 1.0, and will decrease if there is any mismatch between the fiber amplitude
and phase and the wavefront amplitude and phase.
ZEMAX computes the values S and T. The total power coupling efficiency is the product of these numbers. A
theoretical maximum coupling efficiency is also computed; this value is based upon ignoring the aberrations but
accounting for all vignetting, transmission, and other amplitude mismatches between the modes.
To model the reflection loss from the front face of the receiving fiber, set the image space glass to the material
the fiber is made of, and check the box "use polarization". The reflectivity of the receiving fiber (and other surfaces)
will be accounted for.
YNI Contributions
Purpose:
This feature lists for each surface the paraxial YNI value, which is proportional to the Narcissus contribution
of that surface.
Item Description
Wavelength The wavelength number to use for the calculation.
Discussion:
See Narcissus: reflections on retroreflections in thermal imaging systems, Applied Optics, Vol. 21, No. 18,
p3393 (1982) for a discussion.
Sag Table
Purpose:
This feature lists for the selected surface the sag (z-coordinate) at various Y-coordinate distances from the
vertex. The best fit spherical (BFS) radius is computed, and the sag of the BFS and the difference between the
BFS and the surface is also tabulated. The depth of material that would need to be removed from the BFS to yield
the asphere is also listed. Only the Y-coordinate of the surface is considered, therefore this feature is not useful,
and should not be used, if the surface is non-rotationally symmetric.
Settings:
Item Description
Surface The surface number to use for the calculation.
Step Size The distance between steps measured from the vertex at which the sag is computed.
The default value of zero will automatically choose a reasonable step size.
Reverse Direction See "Discussion".
Discussion:
This feature can be used to determine the maximum aspheric deviation of a surface. The sag table is also
useful for lens fabrication.
This feature lists out five columns:
Y-Coord: The y coordinate of the point on the surface being computed.
Sag: The sag of the surface at the y coordinate.
BFS Sag: The sag of the best fit sphere. The BFS is determined by the radius of the sphere that minimizes
the volume of material that would need to be removed from a spherical surface to yield the aspheric surface.
Deviation: The difference between the BFS Sag and the Sag, ignoring any vertex offset (see Remove below).
Remove: The depth of material at the specified y coordinate to remove assuming that the surface was first
generated to the best fit sphere. Note that for some aspheric surfaces, material may need to be removed from
the vertex; for other types of aspheres the minimum volume to remove is achieved by removing more material
from the central annular zones of the BFS.
The BFS radius and position (vertex offset) relative to the aspheric surface depends on the properties of the
aspheric surface, and whether the surface defines a boundary between air and glass, or glass and air, and
whether the surface is concave or convex. ZEMAX always attempts to choose a BFS that will "add" material on
the air side of the surface. The vertex offset and BFS radius will be selected to minimize the volume of material
that needs to be removed from the BFS to yield the asphere surface. For some surfaces, such as those between
glass in a cemented doublet, ZEMAX cannot determine which side is "air". For these surfaces, if the desired data
is not generated by default, selecting "Reverse Direction" will choose the other side of the surface as the air
surface.
It is always advisable to check the data and sign convention carefully before any fabrication decisions are
made.
Item Description
First Surface The starting surface number of the group to compute the cardinal points for.
Last Surface The ending surface number of the group to compute the cardinal points for.
Wavelength The wavelength number to use for the computation.
Orientation The orientation to use for computing the cardinal plane locations.
Discussion:
This feature may not return reliable results if coordinate breaks or non-centered optics are included within the
specified surface range.
Glass and Gradient Index
Dispersion Diagram
Purpose:
Plots index of refraction as a function of wavelength for any material in the glass catalog.
Settings:
Item Description
Min Wavelength Defines the left X- axis of the dispersion plot.
Max Wavelength Defines the right X- axis of the dispersion plot.
Minimum Index Defines the bottom Y- axis of the dispersion plot. Enter zero for automatic scaling.
Maximum Index Defines the top Y- axis of the dispersion plot. Enter zero for automatic scaling.
Glass The name of the material.
Use Temperature, If checked, then the change in index due to temperature and pressure effects will be
Pressure considered.
Discussion:
This is useful for checking if constants of dispersion or other formula data were entered correctly.
Glass Map
Purpose:
Plots names of glasses on the glass map according to the index of refraction and Abbe V-number. The index
and Abbe number are taken directly from the entries in the glass catalog, and are not computed based upon the
wavelength data or dispersion coefficients. All currently loaded glass catalogs are searched for glasses within the
boundary values specified in the following table.
Item Description
Min Abbe Defines the left X- axis of the plot.
Max Abbe Defines the right X- axis of the plot.
Min Index Defines the bottom Y- axis of the plot. Enter zero for automatic scaling.
Max Index Defines the top Y- axis of the plot. Enter zero for automatic scaling.
Discussion:
This is useful for locating a glass with particular refractive and dispersive properties. By convention, the glass
map is shown with the Abbe number decreasing while going from left to right, which is why the default min and
max Abbe numbers seem to be reversed.
Internal Transmittance vs. Wavelength
Purpose:
Plots the internal transmittance for any thickness as a function of wavelength for any material in the glass
catalog.
Settings:
Item Description
Min Wavelength Defines the left X- axis of the plot.
Max Wavelength Defines the right X- axis of the plot.
Minimum Defines the bottom Y- axis of the plot.
Transmission
Maximum Defines the top Y- axis of the plot. Enter zero for automatic scaling.
Transmission
Glass The name of the material.
Thickness The thickness of the glass in millimeters.
Discussion:
This is useful for checking the transmittance of a particular glass. See the Chapter Polarization Analysis.
Grin Profile
Purpose:
Plots the index of refraction along any axis for gradient index surfaces.
Settings:
Item Description
Surface The surface number of the gradient index surface.
Wavelength The wavelength number to use.
Show Index vs. Choose X, Y, or Z as the independent variable.
Min X, Y, or Z Defines the left X- axis of the plot, the minimum value of the independent variable.
Max X, Y, or Z Defines the right X- axis of the plot, the maximum value of the independent variable.
Discussion:
This plot shows index of refraction along either the X, Y, or Z axis for gradient index surfaces.
Gradium Profile
Purpose:
Plots the axial index profile of a Gradium surface.
Settings:
Item Description
Profile The name of the profile. See the chapter on surface types for details.
Surface The surface number to plot.
Wavelength The wavelength number to use for the calculation.
Discussion:
If the surface is selected to "None", then the reference wavelength for the profile glass family is used, no matter
what wavelength is selected. If a Gradium surface is selected, then any defined wavelength, or the reference
wavelength may be selected. Also, if a surface number is selected, then the starting and ending points for the
glass blank will be indicated using an "X" on the plot. The starting and ending positions include consideration of
the sag of the surface at the defined semi-diameter.
Universal Plot
!This feature is only available in the EE edition of ZEMAX.
New Universal Plot...
Purpose:
Displays as either a plot or as a text listing the value of any optimization operand as a function of some other
parameter.
Settings:
Item Description
Independent variable settings
Select either surface, system, multi-configuration, or NSC data as the independent
variable.
Select the parameter to use as the independent variable. The available selections
include radius, curvature, thickness, conic, parameter, and extra data values if surface
parameters are chosen. For system parameters, the selections include the system
aperture, field and wavelength data, apodization factor, temperature, and pressure. For
configuration data, all multi-configuration operands are listed. For NSC data, object
position and parameter data are listed.
Discussion:
This feature will either plot as a graph or create a text listing of the value of any optimization operand as a
function of any number of system, surface, or multi-configuration data.
For example, suppose a plot of the sagittal MTF at 30 lp/mm was needed as a function of the decenter of a
lens group (which may be a useful diagnostic for tolerancing analysis). Since the MTFS operand computes the
sagittal MTF, the Universal Plot can generate such a graphic or text listing. See the Chapter "Optimization" for a
list of available optimization operands. A decenter of a lens group is defined by Parameter 1 or 2 on the relevant
coordinate break surface, and Parameter 1 and 2 are both listed in the available surface group parameters.
Because of the number of different plots this feature can generate, there are no intelligent defaults for either
the independent or dependent settings. These values need to be carefully provided in the settings dialog box. If
the optimization operand cannot be computed, an error message will be displayed and the plot will not be
generated.
Because many optimization operands accept Hx and Hy values to define the field point for the calculation,
these operands may require that the number of fields be set to 1, then set Hx = 0 and Hy = 1, then finally choose
Item Description
Jx, Jy Jones electric field. see Defining the incident polarization on page 510.
X, Y Phase Phase of the X, Y component of the Jones electric field in degrees.
Hx Normalized x-field coordinate. The value should be between -1 and 1.
Hy Normalized y-field coordinate. The value should be between -1 and 1.
Px Normalized x-pupil coordinate. The value should be between -1 and 1.
Py Normalized y-pupil coordinate. The value should be between -1 and 1.
Wavelength The wavelength number of the ray to trace.
Discussion:
This feature tabulates all of the data computed by ZEMAX to perform polarization ray tracing. See POLAR-
IZATION ANALYSIS on page 497.
Polarization Pupil Map
Purpose:
Generates a graph of the polarization ellipse as a function of pupil position. This aids in visualizing the change
in polarization over the pupil.
Settings:
Item Description
Jx, Jy Jones electric field. see Defining the incident polarization on page 510.
X, Y Phase Phase of the X, Y component of the Jones electric field in degrees.
Wavelength The wavelength number of the rays to trace.
Field The field position number of the rays to trace.
Discussion:
The polarization ellipse is a representation of the figure traced out by the electric field vector as the wave
propagates during one cycle. The magnitude of the ellipse is determined by the transmission of the ray, which is
generally a function of pupil position. See POLARIZATION ANALYSIS on page 497.
Transmission
Purpose:
Computes the integrated and surface by surface transmission through the optical system considering
polarization effects.
Settings:
Item Description
Jx, Jy Jones electric field. see Defining the incident polarization on page 510.
X, Y Phase Phase of the X, Y component of the Jones electric field in degrees.
Sampling Specify the density in the pupil. Larger grid sizes are more accurate, although the
computation time increases.
Unpolarized If checked, the electric field definition is ignored and the unpolarized computation is
performed.
Discussion:
This feature tabulates for each field position and wavelength the integrated transmission of the optical system
for the specified polarization. The transmission is computed as a fraction of 100%, with 100% being that
transmitted if there were no absorption, reflection, or vignetting losses. The transmission calculation accounts for
vignetting factors, vignetting due to apertures or obscurations, ray clipping due to ray trace errors, surface Fresnel
or coating losses, and bulk internal transmittance due to absorption.
Also tabulated for each field and wavelength is the relative and total transmission of the chief ray. This allows
identification of where significant surface losses originate.
See also Relative Illumination on page 139.
Phase Aberration
Purpose:
Computes the polarization induced phase aberration of an optical system.
Settings:
Item Description
Jx, Jy Jones electric field. see Defining the incident polarization on page 510.
X, Y Phase Phase of the X, Y component of the Jones electric field in degrees.
Wavelength The wavelength number of the rays to trace.
Field The field position number of the rays to trace.
Discussion:
Item Description
Jx, Jy Jones electric field. see Defining the incident polarization on page 510.
X, Y Phase Phase of the X, Y component of the Jones electric field in degrees.
Wavelength The wavelength number of the rays to trace.
Field The field position number of the rays to trace.
Unpolarized If checked, the electric field definition is ignored and the unpolarized computation is
performed.
Discussion:
The polarization transmission fan is useful for determining the transmission variation over the pupil as a
function of field and wavelength. See POLARIZATION ANALYSIS on page 497.
Coatings
!These features are only available in the EE editions of ZEMAX.
For more information on coating calculations, see POLARIZATION ANALYSIS on page 497.
Reflection vs. Angle
Purpose:
Computes the S, P, and average polarization intensity coefficients for reflection for the specified surface as a
function of incident angle.
Settings:
Item Description
Min Angle The minimum angle of incidence to plot. This defines the left edge of the plot.
Max Angle The maximum angle of incidence to plot. This defines the right edge of the plot.
Min Y The minimum y value to plot. This defines the bottom edge of the plot.
Discussion:
The incident angle is measured in the medium prior to the specified surface.
Transmission vs. Angle
Purpose:
Computes the S, P and average polarization intensity coefficients for transmission for the specified surface as
a function of incident angle.
Settings:
See "Reflectivity vs. Angle" above.
Discussion:
The incident angle is measured in the medium prior to the specified surface.
Absorption vs. Angle
Purpose:
Computes the S, P, and average polarization intensity coefficients for absorption for the specified surface as
a function of incident angle.
Settings:
See "Reflectivity vs. Angle" above.
Discussion:
The incident angle is measured in the medium prior to the specified surface.
Diattenuation vs. Angle
Purpose:
Computes the R (reflected) and T (transmitted) diattenuation for the specified surface as a function of incident
angle.
Settings:
See "Reflectivity vs. Angle" above.
Discussion:
The incident angle is measured in the medium prior to the specified surface.
Phase vs. Angle
Purpose:
Computes the S and P polarization phase for reflection (if the surface is a mirror) or for transmission (if the
surface is not a mirror) for the specified surface as a function of incident angle.
Settings:
See "Reflectivity vs. Angle" above.
Item Description
Min Wave The minimum wavelength to plot. This defines the left edge of the plot.
Max Wave The maximum wavelength to plot. This defines the right edge of the plot.
Min Y The minimum y value to plot. This defines the bottom edge of the plot.
Max Y The maximum y value to plot. This defines the top edge of the plot.
Surface The surface number which defines the interface to use.
Object The object number if the surface is a Non-Sequential Components surface.
Coat Group The coat/scatter group (CSG) number which defines the interface to use, if the surface
is a Non-Sequential Components surface.
Angle The angle of incidence, in degrees, to use.
Reverse Direction If the selected surface is a Non-Sequential Components surface, choosing this option
will reverse the incident media and substrate.
Discussion:
See POLARIZATION ANALYSIS on page 497.
Transmission vs. Wavelength
Purpose:
Computes the S, P, and average polarization intensity coefficients for transmission for the specified surface
as a function of incident wavelength.
Settings:
See "Reflectivity vs. Wavelength" above.
Discussion:
See POLARIZATION ANALYSIS on page 497.
Absorption vs. Wavelength
Purpose:
Computes the S, P, and average polarization intensity coefficients for absorption for the specified surface as
a function of incident wavelength.
Item Description
Wavelength The wavelength number to use for the calculation.
M2 Factor The M2 quality factor used to simulate mixed mode beams. See the Discussion.
Waist Size The radial size of the embedded (perfect TEM00 mode) beam waist in object space in
lens units.
Surf 1 to Waist The distance from surface 1 (NOT the object surface) to the beam waist location. This
parameter will be negative if the waist lies to the left of surface 1.
Update See below.
Orient
Surface
Discussion:
This feature computes ideal and mixed mode M2 Gaussian beam data, such as beam size, beam divergence,
and waist locations, as a given input beam propagates through the lens system. This discussion is not meant to
be a complete tutorial on laser beam propagation theory. For more information on Gaussian beam propagation,
2
0
z r = ---------- .
2
zr
R ( z ) = z + ---- ,
z
12
( z ) = 0 1 + ----
z 2
,
z r
where 0 is the beam waist. The divergence angle of the beam is given by
1
= tan -----0- .
zr
Finally, the Gouy shift is the phase of the center of the Gaussian beam:
1 z
= tan ----
zr
Item Description
X Waist Size The x direction radial size of the beam waist in the space prior to the "start surface" in
lens units.
Y Waist Size The y direction radial size of the beam waist in the space prior to the "start surface" in
lens units.
Discussion:
For important background information on Gaussian beams, see Paraxial Gaussian Beam on page 187.
This feature computes the ideal skew Gaussian beam data, such as beam size, beam divergence, and waist
locations, as a given input beam propagates through the lens system. The beam is not limited to being on axis in
a symmetric optical system, and beam at any angle may be traced anywhere in the optical system.
The beam is initially defined by a waist size in the x and y directions in the optical space prior to the starting
surface. The field and wavelength settings are used to define a chief ray which is traced through the optical
system. This chief ray becomes the axis for the skew Gaussian beam throughout the propagation.
The x and y directions are initially defined by the entrance pupil orientation. The +y direction relative to the
chief ray is defined as a vector pointing from the chief ray coordinate at the entrance pupil to the coordinate of
the px = 0, py = 1 marginal ray coordinate at the entrance pupil. The px = 1, py = 0 marginal ray defines the +x
direction. For a discussion of the normalized pupil coordinates, see Normalized field and pupil coordinates on
page 49.
As the chief ray propagates through the optical system, the two marginal rays are propagated as well, and are
used to define the +x and +y directions in each optical space. All the data listed for x and y directions are measured
in this moving coordinate system.
The Skew Gaussian Beam feature results are generally not accurate for systems including non-sequential
component groups. For the most accurate results, replace non-sequential component groups with sequential
equivalents.
Physical Optics Propagation
!This feature is only available in the EE editions of ZEMAX.
Purpose:
This feature propagates an arbitrary coherent optical beam through the optical system. For a complete
description of this feature see PHYSICAL OPTICS PROPAGATION on page 515. The Physical Optics Propa-
gation feature results are generally not accurate for systems including non-sequential component groups; see
Propagating through non-sequential surfaces on page 525 for more information. For the most accurate results,
replace non-sequential component groups with sequential equivalents.
Settings:
Beam Definition Tab:
Item Description
X- Y- Sampling The number of points used to sample the beam.
X- Y- Width The initial width in lens units of the region represented by the array. See Auto below.
Auto Pressing this button will calculate the optimum X- and Y- Width values to maintain the
approximately the same number of pixels across the beam both within and outside the
Rayleigh range. See Comments about point spacing and sampling on page 524.
Display Tab:
Item Description
Show As Choose surface, contour, false color, grey scale, cross sections, encircled, ensquared,
or enslitted displays. Note that the encircled energy is a function of radius; and the
ensquared and enslitted widths are the half widths.
Row/Column If cross section is chosen for Show As, this control selects the row or column to view.
Data Choose irradiance (beam power per area), phase (of the beam), transfer function
intensity, or transfer function phase. The Ex and Ey refer to the X and Y polarization
components of the beam. The transfer function values are the intensity and phase of
transmission for the final surface only; these are primarily used for debugging and
analysis of the POP results.
For text POP windows only, a propagation report is also available. The propagation
report lists various data about the propagation algorithm parameters used, and contains
warnings that indicate a possible inaccuracy in the results.
Scale Choose linear or logarithmic scaling of the data. Logarithmic scaling only applies to
irradiance data on graphical (not text) displays.
Project The beam may be viewed from any one of these perspectives: along the beam (this is
along the chief ray used by the pilot beam), along the surface normal, or along the local
Z axis of the surface. Note ZBF beam file data is always "along the beam". See the
comments about beam projection below.
Item Description
Compute Fiber If checked, the fiber data on this tab will be used and the fiber coupling computed;
Coupling Integral otherwise, no fiber coupling computations will be performed. See Computing Fiber
Coupling on page 530.
Tilt About X/Y (deg) The tilt about each axis in degrees of the fiber mode with respect to the beam. The phase
of the fiber mode will be modified with a linear tilt proportional to the tilt angles.
Fiber Type Selects the mode for the fiber. See Computing Fiber Coupling on page 530.
File Selects the name of the DLL or data file describing the fiber mode. See Computing Fiber
Coupling on page 530.
Parameters Different fiber mode types require various parameters to define the mode. These
parameter names and values will change depending upon the fiber type setting.
Fiber Position The center of the receiving fiber may be referenced to the surface vertex or to the chief
ray. The incoming POP beam is referenced to the chief ray position and angle.
Discussion:
For a full discussion of physical optics propagation, see PHYSICAL OPTICS PROPAGATION on page 515.
Comment about beam projection
The analysis computes the beam irradiance or phase on a plane tangent to the chief ray at the point where
the chief ray intercepts the surface. The data is shown after the beam refracts into, or reflects from, the end
surface. The chief ray representing the center of the beam will generally intercept the surface at some angle of
incidence other than zero, and the surface normal will generally be at some angle to the local Z axis. Using the
"project" option on the "display" tab, the beam data may be viewed along the beam, along the surface normal, or
!For rapid viewing through a range of files that differ only by the surface number, use the left
and right cursor keys.
Optimization
Optimization
Purpose:
Optimization is used to improve or modify a design to meet specific conditions.
Discussion:
See OPTIMIZATION on page 385 for a full discussion of building merit functions, setting variables, and using
the optimization feature.
Global Search
Purpose:
This feature initiates a search for the global optimum, which is the best possible design for a given merit
function and set of variables.
Discussion:
See GLOBAL OPTIMIZATION on page 435.
Hammer Optimization
Purpose:
This feature automates the repetitive optimization of a design to escape local minima in the merit function.
Discussion:
See GLOBAL OPTIMIZATION on page 435.
Merit Function Listing
Purpose:
This function generates a text listing of the merit function which can be saved or printed. The overall merit
function numerical value is listed, as well as the numerical merit function of all user added operands (defined as
those operands placed before the DMFS operand) and the default merit function (all operands after the DMFS
operand). See also Merit function definition on page 391.
Remove All Variables
Purpose:
This is tool provides a quick way to remove all of the variables defined in the current lens.
Discussion:
Variables are removed by setting each of the values to "fixed" at the current value.
Glass Substitution Template
Purpose:
The template is used to define the maximum limits of the glass cost as well as the mechanical resistance
properties of glasses. The template is used to select acceptable glasses during global optimization, when
converting from model to real glasses (see Using model glasses on page 485), and when computing the value
of the RGLA operand (RGLA on page 415).
Item Description
Use Glass Substitution Template If checked, the defined parameters are used to restrict the glasses
available for substitution by the global optimizer.
Exclude Glasses With No Data If checked, glasses with incomplete template data will not be selected
by the global optimizer. Only data corresponding to non-zero
template values are tested before excluding a glass.
Standard, Preferred, Obsolete, Special These checkboxes indicate the acceptable status settings of glasses.
These options are additive. For example, if both Standard and
Obsolete are checked, then either Standard or Obsolete glasses are
acceptable, Note a single glass may have only one status. See
Description of catalog data on page 478.
Maximum Relative Cost The maximum relative cost. The cost of Schott BK7 is 1.0, all other
glasses are more expensive, and have larger relative costs. Use zero
to ignore relative cost.
Maximum Climatic Resistance (CR) The maximum allowed value of the CR code. Use zero to ignore CR.
Maximum Stain Resistance (FR) The maximum allowed value of the FR code. Use zero to ignore FR.
Maximum Acid Resistance (SR) The maximum allowed value of the SR code. Use zero to ignore SR.
Maximum Alkali Resistance (AR) The maximum allowed value of the AR code. Use zero to ignore AR.
Maximum Phosphate Resistance (PR) The maximum allowed value of the PR code. Use zero to ignore PR.
OK Accepts the current settings.
Cancel Reverts to the prior settings.
Reset Restores the default settings.
Discussion:
If "Use Glass Substitution Template" is unchecked, any glass defined in the current catalogs may be selected
if not explicitly excluded (by having "exclude substitution" checked in the glass catalog) and if the wavelength
range is suitable for the current lens. For glasses that do not include the cost or resistance codes, a "?" will be
displayed in the glass catalog. If no cost or resistance data is provided for a glass, the glass will not be selected
if "Exclude Glasses With No Data" is checked. Template data is stored along with the lens file; so the template
parameters are lens file specific.
Tolerancing
Tolerancing
Purpose:
Tolerancing.
Discussion:
See the chapter "Tolerancing" for a complete discussion.
Tolerance Listing
Purpose:
This function generates a text listing of the tolerances which can be saved or printed.
Tolerance Summary
Purpose:
Item Description
File Name Selects different test plate lists
Method of Fit Chooses the fitting order, which may affect the quality of the fit.
# Opt Cycles Chooses the number of optimization cycles to run, or Automatic.
Discussion:
This feature automates the task of matching radii of lens elements to the existing tooling of a particular vendor.
The current merit function is used as a figure of merit during the fitting process.
To match a particular radius, make it variable on the lens data editor. As many radii as desired can be matched
at one time. ZEMAX will attempt to fit all radii with variable status in the Lens Data Editor, even if the radii
correspond to surfaces that are not spheres, such as toroids, cylinders, or other aspheric surfaces. To prevent
fitting of the radii on these surfaces, remove the variable flag before performing the fitting.
Now select the test plate fitting tool. Select which vendor test plate file is to be used. The fitting method may
be selected as follows:
Try All Methods: Try all of the following methods, and uses whichever one yields the lowest merit function.
Best To Worst: Fits the radii with the closest test plate match (measured in fringes) first.
Worst To Best: Fits the worst fitting radii first.
Long To Short: Fits the longest radii first.
Short To Long: Fits the shortest radii first.
Now press OK and the test plate fitting will begin. ZEMAX starts by searching the test plate list for the closest
match (in fringes) between all of the radii and all of the test plates. Each test plate must be of the correct shape
(convex or concave or both, as required) and must have sufficient diameter to test the clear aperture of the lens
surface (as determined by the semi-diameter value on the Lens Data Editor). The test plate has sufficient diameter
if the diameter is at least 3/4 of the clear aperture diameter of the lens surface. The surface being fitted must also
have an edge sag no more than 0.2 mm different than the test plate at the semi-diameter of the surface. In practice
this is hundreds of fringes of power and test plates that do not meet this test would likely increase the merit
function unacceptably.
The radius of the test plate that best fits one of the radii is then substituted in for the actual radius. The variability
of the chosen radius is removed, and the lens is reoptimized. For this reason it is important to allow compensators
such as spacings to be variable as well as the radii to be fit. The reoptimization will adjust all remaining variables,
including the remaining radii. Note the optimization will use the current merit function. After optimization, if there
are any variable radii remaining, the procedure repeats. Note that the radii are not fit in general in the order they
appear in the lens data editor.
During the fitting process, the number of radii remaining and the current merit function will be presented. After
all of the radii have been fit, a report will be presented on the screen. The report will provide the vendor
identification information, and a list of the radii that were changed and which vendor test plate ID numbers were
selected.
Item Description
File Name The name of the test plate file. The file must be in the \TESTPLAT directory.
Discussion:
All units on the report are in mm. The CC and CX columns indicate the availability of concave and convex test
plates, respectively.
Catalogs
Glass Catalogs
Purpose:
Provides access to the glass catalogs.
Discussion:
See the chapter "Using Glass Catalogs" for an extended discussion of this feature.
Item Description
Primary The name of the primary glass catalog. This catalog is used as the reference catalog.
Secondary The name of the secondary glass catalog. Only glasses which are considered equivalent
to those in the primary catalog will be listed.
Tertiary The name of the tertiary glass catalog. Only glasses which are equivalent to those in the
primary catalog will be listed.
Index Tolerance The maximum allowed difference in index at d-light for a glass from the secondary or
tertiary catalog to be considered equivalent to a glass from the primary catalog.
Abbe Tolerance The maximum allowed difference in Abbe number at d-light for a glass from the
secondary or tertiary catalog to be considered equivalent to a glass from the primary
catalog.
Show Either all glasses in the primary catalog may be listed, or just those used in the current
lens file and configuration.
Sort Results may be sorted by index at d-light, name, or Abbe number at d-light.
Discussion:
This feature only lists glasses that are used in the F-C wavelength range. If "Show Used Glasses" is selected,
the name of the glass displayed in the glass column of the lens data editor is used to determine if the glass from
the primary catalog is used by the current lens and configuration. However, there is no check made that the glass
from the primary catalog is actually used by the lens. For example, if the current lens uses glass A1 from catalog
X, the primary catalog is Y, and Y also contains a glass called A1, then the data for A1 from catalog Y will be
displayed, even though the lens actually uses the A1 as defined in catalog X. If more than one catalog uses the
same name for different glasses, great care should be taken to verify all data is for the intended glass.
Lens Catalogs
Purpose:
Used to search for a particular lens from or browse through the stock lens catalogs.
Settings:
Item Description
Vendor Lists the available stock lens vendors. Each vendor name is the name of the file
which contains the stock lenses available from that vendor. The vendor files must
be placed in the directory for stock lenses, which is set on the Directories tab of
the File, Preferences dialog box.
Use Focal Length If checked, then the specified focal length range is used as part of the search
criteria, otherwise, any value will be accepted.
Focal Length Min/Max Used to define the range of acceptable focal lengths in millimeters.
Use Diameter If checked, then the specified entrance pupil diameter range is used as part of the
search criteria, otherwise, any value will be accepted.
Diameter Min/Max Used to define the range of acceptable entrance pupil diameters in millimeters.
Discussion:
The "Search Results" table will list the part name, focal length, and diameter of all the lenses from the selected
vendor which meet the specified search criteria. After the diameter, a 3 part code is listed, such as (P,S, 1). The
first entry is the shape code, which is E, B, P, M, or "?", for Equi-, Bi-, Plano-, Meniscus, or other. Other is used
if the lens is multi-element. The second entry is S, G, A, or T, for Spherical, GRIN, Aspheric, or Toroidal. The third
entry is the number of elements.
Upon installation, ZEMAX creates a subdirectory within the ZEMAX directory called STOCKCAT. Within
STOCKCAT, many individual files are stored with the extension .ZMF. Each of these files contains a large number
of individual ZMX lens files, each of which represent stock lenses available from various vendors. The following
table lists the represented vendors and contact data.
STOCK LENS VENDORS
To find a catalog lens that closely matches the properties of one or more surfaces in the Lens Data Editor,
place the cursor on the first surface of the surface group in the Lens Data Editor, then select Tools, Lens Catalogs.
The default focal length and diameter search ranges will be set to appropriate values for that lens. ZEMAX
computes the lens focal length and diameter and adds plus/minus 5% to define the default search ranges.
The Lens Search tool provides the capability to search through the available lenses to find an appropriate
choice. Once selected, the lens file may be loaded or appended to an existing design.
Coatings
Edit Coating File
!This feature is only available in the EE edition of ZEMAX.
Purpose:
Invokes the Windows NOTEPAD editor to edit the coating file for the current lens. This file contains the material
and coating definitions.
Discussion:
See the chapter "Polarization Analysis". If the coating file is edited, the file must be reloaded manually by
selecting Reload Coating File as described below, or the file may be saved and reloaded to update the new
coating data.
Item Description
File The current ABg scatter data file name. This file must be placed in the \ABG_DATA
directory; the file name may be selected on the System, General dialog box on the Files
tab, as described on page 91.
Name The name of the ABg data being edited.
Wave The wavelength in micrometers at which the ABg data is defined (or was measured). If
this value is zero, no scaling with wavelength will be performed. Otherwise, the A and B
values will be scaled with wavelength as defined in the discussion below.
Use If checked, then the displayed row will be used. Up to 10 data rows may be defined for
each ABg data name.
Angle The angle of incidence in degrees. The value should be between 0.0 and 90.0, inclusive.
Intermediate angles of incidence are linearly interpolated in cosine space. If data is
required at angles less than the smallest angle defined, data for the smallest angle
defined will be used. Data for the largest angle defined will be used for any incidence
angles greater than the largest angle defined.
A, B, g The A, B, and g values at the specified angle of incidence.
Discussion:
ABg data values are used to define scattering properties of both sequential and non-sequential surfaces. Each
ZEMAX lens files may use a separate ABg data catalog if desired. The ABg data file used is specified on the
System, General dialog box on the Files tab, as described on page 91. The selected ABg catalog only may be
edited from within ZEMAX using the ABg Scatter Data Catalog dialog box.
For a theoretical discussion of ABg scattering; see ABg model scattering on page 354.
The integral of the ABg distribution function over the unit vector circle that represents physically possible
scattering ray directions determines the total integrated scatter, or fraction to scatter. This integral is automatically
computed by ZEMAX when required; to view this integral press the TIS button. The TIS must be less than 1.0;
otherwise conservation of energy may not be preserved and the scattering will not be correct.
Wavelength scaling of ABg data
If a reference wavelength other than zero is defined, then the A and B coefficients are scaled according to the
following relations:
g4
A' = A --------- , and
ref
g
B' = B --------- ,
ref
where is the wavelength being traced and the unsubscripted A, B, and g parameters are measured at the
reference wavelength, ref .
Item Description
Lambertian Selects Lambertian scattering.
Gaussian Selects Gaussian scattering.
ABg Selects ABg scattering.
User Defined Selects User Defined scattering.
Wavelength The wavelength number to use. ABg scattering uses the specified wavelength, along
with the reference wavelength defined in the ABg catalog to scale the ABg coefficients.
Fraction The fraction of total energy to scatter. This value must be between 0 and 1. The fraction
to scatter linearly scales the BSDF. This fraction is ignored for ABg scatter functions.
Sigma The sigma value to use for Gaussian scattering.
ABg Name The name of the ABg scattering data to use. ABg scatter data names are defined in the
ABg Scatter Data Catalogs; see ABg Scatter Data Catalogs on page 203.
DLL Name The name of the user defined scattering DLL to use. See User defined scattering on
page 356.
(parameter names) These parameters are for user defined scattering DLL.
Bins The number of histogram bins to use in the computation and plot of the BSDF for user
defined scattering. Using a larger number of bins increases the resolution of the plot, at
the expense of requiring more rays to generate smooth data.
Rays The number of rays to scatter to determine the shape of the BSDF curve for user defined
scattering.
Alpha X, Y The angle in the X-Z and Y-Z planes respectively, of the specular ray. See the discussion
for details.
X, Y Minimum The minimum value of the scatter vector x, and BSDF (y), to plot, respectively. Note
these are powers of 10 as the BSDF plot is a log-log plot.
X, Y Decades The number of log scale decades to plot in the x and BSDF (y) directions, respectively.
Discussion:
This feature plots or lists BSDF data for any of the surface scattering models supported by ZEMAX. The BSDF
plot is a log - log plot, with BSDF on the vertical axis, and the magnitude of the scattering vector x on the horizontal
axis. The scattering vector x is a 2D vector that defines the change in the x and y direction cosines between the
specular ray and the scattered ray, when the local surface normal is oriented along the z direction. The vector x
is therefore the difference between the specular and scattered ray when these rays are projected onto the plane
of incidence. For a detailed discussion and drawing illustrating the scattering conventions used by ZEMAX, see
Scatter models on page 353.
For User Defined and ABg scattering, the Theta X and Theta Y values are used to define the specular ray
direction cosines. The defining equations which convert angles to cosines are as follows:
2 2
n = 1 ( 1 + ( tan x ) + ( tan y ) ) ,
l = n tan ( x ) , and
m = n tan ( y ) .
Item Description
Fold surface Selects which surface will become the fold mirror. The selected surface should be a
dummy surface already located at the desired fold position.
Reflect angle The angle between the incident and reflected beam.
Tilt type Select either tilt about the local x or y axis.
Discussion:
This feature inserts two dummy surfaces, one before and one after the selected fold surface. The fold surface
then becomes a mirror, and 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 are changed sign to account for the new mirror.
This feature may not provide useful or even correct alterations if the selected fold surface is not a plane,
standard type dummy surface in air. The dummy surface should be located at the desired fold mirror position
before using this feature. For example, to insert a fold mirror midway between two lenses 100 mm apart, a dummy
surface should be inserted between the two lenses, with the thickness before and after the dummy being set to
50 mm. The dummy surface then should be used as the fold surface.
Limitations of reversing surfaces following the fold mirror
After inserting a mirror, all subsequent surfaces must be reversed in the sense that +z becomes -z for the rays
to trace the same. For most ZEMAX surfaces, this means changing the sign of the radius of curvature, or any
other parameters that determine the sign of the surface sag. For user defined surfaces, ZEMAX cannot
automatically make this adjustment. For non-sequential component (NSC) surfaces, it may not be possible.
ZEMAX attempts to reverse NSC surfaces by changing the sign of the Z coordinate of the exit port, and rotating
all components around the y axis 180 degrees. However, this method fails if the objects inside the NSC are not
symmetric in their local XZ and YZ planes. Because the z parity of the objects must be modified, there is no
general way to do this for all NSC objects. This feature may also not work for lenses with multi-configuration data
that alters the thicknesses or glass types of any surfaces from the fold surface onward.
Delete Fold Mirror
Purpose:
Deletes an existing fold mirror, including any neighboring coordinate breaks.
Settings:
Item Description
Fold surface Selects which mirror surface will be deleted.
Discussion:
This feature deletes a fold mirror. If the mirror surface is preceded by a coordinate break with zero thickness,
the coordinate break will be deleted. If the mirror surface is followed by a coordinate break, and the mirror surface
has zero thickness, the following coordinate break will be deleted. The thicknesses of all deleted surfaces will be
added to preceding surfaces as required. All following surfaces and thicknesses will be automatically reversed
Item Description
First/Last Surface The range of surfaces to include in the exported data.
Wavelength The wavelength number to use for any traced rays to be exported.
Field The field number to use for any traced rays to be exported.
Number of Rays The number of rays to trace; the exact meaning depends upon the "Ray Pattern".
Split NSC Rays, These settings only affect rays from NSC sources. For more information, see the
Scatter NSC Rays, discussion on the similar controls described in NSC 3D Layout on page 107.
Use Polarization
Ray Pattern Selects the type of ray set to export. This control is very similar to that defined for the
3D layout plot; see 3D Layout on page 100. The solid beam option exports a solid
volume representing the envelope of the rays. The solid beam option only works
properly if the marginal rays are all traceable and unvignetted and if these rays do not
form a caustic at any surface. The number of rays must be at least 8 to export a solid
beam, and a smoother solid results if more rays are used.
Lens/Ray Layer Selects the layers of the output file to place lens and ray data.
Config One or more configurations may be exported at once using this control.
Current will export only data from the current configuration.
Selecting a configuration number, such as 1, 2, or 3, will export data only from that
configuration.
"All By File" will export all configurations, but each to a separate file name. The file name
for each configuration is the specified save file name (the save file name is selected after
OK is pressed) with the name "_config000x" appended to indicate the data is for
configuration "x".
"All By Layer" will export all configurations, but each to a separate layer within the same
file. The first configuration will be placed in the layer specified by the lens layer and ray
layer settings. Subsequent configurations are placed in the lens and ray layers
incremented by 1 for each configuration. For example, if the lens layer is 1 and the ray
layer is 10 and there are 3 configurations, then configuration 1 will have lens data in
layer 1 and ray data in layer 10. Configuration 2 will have lens and ray data in layers 2
and 11, and configuration 3 will have lens and ray data in layers 3 and 12, respectively.
"All At Once" will export all configurations at once in a single layer. No attempt is made
by ZEMAX to avoid overlapping or redundant data export.
File Type Selects the output file format type.
Delete Vignetted If checked, rays are not included in the data export if they will be vignetted by any
surface.
Surfaces as Solids If checked, surfaces on either side of a glass material will be combined to form a single
solid object, where possible. Not all ZEMAX surface types may be combined to form a
single solid.
Discussion:
For information on the accuracy of exported surfaces see Comments about imported objects on page 314.
The Initial Graphics Exchange Specification (IGES) is an American National Standard whose intended purpose
is to facilitate transfer of data between CAD programs. ZEMAX currently supports version 5.3 of the IGES
standard. For more information on IGES, contact U.S. Product Data Association, P. O. Box 3310, Gaithersburg,
MD 20885-3310. The SAT format is used by the ACIS geometry modeling engine developed by Spatial
Technologies. The STEP format is AP203 as defined by ANS US PRO/IPO-200-203-1994, also available from
the U.S. Product Data Association.
ZEMAX exports five types of data:
Lines: Lines are used to indicate the paths of rays traveling through the optical system. Within GRIN media,
rays are exported as a series of line entities.
Surfaces: Surfaces may be of arbitrary shape, including user defined surfaces; with any aperture shape
ZEMAX supports, including user defined apertures. Data for some types of surfaces (particularly aspheres and
toroids) which are exported as splines have an accuracy that depends on the number of spline points used;
more points yields more accuracy at the expense of larger, slower exported data files. For more information
on the limitations of the accuracy of the exported objects see the discussion below.
Lens Solid: Lens Solids include a non-zero volume enclosed by two surfaces, with the edge region formed by
the extrusion of the edges of the two surfaces. Most surfaces surrounding glass with similar shaped apertures
(e.g. both surfaces have rectangular apertures) may be exported as solids.
Faceted Solid: A Faceted Solid is defined by a collection of triangles that form a volume, such as a prism or
Fresnel lens. Non-sequential STL and POB objects, among others, are exported as Faceted Solids.
Parametric Solid: Some NSC objects, such as the Torus Volume, are exported as exact solid NURBS objects.
ZEMAX can export the surface or solid data for all sequential surfaces and non-sequential objects. ZEMAX
exports all surfaces and rays in a 3D coordinate system referenced to the global coordinate reference surface
which is described in Global Coordinate Reference Surface on page 93.
If exporting surfaces as solids, ZEMAX will export mirror and dummy surfaces as thin solids. The front and
back face will be of the shape of the surface, with a thickness equal to the dummy thickness in lens units.
Most NSC objects are exported exactly, or by using one or more spline based surfaces similar to those used
for sequential surface export. However, some objects, such as user defined objects, are exported using a faceted
approximation to the smooth surfaces. Increasing the number of facets used for rendering these objects will also
increase the resolution of the exported representation.
There is always the possibility that the conversion from the ZEMAX representation of surfaces and objects to
the CAD file format representation will cause a loss of precision. For more information, see Ray tracing accuracy
for imported objects on page 314.
This feature will prompt for the file name and path to save the exported data to. The default file is EXPORT.IGS
in the current output directory. If the file name provided ends in the extension IGS; then the output file will be in
IGES format. If the file name extension is SAT, the output will be in SAT format. If the file ends in the STP
extension, the output will be in STEP format. Otherwise, the output will be in IGES format.
Item Description
First/Last Surface The range of surfaces to include in the exported data.
Wavelength The wavelength number to use for any traced rays to be exported.
Field The field number to use for any traced rays to be exported.
Number of Rays The number of rays to trace; the exact meaning depends upon the "Ray Pattern".
Ray Pattern Selects the type of ray set to export. This control is very similar to that defined for the
3D layout plot; see 3D Layout on page 100 for details.
Lens/Ray Layer Selects the layers of the output file to place lens and ray data.
Delete Vignetted If checked, rays are not included in the data export if they will be vignetted by any
surface.
Spline Segments The number of segments to use when spline entities are exported.
Discussion:
For information on the accuracy of exported surfaces see Comments about imported objects on page 314.
The Initial Graphics Exchange Specification (IGES) is an American National Standard whose intended purpose
is to facilitate transfer of data between CAD programs. ZEMAX currently supports version 5.2 of the IGES
standard. For more information on IGES, contact U.S. Product Data Association, P. O. Box 3310, Gaithersburg,
MD 20885-3310.
ZEMAX exports lines, spherical arcs, and splines to represent the shape and position of each surface. ZEMAX
does not export the "edge" of the lens, and makes no distinction between dummy surfaces, glass surfaces, and
mirrors. The type and number of each IGES entity exported for a given surface depends upon the surface
aperture, if any, and the symmetry, if any of the surface. The following table lists how ZEMAX determines the best
representation of the surface. ZEMAX exports all surfaces and rays in a 3D coordinate system referenced to the
global coordinate reference surface which is described in the System Menu chapter.
This feature will prompt for the file name and path to save the exported data to. The default file is EXPORT.IGS
in the current output directory. The output will be in IGES format no matter what extension is chosen.
ZEMAX makes no attempt to export objects defined as part of a Non-Sequential Components surface. See
the Export IGES/STEP Solid feature if this capability is required.
None, Circular Aperture or Obscuration Plano One line along the X axis, one line along
the Y axis, one circle in the XY plane at the
semi-diameter radius.
Spherical One arc in the XZ plane, one arc in the YZ
plane, one circle in the XY plane at the
semi-diameter radius.
Rectangular Aperture or Obscuration Plano Three lines parallel to the X axis, three
lines parallel to the Y axis, arranged at the
edges and center of the surface to form a
grid.
Elliptical Aperture or Obscuration Plano One line along the X axis, one line along
the Y axis, one spline defining the edge of
the surface in the XY plane.
User Defined Aperture or Obscuration Any One line for each user defined segment.
The line entity is IGES entity 110. The circular arc entity is IGES entity 100. The spline entity is IGES entity
112. Rays are exported as line entities. Within GRIN media, rays are exported as a series of line entities. A
warning will be issued if not all surfaces within the specified range were exported.
For surfaces where both an obscuration and another shape need to be exported, use a dummy surface
collocated with the surface that has the second aperture on it. For example, to export a rectangular lens with a
rectangular obscuration on the surface, use two surfaces with a zero thickness between them; one with the
aperture and one with the obscuration. Make sure the surfaces have the same shape by setting the surface types
the same and using pick up solves where appropriate.
Export 2D DXF File
Purpose:
Exports the current lens data as a 2D DXD format file.
Settings:
Item Description
First/Last Surface The range of surfaces to include in the exported data.
Wavelength The wavelength number to use for any traced rays to be exported.
Field The field number to use for any traced rays to be exported.
Number of Rays The number of rays to trace.
Discussion:
This feature will prompt for the file name and path to save the exported data to. The default file is EXPORT.DXF
in the current output directory. The output will be in DXF format no matter what extension is chosen. This feature
is only available for rotationally symmetric lenses.
Miscellaneous
Reverse Elements
Purpose:
Reverses a lens element or group.
Settings:
Item Description
First Surface This is the first surface of the lens group to be reversed.
Last Surface The last surface of the lens group to be reversed.
Discussion:
The feature may not work correctly in all cases if mirrors, coordinate breaks, multi-configuration controlled
data, surface tilts and decenters, or non-standard surfaces are included in the range of surfaces. Check the
reversed system results carefully to verify that the desired result was achieved.
Tilt/Decenter Elements
Purpose:
Tilts or decenters a single surface or a group of surfaces forming an element.
Settings:
Item Description
First Surface This is the first surface of the lens group to be tilted/decentered.
Last Surface The last surface of the lens group to be tilted/decentered.
Decenter X, Y The X and Y decenters in lens units.
Tilt X, Y, Z The rotation about X, Y, and Z in degrees.
Order Either tilt then decenter, or decenter then tilt.
Discussion:
The feature inserts coordinate break and dummy surfaces as required to tilt and/or decenter a single surface
or a range of surfaces. For more information on coordinate breaks see Coordinate Break on page 239.
Scale Lens
Purpose:
Item Description
Scale by factor If selected, then a scale factor may be entered directly.
Scale by units If selected, then the lens will be converted by the selected units.
Discussion:
Scaling of data is performed based upon the units of measure for the data. If the scale factor is X, then data
measured in lens units of length will be scaled by the factor X. Data measured in units of lens units squared (such
as millimeters squared) will be scaled by X squared. Some polynomial coefficients, such as those on the Even
Aspheric surface, have units that change from term to term, and ZEMAX accounts for this when scaling the data.
Other parameters, such as the conic constant, are dimensionless, and are therefore not scaled.
ZEMAX will generally scale all lens data in the Lens Data Editor, the Extra Data Editor, and the Non-Sequential
Components Editor correctly. ZEMAX also will scale almost all of the data in the Merit Function Editor, the Multi-
Configuration Editor, and the Tolerance Data Editor correctly as well.
ZEMAX will not attempt to scale some types of data, even though scaling would be appropriate for those types
of data. These exceptions are for data items such as the multi-configuration operand PAR3, that modify general
parameter data of surfaces or objects. These data items should be scaled manually, if required.
Data items that are not scaled properly should be reported to ZEMAX technical support.
Make Focal
Purpose:
Make focal length is similar to scale lens, except the desired focal length is typed in directly. The entire lens is
then scaled to make the focal length the specified value.
Quick Focus
Purpose:
Quickly focuses an optical system by adjusting the back focal distance.
Settings:
Item Description
Spot Size Radial Focus to best RMS spot radius image plane.
Spot Size X Only Focus to best RMS x direction spot size image plane.
Spot Size Y Only Focus to best RMS y direction spot size image plane.
Wavefront Error Focus to best RMS wavefront error image plane.
Use Centroid Reference all calculations to the image centroid rather than the chief ray. This option is
slightly slower, but more appropriate for systems dominated by coma.
Discussion:
This feature adjusts the thickness of the surface prior to the image plane. The thickness chosen is that which
minimizes the RMS aberration. There are several different RMS computations that may be performed as
described in the "options" table above. The "best focus" position depends upon which criterion is selected. The
RMS is always computed as a polychromatic average over the field, using the defined fields, wavelengths, and
weights.
Item Description
First Surface This is the first surface of the lens group to be converted to non-sequential components.
Last Surface The last surface of the lens group to be converted.
Discussion:
This feature converts a range of sequential surfaces in the Lens Data Editor into a group of non-sequential
components.
!Dont assume this feature perfectly converts your sequential surface data; carefully check the
conversion results before doing any important analysis.
There are some restrictions on the ability of ZEMAX to convert sequential surfaces to NSC objects:
The surfaces must all be of type Standard, Even Aspheric, Toroidal, or Coordinate Break. This restriction will
be relaxed as more NSC object types and more conversion logic is added to ZEMAX.
All coordinate break surfaces must be between elements, in "air" and not imbedded within the lenses.
The surface prior to the first surface and the last surface in the selected range must both be made of air with
unity index.
The stop must precede the first surface.
ZEMAX can only convert rectangular, circular, and elliptical apertures on standard surface mirrors. Most other
combinations of non-circular apertures and surface types may not convert properly. Non-circular apertures on
standard surfaces are modeled using user defined aperture (UDA) files that ZEMAX automatically creates. For
more information on UDAs see User defined apertures and obscurations on page 69.
There are times when the ray tracing after conversion will not yield exactly the same results as before. The
possible explanations for this include the following:
Some rays may not trace the same inside a non-sequential group if some of the surfaces have central
obscurations or annular apertures. This is especially likely to occur in telescopes with obscured apertures. In
the non-sequential representation, the chief ray will either not make it through the group or will take a radically
different path.
Rays that are exactly at the edge of a sequential surface may miss the surface, or strike the outer cylinder wall
of a lens, in the non-sequential trace. For this reason, ZEMAX adds a very small increase in the diameter of
each surface when converting to a NSC group.
For systems with concave surfaces at the ends of the selected range, the edges of the surface may fall outside
of the entry and/or exit ports, which will cause ray tracing errors. The solution is to manually edit the entry/exit
port locations, or, insert dummy surfaces before and after the selected range prior to conversion.
The feature works by the following algorithm:
First a Non-Sequential Component surface and a dummy exit port surface are inserted.
The exit port is positioned to coincide with the last surface in the defined range.
The range of surfaces is converted into either NSC standard surfaces (for mirrors) or NSC standard or toroidal
lenses (for pairs of surfaces with glass in between).
Coordinate breaks are replaced with null objects with equivalent rotations; and subsequent objects will
reference the null objects.
Item Description
Object The object to be replicated.
Number X, Y, Z The total number of objects in the array in the X, Y, and X directions.
Delta X, Y, Z The spacing interval along each direction.
Add Pickup Solves If checked, all replicated objects will pick up parameter data from the original object.
Relative If checked, all replicated objects will use relative references to the original object,
References otherwise, absolute references are used See Reference objects on page 345.
Discussion:
This feature makes multiple copies of an existing object. Each copy is offset by a different amount to create
an array of identical objects. The original object is placed at the center of the array, and all replicated objects are
referenced to the original objects position and orientation.
Ghost Focus Generator
Purpose:
Ghost focus analysis. For a description of ghosts, see Ghost reflections on page 48.
Settings:
Item Description
Bounces Select either single-bounce or double-bounce analysis.
First Surface The first surface to consider reflections from.
Last Surface The last surface to consider reflections from.
Save Files If checked, the files used to compute the ghost ray trace are saved to disk.
Discussion:
!This feature may not work correctly for systems which contain coordinate breaks, multi-
configuration data, or some special surface types such as the non-sequential components
surface.
This feature generates lens files which are derived from the current lens prescription data. The generated files
are set up to reflect light at a given surface, rather than refract it. The portion of the optical system prior to the
new reflective surface is then duplicated so the rays can be traced back through. The purpose of this analysis is
to check whether or not rays reflected from any optical surface can form "ghost" images on other components or
near the focal plane. These effects are significant in high power laser systems, where focused reflections can
damage optics. Ghost images also reduce contrast. Both single and double reflections are supported.
!An alternative to this type of ghost analysis is to use the non-sequential capabilities of
ZEMAX. For details, see NON-SEQUENTIAL COMPONENTS on page 289.
For each ghost system, the marginal ray height, paraxial ray F/#, and RMS spot radius on axis are listed. Glass
surfaces which may have an internal focus are also indicated. For the image surface, when doing double-bounce
ghost analysis, the distance from the image surface to the ghost and the EFL of the ghost system are also
provided.
The lens files generated are stored in the file GHfffsss.ZMX, and these lens files can be opened for more
analysis. The fff is the number of the first ghost surface, and sss is the number of the second ghost surface. For
example GH007002.ZMX is a ghost focus file of the double bounce off surface 7 then 2. For single bounce ghosts,
only the fff number is non-zero.
Dummy surfaces (those that do not define an index boundary) and mirror surfaces are ignored as candidate
bounce surfaces. The only exception is the image surface, which is considered a potential first bounce surface
even if there is no index change on that surface.
This feature may not work correctly for systems that have coordinate breaks, or if the lens is under multi-
configuration control. This latter problem is circumvented by activating the configuration of interest, and then
deleting all multi-configuration data before executing this feature. Not all ghost reflection configurations can be
traced; there are occasionally problems with total internal reflection or rays completely missing surfaces. The
GHfffsss.ZMX file may need to be opened and modified to analyze it in detail.
If the first reflected surface is before the stop, then the entrance pupil position is incorrectly calculated as well.
This problem is easily overcome (for the purposes of analyzing the ghosts only) by using the following procedure
before you begin the ghost focus generation:
1) Record the entrance pupil position and diameter.
2) Create a dummy surface at surface one.
!Suggestions for additional basic POB shapes should be directed to technical support.
For information on POB objects, see Polygon Object on page 319. For information on using objects as
detectors, see Objects as detectors on page 335. For information on the POB format, see Defining Polygon
Objects on page 373.
Item Description
The data to be modified is defined by the following three settings:
Group (item name Select either the surface, system, configuration, or NSC data group.
not shown)
Data (item name Select the data to modify. The available selections include radius, curvature, thickness,
not shown) conic, parameter, and extra data values if surface data are chosen. For system
parameters, the selections include the system aperture, field and wavelength data,
apodization factor, temperature, and pressure. For configuration data, all multi-
configuration operands are listed. For NSC data, object position and parameter data are
listed.
Number (item name The surface number for the data to be modified if the data is associated with a surface.
not shown) This field is used for the configuration number if configuration data is selected. If NSC
data is selected, this field is used for the object number.
Window Select either "All" or any specific analysis window to update when the slider is adjusted.
See the discussion.
Start/Stop Value The beginning and ending range of the data corresponding to the extreme limits of the
slider control.
Animate Automatically increments the data over the defined range, and updates the selected
windows in a continuous loop. Press Stop (the animate button changes to a Stop
when animation is running) to terminate the animation.
Save Saves the current data, but leaves the slider control box open.
Exit Restores the original (or last saved) data for the modified parameter and closes the
slider control.
Discussion:
The slider control can be used to adjust any surface or system parameter while monitoring how the changed
value affects the data displayed in any open analysis window or in all windows.
When the slider control is activated, a copy is made of the data to be modified. If a new type of data is selected
(for example, the surface number or parameter or surface/system setting is altered) the old data is automatically
restored, unless the "Save" button has been pressed. The Save button replaces the saved copy of the original
data with the newly modified data.
If any or all of the analysis windows require a long time to update, the slider control may act erratically. This is
due to the Windows operating system handling of the slider control requiring a very fast update while dragging
or scrolling the slider bar control. If this occurs, select a single window for updating rather than "all" or choose
analysis options to reduce computation time.
Introduction
This chapter provides detailed descriptions of each of the report features ZEMAX supports. The Settings menu
option allows the default parameters for the calculation to be changed. Selecting this option will cause a feature
dialog box to appear on the screen. The dialog box typically has five buttons: OK, Cancel, Save, Load, and Reset.
OK causes the window to recalculate and redisplay the data with the currently selected options. Cancel reverts
the options to those selected before the dialog box appeared, and does not update the data in the window. Save
stores the currently selected options as defaults for future use, and then causes the window to recalculate and
redisplay the data. Load loads the most recently saved default options, but does not exit the dialog box. Reset
returns the options to the factory default values, but does not exit the dialog box. A report window can be updated
by double clicking with the left mouse button within the window. The settings dialog box is invoked by clicking with
the right mouse button.
Surface Data
Purpose:
Display surface data.
Settings:
Item Description
Surface The surface number to display the data for.
Discussion:
This feature generates a text window which displays surface-specific data. The data includes surface and
element powers and focal lengths, edge thickness, index of refraction, and other data for the surface.
If the glass type of the surface is a model glass, then ZEMAX will list out the index of refraction at each defined
wavelength calculated from the model glass parameters. Also listed is the name of the Best Fit Glass, which is
the name of the glass in the currently loaded catalog(s) which has the closest index of refraction to the model
glass in an RMS sense. Specifically, ZEMAX computes the index error as the sum of the squares of the difference
between the model index and the actual glass index using the dispersion formulas. The sum is over the defined
wavelengths. The index error is computed for every glass in the current catalogs, and the glass with the lowest
RMS index deviation is designated as the best fit glass.
Note that the best fit glass may have a different V number than the model glass, however, this is due to the
approximations made in the model glass dispersion. Since index of refraction is the physically significant
parameter, only the index is used is making the glass selection. When changing from model glass to a real fixed
glass, the same algorithm is used to make the selection. For more information on model glasses, see Using
model glasses on page 485.
System Data
Purpose:
Display system data.
Settings:
None.
Discussion:
This feature generates a text window which lists many system-related parameters, such as pupil positions and
sizes, magnification, F/#, etc.
Prescription Data
Purpose:
Item Description
General Data Includes F/#, pupil positions, magnification, etc.
Surface Data Surface type, radii, thickness, glass, semi-diameter, conic.
Surface Detail Surface Parameter data. All NSC object data is also listed in this section for NSC
groups.
Edge Thickness The X and Y edge thickness of each surface.
Multi-Config Data A table of multi-configuration operand data.
Solves/Variables Solve types and data, variables.
Index Data Index of refraction and TCE data for each wavelength/surface.
Global Vertex Global coordinates of the vertex and the rotation matrix for each surface. See
Global Coordinate Reference Surface on page 93 for a discussion of this data.
Element Volume Volume in cc, density, and mass. See below.
F/ Numbers Lists working F/# for each field position and wavelength combination.
Cardinal Points Lists the locations of focal, principal, anti-principal, nodal, and anti-nodal points.
POP Settings Lists the surface by surface settings used by the Physical Optics Propagation
feature.
Discussion:
This report lists specification data, indices of refraction, global coordinates, element volumes, and more. It is
suitable for describing the lens prescription.
Comments on computing element volumes
When ZEMAX computes element volumes for spherical or plane standard surfaces with circular edges, the
edge of the surface with the smaller diameter is assumed to be squared up to the semi-diameter of the larger
surface. The volume are exact for this common special case.
For other elements, with possibly aspheric faces, elliptical, annular, or rectangular apertures and/or decentered
apertures, a numerical integration technique is used that yields approximate volumes to an accuracy of about
0.1%. If zero volume is reported than the algorithm is unable to compute the volume to sufficient accuracy. This
happens when the aperture types are not the same, or have different sizes or decenters.
When computing the density of elements, the density in grams per cubic centimeter for a catalog glass is
retrieved from the glass catalog. For gradient index surfaces, ZEMAX assumes the density is 3.6 g/cc, which may
not be a good estimate.
Report Graphics 4/6
Purpose:
This function generates a graphical window that simultaneously displays either 4 or 6 analysis graphics. The
primary advantage of this feature is that multiple analysis graphs may be printed on a single page, making a
suitable summary for reports, archival documentation, or promotional literature.
Settings:
The report graphics window works somewhat differently from other analysis windows. If the Settings option
is selected from the window's menu bar, then a dialog box will appear which allows selection of the type of graphic
Introduction
ZEMAX models many types of optical components. These include conventional spherical glass surfaces, plus
aspheres, toroids, cylinders, and others, ZEMAX can also model components such as diffraction gratings, binary
optics, Fresnel lenses, holograms, and others.
Because of the large number of surface types ZEMAX supports, a conventional spreadsheet arrangement for
the user interface would be difficult to use. For example, there is no need to have a column for diffraction order
for a surface that has no diffractive capability. To make the user interface as uncluttered as possible, ZEMAX uses
different surface types to indicate what kinds of data are needed to define that type of surface.
Parameter data
A Standard surface can be a plane, spherical, or conic aspheric surface which is followed by a homogeneous
material (such as air, mirror, or glass). The only parameters required are a radius (which may be infinity to yield
a plane), a thickness, a conic constant (the default zero value indicates a sphere), and the name of the glass type.
Other surface types use these same basic data, as well as other values. For example, the Even Asphere
surface uses all the Standard surface column data plus additional values which describe coefficients on a
polynomial. These values are called parameters. The most important property of the parameter values to
understand is that their meaning changes depending upon the surface type selected. For example, the Even
Asphere surface uses parameter 1 to specify the coefficient on the parabolic aspheric term. However, the Paraxial
surface uses parameter 1 to specify the focal length of the surface. Both surface types use parameter 1, but for
different purposes, since both surface types are never used on the same surface at the same time.
This sharing of data storage simplifies the ZEMAX interface, as well as reduces the total memory required to
run the program. After you change a surface from Standard to some other surface type, ZEMAX will automatically
change the column headings on the parameter columns to reflect what each parameter does on that surface. As
you move the cursor from cell to cell, the column headings will always show you what that cell is used for. If the
current surface does not use the parameter column, the column heading will display "Unused". For more
information see Lens Data on page 65.
Extra data
Some surfaces cannot be described by only a few parameter values. For example, the Binary Optic 1 surface
type requires nine parameters as well as up to several hundred additional numbers. This would make for a very
large spreadsheet, and so a separate editor is used for the extra data values. However, the concept is the same.
The extra data values are shared by each surface type, and change meaning depending upon the surface type
selected. The column headings in the Extra Data Editor also change as the cursor is moved from surface to
surface.
Summary of surface types
ZEMAX models planes, spheres, and conics; all of these surface types are grouped under the category of
standard surface. By double clicking on the Surface Type column other surface models can be selected. A pop-
up screen will appear which lists all of the available surface types which can be selected. ZEMAX supports many
different types of surfaces in addition to the standard surface.
User defined surfaces
No matter how many surfaces are added to ZEMAX, there always seems to be the need to add another surface
type to solve a particular design, modeling, or tolerancing problem. If the surface type needed for a problem is
not already included with ZEMAX, it is fairly easy to add new surface types using the User Defined surface
described on page User Defined on page 275. User defined surfaces are created by writing software that defines
the properties about the surface, and then dynamically linking the software into ZEMAX.
If you have a need for a custom surface type, and you do not wish to write the software for it yourself, please
contact ZEMAX Technical Support for a quote on developing a custom surface to meet your requirements. We
ABCD
The ABCD surface provides a powerful method for modeling "black box" optical systems. If you have a lens
(or a complete optical system) which is only a subsection of what you wish to model, and you do not have
prescription data for the individual components, you can still model the behavior to first order.
The ABCD surface accepts eight parameters: Ax, Bx, Cx, Dx, Ay, By, Cy, and Dy. These are used to form two-
by-two matrices (one for the x-direction and one for the y) which are used to alter the ray as it crosses the surface.
The exit ray is related to the incident ray by
x' Ax Bx x
= ,
'x Cx Dx
with a similar expression for the y components. Because there is no reliable way to compute the phase through
an ABCD surface, any calculation that requires OPD data, such as OPD fans, MTF, and Zernike coefficients, will
not be supported if an ABCD surface is present in the lens description.
PARAMETER DEFINITIONS FOR ABCD SURFACES
Ax Bx Cx Dx Ay By Cy Dy
Alternate Even
There are two solutions to the ray-surface intercept equations used in tracing a ray to the next optical surface,
if that surface is of the form of the standard or even aspheric surface types. ZEMAX selects the correct solution
in the vast majority of cases. However, in certain systems, so-called "strange" rays are actually intended to
intersect the next surface at the other, "alternate" solution. Strange rays are most likely to occur after a grazing
incidence reflection in which the ray is still traveling in the same direction (the Z component of the ray vector does
not change sign). The alternate even surface model is identical to the even asphere surface model, except the
Biconic
The biconic surface is similar to a toroidal surface, except the conic constant and base radius may be different
in the X and Y directions. The biconic surface allows specification of Rx, Ry, Kx, and Ky directly. The sag of a
biconic is given by:
2 2
cx x + cy y
z = ---------------------------------------------------------------------------------------- ,
2 2 2 2
1 + 1 ( 1 + k x )c x x ( 1 + k y )c y y
where
1 1
c x = ----- , c y = ----- .
Rx Ry
Parameter 1 Parameter 2
Rx kx
Biconic Zernike
The biconic Zernike surface is similar to a biconic surface, with the added capability to add X, Y, and Zernike
polynomial deformations. The sag of a biconic Zernike is given by:
2 2 16 16 N
cx x + cy y
z = ---------------------------------------------------------------------------------------- + i x + i y + A i Z i ( , ) ,
i i
2 2 2 2
1 + 1 ( 1 + k x )c x x ( 1 + k y )c y y i = 1 i=1 i=1
where
1 1
c x = ----- , c y = ----- ,
Rx Ry
and the Z i terms are the Zernike standard terms as described in Zernike Standard Sag on page 285.
Parameter 0 is the extrapolate flag. If the extrapolate flag is set to 0, the Zernike terms are ignored outside of the
normalization radius. If the extrapolate flag is set to 1, then the Zernike terms are considered no matter where
the ray lands on the surface; even if the ray lands beyond the normalization radius. The radius and conic in the
x direction are set in the parameter 1 and 2 columns. If the radius is set to zero, the x radius is interpreted to be
infinity. Parameter 3 is the maximum number of Zernike terms, this value may be between 0 and 210, inclusive.
Parameter 4 is the normalization radius used in the Zernike expansion.
PARAMETER DEFINITIONS FOR BICONIC ZERNIKE SURFACES
Binary Optic 1
Binary optics, also called kinoforms, are similar to holograms and diffraction gratings in that small grooves or
lines across the optical surface impart a change in phase of the wavefront passing through the surface. ZEMAX
does not model the wavelength-scale grooves directly. Instead, ZEMAX uses the phase advance or delay
represented by the surface locally to change the direction of propagation of the ray. Other effects, such as
efficiency or multiple order diffraction are ignored. Binary surfaces can have zero thickness, with no index change
across the surface, or may have different media on either side of the surface. In this case, the refraction due to
2
cr 2 4 6 8 10 12 14 16
z = -------------------------------------------------- + 1 r + 2 r + 3 r + 4 r + 5 r + 6 r + 7 r + 8 r ,
2 2
1 + 1 ( 1 + k )c r
where the terms are identical to those in the even asphere surface model. See Even Asphere on page 243
for a complete discussion. The binary optic 1 surface adds phase to the ray according to the following polynomial
expansion:
= M A i E i ( x, y )
i=1
th
where N is the number of polynomial coefficients in the series, A i is the coefficient on the i extended
polynomial term, and M is the diffraction order. The polynomials are a power series in x and y, as described in
Extended Polynomial on page 247. The coefficients A i all have units of radians ( 2 radians is one wave). If
Parameter 9 is any value other than zero, then the absolute value of the x and y coordinates are used for
computing the phase in the above expression. This "Absolute" option yields a different, generally discontinuous
phase profile.
PARAMETER DEFINITIONS FOR BINARY OPTIC 1 SURFACES
The "Maximum term number" is used to specify the maximum polynomial term to be used in calculating the
surface phase. This number is provided to speed the ray tracing calculation, as terms beyond this number are
3
ignored. For example, if the last term in the series you wish to use is xy , which is term number 13, then specify
"13" in the maximum term number column. Note that the term number is 13, because it is the 13th term in the
polynomial expansion, and NOT 15, which is the "extra data number", which is the position in the extra data list
of parameters. The "extra data number" is always two greater than the term number!
2
cr 2 4 6 8 10 12 14 16
z = -------------------------------------------------- + 1 r + 2 r + 3 r + 4 r + 5 r + 6 r + 7 r + 8 r ,
2 2
1 + 1 ( 1 + k )c r
where the terms are identical to those in the Even Asphere Surface model. See Even Asphere on page 243
for a complete discussion. The Binary Optic 2 surface adds phase to the ray according to the following polynomial
expansion:
= M Ai
2i
i=1
th
where N is the number of polynomial coefficients in the series, A i is the coefficient on the 2i power of ,
which is the normalized radial aperture coordinate, and M is the diffraction order. The first extra data term is N ,
480
the number of terms, which can be zero to exclude all binary effects, or any integer up to 240 (or the term).
Extra data value number 2 is the normalization radius. Extra data values 3 through 242 are the coefficients.
PARAMETER DEFINITIONS FOR BINARY OPTIC 2 SURFACES
M 1 2 3 4 5 6 7 8
4 4
Coefficient in radians on
n+2 2n
Coefficient in radians on
The "Maximum term number" is used to specify the maximum polynomial term to be used in calculating the
surface phase. This number is provided to speed the ray tracing calculation, as terms beyond this number are
14
ignored. For example, if the last term in the series you wish to use is , which is term number 7, then specify
"7" in the maximum term number column. Note that the term number is 7, because it is the 7th term in the
polynomial expansion, and NOT 9, which is the "extra data number", which is the position in the extra data list of
parameters. The "extra data number" is always two greater than the term number!
!The "extra data number" is always two greater than the term number!
The normalization radius scales the X and Y intercept coordinates of the ray so that the polynomial terms are
all dimensionless and the coefficients are all in radians. For modeling phase surfaces that are not well described
by polynomials, see Grid Phase on page 258.
Binary optic coefficients sign conventions
See Binary Optic 1 on page 230 for a discussion of sign conventions.
Binary Optic 3
The Binary Optic 3 surface is very similar to the Binary Optic 2 surface. The key difference is that the Binary
Optic 3 supports two concentric radial zones, with independent radius, conic, and polynomial aspheric deforma-
tion and diffractive phase data for each zone. The surface is divided into two zones by two radial coordinates,
A 1 , and A 2 . The inner radial zone extends from the center of the surface to the radial coordinate A 1 . The outer
radial zone extends from A 1 outward. The radial coordinate A 2 is used for normalizing the phase coefficients in
the outer zone, even though the surface may extend past the coordinate A 2 . The outer zone is offset from the
inner zone to make the surface sag continuous across the zone boundary. ZEMAX requires that 0 < A 1 < A 2 .
The sag of the surface in the inner zone is given by the following expression:
2 N
c1 r
- + 1i r 2i , for r A 1 ,
z 1 = ------------------------------------------------------
2 2
1 + 1 ( 1 + k 1 )c 1 r i=1
where N is the number of aspheric terms which may be set by the user as described below. The value for the
inner zone curvature, c 1 , is the reciprocal of the radius of curvature specified in the Lens Data Editor. The inner
2 N
c2 r
- + 2i r 2i
z 2 = z o + ------------------------------------------------------ ,for r > A 1 ,
2 2
1 + 1 ( 1 + k 2 )c 2 r i=1
where the term z o is chosen to make the surface continuous across the boundary between the inner and outer
zones at the radial coordinate A 1 , or z o = z 1 ( A 1 ) z 2 ( A 1 ) (the value of z o is temporarily set to zero while
evaluating z 2 for this calculation). The outer zone radius of curvature (from which the value c 2 is computed) and
the outer zone conic are set in the parameter data as described below. For a flat outer zone radius, use zero.
Both the inner and outer zones have a diffractive phase profile, with independent coefficients. The phase of
the inner zone is given by:
N
r
1 = M 1 1i 1 , and 1 = ------ ,
2i
A1
i=1
th
where N is the number of polynomial coefficients in the series, 1i is the coefficient on the 2i power of 1 ,
which is the normalized radial aperture coordinate, and M 1 is the diffraction order. A similar expression describes
the phase for the outer zone:
N
r
2 = o + M 2 2i 2 , where 2 = ------ .
2i
A2
i=1
The phase offset serves a similar purpose to the sag offset, and is defined by o = 1 ( 1 ) 2 ( A 1 A 2 ) (the
value of o is temporarily set to zero while evaluating 2 for this calculation). Note that the normalization radius
A 2 is used only for defining the radial aperture to normalize the phase coefficients for the outer zone. The outer
zone of the surface, and the associated phase profile, may extend beyond this value.
The dual zone nature of this surface creates a complication when computing the phase of the surface as the
zone boundary is crossed. The phase offset value o makes certain the phase is continuous across the zone
boundary. This is desirable for design and analysis purposes, because phase jumps of hundreds of waves make
interpretation and analysis difficult. However, the phase offset is artificial, and this must be accounted for in the
actual design. For optimum imaging properties, the outer zone should be in phase with the inner zone. This
condition is met when the inner and outer zones differ in phase by an integral number of wavelengths at the
boundary, or more to the point, if o = J2 , where J is some arbitrary integer. This condition can usually be met
by a small change in A 1 , as long as there is some difference in the slope of the phase on either side of the
boundary. To make this boundary condition simple to meet, ZEMAX computes sin o and places this value in
parameter 7. The merit function boundary operand PMVA can then be used to target this value to be zero. Note
this value is computed from the phase data, and should not be user defined or made variable.
R2 k2 A1 A2 M1 M2 sin o
10, 11, 12, 13, etc. The pattern continues in groups of 4 coefficients for N groups.
where the subscript "o" indicates the ordinary index. This is just Snells law, of course. For extraordinary rays,
the refraction law is
This is also Snells law, but the effective index of refraction in the birefringent material is a function of the angle
w , which is the angle between the crystal axis vector a and the refracted wave vector k . Additionally, the ray
vector s , which is the vector pointing in the direction of energy propagation (also called the Poynting vector), does
not follow the wave vector k , but makes a small angle with respect to k . In isotropic media k and s are the same,
cos w = k a .
-------------
1 - 2 cos w 2 sin w 2
= --------------- + -------------- ,
n ( w ) no ne
cos = k s , where
2 2
( n e n o ) tan w
tan = --------------------------------------
2
-,
2
n e + ( n o tan w )
and the vectors k and s are both coplanar with the crystal axis vector a . The wave vector k points along the
normal to the wavefront, while s points along the direction of energy propagation. For ray tracing purposes,
ZEMAX uses the components of s as the ray direction cosines.
Because the birefringence effects both the refraction into the media, as well as the refraction out of the media,
two surfaces are required to model a birefringent element: the "birefringent in" and the "birefringent out" surfaces.
Each "in" must be followed by an "out" surface; if this is violated ZEMAX will issue an error message and not trace
any rays. The only exception is that any number of coordinate break surfaces (or surface tilts and decenters) may
be placed between the "in" and "out" surfaces. The ray is propagated to the next surface using the s vector
components; however the refraction out of the birefringent media is governed again by the k vector components.
Defining the index
To define the ordinary index, ZEMAX uses the glass catalog and glass name in the usual way. For example,
to use Calcite, define the surface to be a birefringent "in" type, and enter Calcite for the glass name. ZEMAX uses
this name to compute the ordinary index at any defined wavelength.
To compute the extraordinary index, ZEMAX appends "-E" to the glass name, and then looks for this material
in the glass catalog. For the case of Calcite, ZEMAX searches for "Calcite-E" in the glass catalog, and if found,
uses that for the extraordinary index. If not found, an error message is issued. This technique allows definition of
any material with any ordinary and any extraordinary index to be defined and used.
Most ZEMAX calculations, such as EFL, EPD, F/#, etc. use the ordinary index of refraction. The extraordinary
index is only used to trace extraordinary rays. The Prescription report will list both the ordinary and the
extraordinary index, and this data should be carefully checked before using this feature for any critical analysis.
Defining the crystal axis orientation
The crystal axis orientation is defined using parameter columns 2, 3, and 4 for the x-, y-, and z- direction
cosines of the crystal axis ray. For example, to define the crystal axis along the x axis, the vector values are (1,
0, 0). For the axis aligned to the surface vertex normal, which is along the z axis, the vector is (0, 0, 1). Note the
coordinates are local to the surface; and ZEMAX converts to unit vector components.
The birefringent "out" surface does not use any parameters. The surface shape of the birefringent in and out
surfaces is the same as a standard surface; which includes planes, spheres, and conic aspheres; all symmetric
about the local Z axis.
Conjugate
The conjugate surface is defined by two user-specified points. ZEMAX always uses the surface vertex as the
reference point; the two points required to define the conjugate surface are specified relative to this vertex. The
conjugate surface will always perfectly image one point to the other point, assuming the surface is a mirror.
Although the conjugate surface can have any material type, it is useful to think of it as being defined by its reflective
properties.
If the z-coordinates of the two points are either both positive or both negative, then the image formed from one
of the points to the other is real. In this case, the distance from one of the points to an arbitrary point on the surface,
plus the distance from the arbitrary point on the surface to the second point, is constant for all points on the
surface. One additional constraint is needed to make the surface unique: the surface must pass through the vertex
of the local coordinate system. If the surface is reflective, then one point is the conjugate of the other, hence the
name.
The surface generated by these two points satisfies the following expression if both z1 and z2 have the same
sign:
2 2 2 2 2 2 2 2 2 2 2 2
( x x1 ) + ( y y1 ) + ( z z1 ) + ( x x2 ) + ( y y2 ) + ( z z2 ) = x1 + y1 + z1 + x2 + y2 + z 2 .
Note that the surface must intersect the point (0,0,0). Several types of surfaces can be formed with this model.
For example, a sphere can be formed by setting the x and y values to zero, and the two z values each to the
radius of the sphere. An elliptical surface of arbitrary orientation can be formed by specifying non-zero values for
either the x or y values.
If z1 and z2 have opposite signs, then the image formed from one of the points to the other is virtual. In this
case, the distance from one of the points to an arbitrary point on the surface, minus the distance from the arbitrary
2 2 2 2 2 2 2 2 2 2 2 2
( x x1 ) + ( y y 1 ) + ( z z 1 ) ( x x 2 ) + ( y y2 ) + ( z z 2 ) = x1 + y1 + z1 x2 + y2 + z2 .
Note that the surface must intersect the point (0,0,0). Several types of surfaces can be formed with this model.
For example, a hyperbola can be formed by setting the x and y values to zero, and the two z values to opposite
values. If the z values are equal but opposite, then a plane will be generated.
The coordinates of the two construction points are specified in the parameter columns, as shown in the
following table. Neither the z1 nor the z2 value can be zero.
PARAMETER DEFINITIONS FOR CONJUGATE SURFACES
x1 y1 z1 x2 y2 z2
Coordinate Break
The coordinate break surface is used to define a new coordinate system in terms of the current system. It is
always considered a "dummy" surface for ray tracing purposes. There are six parameters used to describe the
new coordinate system: x-decenter, y-decenter, tilt about x, tilt about y, tilt about z, and a flag to indicate the order
of tilting and decentration. Coordinate break decenters are always specified in lens units. Coordinate tilts are
specified in degrees, and are right-handed with respect to the positive axes. Coordinate breaks are always relative
to the coordinate system of the previous surface.
An alternate way of implementing coordinate breaks is to use surface tilts and decenters, see Surface tilt/
decenter tab on page 73 for details.
Cubic Spline
The cubic spline surface is described by sag values which are the distances between the vertex tangent plane
and the surface. Spline surfaces are used to describe unusual correctors, headlamps, and other non-standard
optical surfaces, but rarely for imaging applications because of the fundamental properties of splines. See
"Comments about spline surfaces" below for more discussion.
The Cubic Spline surface uses eight values to represent the sag at one-eighth, two-eighths, and so on to eight-
eighths of the semi-diameter of that surface. Cubic spline surfaces are rotationally symmetric. All eight points
must be defined. A subset cannot be used, although the semi-diameter may be defined to exceed the useful
aperture of the surface. This is often required because of the steep curvatures occasionally introduced by spline
fitting. If eight points provides an overly coarse sampling, see Extended Cubic Spline on page 245. For a more
general non-rotationally symmetric surface, see Grid Sag on page 259.
Comments about spline surfaces
Cubic splines are formed by a piece-wise concatenation of curved segments. Within the bounds of each
segment, the curve is defined by a third order polynomial. The polynomial coefficients describing each segment
are determined from the sag values of the defined segment boundaries. The determination of the coefficients is
driven by the boundary requirements that (a) the curve goes through the defined points, (b) the curve be
continuous across segment boundaries, and (c), the first derivatives are also continuous across the segment
boundaries. For a third order spline, it is not possible to require higher order derivatives, such as second or third,
to be continuous across segment boundaries. For this reason, splines are of limited accuracy and usefulness in
high precision optical design. Note that fundamental optical properties, such as surface power, are determined
by second order derivatives, and basic aberrations such as coma and spherical are controlled by third and fourth
order derivatives.
A common characteristic of tracing rays through spline surfaces is rough or noisy looking ray data, with
discontinuities in some results. These ray trace discontinuities are a fundamental limitation of splines, and they
are not due to a flaw in ZEMAX, or a lack of numerical precision.
Higher order splines of course exist, and one way to eliminate the discontinuities is to use a higher order spline
and fewer segments. In the limit, this is essentially the same as using a single high order polynomial for the whole
surface, see for example the Even Asphere on page 243. This is why high order polynomials, and not splines
or NURBS, dominate in precision optical design; they are continuously smooth and differentiable to all orders.
For an excellent discussion of spline theory, properties and algorithms, see Numerical Recipes in C, by Press
et al., Cambridge University Press.
PARAMETER DEFINITIONS FOR CUBIC SPLINE SURFACES
Sag at 1/8 Sag at 2/8 Sag at 3/8 Sag at 4/8 Sag at 5/8 Sag at 6/8 Sag at 7/8 Sag at 8/8
Cylinder Fresnel
The Cylinder Fresnel surface has a polynomial aspheric cylindrical substrate with an independent polynomial
aspheric cylindrical function defining the Fresnel lens properties. The surface substrate sag is given by:
2
cs y 2 4 6 8 10 12 14 16
z s = ---------------------------------------------------- + 1 y + 2 y + 3 y + 4 y + 5 y + 6 y + 7 y + 8 y .
2 2
1 + 1 ( 1 + k s )c s y
2
cf y 2 4 6 8 10 12 14 16
z f = --------------------------------------------------- + 1 y + 2 y + 3 y + 4 y + 5 y + 6 y + 7 y + 8 y .
2 2
1 + 1 ( 1 + k f )c f y
Note that the curvature (symbol c), the conic constant (symbol k), and all of the polynomial coefficients are
independent for the substrate sag and Fresnel portions of the surface. The refraction at the surface accounts for
only the Fresnel sag, while the ray-surface intercept depends only upon the substrate sag.
The substrate sag radius, conic, and polynomial terms are all specified in the Lens Data Editor. The Fresnel
sag terms are specified in the Extra Data Editor. However, the Extra Data Editor uses curvature (the reciprocal
of radius) rather than radius for the Fresnel sag. The Extra Data Values used are summarized in the following
table.
EXTRA DATA DEFINITIONS FOR CYLINDER FRESNEL SURFACES
n+3 2n
Coefficient on y
The "Maximum aspheric polynomial term number" is used to specify the maximum polynomial term to be used
in calculating the Fresnel sag. This number is provided to speed the ray tracing calculation, as terms beyond this
number are ignored. As with any complex surface model, extreme care should be taken to evaluate the accuracy
and appropriateness of this model, especially where fabrication decisions are concerned.
Because there is no reliable way to compute the phase through a Fresnel surface which is not a plane, any
calculation that requires OPD data, such as OPD fans, MTF, and Zernike coefficients, will not be supported if a
non-plane substrate Fresnel surface is present in the lens description.
Diffraction Grating
The diffraction grating surface can be used to model straight-line ruled gratings. The grating lines are parallel
to the local x-axis. Other orientations can be simulated by using a coordinate break surface before and after the
grating surface. For a plane grating, rays traced to the grating are refracted according to the equation
M
n 2 sin 2 n 1 sin 1 = -------- = MT ,
d
where d is the grating spacing (always in micrometers), 2 is the refracted angle, 1 is the incident angle, M
is the diffraction order, is the wavelength (always in micrometers), n 1 and n 2 are the indices of refraction before
and after the grating, and T is the grating frequency in lines per micrometer. Note that the sign convention for M
is completely arbitrary. ZEMAX uses the definition for T (lines per micrometer) rather than d (micrometers per
line). The grating surface can be plane, spherical, or conical, and the medium before the grating, as well as the
Parameter 1 Parameter 2
Elliptical Grating 1
The elliptical grating 1 surface is a combination of an elliptical surface with polynomial aspheric terms and a
grating with grooves that are straight when projected on to the vertex tangent plane (although the surface itself
is usually not planar). The grating lines are parallel to the local x-axis, and may be equally spaced or have a
variable spacing defined by a 4 term polynomial (up to the cubic term in y). Other orientations can be simulated
by using a coordinate break surface before and after the grating surface. For a plane grating, rays traced to the
grating are refracted according to the equation
M
n 2 sin 2 n 1 sin 1 = -------- = MT ,
d
where d is the effective grating spacing (always in micrometers), 2 is the refracted angle, 1 is the incident
angle, M is the diffraction order, is the wavelength (always in micrometers), n 1 and n 2 are the indices of
refraction before and after the grating, and T is the effective grating frequency in lines per micrometer. ZEMAX
uses the definition for T (lines per micrometer) rather than d (micrometers per line). The effective grating
frequency T is defined by:
Note the constant spacing term is defined in reciprocal units to be compatible with other grating surfaces in
ZEMAX; while the higher order terms are defined in a polynomial in the y coordinate. If T evaluates to zero, the
grating component is ignored, which is useful for modeling elliptical aspheres which are not gratings.
The medium behind the grating surface may be air, glass, or a mirror. ZEMAX only models gratings to the
extent of deviating ray paths. Other properties, such as efficiency and relative transmission are not supported. If
the grating spacing is too small (or if T is too large) to satisfy the grating relation, then a "Ray missed surface"
error will be reported.
Elliptical Grating surface shape
The surface shape is an ellipse with added polynomial aspheric terms. The sag of the surface is given by the
following expression:
N
2
cu
z = ---------------------------- + A i E i ( x, y ) ,
2
1+ 1u i=1
where
2 2 2 2 2
u = a x +b y .
1 1
a = b = --- = --- .
R c
Elliptical Grating 2
The elliptical grating 2 surface is very similar to the elliptical grating 1 surface. The distinction is that the grating
lines are formed by the intersection of tilted, parallel, evenly spaced planes with a substrate defined by an elliptical
surface with polynomial aspheric terms. The intersection of the surface and tilted planes yield a grating with
grooves that are straight when projected on to a plane tilted by an angle y , measured in the local y direction.
When projected onto a surface which is not plane, the grooves are curved, not straight.
The grating is defined by the parameter T, which is the lines per micrometer (the grating frequency) when the
groove lines are projected onto the tilted XY plane. This is the reciprocal of the spacing between the planes which
form the grooves. The diffraction order is M, and the elliptical substrate is defined by the parameters a, b, c, and
extra data terms, exactly as for the elliptical grating.
The medium behind the grating surface may be air, glass, or a mirror. ZEMAX only models gratings to the
extent of deviating ray paths. Other properties, such as efficiency and relative transmission are not supported. If
the grating spacing is too small (or if T is too large) to satisfy the grating relation, then a "Ray missed surface"
error will be reported. The surface shape is an ellipse with added polynomial aspheric terms, see the Elliptical
Grating surface shape on page 242.
PARAMETER DEFINITIONS FOR ELLIPTICAL GRATING 2 SURFACES
Even Asphere
Rotationally symmetric polynomial aspheric surfaces are described by a polynomial expansion of the deviation
from a spherical (or aspheric described by a conic) surface. The even asphere surface model uses only the even
powers of the radial coordinate to describe the asphericity. The model uses the base radius of curvature and the
conic constant. The surface sag is given by
2
cr 2 4 6 8 10 12 14 16
z = -------------------------------------------------- + 1 r + 2 r + 3 r + 4 r + 5 r + 6 r + 7 r + 8 r .
2 2
1 + 1 ( 1 + k )c r
1 2 3 4 5 6 7 8
Extended Asphere
The extended asphere surface is similar to the Even Asphere surface; see Even Asphere on page 243.
However, the extended asphere can support aspheric coefficients up to order 480, whereas the even asphere is
limited to 16. Also, a slightly different method is used for computing the coefficients of the polynomial terms. The
sag of the surface is given by the following expression:
N
2
cr
z = -------------------------------------------------- + i ,
2i
2 2
1 + 1 ( 1 + k )c r i=1
where the first expression is identical to the standard surface, and the second term is a power series sum over
a normalized radial coordinate. The normalized radial coordinate is used because then the coefficients i all
have units of lens units. The extra data terms are defined in the following table.
EXTRA DATA DEFINITIONS FOR EXTENDED ASPHERE SURFACES
4 4
Coefficient in lens units on
n+2 2n
Coefficient in lens units on
The "Maximum term number" is used to specify the maximum polynomial term to be used in calculating the
surface sag. This number is provided to speed the ray tracing calculation, as terms beyond this number are
14
ignored. For example, if the last term in the series you wish to use is , which is term number 7, then specify
"7" in the maximum term number column. Note that the term number is 7, because it is the 7th term in the
polynomial expansion, and NOT 9, which is the "extra data number", which is the position in the extra data list of
parameters. The "extra data number" is always two greater than the term number!
!The "extra data number" is always two greater than the term number!
The normalization radius scales the X and Y intercept coordinates of the ray so that the polynomial terms are
all dimensionless and the coefficients are all in lens units. For modeling surfaces that are not well described by
polynomials, see Grid Sag on page 259 or User Defined on page 275.
The "Maximum number of spline points" is used to specify how many points define the surface. This number
may be between 4 and 240. At least 4 points are required to define the curved surface.
Spline surfaces can cause rough or ragged ray tracing results. A more general and much smoother solution
is to use the grid sag surface, which is not restricted to rotational symmetry. See Grid Sag on page 259.
Extended Fresnel
The Fresnel surface described in Fresnel on page 249 models a plane surface which has the refractive (or
reflective) power of a curved surface. The Extended Fresnel surface increases the flexibility of this model by
supporting a plane, spherical, conic, or polynomial aspheric substrate on which a plane, spherical, conic, or
polynomial Fresnel pattern is etched.
The surface sag is identical to the even aspheric surface:
2
cs r 2 4 6 8 10 12 14 16
z s = ---------------------------------------------------- + 1 r + 2 r + 3 r + 4 r + 5 r + 6 r + 7 r + 8 r .
2 2
1 + 1 ( 1 + k s )c s r
See the section Even Asphere on page 243 for details. The previous expression is used to compute the ray-
surface intercept. Once the intercept is found, the refraction (or reflection) of the surface is determined by the
local slope of the Fresnel facets, which depends upon both the Fresnel facet shape expression for Zf (below) and
the substrate shape expression for Zs (above). The Fresnel facet shape is described by an expression virtually
identical to the even asphere sag expression:
2 n
cF r
zF - + i r 2i .
= ----------------------------------------------------
2 2
1 + 1 ( 1 + k F )c F r i=0
The only difference is that the latter expression need not use all 8 terms if n is less than 8, the maximum
accepted value. Note that the curvature (symbol c), the conic constant (symbol k), and all of the polynomial
coefficients (symbol ) are independent for the substrate sag and Fresnel portions of the surface. The refraction
at the surface accounts for both the substrate sag and the Fresnel sag, while the ray-surface intercept depends
n+3 2n
Coefficient on r
The "Maximum aspheric polynomial term number" is used to specify the maximum polynomial term to be used
in calculating the surface sag. This number is provided to speed the ray tracing calculation, as terms beyond this
number are ignored. As with any complex surface model, extreme care should be taken to evaluate the accuracy
and appropriateness of this model, especially where fabrication decisions are concerned.
Because there is no reliable way to compute the phase through a Fresnel surface which is not a plane, any
calculation that requires OPD data, such as OPD fans, MTF, and Zernike coefficients, will not be supported if a
non-plane substrate Fresnel surface is present in the lens description.
Extended Odd Asphere
The Extended Odd Asphere surface is similar to the Odd Asphere surface described in Odd Asphere on
page 263. However, the Extended Odd Asphere can support aspheric coefficients up to order 240, whereas the
Odd Asphere is limited to 8. Also, a slightly different method is used for computing the coefficients of the
polynomial terms. The sag of the surface is given by the following expression:
N
2
cr
z = -------------------------------------------------- + i ,
i
2 2
1 + 1 ( 1 + k )c r i=1
where the first expression is identical to the standard surface, and the second term is a power series sum over
a normalized radial coordinate. The normalized radial coordinate is used because then the coefficients i all
have units of lens units. The extra data terms are defined in the following table.
EXTRA DATA DEFINITIONS FOR EXTENDED ODD ASPHERE SURFACES
n+2 n
Coefficient in lens units on
The "Maximum term number" is used to specify the maximum term to be used in calculating the surface sag.
This number is provided to speed the ray tracing calculation, as terms beyond this number are ignored.
Extended Polynomial
The extended polynomial surface is similar to the polynomial surface, except more terms are allowed. The
surface also supports a base conic asphere surface upon which the polynomial aspheric terms are added. The
surface sag is of the form:
N
2
cr
z = -------------------------------------------------- + A i E i ( x, y ) .
2 2
1 + 1 ( 1 + k )c r i=1
th
where N is the number of polynomial coefficients in the series, and A i is the coefficient on the i extended
polynomial term. The polynomials are a power series in x and y. The first term is x, then y, then x*x, x*y, y*y, etc.
There are 2 terms of order 1, 3 terms of order 2, 4 terms of order 3, etc. The maximum order is 20, which makes
a maximum of 230 polynomial aspheric coefficients. The position values x and y are divided by a normalization
radius so the polynomial coefficients are dimensionless.
For example, the 12th term in the polynomial expansion, which is extra data term number 14, is the coefficient
2 2
on the term in x y . The coefficients A i all have units which are the same as the lens units, such as millimeters
or inches.
EXTRA DATA DEFINITIONS FOR EXT. POLYNOMIAL SURFACES
The "Maximum term number" is used to specify the maximum polynomial term to be used in calculating the
surface sag. This number is provided to speed the ray tracing calculation, as terms beyond this number are
3
ignored. For example, if the last term in the series you wish to use is xy , which is term number 13, then specify
"13" in the maximum term number column. Note that the term number is 13, because it is the 13th term in the
polynomial expansion, and NOT 15, which is the "extra data number", which is the position in the extra data list
of parameters. The "extra data number" is always two greater than the term number! The maximum term number
is the same as "N" in the surface sag equation.
!The "extra data number" is always two greater than the term number!
The normalization radius scales the X and Y intercept coordinates of the ray so that the polynomial terms are
all dimensionless and the coefficients are all in lens units.
2
cy 2 4 6 8 10 12 14 16
z = -------------------------------------------------- + 1 y + 2 y + 3 y + 4 y + 5 y + 6 y + 7 y + 8 y .
2 2
1 + 1 ( 1 + k )c y
This curve is similar to the even asphere (page 243) surface sag formula, except the coordinate argument is
y, not r . This curve is then rotated about an axis a distance R from the vertex. This distance R is referred to as
the radius of rotation, and may be positive or negative. The Y-Z radius of curvature is specified in the same column
on the spreadsheet editor as the radius for standard surfaces. The radius of rotation is set on parameter column
number 1. To model a cylinder lens which is flat in the X direction use zero, which ZEMAX interprets as infinite
radius.
The resulting surface is then modified by the addition of the extended polynomial terms:
z = z toroid + A i E i ( x, y ) .
i=1
th
where N is the number of polynomial coefficients in the series, and A i is the coefficient on the i extended
polynomial term. The polynomials are a power series in x and y. The first term is x, then y, then x*x, x*y, y*y, etc.
There are 2 terms of order 1, 3 terms of order 2, 4 terms of order 3, etc. The maximum order is 20, which makes
a maximum of 230 polynomial aspheric coefficients. The position values x and y are divided by a normalization
radius so the polynomial coefficients are dimensionless.
For example, the 12th term in the polynomial expansion, which is extra data term number 14, is the coefficient
2 2
on the term in x y . The coefficients A i all have units which are the same as the lens units, such as millimeters
or inches.
The diffraction grating is defined in terms of the number of lines per micrometer and the diffraction order. These
values are specified in parameter columns 2 and 3, respectively. The grating lines are parallel to the local x axis,
and are evenly spaced when projected onto a plane.
PARAMETER DEFINITIONS FOR EXTENDED TOROIDAL GRATING SURFACES
The "Maximum term number" is used to specify the maximum polynomial term to be used in calculating the
surface sag. This number is provided to speed the ray tracing calculation, as terms beyond this number are
3
ignored. For example, if the last term in the series you wish to use is xy , which is term number 13, then specify
"13" in the maximum term number column. Note that the term number is 13, because it is the 13th term in the
polynomial expansion, and NOT 15, which is the "extra data number", which is the position in the extra data list
of parameters. The "extra data number" is always two greater than the term number! The maximum term number
is the same as "N" in the surface sag equation. The normalization radius scales the X and Y intercept coordinates
of the ray so that the polynomial terms are all dimensionless and the coefficients are all in lens units.
Fresnel
The Fresnel surface model is used to simulate flat surfaces which have been etched to have a spherical (or
optionally aspheric) profile on a small scale (for Fresnel lenses which are not flat see the extended Fresnel surface
type description). The surface intercept is determined by computing the intersection of the incoming ray with a
plane. Once the plane intercept points are found, the surface is then treated as spherical (or aspherical) for the
purposes of refraction into the next medium. This is only an approximation to a real Fresnel lens, however. The
real Fresnel lens has grooves which may alter the exact intercept point. The model used here is adequate for
Fresnel lens which have fine grooves (the groove depth is very shallow compared to the aperture). Extreme
Fresnel lenses, such as those used in lighthouses, are not modeled well. The radius of curvature and conic
constant, if any, are specified in the same manner as a standard surface. The parameter values are exactly the
same as for the even asphere model; polynomial aspherics are supported to 16th order.
PARAMETER DEFINITIONS FOR FRESNEL SURFACES
1 2 3 4 5 6 7 8
Generalized Fresnel
This surface represents a generalization of the Fresnel surface described in Fresnel on page 249. The basic
concept of a Fresnel surface, as far as ray tracing is concerned, is that the overall shape of the surface substrate
is independent of the local slope. The generalized Fresnel uses a polynomial aspheric substrate model, identical
to the Even Aspheric surface described in Even Asphere on page 243. The sag of the surface is given by the
following expression:
2
cr 2 4 6 8 10 12 14 16
z = -------------------------------------------------- + 1 r + 2 r + 3 r + 4 r + 5 r + 6 r + 7 r + 8 r ,
2 2
1 + 1 ( 1 + k )c r
where the terms are identical to those in the even asphere surface model. See that section for a complete
discussion.
Once the ray has intercepted the surface, the ray reflects or refracts as if the surface had a shape described
by a polynomial expansion of the form:
N
z = Ai Ei ( x, y ) ,
i=1
1 2 3 4 5 6 7 8
The "Maximum term number" is used to specify the maximum polynomial term to be used in calculating the
surface sag. This number is provided to speed the ray tracing calculation, as terms beyond this number are
ignored.
Gradient 1
Media whose index of refraction is described by
2
n = n 0 + n r2 r + n r1 r ,
2 2 2
where r
= x + y , can be modeled using the gradient 1 surface. Four parameters are required: the
maximum step size, t , the base index, n 0 , the radial quadratic index, n r2 , and the radial linear index, n r1 . Note
that n r2 and n r1 have units.
t n0 nr2
Gradient 2
Media whose index of refraction is described by
2 2 4 6 8 10 12
n = n 0 + n r2 r + n r4 r + n r6 r + n r8 r + n r10 r + n r12 r ,
2 2 2
where r = x + y , can be modeled using the gradient 2 surface. Eight parameters are required: the
maximum step size, t , the base index squared, n 0 , and the remaining six coefficients of the preceding equation.
Note that some of the coefficients have units.
The maximum step size t determines the trade-off between ray tracing speed and accuracy. For details see
Discussion on maximum step size for GRIN surfaces on page 250. Also see Restrictions on surfaces following
GRIN surfaces on page 251.
PARAMETER DEFINITIONS FOR GRADIENT 2 SURFACES
t n0 n r2 n r4 n r6 n r8 n r10 nr12
Gradient 3
Media whose index of refraction is described by
2 4 6 2 3
n = n 0 + n r2 r + n r4 r + n r6 r + n z1 z + n z2 z + n z3 z ,
2 2 2
where r = x + y , can be modeled using the gradient 3 surface. Eight parameters are required: the
maximum step size, t , the base index, n 0 , and the remaining six coefficients of the preceding equation. Note
that some of the coefficients have units.
The maximum step size t determines the trade-off between ray tracing speed and accuracy. For details see
Discussion on maximum step size for GRIN surfaces on page 250. Also see Restrictions on surfaces following
GRIN surfaces on page 251.
t n0 n r2 n r4 n r6 n z1 n z2 n z3
Gradient 4
Media whose index of refraction is described by
2 2 2
n = n 0 + n x1 x + n x2 x + n y1 y + n y2 y + n z1 z + n z2 z ,
can be modeled using the gradient 4 surface model. There are eight parameters required: the maximum step
size, t , the base index, n 0 , and the remaining six coefficients of the preceding equation. Note that some of the
coefficients have units. This particular GRIN model is useful for gradient index optics with a cylindrical power
profile. It is also useful for modeling thermal gradients in optical elements, if you have sufficient data to compute
the coefficients.
The linear transverse terms, n x1 and n y1 , are ignored when performing paraxial ray tracing.
The maximum step size t determines the trade-off between ray tracing speed and accuracy. For details see
Discussion on maximum step size for GRIN surfaces on page 250. Also see Restrictions on surfaces following
GRIN surfaces on page 251.
PARAMETER DEFINITIONS FOR GRADIENT 4 SURFACES
t n0 nx1 n x2 ny1 n y2 n z1 n z2
Gradient 5
The gradient 5 surface has the gradient form:
2 4 2 3 4
n ref = n 0 + n r2 r + nr4 r + n z1 z + n z2 z + n z3 z + n z4 z ,
2 2 2
where r = x + y . Eight parameters are required: the maximum step size, t , the base index, n 0 , and the
remaining six coefficients of the preceding equation. Note that some of the coefficients have units.
The important feature of the gradient 5 model is that the model allows specification of dispersion properties of
the media. The dispersion data is user defined and is stored in an ASCII file called SGRIN.DAT. The format for
SGRIN.DAT will be described shortly.
The material name is entered in the glass column of the gradient 5 surface type. If the glass column is blank,
then dispersion effects are ignored.
K_MAX L_MAX
j1 j1
Ki = K ij [ n ref ] , Li = L ij [ n ref ] , and n ref = n ( ref ) .
j=1 j=1
The coefficients K ij and L ij define the dispersion of the material, whereas the gradient coefficients specified
by parameters 2-8 (see the following table) define the index gradient profile at the reference wavelength. This
very general dispersion model permits modeling of nearly arbitrary gradient index dispersion over a wide
wavelength band. The parameters K_MAX and L_MAX may be as little as 1 term, or up to 8 terms for more
accurate modeling.
The dispersion data is stored in the ASCII file SGRIN.DAT which must reside in the \GLASSCAT directory.
The SGRIN.DAT file contains blocks of 10 lines each. The file format has the following structure:
MATERIALNAME
MIN_WAVELENGTH MAX_WAVELENGTH
REF_WAVELENGTH
K_MAX L_MAX
K11 K12 K13 ... K1K_MAX
K21 K22 K23 ... K2K_MAX
K31 K32 K33 ... K3K_MAX
L11 L12 L13 ... L1L_MAX
L21 L22 L23 ... L2L_MAX
L31 L32 L33 ... L3L_MAX
Multiple materials may be defined in the same file by placing additional blocks of 10 lines one after the other,
with no blank lines between. The supplied file SGRIN.DAT contains coefficients to describe some gradient
materials offered by LightPath Technologies.
The maximum step size t determines the trade-off between ray tracing speed and accuracy. For details see
Discussion on maximum step size for GRIN surfaces on page 250. Also see Restrictions on surfaces following
GRIN surfaces on page 251.
PARAMETER DEFINITIONS FOR GRADIENT 5 SURFACES
t n0 n r2 n r4 n z1 n z2 n z3 n z4
Gradient 6
The gradient 6 surface has the following gradient profile:
2 4
n = n0 + n1 r + n 2 r .
The difference between the gradient 6 and gradient 1 surface models is that the gradient 6 surface uses
dispersion formulas to compute n 0 , n 1 , and n 2 automatically rather than using entries from the lens data
editor.
2 Cx Dx
n x = A x + B x + -----2- + -----4- ,
with identical expressions (but different values for A, B, C, and D) for n 0 , n 1 and n 2 . This expression uses
nanometers rather than micrometers for .
The dispersion data is user defined and is stored in an ASCII file called GLC.DAT. The GLC.DAT file contains
blocks of 13 lines each. The first line in the file is the name of the material, which can be any name (without special
characters such as spaces or quotes) less than 10 characters long. The next 12 lines are the values for A, B, C,
and D for n 0 , n 1 , and then n 2 , respectively. There are no blank lines allowed between blocks. ZEMAX can
read in data for up to 25 different materials in the GLC.DAT file.
The dispersion data in the supplied GLC.DAT file was provided by the Gradient Lens Corporation (GLC) in
Rochester, NY, (716) 235-2620. Contact GLC for detailed information on material properties. Not all of the
materials offered by GLC are included in the GLC.DAT file. The following materials are included: ARS10, ARS20,
ARS27, and ARS31.
To use the gradient 6 surface materials, change the surface type to gradient 6, and then enter the appropriate
material name in the glass column of the Lens Data Editor.
The maximum step size t determines the trade-off between ray tracing speed and accuracy. For details see
Discussion on maximum step size for GRIN surfaces on page 250. Also see Restrictions on surfaces following
GRIN surfaces on page 251.
PARAMETER DEFINITIONS FOR GRADIENT 6 SURFACES
Parameter 1
Gradient 7
The gradient 7 surface has a gradient profile with spherical symmetry. The index of refraction is described by
2
n = n 0 + ( r R ) + ( r R ) , where
R 2 2 2
r = ------ x + y + ( R z ) .
R
The coordinates x, y, and z are the usual coordinates measured with respect to the vertex tangent plane, and
R is the radius of the isoindex contours measured at the vertex. The isoindex contours are spherical shells
centered about the point z = R. The starting index, n 0 , is measured at the vertex of the surface, not at the center
of the isoindex contours.
There are five parameters required: the maximum step size, t , the base index, n 0 , R, , and . Note that
and have units.
The isoindex contour radius R may be specified independently from the front or rear radius of curvature of the
lens. However, if R is set to be zero, then ZEMAX assumes the isoindex radius and the front radius of curvature
are equal.
t no R
GRADIUM
This surface type models lenses made from stock gradient index blanks available from LightPath Technolo-
gies, Inc. The blanks have an axial gradient index profile, which describes a reference index of refraction as a
function of axial position within the glass blank. All that is required to define the lens is the starting position within
the blank, the name of the stock blank profile, and of course the radii and thickness. The GRADIUM surface has
a gradient index profile which is described by a polynomial of the form:
11
z + z i
n = n i --------------- .
z max
i=0
The z coordinate is the distance from the front vertex of the surface, zmax is the maximum z coordinate of the
blank (also known as the boule thickness), and the value z is the "offset" distance along the profile. Unlike most
other gradient glass models in ZEMAX, the GRADIUM surface uses only fixed, predefined axial profile coeffi-
cients. The only design parameter required is the offset value, z . The available profiles provided with ZEMAX
are defined in the ASCII file PROFILE.GRD. Other profile files may be defined, if they end in the extension GRD
and are placed in the \ZEMAX\GLASSCAT directory. To select a different profile file, see GRADIUM Profile on
page 91. For a list of the available profiles, see Gradium Profile on page 180.
GRADIUM profile file format
The file format is a series of blocks of 13 lines of data defined as follows:
PROFILE_NAME GLASS_FAMILY MAX_Z DENSITY UNUSED
n0
n1
...
n11
Each block of data starts with the name of the profile, which can be any valid ASCII name less than 20
characters. On the same line, the glass family name follows, which must be a gradient index material as defined
in the SGRIN.DAT file, which is described in the section on the gradient 5 surface type. The glass family name
defines the reference wavelength which the profile describes. The last entry on the line is the maximum z
coordinate of the blank. The 12 polynomial coefficients follow, from n0 to n11. The maximum allowed number of
profiles is 100.
When ZEMAX performs ray tracing, the local z coordinate on the surface (which may be negative) is computed.
The offset value is then added to determine where in the profile the coordinate lies.
Normally, the resulting value must always be positive and less than or equal to the maximum z, otherwise an
error is generated (See the discussion of "Capping" below). The reference index is then evaluated. Once the
reference index is computed, the index at the wavelength being traced is computed using the technique described
in the section on the gradient 5 surface.
The reference wavelength index at the front vertex is displayed as parameter 3. This value may be changed
in the Lens Data Editor. When a new value is entered, ZEMAX computes the appropriate z to yield the specified
reference index. However, z is the value that matters. The reference index is just displayed for convenience,
and should not be made variable, or a multi-configuration operand. Note the reference index is the vertex index
z' = t x ( x d x ) + t y ( y d y ) + t z z , where
1
---
2 2 2
t z = [ 1.0 tx ty ] ,
and tx, ty, tz are the coefficients of the unit vector which points along the axial gradient axis and dx and dy are
the decenters in lens units of the start of the profile. If tx and ty are both zero, then the dx and dy values do not
matter (since the gradient is only along the z axis) and the tz value is unity. The terms tx and ty determine the
slope of the profile axis in x and y, which is intended to model the tolerance of axial alignment between the gradient
axis and the mechanical axis of the lens. This expression is a linear approximation which is only valid for
asymptotically small tx and ty.
The tolerance terms, d x , d y , t x , and t y , are ignored when performing paraxial ray tracing.
Usually, only the defined range of the profile is used. However, in some cases the profile may be extended in
one or both directions to add additional glass to the ends of the profile, which allows the use of GRADIUM in
thicker lenses. This technique is called "capping". By default, ZEMAX turns capping off, so that any ray trace
which requires glass beyond the profile limits is flagged as an error. This automatically enforces boundary
constraints during optimization. To remove this restriction, the capping flag can be set to be 1, 2, or 3. The default
value of zero indicates the blank is bounded to the profile length at both ends. If the capping flag is 1, then only
the left edge is bounded (the right edge is allowed to pass beyond the profile limit). If the capping flag is 2, then
only the right edge is bounded. And if the capping is 3, then neither the left nor right edges of the blank are
bounded, and both the thickness and the offset may take on any values. The additional material added to the
beginning and end of the profile is assumed to be a homogeneous glass with the same index and dispersion as
the respective end points of the profile. This assumption may be inaccurate if there is some slope to the profile
at the defined endpoints, which is usually the case. Contact LightPath Technologies for more detailed information
on designing with GRADIUM capping.
All GRADIUM profiles are defined in pairs; there is a "positive" and "negative" profile. These are identical
profiles that are reversed in the axial direction. When modeling lenses in double pass, it is necessary to use one
profile for the forward pass, and the other (reversed) profile for the backward pass.
The maximum step size t determines the trade-off between ray tracing speed and accuracy. For details see
Discussion on maximum step size for GRIN surfaces on page 250. Also see Restrictions on surfaces following
GRIN surfaces on page 251.
PARAMETER DEFINITIONS FOR GRADIUM SURFACES
2
cr
z = -------------------------------------------------- + x tan ( ) + y tan ( ) ,
2 2
1 + 1 ( 1 + k )c r
where c is the curvature (the reciprocal of the radius), r is the radial coordinate in lens units, k is the conic
constant, and tan and tan are the tangents of the tilt angles in x and y. Note this is not the same surface shape
as a tilted standard surface, but it is a close approximation as long as the curvature is small, or if the tilt angles
are small. The gradient 9 surface has the following gradient profile:
A 2
n = n 0 1.0 --- r .
2
2
K K
A ( ) = K 0 + -----21- + -----42- ,
C
n0 = B + ----2- ,
where the wavelength is measured in micrometers. The dispersion data is user defined and is stored in an
ASCII file called GRADIENT_9.DAT. The GRADIENT_9.DAT file contains blocks of 6 lines each. The first line in
the file is the name of the material, which can be any name (without special characters such as spaces or quotes)
less than 20 characters long. The next 5 lines are the values for B, C, K0, K1, and K2. There are no blank lines
allowed between blocks. ZEMAX can read in data for up to 25 different materials in the GRADIENT_9.DAT file.
The dispersion data in the supplied GRADIENT_9.DAT file was provided by NSG America, Inc., in Somerset,
NJ, (732) 469-9650, or by Corning, Inc., Corning NY, (607) 974-4755. Contact the respective manufacturers for
detailed information on material properties. Not all of the materials offered by these manufacturers are necessarily
included in the GRADIENT_9.DAT file. The included materials are: SLS-1.0, SLS-2.0, SLW-1.0, SLW-1.8, SLW-
2.0, SLW-3.0, SLW-4.0, and SLH-1.8 for NSG and Corning-Grin for Corning.
To use the gradient 9 surface materials, change the surface type to gradient 9, and then enter the appropriate
material name in the glass column of the Lens Data Editor.
The maximum step size t determines the trade-off between ray tracing speed and accuracy. For details see
Discussion on maximum step size for GRIN surfaces on page 250. Also see Restrictions on surfaces following
GRIN surfaces on page 251.
PARAMETER DEFINITIONS FOR GRADIENT 9 SURFACES
t tan tan
2 3 4 5 6
n = n 0 + n y1 y a + ny2 y a + n y3 y a + ny4 y a + n y5 y a + n y6 y a ,
where y a = y and the || symbols indicate the absolute value. This form of gradient has a discontinuity at the
plane y = 0, and the gradient is bisymmetric about the y = 0 plane. If the glass type is left blank, then there is no
dispersion. If a glass type is entered in the glass column, then it must be one of the gradient 5 materials defined
in the section on the gradient 5 surface type on page 252. The above formula then defines the index profile at the
reference wavelength for the material, and the index at other wavelengths is computed according to the dispersion
model defined for the gradient 5 surface. The linear transverse term, n y1 , is ignored when performing paraxial
ray tracing.
The maximum step size t determines the trade-off between ray tracing speed and accuracy. For details see
Discussion on maximum step size for GRIN surfaces on page 250. Also see Restrictions on surfaces following
GRIN surfaces on page 251.
PARAMETER DEFINITIONS FOR GRADIENT 10 SURFACES
Grid Phase
This surface is nearly identical to the Grid Sag surface (see Grid Sag on page 259). The key differences are:
- The units of sag are radians of phase instead of units of length.
- The unitflag data is only used to scale the delx, dely, and derivative values.
- The surface shape is a plane.
- A diffraction order is supported. The diffraction order is a multiplier on the phase values. A value of zero
will turn "off" the phase effects. Setting the order to -1 will reverse the sign of all defined phase values.
- A "shear distance" is supported. See "Using the shear distance" below.
The file format and general information provided in the grid sag description is otherwise valid.
Using the shear distance
One method of modeling atmospheric turbulence is to use a Grid Phase surface with data generated by an
external atmospheric modeling program. Accurate modeling may require multiple surfaces with different phase
data modeling atmospheric layers separated by long distances. Because of the separation between these layers,
different field angles pass through different parts of the atmosphere, depending upon the distance between the
layers and the ray angle. The separation causes a field dependent lateral shearing between the surfaces.
To model this shearing, one could in principle place multiple Grid Phase surfaces separated by large distances
in front of the optical system. In practice, this works poorly, because the bending of the rays as they pass through
a Grid Phase surface may cause the rays to miss the entrance pupil entirely. To avoid this problem, the Grid Phase
surface may be placed at the entrance pupil of the system, and then the "shear distance" corresponding to the
actual position of the phase layer may be defined. When ray tracing to the Grid Phase surface, for phase purposes
only, ZEMAX will adjust the ray coordinates to correspond to the coordinates the incoming ray would have had if
the Grid Phase surface had been placed at the shear distance. Normally, shear distances are negative as the
distance is measured from the surface to the effective position of the phase layer. If the shear distance is zero,
no lateral shifting occurs.
Grid Sag
The grid sag surface has a shape defined by a base plane, sphere, conic asphere, or polynomial asphere plus
additional sag terms defined by a rectangular array of sag values. The surface shape is determined by either a
linear or a bicubic spline interpolation of the sag values. The sag can be described at discrete points by
8
2
cr
= -------------------------------------------------- + i r .
2i
z base
2 2
1 + 1 ( 1 + k )c r i = 1
Z ij = Z base + Z ( x i, y j ), where
nx + 1 ny + 1
i c = --------------, j c = --------------, 1 i nx, 1 j ny,
2 2
where delx and dely are the spacings between grid points in the x and y directions, xdec and ydec are optional
decentration coordinates, and nx and ny are the number of points in the grid in each direction. The nx and ny
values must be odd and no smaller than 5. The terms defining Z base are identical to those defined for the even
asphere surface. Note that the sag defined by the grid points may be decentered relative to the sag defined by
the base aspheric shape.
Importing grid data
All of this data must be computed and tabulated outside of ZEMAX, arranged in the proper file format, and
then read using the Extra Data Editor "Import" feature (see Extra Data on page 79). The proper file format is as
follows:
nx ny delx dely unitflag xdec ydec
z dz/dx dz/dy d2z/dxdy nodata
.
.
.
The first line in the file contains seven values, which define the (integer) number of points in the x and y
directions, the (floating point) increment in the x and y directions, an (integer) flag indicating the units of the data:
0 for mm, 1 for cm, 2 for in, and 3 for meters, and the (floating point) decenter of the grid points relative to the
base surface in x and y. Any required scaling to the current lens units will be performed. Note that sag and cross
derivative values have dimensions, and are therefore scaled, but first derivative values are dimensionless, and
are not scaled.
The remaining nx*ny lines of the file contain four (floating point) numbers and (optionally) one integer each.
The four floating point values are the sag, the x derivative of the sag, the y derivative of the sag, and the cross
derivative d/dxdy. The optional fifth data entry is an integer flag that indicates if the data is invalid. Valid measured
Interpolation method. Use 0 for bicubic spline, 1 for linear. 1 - 8 , see Even Asphere on page 243
See Bicubic spline vs. linear interpolation on page 260.
Hologram 1
The hologram 1 surface can be used to model optically constructed holograms. The hologram surface can be
plane, spherical, or conical, and the medium behind the hologram can be air or glass. The glass can also be
"MIRROR" which indicates the hologram is constructed and used in reflection. The hologram itself is described
by the x, y, and z coordinates of two different construction points, a construction wavelength, and the diffraction
order. The hologram deviates ray paths according to the equation
m
n ( r' o r' r ) = ---------p- n ( r o r r ) ,
c
where n is the unit vector normal to the surface of the hologram at ray intersection point, r o is the unit vector
along the first construction beam, r r is the unit vector along the second construction beam, r' r is the unit vector
along the incident readout beam, r' o is the refracted ray, c and p are the construction and playback
wavelengths, and m is the diffraction order. A value of m = 0 means the ray is undeviated, while other integral
values of m refer to higher diffracted orders. The notation used here is from the book "Aberrations of Optical
Systems" by Welford, Adam Hilger (1986). Modeling holograms requires an understanding of their behavior which
is beyond the scope of this manual, and the user is advised to see the discussion in Welford, or some other
reference, before using this feature.
Most holograms are constructed and used in transmission or reflection. There are occasions where the
hologram is constructed in transmission, and then the substrate is aluminized and used in reflection. This special
case can be simulated with the hologram surface by specifying a negative construction wavelength. Although ray
tracing will be correct for this special case, OPD tracing will not work.
ZEMAX only models holograms to the extent of deviating ray paths. Other properties, such as efficiency and
relative transmission are not supported.
The two construction beams are defined in terms of their source points. The x, y, and z coordinates of the
source points are measured relative to the hologram vertex coordinate are defined in current lens units. ZEMAX
computes the unit vector at the ray-surface intersection point using the local coordinate data and the construction
point data for the two construction beams. The construction wavelength always has units of micrometers.
The hologram is defined by the interference between the two defined construction beams, with no aberrations
assumed on the construction beams. Optically fabricated holograms with aberrated construction beams may be
modeled in a very general way, see Optically Fabricated Hologram on page 264.
!Optically fabricated holograms with aberrated construction beams may be modeled using the
"Optically Fabricated Hologram" surface.
The hologram 1 surface assumes that both construction beams diverge from the specified construction points.
Because of the reciprocity of the construction beams, this is identical to the case where both construction beams
converge toward the construction points. Some hologram fabrication methods require one beam to be converging
while the other beam is diverging. See "The hologram 2 surface" for information on this latter type of hologram.
X1 Y1 Z1 X2 Y2 Z2 c m
Hologram 2
The hologram 2 surface is very similar to the hologram 1 surface. The key difference is that the hologram 1
surface assumes both construction beams either diverge from or converge to the construction points, whereas
the hologram 2 surface assumes one construction beam converges to one construction point, and the other
construction beam diverges from the other construction point. Which beam is first or second does not matter due
to reciprocity. The parameter data is the same for both hologram 1 and hologram 2 surfaces.
Irregular
The irregular surface is a standard surface shape (plane, spherical, or conic) that has additional aspheric
deviations in terms of decenter, tilt, spherical aberration, astigmatism, and coma. This surface type is primarily
used by the tolerancing algorithm to model irregularities in a standard shape surface. The surface sag is given by:
2
cr 4 2 2
z = -------------------------------------------------- + Z s + Z a ' y + Z ' y ,
2 2
1 + 1 ( 1 + k )c r
where
x y 2 2
x = ----------, y = ----------, = x + y , ' y = y cos x sin ,
r max r max
and rmax is the maximum radial aperture of the lens, defined by the semi-diameter value for the surface. The
coefficients Zs, Za, and Zc represent the amount of spherical aberration, astigmatism, and coma, respectively, in
lens units at the maximum radial aperture. The astigmatism and coma are oriented along a line that makes an
angle in degrees with respect to the y axis.
The x and y coordinates of the previous equations are in a decentered and tilted coordinate system defined
by the decenter x, decenter y, tilt about x, and tilt about y values. The decenters are in lens units, and the tilt is in
degrees. The tilt and decenter values work exactly like the coordinate break surface defined in this chapter,
however, the tilts and decenters are undone after the ray is traced to the surface. Ray tracing is done according
to this algorithm:
The surface is decentered, tilted about x, then about y.
The ray is traced to the surface.
The surface is untilted about y, untilted about x, then undecentered.
The irregular surface uses the first seven parameters to define the decenter, tilt, and Z coefficients, and the
eighth parameter to define the angle. All the coefficients are measured in lens units, except the tilt angles which
are in degrees.
PARAMETER DEFINITIONS FOR IRREGULAR SURFACES
E' x Ex
= A B ,
E' y C D Ey
where A, B, C, D, Ex, and Ey are all complex numbers. See Defining polarizing components on page 511 for
a complete discussion of the Jones matrix. Only polarization analysis features consider the effects of this surface
type. This surface uses eight parameter values, and none of the extra data values.
PARAMETER DEFINITIONS FOR JONES MATRIX SURFACES
Ar Ai Br Bi Cr Ci Dr Di
Non-Sequential Components
!This feature is only available in the EE edition of ZEMAX.
The sag of the Non-Sequential Components surface is the same as the Standard surface.
This surface enables ray tracing through one or more non-sequential objects. See the chapter "Non-Sequential
Components" for details.
Odd Asphere
The odd asphere model deviation is similar to the even asphere, except both even and odd powers of r are
used. The sag is given by
2
cr 1 2 3 4 5 6 7 8
z = -------------------------------------------------- + 1 r + 2 r + 3 r + 4 r + 5 r + 6 r + 7 r + 8 r .
2 2
1 + 1 ( 1 + k )c r
Note that the coefficients have units. The coefficients are entered in the corresponding parameter columns, as
shown in the following table.
PARAMETER DEFINITIONS FOR ODD ASPHERE SURFACES
1 2 3 4 5 6 7 8
Odd Cosine
!This feature is only available in the EE edition of ZEMAX.
16 m
2
cr P
z = -------------------------------------------------- + i r + Ai s i cos ( B i + C i ) .
i
2 2
1 + 1 ( 1 + k )c r i=1 i=1
The first term is the sag for a standard surface (plane, sphere, or conic). The second term is similar to the Odd
Asphere surface, but the number of coefficients is fixed at 16. The third term supports m cosine terms, where the
integer m must be between 0 and 6, inclusive. The coordinate s is the normalized radial coordinate given by s =
r / R, where R is the user defined normalization radius. If R is zero or negative, the cosine terms are ignored. The
surface may not be continuous in the first derivative if any B value is not an integer. The i coefficients have
units which depend upon the index i, and the A i coefficients have units of length in lens units. The angle is
measured in radians, and so B is dimensionless and C is in units of radians. The coefficients are entered in the
corresponding extra data columns, as shown in the following table.
EXTRA DATA DEFINITIONS FOR ODD COSINE SURFACES
The odd aspheric The number of cosine terms The normalization radius R The A, P, B, and C terms in
coefficients i . m, must be between 0 and for the coordinate s in the the cosine portion of the sag
6. cosine portion of the sag formula.
formula.
Paraxial
The paraxial surface acts as an ideal thin lens. The paraxial surface is particularly useful for analyzing and
optimizing systems whose output is collimated, or nearly collimated light. Afocal systems can be modeled by
placing a paraxial surface before the image plane, and then setting the thickness of the paraxial surface (the
distance to the image plane) to be the same as the focal length. If the focal length is chosen to be one meter, then
all aberration data presented in micrometers (such as ray fans) can be interpreted to be in units of microradians.
Two parameters are required to model the paraxial surface: the focal length and the OPD mode. The focal
length is that which would be measured in air (unity index) although the paraxial model will support imaging into
a non-unity index medium. The OPD mode indicates how ZEMAX should calculate the optical path difference for
rays refracted by the paraxial lens. Although the ray tracing through paraxial lenses is well defined (see below),
computing the OPD can be more difficult, especially in the presence of significant aberrations, as discussed
below.
If the OPD mode is set to zero (the default), then the OPD computation is based upon the unaberrated
conjugate positions. This is preferred for optical systems with modest aberrations which are well described by
first-order optics.
If the aberrations are large (more than 10 waves), or the system is not well described by first-order optics, then
the paraxial lens OPD computation cannot assume that the lens is working at fixed conjugates for all incoming
rays. For these systems, the mode should be set to 1. In this mode, the OPD is computed based upon the ray
bending of the aberrated input beam. Using mode = 1 requires ZEMAX to iteratively integrate the actual phase
introduced by the surface. This results in mode = 1 being substantially slower than mode = 0, and mode = 1 is
not more accurate if the aberrations are reasonably small (less than 5-10 waves). When using mode = 1, for
maximum OPD accuracy, the working F/# of the paraxial lens should be no faster than about F/4.
l
u x = ---
n
m
u y = ----
n
Parameter 1 Parameter 2
Focal length OPD Mode
Paraxial XY
The paraxial XY surface type is similar to the paraxial surface except the optical power can be specified in the
X and Y directions separately. This surface can therefore be used as a paraxial cylindrical or toroidal lens. Two
parameters are required to define the paraxial XY surface: the X power, and the Y power. OPD through paraxial
XY surfaces is computed using mode = 1 described in the paraxial surface description. Optical power is measured
in inverse length lens units, such as inverse millimeters if the lens units are millimeters. See Units on page 87.
The paraxial XY surface shape is plane.
PARAMETER DEFINITIONS FOR PARAXIAL XY SURFACES
Parameter 1 Parameter 2
X Power Y Power
Periodic
This surface shape is described by the following expression:
2
cr 1
z = -------------------------------------------------- A --- [ 1 + cos ( 2x ) ] [ 1 + cos ( 2y ) ] 1 ,
2 2 4
1 + 1 ( 1 + k )c r
where A is the peak to valley height in lens units of the modulation, and the values and are the spatial
frequencies of the oscillations in the x and y directions, respectively. Note this expression is the sag of a sphere
plus the cosine modulation. The sag of the surface is exactly zero at the vertex, and the amplitude is the peak to
valley amplitude. The frequencies are measured in inverse lens units.
This surface uses three parameter values, and none of the extra data values.
PARAMETER DEFINITIONS FOR PERIODIC SURFACES
2 4 6 8 2 4 6 8
z = 1 x + 2 x + 3 x + 4 x + 5 y + 6 y + 7 y + 8 y .
A more general polynomial surface is also available, see Extended Polynomial on page 247.
PARAMETER DEFINITIONS FOR POLYNOMIAL SURFACES
1 2 3 4 5 6 7 8
Radial Grating
The radial grating surface is similar to the diffraction grating surface (see Diffraction Grating on page 241),
except the grating lines have radial symmetry, the grating line spacing is variable over the surface, and the
substrate is an even aspheric surface shape (see Even Asphere on page 243). For a plane grating, rays traced
to the grating are refracted according to the equation
M
n 2 sin 2 n 1 sin 1 = -------- ,
d
where d is the grating spacing (always in micrometers), 2 is the refracted angle, 1 is the incident angle, M
is the diffraction order, is the wavelength (always in micrometers), and n 1 and n 2 are the indices of refraction
before and after the grating. The radial grating surface allows d to vary over the surface according to the equation:
1 1 2 2
d ( p ) = A0 + A1 p + A2 p + A3 p + A4 p + ,
where the Ai coefficients all have units of micrometers, and p is the normalized radial coordinate defined by
r
p = --- ,
R
where r is the radial coordinate on the surface in lens units and R is the user defined normalization radius. The
grating spacing d can be interpreted in two different ways. The normal ZEMAX convention is to measure d along
the projection of the grating on the XY plane, ignoring any sag or curvature of the underlying surface. The Radial
Grating surface supports an additional "Grating Mode", where d is interpreted as being measured along the local
surface tangent. The Grating Mode can be set to 0 or 1 in parameter 9 in the Lens Data Editor.
Note that the sign convention for M is arbitrary. The grating surface can be plane, spherical, conical, or even
aspheric, and the medium before the grating, as well as the grating itself, can be air, glass, "MIRROR" or any
other valid glass type. ZEMAX only models gratings to the extent of deviating ray paths. Other properties, such
as efficiency, and relative transmission are not supported. If the grating spacing is too small to satisfy the grating
relation, then a "Ray missed surface" error will be reported.
PARAMETER DEFINITIONS FOR RADIAL GRATING SURFACES
4 1
Coefficient on p
n (n 3)
Coefficient on p
Radial NURBS
!This feature is only available in the EE edition of ZEMAX.
The acronym NURBS stands for Non-Uniform Rational B-Spline. NURBS are a very general class of curves
and surfaces. For a complete discussion of NURBS, which is well beyond the scope of this discussion, see The
NURBS Book, Second Edition, by Les Piegl and Wayne Tiller, Springer-Verlag, ISBN 3-540-61545-8.
The radial NURBS surface is defined by a series of weighted control points. The control points define a curve
which starts at the origin and lies in the YZ plane along the +Y direction. Once this curve is defined, a figure of
revolution is formed by rotating the curve a full 360 degrees around the Z axis. Unlike a spline surface, a NURBS
curve does not actually go through the control points, except for the first and last control points.
Each control point has a positive "y" coordinate, a "z" coordinate (which may be positive or negative), and a
weight "w". The first point is always at y = 0 and z = 0, so the curve begins at the vertex origin of the surface.
Subsequent points, numbered from 1 to the maximum number of points desired, extend monotonically outward
in the +Y direction. The y values must be spaced at least 1.0E-3 lens units apart for numerical stability in the
spline fit.
The weights should all be set to 1.0 initially. The higher the weight, the closer the curve will be to the actual
control point. Lower weights mean the curve is less constrained to be near the control point. See the above
reference for details on the influence of weights on a NURBS curve.
The y value of the last point defined determines the maximum radial clear aperture of the surface. This value
should generally be fixed, and not be a variable. Any rays which do not intercept the surface within the defined
areas of the curve will be terminated with a "ray miss" error.
The advantage to the NURBS description is that any shape may be defined and traced reliably. Unusual
aspheric correctors which cannot be described by polynomials may be modeled as NURBS.
The disadvantages to the NURBS description include very slow ray tracing, and sometimes great difficulty in
finding suitable starting values for the control curve points and weights.
This surface does not use any of the parameter columns.
EXTRA DATA DEFINITIONS FOR RADIAL NURBS SURFACES
Retro Reflect
The Retro Reflect surface is a planar shape surface. If the surface is made of glass or air, rays refract according
to Snells law in the usual way. If the surface is made of "MIRROR", rays do not reflect in the usual way; instead
the rays are undeviated. This means under subsequent propagation in the opposite direction the rays will follow
the incident path; that is, the rays retro-reflect.
This surface uses no parameter or extra data values.
Standard
The most commonly used optical surface is a spherical surface. The sphere is centered on the current optical
axis, with the vertex located at the current axis position. ZEMAX treats planes as a special case of the sphere (a
sphere with infinite radius of curvature) and conics as a special case as well. The "sag" or z-coordinate of the
standard surface is given by
2
cr
z = --------------------------------------------------
2 2
1 + 1 ( 1 + k )c r
where c is the curvature (the reciprocal of the radius), r is the radial coordinate in lens units and k is the conic
constant. The conic constant is less than -1 for hyperbolas, -1 for parabolas, between -1 and 0 for ellipses, 0 for
spheres, and greater than 0 for oblate ellipsoids. For more information on conic constants, see REFERENCES
ON LENS DESIGN on page 31. The standard surface does not use any of the parameter values.
Modeling an ellipse with the standard surface
There are a few handy formulas for converting the semi major and semi minor axis lengths of an elliptical
surface to a radius and conic description. If "a" is the semi major axis length, and "b" is the semi minor axis length,
then
2
1 b
--- = R = ----- ,
c a
2 2
a b
2
k = = ----------------
2
.
a
r 1
z = ----------------------------- or z = r tan , where tan = ----------------------------- ,
( ( 1 + k ) ) ( ( 1 + k ) )
and is the axicon angle, measured from the XY plane to the axicon surface. To create an axicon, calculate
the conic constant value (k) from the angle ( ) desired, and use any small value for the radius of curvature. The
resulting value of k must be negative. The exact value of the radius or curvature is not important, as long as it is
2 2 2
r = x +y .
For example, the Even Aspheric surface described in Even Asphere on page 243 uses such an expansion.
Since r does not depend upon z, the expansion term is the distance from the vertex to the point on the surface
as projected on to the tangent plane. Generally, the departure of the asphere from the tangent plane increases
with radial aperture. As the departure increases, the power series expansion parameter r corresponds to a point
on the tangent plane which is farther from the point on the surface. This causes the expansion to have poor
convergence.
A novel solution proposed by Alan Greynolds of Breault Research Organization is to instead expand in powers
of the distance from the vertex to the point on the surface. The expansion is then in terms of
2 2 2 2
s = x +y +z .
2 2 2 2
kz 2Rz + x + y + z = 0 ,
where k is the conic constant and R is the radius of curvature, a general power series expansion can be made
of the form
2
Az 2Bz + C = 0 .
k
A = --- ,
R
2 4
B = 1 + U 1 s + U 2 s + , and
2
s 4 6
C = ---- + V 1 s + V 2 s + ,
R
where U and V are coefficients which define the aspheric shape. Note that if all the U and V terms are zero, a
standard conic results. If A is also zero, then the superconic becomes a sphere. The coefficients A, U 1 , and V 1
together form a Cartesian oval. These properties make the superconic stable when optimizing for the coefficients.
The superconic can be used to model surfaces which otherwise would require aspheric terms of very high order.
ZEMAX models superconics with up to 240 terms, in practice designs rarely use more than 5 terms.
3 V1
even n n---
2
U
odd n n1
------------
2
V
Tilted
The tilted surface is a plane that makes an angle with respect to the x and y axes. The surface is easily defined
in terms of the tangent angle between the plane and the X and Y axes:
z = x tan x + y tan y .
The tilted surface uses the first two parameters to define the tangents of the x and y angles. This surface is
very useful for implementing tilted object and image surfaces, as well as tilted faces on prisms. It should not be
used for implementing fold mirrors; use the coordinate break surface instead.
PARAMETER DEFINITIONS FOR TILTED SURFACES
Parameter 1 Parameter 2
tan x tan y
Toroidal
Toroidal surfaces are formed by defining a curve in the Y-Z plane, and then rotating this curve about an axis
parallel to the Y axis and intersecting the Z axis. Toroids are defined using a base radius of curvature in the Y-Z
plane, as well as a conic constant and polynomial aspheric coefficients. The curve in the Y-Z plane is defined by:
2
cy 2 4 6 8 10 12 14
z = -------------------------------------------------- + 1 y + 2 y + 3 y + 4 y + 5 y + 6 y + 7 y .
2 2
1 + 1 ( 1 + k )c y
This curve is similar to the even aspheric surface sag formula, except the sixteenth order term has been
omitted, and the coordinate argument is y, not r . This curve is then rotated about an axis a distance R from the
vertex. This distance R is referred to as the radius of rotation, and may be positive or negative. The Y-Z radius of
curvature is specified in the same column on the spreadsheet editor as the radius for standard surfaces. The
radius of rotation is set on parameter column number 1. To model a cylinder lens which is flat in the X direction
use zero, which ZEMAX interprets as infinite radius.
Note if the Y-Z radius is set to infinity, a surface with power in x but not in y can be described, therefore, the
cylinder may be oriented in either direction. The other parameter columns are used for the optional aspheric
coefficients, as specified in the following table. If aspheric coefficients are required in the X direction, then rotate
the toroid with a pair of coordinate break surfaces and rotate about Z. If different aspheric surfaces are required
Radius of 1 2 3 4 5 6 7
Rotation
Toroidal Grating
Toroidal grating surfaces are similar to regular toroidal surfaces, except no aspheric sag terms are supported,
and a diffraction grating may be placed on the toroidal surface. Toroidal gratings are described by defining a curve
in the Y-Z plane, and then rotating this curve about an axis parallel to the Y axis and intersecting the Z axis.
Toroidal gratings are defined using a base radius of curvature in the Y-Z plane, as well as a conic constant. The
curve in the Y-Z plane is defined by:
2
cy
z = -------------------------------------------------- .
2 2
1 + 1 ( 1 + k )c y
This curve is similar to the standard surface sag formula, except the coordinate argument is y, not r . This curve
is then rotated about an axis a distance R from the vertex. This distance R is referred to as the radius of rotation,
and may be positive or negative. The Y-Z radius of curvature is specified in the same column on the spreadsheet
editor as the radius for standard surfaces. The radius of rotation is set on parameter column number 1. To model
a cylinder lens which is flat in the X direction use zero, which ZEMAX interprets as infinite radius.
Note if the Y-Z radius is set to infinity, a surface with power in x but not in y can be described, therefore, the
cylinder may be oriented in either direction.
The diffraction grating is defined in terms of the number of lines per micrometer and the diffraction order. These
values are specified in parameter columns 2 and 3, respectively. The grating lines are parallel to the local x axis,
and are evenly spaced when projected onto a plane.
For a toroidal grating with aspheric deformation terms see Extended Toroidal Grating on page 248.
PARAMETER DEFINITIONS FOR TOROIDAL GRATING SURFACES
Toroidal Hologram
The Toroidal Hologram surface shape is identical to the Toroidal surface described in Toroidal on page 272.
The curve in the Y-Z plane is defined by:
2
cy 2 4 6 8 10 12 14
z = -------------------------------------------------- + 1 y + 2 y + 3 y + 4 y + 5 y + 6 y + 7 y .
2 2
1 + 1 ( 1 + k )c y
The radius and conic values, along with the parameter values, are used to define the surface shape. The extra
data values are used to define the holographic properties of the surface. The terms used to define the holographic
construction beams are identical to those described in the earlier sections on the Hologram 1 and Hologram 2
surface types. Extra data values 1-6 are the x, y, and z construction points for sources 1 and 2, value 7 is the
construction wavelength, and value 8 is the playback order M.
!Optically fabricated holograms with aberrated construction beams may be modeled using the
"Optically Fabricated Hologram" surface.
There is also a ninth extra data value which is used as a "flag" to indicate if the two construction beams are
converging or diverging. If both beams are converging or diverging to or from the construction points, then the
flag value should be +1. If one beam is converging and one is diverging, then the flag should be -1. Any value
less than zero is the same as -1, and any value greater than zero is the same as +1. This flag value serves to
distinguish these two cases, which is the only difference between the Hologram 1 and 2 surface types.
PARAMETER DEFINITIONS FOR TOROIDAL HOLOGRAM SURFACES
Radius of 1 2 3 4 5 6 7
Rotation
Toroidal NURBS
!This feature is only available in the EE edition of ZEMAX.
The toroidal NURBS surface is similar to the radial NURBS surface (page 269). The key difference is that
instead of rotating the curve about the Z axis to form a surface; the curve is instead mirror-imaged to the -Y axis,
then rotated about an offset Y axis to form a toric shape.
The offset axis may be in the +Z or -Z direction, depending upon the sign of the radius of rotation. If the radius
of rotation is zero, then the radius is assumed to be infinite and the surface has cylindrical symmetry. The X width
of the surface is determined by either the range of rotation angle or by direct specification of the -x and +x limits;
the latter being used if the radius of rotation is infinite (which is defined by a zero value).
User Defined
!This feature is only available in the EE edition of ZEMAX.
The user defined surface (UDS) is a powerful, flexible, and fast way of implementing surfaces not already built
into ZEMAX. A UDS may be any shape, have any refractive, reflective, or diffractive properties, may impart any
arbitrary phase to the beam, and may be followed by either homogeneous media or by a gradient index media of
arbitrary form. A UDS may also apodize or attenuate the beam arbitrarily, or be used to define any electric field
or coating data for polarization analysis. This latter capability allows the beam to be partially transmitted according
to an arbitrary formula or table as defined by the user at any surface in the optical system.
The secret to this great flexibility is that all the properties of the surface are defined by the user in a separate
C or C++ program compiled and linked into ZEMAX dynamically using the Windows Dynamic Link Library (DLL)
capability. The DLL must contain functions which return to ZEMAX all the data required to draw the surface, trace
rays, compute refraction angles, and for gradient index, to determine the index as a function of position within the
media following the surface.
Because the DLL is compiled code, and because ZEMAX passes to the DLL a pointer to the data that needs
to be computed, UDS are very fast; nearly as fast as native ZEMAX code (there is a small amount of overhead
due to the function call).
The power of the UDS comes at a price, although it is a reasonable one. Use of the UDS does require that the
user have a suitable compiler or development tool that can generate 32 bit Windows compatible DLLs. It is also
assumed that the user can write the required code, and most importantly, ensure that the code is reliable and
bug-free. To maximize speed, ZEMAX performs very little error checking on data returned by the DLL, and so
buggy UDS DLLs are quite capable of bringing ZEMAX to a crash.
For this reason, technical support on the implementation of UDS is strictly limited to illustrating that the
provided sample files work correctly. If you need a UDS DLL, and do not possess the desire or ability to write
them yourself, please feel free to contact ZEMAX Technical Support for a quote on developing a custom DLL to
meet your requirements. We have considerable experience in developing ray tracing algorithms, and can
generally write DLLs at very competitive rates on very short notice.
The UDS DLL
The best way to learn how to create a UDS DLL is to start by copying the source code file (the one that ends
in .C) of a sample DLL to a new file name, edit the sample to suit your requirements, and then recompile to make
a new DLL. A good portion of the DLL source code is "boiler plate" which is common to all DLLs.
There are two files that are required to define a UDS DLL: a C (or C++) source code file such as MY_SURF.C,
and a header file called USERSURF.H. Only the C file needs to be modified. The file is essentially 2 functions;
Extensive comments are provided in the sample DLL source code files. The DLL files can be found in the
directory \ZEMAX\DLL, and any new DLL files must be placed there as well.
Refractive and reflective UDS DLLs
For conventional homogeneous surfaces which are reflective or refractive, but not gradient or diffractive, start
with the file US_STAND.C. That file is the source code for US_STAND.DLL, which is a clone of the built-in ZEMAX
standard surface. It is not exactly the same code, and is somewhat slower than the form of equations used by
ZEMAX, however, it is functionally equivalent. US_STAND.C includes a generic Snells' law refraction function
l' = l + ------ ------
2 x
m' = m + ------ ------
2 y
where l and m are the direction cosines, and the z direction cosine, n, is computed to make the magnitude of
the direction vector unity, and is the phase in radians.
A sample DLL, US_GRATE.DLL, illustrates the diffractive computation by cloning the ZEMAX grating surface.
Lenslet arrays using UDS DLLs
Lenslet arrays are easily modeled using the user defined surface. Basically, the ray trace determines which
segment of the array is struck, then uses the local lens curvature to determine the refraction. The sample source
code and DLL are provided as US_ARRAY.C and US_ARRAY.DLL, respectively.
User defined surface apodization using DLLs
The real ray trace portion of the DLL, type code 5, allows definition of the surface transmittance. The surface
transmittance must be a number between 0.0 and 1.0, and indicates the relative fraction of intensity that the ray
transmits through the surface. In this context, transmit means "continues on", so for reflective surfaces, the
transmitted portion is that which normally reflects to the next surface.
The surface transmittance can be used to define arbitrary surface apodizations. The transmittance function
can be any formula based upon the ray coordinates, direction cosines, surface parameters, or other data; or may
be derived from a look up table, or any other method that can be implemented within the DLL.
The surface transmittance need not be defined. If it is not defined by the DLL, ZEMAX assumes it is 1.0.
Whatever the surface transmittance is, the ray intensity will still be modified by ZEMAX to account for the Fresnel
surface, thin film, and bulk absorption affects that are normally accounted for when doing polarization ray tracing.
If ZEMAX is not doing polarization ray tracing, then the DLL defined transmittance is the only attenuating effect.
Unlike pupil apodization, surface apodizations defined using UDS may be placed on any surface anywhere in
the optical system. Note that for apodizations which are a function of ray position (and most are) different fields
will then see a different effective apodization. Note that this technique can be used to model arbitrary neutral
density filters, or filters whose transmission are wavelength dependent.
Polarization and coating data using DLLs
The real ray trace portion of the DLL, type code 5, allows definition of either the transmitted or reflected electric
field directly, or the definition of the s and p orientation complex reflection and transmission coefficients. The field
or coating data can be based upon any data available within the DLL, including ray cosines, normal vectors, index,
or other user defined data, or any other method that can be implemented within the DLL. The field and coating
data need not be defined. If it is not defined by the DLL, ZEMAX uses the default algorithm for the surface. For a
source code example of how to define the electric field or coating data see the sample DLL US_POLARIZATION.
2 2 4 2 2 5
+ CR [ ( 1 CP )X + ( 1 + CP )Y ] + DR [ ( 1 DP )X + ( 1 + DP )Y ]
US_ANASP Annular aspheric surface. This surface is described in the paper "Annular surfaces
in annular field systems" by Jose Sasian, Opt. Eng. 36(12) 3401-3403 (December
1997). This surface is similar to an odd aspheric polynomial, with a radial offset in
the polynomial expansion to better model surfaces used in annular field systems.
US_APGXY This DLL is a clone of the ZEMAX "Standard" surface type, with the added capability
to modify the surface transmission. This surface defines an apodization function of
the form
x 2 y 2
T ( x, y ) = Exp 2G x --- 2G y --- ,
R R
where R is the semi-diameter of the surface and x and y are the coordinates at which
the ray intercepts the surface.
US_ARRAY Models an n x m array of lenses, each of dimension H x W; all 4 parameters may be
specified. The lenses are rectangular in outline but are "standard" in shape; that is,
plane, spherical, or conic asphere.
US_ARRAYEVEN Models an n x m array of lenses, each of dimension H x W; all 4 parameters may be
specified. The lenses are rectangular in outline but are "even aspheric" in shape;
that is, plane, spherical, conic asphere, and radial polynomial asphere.
US_CYLAR Models a vertical array of n cylindrical lenses, each H high. The lenses are cylindrical
or conic aspheres in the YZ plane.
US_DGCYL Models a diffraction grating on a cylindrical surface, where the grating lines are
equally spaced along the arc of the surface rather than equally spaced along the y
coordinate of the tangent plane. The grating lines are parallel to the axis of the
cylinder.
T ( r ) = 1 if r < R R ,
T ( r ) = 0 if r > R + R ,
( r ( R R ) )
1 + cos ---------------------------------------
2R
T ( r ) = --------------------------------------------------------------- if R R < r < R + R ,
2
T ( na ) = 1.0 if na < NA - ,
( na ( NA NA ) )
T ( na ) = 0.5 1 + cos --------------------------------------------------- ,
( 2NA )
T ( x, y ) = ( 1 4 ) ( 1 + sin ( 2x ) ) ( 1 + sin ( 2y ) ) ,
where and are the spatial frequencies of the sinusoidal transmission in x and
y, respectively.
2 2
rg = ro + x + y .
1 L cos 0 y L cos 0 y
T = ----- ---------------------------------------------------- ---------------------------------------------------- ,
0 2 2 2 2
y + L 2Ly cos 0 y + L 2Ly cos 0
where y varies across the grating surface. The variable line space grating surface uses five of the parameter
surfaces, but none of the extra data surfaces.
PARAMETER DEFINITIONS FOR VARIABLE LINE SPACE GRATING SURFACES
M L cos 0 cos 0 0
= M 2A i Z i ( , )
i=1
Parameter 0 Parameter 1
Diffraction order Extrapolate
The "Number of terms" is used to specify the maximum Zernike polynomial term to be used in calculating the
phase. This number is provided to speed the ray tracing calculation; terms beyond this number are ignored.
Zernike polynomials are orthogonal over the unit circle, and so the normalization radius should be set to the
radius over which the coefficient data was normalized. Zernike polynomials tend to diverge quite rapidly beyond
the normalization radius, and so care should be taken that rays do not strike the surface beyond this radius.
Although the ray tracing algorithm may work, the data may be inaccurate. The extrapolate flag may be set to zero
to ignore the Zernike terms for rays that land outside the normalization radius.
Zernike Fringe Phase coefficients sign conventions
See Binary Optic 1 on page 230 for a discussion of sign conventions.
Zernike Fringe Sag
The Zernike Fringe Sag surface is defined by the same polynomial as the Even Aspheric surface (which
supports planes, spheres, conics, and polynomial aspheres) plus additional aspheric terms defined by the Zernike
Fringe coefficients. The surface sag is of the form:
8 N
2
cr
z = -------------------------------------------------- + i r + A i Z i ( , )
2i
2 2
1 + 1 ( 1 + k )c r i = 1 i=1
th
where N is the number of Zernike coefficients in the series, A i is the coefficient on the i Zernike Fringe
polynomial, r is the radial ray coordinate in lens units, is the normalized radial ray coordinate, and is the
The "Number of terms" is used to specify the maximum Zernike polynomial term to be used in calculating the
surface sag. This number is provided to speed the ray tracing calculation; terms beyond this number are ignored.
Zernike polynomials are orthogonal over the unit circle, and so the normalization radius should be set to the
radius over which the coefficient data was normalized. Zernike polynomials tend to diverge quite rapidly beyond
the normalization radius, and so care should be taken that rays do not strike the surface beyond this radius.
Although the ray tracing algorithm may work, the data may be inaccurate. The extrapolate flag may be set to zero
to ignore the Zernike terms for rays that land outside the normalization radius.
Zernike Standard Phase
The Zernike Standard phase surface has a substrate shape identical to the Standard surface (which supports
planes, spheres, and conics) plus additional phase terms defined by the Zernike Standard coefficients. The
surface sag is identical to the standard surface formula. The additional phase terms deviate and add optical path
to the rays as they cross the surface. This surface model is well suited to modeling system aberrations for which
measured interferometer data is available. The Zernike Standard Phase surface can also be used to model some
holograms and binary optics surfaces. The phase of the surface is given by
= M 2A i Z i ( , )
i=1
th
where N is the number of Zernike coefficients in the series, A i is the coefficient on the i Zernike Standard
polynomial, is the normalized radial ray coordinate, is the angular ray coordinate, and M is the diffraction
order. The Zernike Standard polynomials are defined in the table given in Zernike Standard Coefficients on
page 168. ZEMAX supports up to 231 terms. The coefficients A i all have units of waves. One wave is 2 radians.
Parameter 0 Parameter 1
The "Number of terms" is used to specify the maximum Zernike polynomial term to be used in calculating the
phase. This number is provided to speed the ray tracing calculation; terms beyond this number are ignored.
Zernike polynomials are orthogonal over the unit circle, and so the normalization radius should be set to the
radius over which the coefficient data was normalized. Zernike polynomials tend to diverge quite rapidly beyond
the normalization radius, and so care should be taken that rays do not strike the surface beyond this radius.
Although the ray tracing algorithm may work, the data may be inaccurate. The extrapolate flag may be set to zero
to ignore the Zernike terms for rays that land outside the normalization radius.
Zernike Standard Phase coefficients sign conventions
See Binary Optic 1 on page 230 for a discussion of sign conventions.
Zernike Standard Sag
The Zernike Standard Sag surface is defined by the same polynomial as the Even Aspheric surface (which
supports planes, spheres, conics, and polynomial aspheres) plus additional aspheric terms defined by the Zernike
Standard coefficients. The surface sag is of the form:
8 N
2
cr
z = -------------------------------------------------- + i r + A i Z i ( , )
2i
2 2
1 + 1 ( 1 + k )c r i = 1 i=1
th
where N is the number of Zernike coefficients in the series, A i is the coefficient on the i Zernike Standard
polynomial, r is the radial ray coordinate in lens units, is the normalized radial ray coordinate, and is the
angular ray coordinate. The Zernike Standard polynomials are defined in the table given in Zernike Standard
Coefficients on page 168. ZEMAX supports the first 231 Zernike Standard terms. The coefficients A i all have
units which are the same as the lens units, such as millimeters or inches. The coefficients i have units, and are
as defined in the section on the "Even Asphere" surface type. If the "Extrapolate" flag is set to 0, the Zernike terms
The "Number of terms" is used to specify the maximum Zernike polynomial term to be used in calculating the
surface sag. This number is provided to speed the ray tracing calculation; terms beyond this number are ignored.
Zernike polynomials are orthogonal over the unit circle, and so the normalization radius should be set to the
radius over which the coefficient data was normalized. Zernike polynomials tend to diverge quite rapidly beyond
the normalization radius, and so care should be taken that rays do not strike the surface beyond this radius.
Although the ray tracing algorithm may work, the data may be inaccurate. The extrapolate flag may be set to zero
to ignore the Zernike terms for rays that land outside the normalization radius.
Zone Plate
This surface is used to model a Fresnel Zone Plate (FZP). A FZP consists of a refractive or reflective surface
upon which annular zones of varying depth are cut or etched. Typically, the spacing between grooves is large
compared to the wavelength, and therefore FZP's are entirely refractive, and not diffractive, devices. The varying
depth of the annular zones imparts a slight phase change to different zones of the beam, due to the change in
path length through the material.
The FZP is modeled by altering the local depth of the surface. Edge effects, such as rays striking the side of
the zone, and diffraction from the edges, are ignored. The FZP is defined by a normalized optical thickness of
each zone. Each zone is spaced a fixed radius apart, and up to 250 zones may be defined. Three parameter
values are required: the mode, the r , and the reference wavelength, 0 .
If the mode is zero, the steps are not interpolated, and each zone has a constant optical thickness. This results
in discontinuous phase steps, like a staircase. If the mode is unity, then the optical thickness is interpolated
between adjacent zones. Although the phase will be continuous, the first derivative of the phase will generally be
discontinuous at the zone boundaries. The " r " is the step in radius between adjacent zones in lens units. The
"reference wavelength" is the wavelength in micrometers used to normalize the optical thickness. For example,
if the FZP defines the boundary between a material with index 1.55 and air, with index 1.00, and the reference
wavelength is 0.45 micrometers, then an optical thickness of 1 wave corresponds to a groove depth of
0 0.45
T = ---------------- = -------------- = 0.818182 .
n2 n1 0.55
This thickness is the actual groove depth if the optical thickness is given to be 1.0. ZEMAX uses this normalized
optical thickness for convenience. To specify a zone that introduces one-half wave of phase at the reference
3 Optical thickness at 2 r
4 Optical thickness at 3 r
Introduction
!This feature is only available in the EE edition of ZEMAX.
Most imaging systems are well described by optical surfaces which are sequential, which means that rays
always trace from the object surface to surface 1, then 2, then 3, etc... in a strict sequence. Each ray "hits" each
surface once and only once in this predetermined sequence. Rays in sequential mode never trace from surface
3 to 9 then back to 1, for example. The sequential model is simple, numerically fast, and extremely useful and
complete for many important cases.
However, there are times when a non-sequential trace is required. Non-sequential means the rays trace in the
actual physical order they hit various objects or surfaces, and not necessarily in the order the objects are listed
in the software user interface. Note rays in a non-sequential trace may hit the same object repeatedly, and entirely
miss other objects. Generally, the order in which objects are hit by rays depends upon the object geometry and
the angle and position of the input ray. Objects which require or at least benefit from non-sequential ray tracing
include faceted objects, prisms, light pipes, lens arrays, reflectors, and Fresnel lenses. Certain types of analysis,
such as stray or scattered light effects, are only practical in a completely non-sequential environment.
Traditionally, lens design programs that supported surfaces (rather than 3D objects) for sequential ray tracing
would implement non-sequential ray tracing using the same surface model; the rays would simply intersect
surfaces in a possibly out of sequence order.
The disadvantage of using surfaces in a more general non-sequential approach is that surfaces do not
adequately describe most optical components. For example, lenses not only have a front and back surface, they
also have edges and perhaps flattened outer faces for mounting. Light may intercept, and then refract or reflect
from these additional surfaces normally ignored by sequential surface ray tracing codes. Complex prisms, such
as a dove or roof prism, contain many faces, and the rays may intersect these faces in a complex order depending
upon the input angle and position of the ray.
To support these types of components in a very general and accurate way requires the use of full 3D solid
object models instead of just 2D surfaces. ZEMAX calls this type of ray tracing non-sequential components, or
NSC, which is different from non-sequential surfaces or NSS. NSC ray tracing in ZEMAX supports all of the
following features:
Definition and placement of multiple sources, objects and detectors.
Real radiometric and photometric units; including watts, lumens, lux, phot, footcandles, and others.
Automatic determination of ray-object intersection order.
Automatic detection of reflection, refraction, and total internal reflection (TIR).
Support for a very wide range of 3D objects, including diffractive optics.
Polarization ray tracing and arbitrary thin film coatings.
Statistical models for scattering, including Lambertian, Gaussian, and ABg.
Automatic ray splitting for efficient analysis.
This chapter provides information on setting up a NSC group, defining objects, and tracing rays through NSC.
Paraxial data and ray tracing with NSC
There is no paraxial ray tracing in NSC. When paraxial rays are traced to a non-sequential surface, the
equivalent real rays are traced instead. Nearly all paraxial data, such as focal length and F/#, are meaningless
for non-sequential systems. Some NSC systems are well behaved in the sense that real rays close to the axis
behave much as idealized paraxial rays would. However, NSC systems with faceted parts, obscurations, and
objects only partially in the path of the beam will not be able to correctly predict any paraxial data, and paraxial
data should be considered meaningless for these systems.
!Detectors are described on page 332. Sources are described on page 336.
If an object type is required that is not listed, please contact technical support to suggest the new object type
be added to ZEMAX.
SUMMARY OF NSC OBJECTS
Most objects require specification of various parameters. The parameters required by each object type and
detailed descriptions of each object follow.
N
2
cr
z = -------------------------------------------------- + i r ,
i
2 2
1 + 1 ( 1 + k )c r i=1
where c is the curvature of the surface, k is the conic constant, r is the radial coordinate, and the terms are
aspheric coefficients. The surface supports specification of both a minimum and a maximum radial aperture; so
annular surfaces may be defined. Note that both even and odd terms are defined; up to approximately 240
coefficients may be used.
The following parameters are used to define the aspheric sur-
face:
1: The radius of curvature. If this value is zero, then the curva-
ture is assumed to be zero.
2: The conic constant k.
3: The maximum radial aperture in lens units.
4: The minimum radial aperture in lens units. This value may be
zero.
5: The number of angular facets. See The use of facets on
page 331.
6: The number of radial facets. See The use of facets on
page 331.
7: The number of terms to use in the aspheric expansion. Ray tracing will be faster if this term is no larger than
the highest order non-zero coefficient.
8-250: The coefficients on the polynomial expansion.
Coating/Scatter Groups: All faces CSG #0. This object supports user defined apertures, see User defined
apertures on page 352. For other aperture shape options, see Aspheric Surface 2 on page 299.
2 2
cx x + cy y
z = ---------------------------------------------------------------------------------------- ,
2 2 2 2
1 + 1 ( 1 + k x )c x x ( 1 + k y )c y y
where
1 1
c x = ----- , c y = ----- .
Rx Ry
2 2
cx x + cy y
z = ---------------------------------------------------------------------------------------- ,
2 2 2 2
1 + 1 ( 1 + k x )c x x ( 1 + k y )c y y
where
1 1
c x = ----- , c y = ----- .
Rx Ry
2
2 ( Ry )
y = ------------------- .
( 1 + ky )
= M A i E i ( x, y ) ,
i=1
where N is the number of polynomial coefficients in the series, M is the diffraction order, and A i is the
th
coefficient on the i extended polynomial term. The polynomials are a power series in the normalized
coordinates x and y, as described in Extended Polynomial Lens on page 308. The coefficients A i all have units
of radians ( 2 radians is one wave).
The definitions for the parameters are:
1-9: See the Standard Lens description for information on these
parameters.
10: The diffraction order M.
11: The normalization radius. The x and y coordinates are
normalized to this value. This keeps all coefficients in units of
radians.
12: The maximum term number.
13-242: The values of the coefficients on the polynomial terms.
This object does not diffract rays correctly if the front surface is
made hyperhemispheric. See also the Binary 2 object.
= M Ai ,
2i
i=1
th
where N is the number of polynomial coefficients in the series, A i is the coefficient on the 2i power of ,
which is the normalized radial aperture coordinate. The coefficients A i all have units of radians ( 2 radians is
one wave).
The definitions for the parameters are:
1-9: See the Standard Lens description for information on these
parameters.
10: The diffraction order M.
11: The normalization radius. The x and y coordinates are
normalized to this value. This keeps all coefficients in units of
radians.
12: The maximum term number.
13-242: The values of the coefficients on the polynomial terms.
This object does not diffract rays correctly if the front surface is
made hyperhemispheric. See also the Binary 1 object.
For important information on diffractive objects, see Diffraction from NSC objects on page 347.
Coating/Scatter Groups: Front face CSG #1, back face CSG #2, all other faces CSG #0.
Binary 2A
The Binary 2A object has an even polynomial aspheric front and back face, with a diffractive optic phase profile
similar to the Binary 2 surface type on the front face. The even aspheric sag formula is:
12
2
cr
z = -------------------------------------------------- + i r .
2i
2 2
1 + 1 ( 1 + k )c r i=1
= M Ai ,
2i
i=1
a ( 1 + sin )
L = ---------------------------- ,
tan sin
where a is the radial aperture and is the acceptance angle. Longer lengths will be truncated to this value.
Coating/Scatter Groups: Front face CSG #1, rear face CSG #2, outer faces CSG #0.
Cylinder Pipe
A cylinder pipe is a rotationally symmetric surface defined by 3
parameters:
1: The radius of the front circular aperture.
2: The length along the local Z axis of the cylinder.
3: The radius of the rear circular aperture.
This object is normally used to define a reflective light pipe.
The reference coordinate is the center of the front aperture.
Coating/Scatter Groups: All faces CSG #0.
Cylinder 2 Pipe
A cylinder 2 pipe is a rotationally symmetric surface defined by
4 parameters:
1: The radius of the cylinder.
2: The length along the local Z axis of the cylinder.
3: The tilt of the front face along the y direction in degrees.
4: The tilt of the rear face along the y direction in degrees.
5: The tilt of the front face along the x direction in degrees.
6: The tilt of the rear face along the x direction in degrees.
The reference coordinate is the center of the front face. Coating/
Scatter Groups: All faces CSG #0.
Cylinder 2 Volume
A cylinder volume is a rotationally symmetric volume defined by
4 parameters:
1: The radius of the cylinder.
2: The length along the local Z axis of the cylinder.
3: The tilt of the front face along the y direction in degrees.
4: The tilt of the rear face along the y direction in degrees.
5: The tilt of the front face along the x direction in degrees.
6: The tilt of the rear face along the x direction in degrees.
This object is very similar to the cylinder 2 pipe, except the front
and rear faces are included to make the shape a closed volume.
Because the object is a closed volume, it may be reflective,
refractive, or absorbing.
The reference coordinate is the center of the front aperture. Coating/Scatter Groups: Front face CSG #1, back
face CSG #2, all other faces CSG #0.
Elliptical Volume
An elliptical volume is a tapered volume or surface with an
elliptical cross section defined by these parameters:
1: The x half width of the front face.
2. The y half width of the front face.
3: The x half width of the back face.
4. The y half width of the back face.
5: The length along the local Z axis of the cylinder.
6: The number of z facets. See The use of facets on page 331.
7: The number of angular facets. See The use of facets on
page 331.
8: The "Is Volume?" flag. Use 1 to make a closed volume, else
use 0 to make a hollow shell.
This object is similar to the cylinder pipe and volume. Note this object may be either a hollow shell or a closed
volume, depending upon the Is Volume? flag.
The reference coordinate is the center of the front face. Coating/Scatter Groups: Front face CSG #1, back face
CSG #2, all other faces CSG #0.
2
cr 2 4 6 8 10 12 14 16
z = -------------------------------------------------- + 1 r + 2 r + 3 r + 4 r + 5 r + 6 r + 7 r + 8 r ,
2 2
1 + 1 ( 1 + k )c r
which is exactly the same sag formula as for the Even Asphere surface. The Even Asphere Lens object
consists of two of these faces, separated by a thickness. The total object shape is defined by 24 parameters:
1: The Maximum Radial aperture.
2: The Thickness of the lens at the center.
3: The number of angular Facets. See The use of facets on
page 331.
4: The number of radial Facets. See The use of facets on
page 331.
5: The front face radius of curvature.
6: The front face conic constant k.
7-14: The front face coefficients 1 8 .
15: The back face radius of curvature.
16: The back face conic constant k.
17-24: The back face coefficients 1 8 .
The reference coordinate is the center of the front face. Coating/Scatter Groups: Front face CSG #1, back face
CSG #2, all other faces CSG #0.
Extended Polynomial Lens
The Extended Polynomial surface shape is defined by:
N
2
cr
z = -------------------------------------------------- + A i E i ( x, y ) .
2 2
1 + 1 ( 1 + k )c r i=1
th
where N is the number of polynomial coefficients in the series, and A i is the coefficient on the i extended
polynomial term. The polynomials are a power series in x and y. The first term is x, then y, then x*x, x*y, y*y, etc.
There are 2 terms of order 1, 3 terms of order 2, 4 terms of order 3, etc. The maximum order is 20, which makes
a maximum of 230 polynomial aspheric coefficients. The position values x and y are divided by a normalization
radius so the polynomial coefficients are dimensionless.
The Extended Polynomial Lens object consists of two of these faces, separated by a thickness. The total object
shape is defined by these parameters:
2
cr 2 4 6 8 10 12 14 16
z = -------------------------------------------------- + 1 r + 2 r + 3 r + 4 r + 5 r + 6 r + 7 r + 8 r .
2 2
1 + 1 ( 1 + k )c r
2
cr 2 4 6 8 10 12 14 16
z = -------------------------------------------------- + 1 r + 2 r + 3 r + 4 r + 5 r + 6 r + 7 r + 8 r .
2 2
1 + 1 ( 1 + k )c r
If the Fresnel surface is cylindrical, then the profile is described by an identical expression in the y coordinate
alone:
2
cy 2 4 6 8 10 12 14 16
z = -------------------------------------------------- + 1 y + 2 y + 3 y + 4 y + 5 y + 6 y + 7 y + 8 y .
2 2
1 + 1 ( 1 + k )c y
N
2
cr
z = -------------------------------------------------- + i r ,
i
2 2
1 + 1 ( 1 + k )c r i=1
where c is the curvature of the surface, k is the conic constant, r is the radial coordinate, and the terms are
aspheric coefficients. The surface supports specification of both a minimum and a maximum radial aperture; so
annular surfaces may be defined. Note that both even and odd terms are defined; up to approximately 230
coefficients may be used. This is the same shape as the Aspheric Surface object, see Aspheric Surface on
page 298.
The following parameters are used to define the hologram
surface:
1: The radius of curvature. If this value is zero, then the curva-
ture is assumed to be zero.
2: The conic constant k.
3: The maximum radial aperture in lens units.
4: The minimum radial aperture in lens units. This value may be
zero.
5: The number of angular facets. See The use of facets on
page 331.
6: The number of radial facets. See The use of facets on
page 331.
7: Holo Type: Use 1 for Hologram type 1 (both sources converging/diverging) or 2 for Hologram type 2 (one
source converging, one diverging) See Hologram 1 on page 261.
8: Order: The diffraction order to use. Multiple orders may be specified, see Diffraction tab on page 350.
9: Construction Wavelength: The wavelength in micrometers used to fabricate the hologram.
10-15: The X, Y, and Z coordinates in lens units of the construction points relative to the vertex of the front face
of the Hologram.
16: The number of terms to use in the aspheric expansion. Ray tracing will be faster if this term is no larger
than the highest order non-zero coefficient.
2
cr 2 4 6 8 10 12 14 16
z = -------------------------------------------------- + 1 r + 2 r + 3 r + 4 r + 5 r + 6 r + 7 r + 8 r .
2 2
1 + 1 ( 1 + k )c r
If the back face is a toric, then the profile is described by an identical expression in the y coordinate alone:
2
cy 2 4 6 8 10 12 14 16
z = -------------------------------------------------- + 1 y + 2 y + 3 y + 4 y + 5 y + 6 y + 7 y + 8 y ,
2 2
1 + 1 ( 1 + k )c y
12
2
cr
z = -------------------------------------------------- + i r ,
i
2 2
1 + 1 ( 1 + k )c r i=1
which is very similar to the Odd Asphere surface (there are 4 additional terms). The Odd Asphere Lens object
consists of two of these faces, separated by a thickness. The total object shape is defined by 32 parameters:
1: The Maximum Radial aperture.
2: The Thickness of the lens at the center.
3: The number of angular facets. See The use of facets on
page 331.
4: The number of radial facets. See The use of facets on
page 331.
5: The front face radius of curvature.
6: The front face conic constant.
7-18: The front face coefficients 1 12 .
19: The back face radius of curvature.
20: The back face conic constant.
21-32: The back face coefficients 1 12 .
The reference coordinate is the center of the front face. Coating/Scatter Groups: Front face CSG #1, back face
CSG #2, all other faces CSG #0.
Rectangular Pipe
Rectangular pipes are defined by 9 parameters:
1) The X half width of the open front face.
2) The Y half width of the open front face.
3) The Z length of the pipe along the local Z axis.
4) The X half width of the open rear face.
5) The Y half width of the open rear face.
6-7) The X, Y angle tilt in degrees of the front face.
8-9) The X, Y angle tilt in degrees of the rear face.
Rectangular pipes are 4 sided boxes. The front and rear faces
are open. This object is typically used as a rectangular light pipe.
The reference point is the center of the front open face. Coating/
Scatter Groups: All faces CSG #0.
Rectangular Pipe Grating
This object is the same shape as the Rectangular Pipe and uses the same first 9 parameters. However, the
grating version adds a linear diffraction grating on all four sides. There are two additional parameters:
10: The grating line frequency in lines/micrometer on the side faces.
11: The diffraction order. Multiple orders may be specified, see Diffraction tab on page 350.
The grating consists of equally spaced lines perpendicular to the local z axis, lying on each of the four faces.
The grating frequency is the lines per micrometer along the z direction; projected down on to either the XZ or YZ
plane. Note the grating exists on all four sides of the pipe. The reference point is the center of the front open face.
For important information on diffractive objects, see Diffraction from NSC objects on page 347.
Coating/Scatter Groups: All faces CSG #0.
0 1 2 360 .
There is also the restriction that Rout > Rin > 0 and Ty > 0. The reference coordinate is the center of the axis
of rotation. Coating/Scatter Groups: All faces CSG #0.
Rectangular Torus Volume
This object is essentially identical to the Rectangular Torus Surface, except the ends of the torus are closed
to make a solid volume. This allows the object to made of a refractive material. See the description of the
Rectangular Torus Surface for details. Coating/Scatter Groups: Start angle end cap CSG #1, stop angle end cap
CSG #2, all other faces CSG #0.
2
cy 2 4 6 8 10 12
z = -------------------------------------------------- + 1 y + 2 y + 3 y + 4 y + 5 y + 6 y ,
2 2
1 + 1 ( 1 + k )c y
2
cy 2 4 6 8 10 12
z = -------------------------------------------------- + 1 y + 2 y + 3 y + 4 y + 5 y + 6 y ,
2 2
1 + 1 ( 1 + k )c y
0 1 2 360 .
There is also the restriction that R > r; otherwise, a closed volume or a smooth surface will not result.
The reference coordinate is the center of the axis of rotation. Coating/Scatter Groups: All faces CSG #0.
Torus Volume
This object is essentially identical to the Torus Surface, except the ends of the torus are closed to make a solid
volume. This allows the object to made of a refractive material. See the description of the Torus Surface for details.
Coating/Scatter Groups: Start angle end cap CSG #1, stop angle end cap CSG #2, all other faces CSG #0.
Triangle
Triangles are defined by 3 points in the XY plane, which is a total
of 6 parameters:
1) The X coordinate of vertex 1.
2) The Y coordinate of vertex 1.
3) The X coordinate of vertex 2.
4) The Y coordinate of vertex 2.
5) The X coordinate of vertex 3.
6) The Y coordinate of vertex 3.
The reference point is the (0, 0, 0) coordinate, which may not
be part of the triangle at all; depending upon the values give for the
vertex points. Coating/Scatter Groups: All faces CSG #0.
User Defined Object
There are several different ways to create user defined objects. For simple polygon based objects, such as
prisms and other shapes with all flat faces, see Polygon Object on page 319. Objects may also be defined in
an external CAD program and then imported into ZEMAX, see Imported on page 314 and STL Object on
page 324. There are also methods for user definitions for gradient index media (Defining GRIN media for non-
sequential ray tracing on page 359), surface scattering properties (Scattering on page 352), bulk scattering
properties (Bulk scattering on page 357), and diffraction (Defining DLLs for ray splitting at diffractive surfaces
on page 361).
The method of creating a user defined object described in this section involves the use of an external, user
supplied program called a Dynamic Link Library or DLL. The advantages to defining an object using a DLL, rather
than the other methods listed above, are:
-DLL defined objects generally ray trace much faster, and with much higher numerical precision, than
objects imported from CAD programs.
-Any number of complex curved shapes may be combined in a single object, unlike the polygon object which
only has flat faces.
-Objects may have a mixture of reflective and refractive curved faces, with user definable coating and
scatter groups.
-The DLL description is inherently parametric, which means the object is dynamically regenerated when
any defining property is modified. This allows interactive design, modification, and even optimization.
-User defined coating data, including detailed control over the complex amplitude reflection and transmis-
!All Object DLLs must be placed in the \OBJECTS\DLL\USEROBJECTS subdirectory off the
main ZEMAX directory.
See The use of facets on page 331 for information on limitations of ray tracing through faceted objects.
Coating/Scatter Groups: All faces have user definable CSG #s.
If you require a User Defined Object DLL, but do not wish to write the DLL yourself, contact ZEMAX Technical
Support for a quote on developing a custom DLL to meet your requirements. We have considerable experience
in developing ray tracing algorithms, and can generally write user defined object DLL code for a small fee, often
on very short notice.
Sample Object DLLs
The following sample object DLLs and source code are included with ZEMAX.
SAMPLE OBJECT DLLS
8 N
2
cr
z = -------------------------------------------------- + i r + A i Z i ( , ) ,
2i
2 2
1 + 1 ( 1 + k )c r i=1 i=1
where c is the curvature of the surface, k is the conic constant, r is the radial coordinate, the terms are
th
aspheric coefficients, N is the number of Zernike coefficients in the series, A i is the coefficient on the i Zernike
Standard polynomial, r is the radial ray coordinate in lens units, is the normalized radial ray coordinate, and
is the angular ray coordinate. The Zernike Standard polynomials are defined in the table given in Zernike
Standard Coefficients on page 168. The surface supports specification of both a minimum and a maximum radial
aperture; so annular surfaces may be defined.
The following parameters are used to define the Zernike sur-
face:
1: The radius of curvature. If this value is zero, then the curva-
ture is assumed to be zero.
2: The conic constant k.
3: The maximum radial aperture in lens units. This aperture is
also used to normalize the radial coordinates used in the Zernike
polynomial expansion.
4: The minimum radial aperture in lens units. This value may be
zero.
5: The number of angular facets. See The use of facets on
page 331.
6: The number of radial facets. See The use of facets on page 331.
7-14: The even radial aspheric coefficients .
15: The number of terms to use in the Zernike expansion.
16-247: The Zernike coefficients.
Coating/Scatter Groups: All faces CSG #0. This object supports user defined apertures, see User defined
apertures on page 352.
The use of facets
Some objects support a user defined specification for the number or radial, angular, or x/y facets, such as the
Biconic Lens, and many others. It is important to note that the facets are only used for two purposes:
1) To render the object
2) To provide a "first guess" as to the location of the ray-object intercept point
An arbitrary ray may intersect an object in multiple places. For accurate ray tracing, iteration is used to find
the exact intercept point. Iteration requires a good close first guess; otherwise the ray may converge to an
incorrect solution, or may not converge at all. For ray tracing, the faceted representation is used only to get the
rays close enough to the actual surface so that iteration works efficiently. The actual surface shape of the object
is modeled exactly for ray tracing purposes; the accuracy of the ray trace is not limited by the faceted
approximation.
The number of facets needs only to be high enough to render the object with acceptable quality and to preclude
erroneous solutions for the iterative ray intercept computation. Using more facets will cause the ray tracing to be
slower and not increase the accuracy of the ray intercept positions or normals. If rays seem to be missing an
object, try increasing the number of facets in the representation.
2Gx y 2Gy
2 -----x + -----
x y
I ( x, y ) = I o e ,
where x is the XZ divergence angle in degrees, G x is the "supergaussian" factor for the X direction, with
similar definitions for the Y subscripted values. Note if G x is 1.0, then a typical Gaussian distribution results. If
G x is greater than 1.0, then the distribution becomes more "squared". Both G x and G y must be greater than or
equal to 1.0.
Most laser diode manufacturers specify the far field divergence angles as the full width of the distribution
between the half power points, fwhm . For a true Gaussian distribution ( G x = 1), setting the left hand side of the
1 1
equation to --- I , setting y to zero, substituting for x the value of --- , then solving for x gives
2 o 2 fwhm
fwhm
x = --------------------
- , or
2 ln ( 2 )
x = ( 0.8493218 ) fwhm .
Source Ellipse
The Source Ellipse is a flat elliptical (and optionally annular) surface which emits rays. Although the origin of
each ray launched lies on the surface of the ellipse with a uniform distribution, the distribution of the ray directions
may be any one of these:
a) All rays appear to emit from a point placed anywhere relative to the source. The location of this point is
defined in the parameter list below. When used in this mode, the source acts like an imaging point source.
b) Rays emit in a cosine distribution of the form
Cn
I ( ) I o ( cos ) ,
where the exponent Cn may be any value greater than or equal to unity, and need not be an integer. When
used in this mode, the source acts like a diffuse cosine source. The larger Cn, the narrower the distribution
becomes. Note this distribution is rotationally symmetric about the local Z axis.
c) Rays emit in a Gaussian distribution of the form
( Gx l + Gy m )
2 2
I ( l, m ) I o e ,
where l and m are the direction cosines of the ray in the X and Y axis directions and Gx and Gy are constants.
This form may be used to define a far field pattern that is different in the X or Y directions. The larger Gx and
Gy are, the narrower the distribution becomes in the respective directions.
The nature of the ray distribution is defined by the parameter values. If Cn, Gx, and Gy, are all zero, then all
rays will appear to emit from a virtual point source. If Cn is 1.0 or greater, then the cosine distribution will result
(no matter how the source distance or Gx or Gy are set). If Cn is zero, but either Gx and Gy is non-zero, then a
Gaussian distribution will result.
The parameters used to define this source are:
1-5) See Parameters common to all source objects on page 337.
6) X Half Width: The x half width in lens units.
7) Y Half Width: The y half width in lens units.
------
X- 2 ------
Y- 2 ------
Z 2
W y 1 W z 1
+ , and ,
W x
------
X- 2 ------
Y- 2 ------
Z 2
W z 1
+ + ,
W x W y
where W refers to the half widths in X, Y, and Z. The parameters are otherwise identical to that for the Source
Volume Cylinder.
Source Volume Rectangle
The Source Volume Rectangle is a 3D volume formed by a rectangular shape in the XY, XZ, and YZ planes.
The center of the source volume is at the local origin of the object. Rays are emitted in random directions from
anywhere inside the volume, with uniform probability in both position and ray direction. Points within the rectangle
satisfy these relations:
X W x , Y W y , and Z W z ,
where W refers to the half widths in X, Y, and Z. The parameters are otherwise identical to that for the Source
Volume Cylinder.
Object Placement
The conventions and restrictions on placing objects in the NSC group is critically important. Objects may be
placed anywhere in 3D space; and objects may be placed with respect to any other object. Objects may also be
placed entirely inside of other objects, or may be placed adjacent to other objects.
The object coordinate system
Each objects position is defined by 6 parameters: the X, Y, and Z coordinates, and the rotation about the global
Z, then global Y, then global X axis. Note the coordinate translation is done first, then the tilts, in the order Z, Y,
and X. This is the same convention as for the coordinate break surface when using order flag = 0 (see page 239).
The conversion from object local coordinates to global coordinates can be written in equation form as
xg xo R 11 R 12 R 13 x l
y g = y o + R 21 R 22 R 23 y l ,
zg zo R 31 R 32 R 33 z l
where the g subscript indicates the global coordinate, o is the offset, and l is the local object coordinate. The
matrix R is the rotation matrix, which relates the orientation of local and global coordinates.These equations can
be written more compactly as
G = O + RL ,
Where G is the global coordinate vector, O is the offset vector, R is the rotation matrix, and L is the local
coordinate vector. For more information on properties of the rotation matrix, see Global Coordinate Reference
Surface on page 93.
Any number of coordinate reference nesting is supported; so that object 9 could be placed in the coordinate
frame of object 5 which in turn is placed in the frame of object 3. The only restriction is that the reference object
must precede in the object list the object whose coordinates are being referenced.
Placing objects inside of, adjacent to, or overlapping other objects
Placing sources within other objects is described in Placing sources inside objects on page 336.
Objects can be combined to make more complex objects, by placing one object inside of, adjacent to, or
overlapping another object. What determines the ray tracing properties of such a compound object depends upon
the position and type of the various objects and whether or not they touch or overlap. Here the word touch means
that one or more points on the boundary surface of one object is in the same location in 3D space as a point on
a boundary surface of another object. Mirror objects may be placed anywhere, even in contact with or partially or
fully inside any other object without restriction. Rays will always reflect from mirror surfaces back into the medium
the rays had been traveling through.
Glue distance
When two NSC objects are placed in contact, such as a lens touching one face of a prism, numerical round
off will cause the ray tracing algorithm to sometimes detect a very tiny distance between the two objects. This can
also occur when objects are rotated in 3D space and placed close, but not exactly, next to one another because
of the finite number of digits entered in the spreadsheet editor and the finite precision of the computer. Objects
placed within the glue distance of one another are automatically "cemented" together for ray tracing purposes.
The glue distance is the distance below which the objects are considered in contact. This value should only
need adjustment from the default value of 1E-06 lens units (or 0.001 micrometers if the lens units are millimeters)
in very rare cases.
The glue distance also determines the minimum propagation length for ray tracing. If a ray-object intersection
is less than the glue distance away from the previous intercept, the intercept is ignored. This can affect ray tracing
results when tracing rays from faceted reflectors, and a ray strikes within the glue distance of the edge between
two angled facets, see page 376 for a discussion. In most cases, no adjustment should be made to the glue
distance. However, the value may be edited on the Non-Sequential tab of the System, General dialog box.
Nesting object limits
There is a user defined limit on the maximum number of nested objects. This defines an upper limit on how
many objects can be placed inside each other. For example, if the maximum number of nested objects is 3, then
!If a ray strikes more than one object at the exact same point in space; the last object listed in
the NSC Editor determines the properties of the surface or volume at that point.
Nesting surfaces
The nesting rules defined above apply to solid volumes of refractive or reflective material. Some special
surfaces may also be "nested" in the sense that more than one surface may exist at the same point in space. The
rules are similar to those that apply to volumes, but surfaces cannot be refracting.
The same rule applies to surfaces as does for solids: if a ray strikes more than one object at the exact same
point in space; the last object listed in the NSC Editor determines the properties of the surface at that point.
!If a ray strikes more than one object at the exact same point in space; the last object listed in
the NSC Editor determines the properties of the surface at that point.
For surfaces, there are a few rules to consider when more than one surface exists at the ray intercept point:
1) The last surface listed will determine the properties of the surface.
2) If the last surface listed is a mirror, the ray will reflect.
3) If the last surface listed is an absorber, the ray will be absorbed.
4) If the last surface listed is neither a mirror nor an absorber, the ray will ignore the surface.
5) Surface objects may not share boundaries with volume objects unless the surface object is reflective or
absorbing, or unless the volume object is listed after the surface object; in which case the volume defines the
properties of the common boundary.
6) Only standard surface objects may share boundaries, support for nesting of other surface object types may
be added in future versions of the software.
Refraction and reflection from NSC objects
All NSC objects allow specification of a material on the NSC Editor (gradient index media are defined
separately, see Defining GRIN media for non-sequential ray tracing on page 359). The reflective, refractive, and
Polygon Object (surface) Object is ignored. If a face in the POB file is If a face in the POB file is
marked as absorbing, marked as reflective,
then the face remains then the face remains
absorbing. All other faces reflective. All other faces
become reflective. become absorbing.
Reflective objects are usually surfaces rather than volumes. Examples include flat, curved, and faceted
mirrors. Hollow light pipes can also be modeled as a group of flat reflectors. Some reflectors do enclose a volume;
the interior of which no ray will ever see. Examples include rectangular and spherical volumes with all surfaces
set to be reflective. Any volume with a material name of "MIRROR" will be all reflective.
Refractors must always enclose a volume. Volume refractors include lenses, prisms, solid light pipes, and
closed faceted volumes. Absorbers may be surfaces or volumes with the material name set to "ABSORB".
Polygon Objects may be composed of facets, and the individual facets may be refractive, reflective, or absorptive.
Note that STL Objects act just like other volumes, and not like Polygon Objects, because the STL format does
not support individual facets having refractive, reflective, or absorptive properties.
Diffraction from NSC objects
Some NSC objects have one or more diffractive faces; such as the Diffraction Grating, Binary 1, and Binary 2
objects. These objects refract or reflect rays as well as diffract them, according to the grating period or phase and
the diffraction order and wavelength. For any ray, if the diffraction order being traced does not satisfy the grating
equation, then the energy of that ray will refract or reflect along the zero order path.
Ray splitting is supported on diffractive surfaces, but splitting is only allowed by order and not by reflected and
transmitted Fresnel coefficients. For this reason, no "ghost" rays are generated from diffractive surfaces.
All diffractive NSC objects support a parameter to defined the "order" for diffraction from the object. This order
is called the "primary" diffraction order. Sequential rays which enter the non-sequential group through the entry
port will diffract only along the primary order.
Rays which originate from a non-sequential source will diffract only along the primary order if ray splitting is
off. If ray splitting is on, then the diffraction may be optionally controlled by the settings on the "Diffraction" tab of
the Object Properties dialog box. This tab includes optional settings which will split the ray by order; allowing more
than one diffraction order to be simultaneously traced.
For more information on diffraction, see Diffraction tab on page 350.
S
R
I
v v
x
v
0
Lambertian scattering
Lambertian scatter means the scattered intensity probability distribution function goes as cos s . Note
Lambertian scattering is independent of both the ray incident and exiting angle. The scatter vector x is chosen
randomly within a unit circle, and the vector 0 is set to zero length. Most diffuse surfaces are very nearly
Lambertian.
Gaussian scattering
Gaussian scattering is of the form:
2
x
----------
-
2
P ( x ) = Ae
where A is a normalizing constant. A random number is used to generate an appropriate value for x . The
resulting distribution is rotationally symmetric in direction cosine space, no matter what angle the specular ray
makes with respect to the surface normal. The value for is defined on the CSG property dialog box, and
corresponds to the 1 over e (36.79%) probability point in direction cosine space for the scatter vector magnitude.
The value for should be between 1E-15 and 4.0, which correspond to nearly specular and Lambertian limits,
respectively.
ABg model scattering
The ABg scattering model is a very powerful and widely used method for defining the Bidirectional Scattering
Distribution Function, or BSDF. BSDF is defined as the scattered radiance per unit incident irradiance, or
dL s ( s, s )
BSDF ( i, i, s, s ) = ---------------------------
dE i ( i, i )
where is measured from the normal, and is the azimuthal angle, and the subscripts i and s refer to incident
and scattered directions, respectively. Note BSDF has units of inverse steradians.
This representation plots BSDF as a function of 0 , which is x . This quantity is the distance between
the scattered and unscattered ray vectors when projected down to the scattering surface (see the discussion
under "Scattering" above).
This scattering model is generally accepted as a good model to use when the scattering is mainly due to
random isotropic surface roughness, and the scale of the roughness is small compared to wavelength of light
being scattered. These assumptions are generally valid for polished optical surfaces.
The ABg BSDF model
When the BSDF is plotted as a function of x , the resulting data may usually be fit to a function of the form
A
BSDF = -----------------g- .
B+ x
The three parameters of the fit, A, B, and g, give rise to the name ABg BSDF model. For a description, see E.
R. Freniere, G. G. Gregory, and R. C. Chase, "Interactive Software for Optomechanical Modeling," Proc. SPIE
Vol. 3130, p128 (1997). The following restrictions are placed on the coefficients of this model: A must be greater
than or equal to zero, and B must be greater than 1E-12 unless g = 0. If g is zero, B may be zero. If A is zero, no
scattering will occur. If g is zero (note g may be any value, positive or negative, but it typically is between 0 and
3), then the BSDF is constant in direction cosine space:
A
BSDF = ------------- ,
B+1
and the resulting scattering is Lambertian. If A, B, and g are set to provide a relatively flat BSDF curve, it is far
faster numerically to use the Lambertian model instead.
BSDF( x)
3
1 . 10
4 x 0
1 . 10 1 . 10
The ABg BSDF model has several interesting properties (when g is not zero!):
g
When 0 B , the BSDF curve flattens out to a value of A/B as 0 goes to zero.
g
When 0 B , the BSDF becomes a straight line on the log-log plot, with a slope of -g.
The transition point between the flat and sloped parts of the curve occurs at x = t , where
t = exp 10 ------------------ .
log 10B
g
Defining ABg data
It is frequently the case where the same ABg data will be applied to many objects in the optical system (for
example, when several objects are all painted with the same type of paint). To avoid the need to type in the same
data redundantly, and to simplify the task of editing the ABg data, ZEMAX provides an ABg data catalog. The
catalog may be edited directly in ZEMAX; see ABg Scatter Data Catalogs on page 203. Note the ABg data
defined must integrate over all possible scatter angles to a total value of less than 1.0 to conserve energy.
Scattering rays using the ABg model
ZEMAX allows definition of separate ABg data for reflection and refraction. If the specular ray reflects or
refracts, the ray is subsequently scattered using the appropriate coefficients. The ABg data names which appear
in the dialog box control are those defined by the ABg scatter data file. The ABg data file to be used is selected
from the "Files" tab of the General dialog box, see page 91 for details.
ZEMAX first decides whether or not to scatter the ray, as described in the section "Scattering" above. If the
ray scatters, a scattered ray is randomly generated. The ray direction is generated so that if a large number of
rays were scattered, the appropriate BSDF function would result.
User defined scattering
Completely general surface scattering may be defined via an external program called a Dynamic Link Library
(DLL). Sample DLLs are provided with ZEMAX with source code. New DLLs may be easily created with a suitable
compiler. See also Comments about DLLs on page 377.
x
p ( x ) = 1.0 e , where
1
= ----- ,
M
and the symbol M is the mean free path in lens units. Note that as x increases, the probability that the ray has
scattered asymptotically approaches 1.0. Setting this expression to a randomly selected value between 0.0 and
1.0, then solving for x, yields a randomly generated path length with the correct statistics. If this path length is
greater than the distance the ray propagates to the next ray-object intersection, then no scattering occurs;
otherwise, the ray scatters at the specified position along the propagation direction.
Once the position is determined, the scattering is modeled by a new ray direction being chosen. For angle
scattering, a random angle is chosen so that the new ray direction lies uniformly distributed within a cone that
makes an angle with respect to the current ray direction. The semi-angle of the cone is one of the parameters to
the model, and this parameter should be set to between 0.0 and 180 degrees. The latter value will scatter the ray
randomly in any direction. Once the ray scatters, ZEMAX automatically will adjust the polarization vector and
randomize the phase of the scattered ray.
DLL Defined Scattering
If the angle scattering model is not sufficient, more complex bulk scattering functions may be defined via an
external program called a Dynamic Link Library (DLL). Sample DLLs are provided with ZEMAX with source code.
New DLLs may be easily created with a suitable compiler. See also Comments about DLLs on page 377.
Defining an object to use DLL defined bulk scattering
To make an object use a DLL defined bulk scatter function, choose the Bulk Scattering tab from the object
properties dialog box, then select Model: "DLL Defined Scattering". The available DLL functions are then listed
in the "DLL:" control.
DLL parameters
Each DLL may use between zero and 16 user defined data values as parameters in the computation of the
media properties. These values are defined by the DLL and are only used by the DLL.
Creating a new DLL
The DLL must include two functions:
UserBulkDefinition
UserParamNames
While ray tracing through a solid using DLL defined bulk scattering, ZEMAX passes to the UserBulkDefinition
function the current propagation length along the ray, various ray data values, and other parameter data as
defined by the user. UserBulkDefinition then is required to determine if the ray will scatter at some point along the
propagation length. If the ray will scatter, then UserBulkDefinition must determine the following values:
The position at which the ray will scatter
The new direction cosines of the ray
The attenuation of the ray, if any
Optionally the new electric field vector (if this is not provided ZEMAX will make a reasonable guess)
These values are returned to ZEMAX and are used to continue the trace. The function UserParamNames is
used to define the names of all used parameters. These names appear in the Bulk Scatter tab of the object
c
x = ----- ,
f
where x is the coherence length, c is the speed of light in vacuum and f is the range of frequencies emitted
by the source, also called the bandwidth. A more convenient representation is the range of wavelengths emitted
defined in terms of the coherence length:
2
= ------ .
x
Using this expression, it is easy to compute the variation of optical path length (phase) as the ray propagates.
This is modeled in ZEMAX by randomly choosing a wavelength within ( ) 2 for purposes of computing the
optical path and thus the phase. ZEMAX chooses the random wavelength with a uniform distribution. The greater
the path difference between two rays from the same source, the greater the difference in phase between the rays
will be; which means coherent effects such as fringe visibility will be reduced.
ZEMAX actually traces the ray using the central wavelength. The randomized wavelength is only used to
compute the effects of coherence length on the phase. Therefore, only coherent computations will exhibit the
phase degradation. To turn off coherence degradation, either set the coherence length to a very large number or
to zero. To make sources completely incoherent, set the coherence length to a small but non-zero number.
Defining GRIN media for non-sequential ray tracing
Any solid enclosed volume may be made of a homogeneous material (the default assumption) or the media
may be of a gradient index. All gradient index materials used by non-sequential objects are defined in a separate
program called a Dynamic Link Library (DLL). Numerous DLLs are provided with ZEMAX with source code. New
DLLs may be easily created with a suitable compiler. See also Comments about DLLs on page 377.
Defining an object to be of gradient index material
To make an object media by of a gradient index material, choose the GRIN tab from the object properties dialog
box, then select "Use DLL defined GRIN media". The available gradient index materials are then listed in the
"DLL:" control.
Discussion on maximum step size for GRIN objects
The maximum step size determines the tradeoff between ray tracing speed and accuracy. The exact value
required depends upon the rate at which the index of refraction changes and the desired accuracy of the
computations. If the maximum step size is too large, the ray trace results will have large errors, and some rays
will miss objects they would otherwise hit, or vice-a-versa.
GRIN DLL parameters
Each DLL may use between zero and 12 user defined data values as parameters in the computation of the
media properties. These values are defined by the DLL and are only used by the DLL.
Creating a new GRIN DLL
The DLL must include two functions:
UserGrinDefinition
Item Description
Clear Detectors Select either "All" or any one specific detector to clear. This resets all of the detectors
pixels to zero energy.
Trace Begins tracing rays from all defined sources. Once the trace begins, only the Terminate
and Auto Update controls are available. See the discussion below on other effects of
initiating a ray trace.
Terminate Stops ray tracing. This action may require a brief time.
Auto Update If checked, all detectors will be redrawn approximately every 60 seconds, so progress
may be monitored. See Choosing the number of analysis rays on page 365.
# CPU's Selects the number of CPU's over which to spread the ray tracing task. More than 1 may
be selected, even on a single CPU computer, in which case the single CPU will time
share the multiple simultaneous tasks. The default is the number of processors detected
by the operating system.
Use Polarization If checked, polarization will be used to determine ray energy, reflection, transmission,
absorption, and thin film effects. If Split Rays is checked, Use Polarization will be
checked automatically, as it is required for accurate ray splitting.
Split Rays If checked, rays will split according to the interface properties as described in Ray
splitting on page 362.
Scatter Rays If checked, rays will scatter according to the scatter properties of the interface.
Ignore Errors If checked, errors generated by ray tracing are ignored, and any errors that occur will
not terminate the ray trace. This should be turned on with caution, since errors may
indicate a serious flaw in the system being traced. However, some perfectly good
systems occasionally have a few rays fail because of finite computer precision or other
minor problems. If the "lost energy (errors)" given at the end of the ray trace is small
relative to the total power of all sources defined, then the few rays which trigger errors
can be safely ignored. Increasing the number of facets that represent complex objects
may decrease lost ray energy. See Lost energy on page 365.
Save Rays If checked, all rays traced will be saved to the file name specified. The file name only
should be provided, as the path will be the same as the lens file being traced. The
extension should be ZRD. The ZRD extension is used by ZEMAX for listing files in the
data base viewer. Saving rays slows down ray tracing significantly, and should only be
used when the data is needed for subsequent analysis. For more details, see the
discussion below. See also "Filter" below.
Filter This option is only available if "Save Rays" is checked on. If the filter is not left blank,
then the defined filter will be applied to each ray tree traced before it is saved to disk.
Only if the ray tree passes the filter will the ray tree be saved. This may substantially
reduce the amount of data saved, and therefore will reduce the resulting ZRD file size.
For a description of the filter syntax, see The filter string on page 371.
Exit Closes the dialog box.
There are some important considerations to understand when performing a Monte Carlo ray trace. When the
detectors are cleared, all the energy counts in each pixel are reset to zero. Once the Trace button is selected,
ZEMAX will trace exactly the number of specified analysis rays for each source listed in the NSC Editor. Each
source has an associated power in watts or other units (Analysis Units on page 87). The initial intensity of each
ray from a given source is the total power divided by the number of rays to be traced. For example, for a 1 watt
source tracing 1,000,000 rays; each ray initially has 1.0E-06 watts of power associated with it.
If the ray tracing is terminated before all the rays are traced; the total power and peak power as listed on the
detector objects will be inaccurate; although the ray distribution will be accurate for the number of rays traced.
Item Description
File The name of the ZRD file to use. ZEMAX will look in the directory where the current lens
is saved, and list all files with the ZRD extension found there.
Show Unprocessed If checked, the complete data tree for each ray traced will be displayed.
Data
Expand Into If checked, each branch of the tree will be expanded to show a single complete path
Branches from source to ray termination.
XYZ If checked, the global X, Y, and Z coordinate data of the ray segment-object intercept
point will be displayed.
LMN If checked, the global L, M, and N direction cosine data of the segment will be displayed.
Normal If checked, the global Nx, Ny, and Nz object normal vector components at the ray
segment-object intercept point will be displayed.
Path If checked, the path length in lens units from the parent segment is displayed. This is
the physical, not the optical path length. ZEMAX will also show the phase in radians, but
only for segments striking a detector surface.
Exyz If checked, the global electric field in the X, Y, and Z directions will be displayed.
First/Last Ray The first and last number of the rays to display. These controls are very useful for limiting
the length of the displayed data. If the subset data is to be saved in a new ZRD file, only
rays within this range will be included.
Apply Filter If checked, the filter string entered will be used to reduce the amount of data displayed.
The filter string is also used to determine the subset of the segments which are saved
to a new ZRD file. For information on the filter string syntax, see The filter string on
page 371.
Save Subset Data If checked, the data displayed which passes the filter string will be saved in ZRD format
As in the file name specified. The file name should end in the extension ZRD, with no path
provided. The path used will be the same as the current lens file. To prevent accidental
overwrite of the subset data file, this control is automatically "unchecked" after every
save.
Save Rays on If checked, ray segments which hit the specified object number and which pass the
Object "n" As defined filter (if any) will be saved as source rays in a binary source file format of the
specified name. Note the ray position data is saved in global coordinates. This file may
subsequently be used as a source file. For information on the ray source file format, see
Source File on page 340. The file name should end in the extension DAT, with no path
provided. The path used will be the same as for ray source files, typically
ZEMAX\OBJECTS. To prevent accidental overwrite of a previously created data file, this
control is automatically "unchecked" after every save.
Only rays within the range of the first/last ray setting are saved. To save all rays that hit
the specified object from the ZRD file, choose 1 for the first ray and any integer greater
than the number of rays in the ZRD file for the last ray. If the total number of rays exceeds
1000, then printing of the individual ray data in the ray database report will be
suppressed to speed up the process. To see the text listing, choose "Update" again from
the text window menu bar. The second update will show the text data because the "Save
Rays On Object" box is automatically unchecked after every save.
The text display for the ray database viewer can be quite long, so it is best to limit the amount of data displayed
by using the first/last controls and the filter string.
A typical unprocessed ray listing looks like this, with some columns removed for brevity:
Ray 1, Wavelength 1:
Seg# Prnt Levl In Hit XRTS DGEF BZ X Y Z
"Seg#" is the segment #, and is sequential from 0 to the total number of segments the ray generated.
"Prnt" is the parent number, which indicates which prior segment generated that particular segment. For
example, the parent of segment 11 is segment 4, whose parent is 3, whose parent is 1, whose parent is 0.
Segment 0 is the source segment, and the starting coordinates indicate the location of the source point. Any
segment can be traced back to the source in this manner.
"Levl" is how many segments away from the source ray the segment is. For segment 11, there are 4 segments
back to the source (4, 3, 1, and 0).
"In" indicates what object number the segment is traveling through.
"Hit" indicates the object number struck at the end of the segment. The source segment has a hit number of
0, since the XYZ coordinates listed are the starting and not the terminating coordinates of the segment. For all
other segments, the XYZ coordinates and other data are at the segment end on the "hit" object. If the hit object
is 0, the ray missed all objects and is terminated.
"XRTS DGEF BZ" is a quick indicator of what happened to the segment. X means terminated, R reflected, T
transmitted, S scattered, D diffracted, and B bulk scattered. All these values indicate what happened at the end
of the segment, when the segment struck the object "hit". The values G, E, and F indicate the segment was a
ghost, diffracted, or scattered, respectively, from the parent segments "hit" object number, so these events
occurred at the start of the segment. The symbol Z indicates a ray error occurred and the ray was terminated.
Note more than one event may occur for any ray segment.
The other data displayed includes the global XYZ coordinates of the end of the segment, the global normal
vector coordinates of the object struck at the end of the segment, the ray intensity, the object comments, and
possible other data as this feature is expanded.
The Detector Viewer
The Detector Viewer displays data from detectors in either a graphic or text format. For information on tracing
rays to record data on detectors, see Performing a Monte Carlo ray trace on page 363.
DETECTOR VIEWER OPTIONS
Item Description
Surface Selects the NSC surface number. This is always surface 1 when in NSC mode.
Detector Selects the detector object. If the window is a text window, there is also an option to
summarize all detectors.
Show As Choose grey scale or false color display, or cross section plots of rows or columns. Cross
sections are not available in text displays.
Row/Column Selects the row or column to display for cross section plots.
Discussion:
Once ray data has been recorded on the detectors, or from rays stored in a ray database, the Show Data option
determines what aspect of the data is displayed as follows:
Incoherent Irradiance: This is incoherent power per area as a function of spatial position on the detector. The
power of each ray that strikes the same pixel is summed without regard to the phase of the ray. This option
becomes Incoherent Illuminance when using photometric rather than radiometric units.
Coherent Irradiance: This is coherent power per area as a function of spatial position on the detector. The
complex amplitude of each ray that strikes the same pixel is summed, keeping track of the real and imaginary
parts separately considering the phase of each ray. The final amplitude is then squared to yield the coherent
power. This option becomes Coherent Illuminance when using photometric rather than radiometric units.
Coherent Phase: The phase angle of the complex amplitude sum used in Coherent Irradiance.
Radiant Intensity: The power per solid angle in steradians as a function of incident angle upon the detector.
This option becomes Luminous Intensity when using photometric rather than radiometric units.
Radiance (Position Space): The power per area per solid angle in steradians as a function of spatial position
on the detector. Since it is not possible to display the variation in angle space and position space at the same
time, this plot is effectively identical to the Incoherent Irradiance display, with the data values divided by two pi.
Note this scaling assumes the detector is collecting data over a half hemisphere, no matter what angular range
the detector actually collects rays over. This option becomes Luminance when using photometric rather than
radiometric units.
Radiance (Angle Space): The power per area per solid angle in steradians as a function of incident angle upon
the detector. Since it is not possible to display the variation in angle space and position space at the same time,
this plot is similar to the Radiant Intensity display, with the data values divided by the product of the area of the
detector and the cosine of the angle at the center of the pixel. This option becomes Luminance when using
photometric rather than radiometric units.
Incident Flux: For detector volumes, the incident flux is the flux entering each voxel, measured in source units
(watts, lumens, or joules).
Flag Description
Bn Ray bulk scattered inside of object n. If the n value is 0, then bulk scattered segments
from any object will return true for this test.
Dn Ray diffracted after striking object n. See En.
En Diffracted from parent segments object n. This flag only gets set for ray segments split
from diffractive elements, for order numbers other than zero, when ray splitting is on.
Fn Scattered from parent segments object n. This flag only gets set for ray segments split
from scattering surfaces when ray splitting is on. The specular segment does not get
this flag, only scattered segments. If the n value is 0, then scattered segments from any
object will return true for this test.
Gn Ghost reflected from parent segments object n. This flag only gets set for ray segments
reflected from refractive objects when ray splitting is on. If the n value is 0, then ghost
segments from any object will return true for this test.
Hn Ray hit object n. To test whether a ray hit an object, the flag is of the form Hn. For
example, to test if a ray hit object 5, the flag would be H5.
Jn Similar to Gn, except that all segments prior to the ghost reflection point are set to have
zero intensity. This allows Detector Viewers to look only at ghost energy, not direct
incident energy, even if the ray later ghosted off another object. The zero intensity values
will only affect the Detector Viewer, not the ray database viewer or layouts.
Mn Ray missed object n. To test whether a ray missed an object, the flag is of the form Mn.
For example, to test if a ray missed object 15, the flag would be M15.
On Ray originated at source number n. O0 (that is "O" as in Origin and "0" as in zero) will
select all sources.
Rn Ray reflected after striking object n. The flag R7 would test if the ray reflected after
striking object 7. See Gn.
Sn Ray scattered after striking object n. See Fn.
Tn Ray transmitted (refracted) in to or out of object n. The flag T4 would test if the ray
refracted in or out of object 4 after striking the object.
Wn Ray uses wavelength n. If the n value is 0, then rays with any wavelength will return true
for this test.
All flags except the O, G, E, and F flag indicate what happened at the end of the ray segment, at the point
where the segment intercepted the object indicated by the "n" value. The G, E, and F flags indicate that the ray
segments parent struck object "n" and then launched a child ray that was a ghost, diffracted, or scattered
segment, respectively. The O flag indicates the ray originated from source object "n". The W flag indicates the
ray is of wavelength number "n". The flags of the form X_***(n,v) require two numerical arguments within the
parentheses separated by a comma, or a syntax error will be issued.
Each flag is evaluated for each ray traced, and the flag is assigned a status of TRUE or FALSE. The flags may
be used alone, or may be combined using logical operands. Logical operands generally act on two other logical
flags (the exception is the NOT operand which acts only on the flag to the right of the operand). The supported
logical operands are:
&: Logical AND. Both flags on either side of the & symbol must be TRUE for the AND operation to return TRUE.
|: Logical OR. If either of the flags are TRUE, OR returns TRUE.
^ Exclusive OR (XOR). If either of the flags are TRUE, but not both, XOR returns TRUE.
! Logical NOT. Returns TRUE if the flag to the right was FALSE and vice-a -versa.
The parentheses symbols may also be used to set operator precedence.
Filter string examples
To select only rays that hit object 7, the filter string would be:
H7
To select only rays that hit both objects 7 and 9, the filter string would be:
H7 & H9
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 15, the filter string would be:
(H7 & H9 & !R6) | M15
If only ghost rays generated by striking object 3, 4, or 7 are desired, the filter string would be:
G3 | G4 | G7
To select only rays incident at an angle of less than 10 degrees on a flat object number 5 whose normal vector
points along local +z, the filter string would be (note cos(10) = 0.984808):
X_NGT(5, 0.984808)
Note only rays which hit the specified object in the X_NGT flag can possibly make the flag true.
The filter string is checked for basic syntax errors, such as mismatched parentheses, but not all possible syntax
errors are checked and reported.The number of rays which meet the filter string test may be very small, and
perhaps even zero. ZEMAX still traces the number of rays defined for the source (by the # of layout rays
parameter), but only that fraction of these rays which pass the filter will actually be saved, displayed, or drawn.
The filter string may also be applied to ray data base files as the ray data is being saved, see Performing a Monte
Carlo ray trace on page 363.
Defining Polygon Objects
Polygon objects are user-defined objects that are composed of a collection of triangles in 3D space. The
objects are defined in a text file ending in the extension POB (for polygon object).
The file format may be created and edited with any text editor. The file consists of a series of rows of data.
Each row begins with a single letter or symbol, followed by data for that symbol. The supported symbols and their
meanings are defined as follows.
Solve type First parameter Second parameter Third parameter Code Integer
Curvature: Fixed 0
Curvature: Variable V 1
Curvature: Aplanatic A 7
Thickness: Fixed 0
Thickness: Variable V 1
Semi-Diameter: Automatic 0
Semi-Diameter: Fixed U 1
Semi-Diameter: Maximum M 3
Conic: Fixed 0
Conic: Variable V 1
Parameter: Fixed 0
Parameter: Variable V 1
t2
= c 1 ( n 2 n 1 ) + c 2 ( n 3 n 2 ) c 1 ( n 2 n 1 ) c 2 ( n3 n 2 ) ----- .
n2
This solve adjusts the value of c2, to maintain the specified element power. The solve is assumed to be on the
second of two adjacent surfaces. This solve is ignored if the surface number is less than 2, or if n3 and n2 are
identical at the primary wavelength.
Curvature: Concentric with surface
This solve will force the curvature of the surface such that the surface is concentric about the specified surface.
The specified surface must precede the surface on which the solve is placed. The letter "S" will appear in the cell
to indicate that the surface concentric solve is active on that surface.
Curvature: Concentric with radius
This solve will force the curvature of the surface such that the surface is concentric about the same point that
the specified surface is concentric to. The specified surface must precede the surface on which the solve is
placed. The letter "R" will appear in the cell to indicate that the radius concentric solve is active on that surface.
Curvature: F number
This solve will force the curvature of the surface such that the marginal ray angle exiting the surface is -1/2F
where F is the paraxial F/#. The letter "F" will appear in the cell to indicate that the F/# solve is active on that
surface.
Thickness: Marginal ray height
The most common thickness solve is the marginal ray height solve, which can be used to constrain the image
plane to the paraxial focus. To move the image plane to the paraxial focus, double click on the thickness of the
last surface before the image surface, and select "Marginal Ray Height" from the drop-down list which appears.
Since the marginal ray has a height of zero (it crosses the axis) at the paraxial image plane (assuming a
rotationally symmetric system), we would like to set this last thickness to bring the image surface to the point
where the marginal ray height is zero. The default height value is zero, which is desired, and so click on OK to
exit the screen, and the solve immediately adjusts the thickness appropriately.
In principle, the solve could have been set for some other marginal ray height by entering a value other than
zero for height, the first optional parameter. Note that any surface can have a marginal ray height solve, not just
the thickness before the image plane. The "Height" is the height of the marginal ray on the tangent plane of the
T' = O + S T
where T is the thickness of the surface to pick up from, S is the scale factor, and O is the offset. See the
"Curvature: Pick up" section for more information on pickup solves.
Thickness: Optical path difference
This solve will actively adjust the thickness to maintain a specific optical path difference at a specific pupil
coordinate. The OPD is measured at the exit pupil, not at the surface the solve is placed on. The two parameters
to be set are the OPD in primary waves, and the pupil zone at which to evaluate the OPD. For example, to maintain
the focal position so that the real marginal ray has the same optical path length as the real chief ray, define an
OPD solve on the last thickness before the image plane. Set the OPD parameter to zero, and the pupil zone to
1.0. The letter "O" will appear to indicate the OPD solve is active. Perform an OPD plot and verify that the OPD
is in fact zero at the pupil edge. Only the primary wavelength is used, and only the on-axis field is considered.
More complicated OPD constraints are available by using optimization, described in a separate chapter. The letter
"O" will appear in the thickness cell to indicate that an OPD solve is active on that surface.
Thickness: Position
The position solve maintains the distance from a specified reference surface. If the reference surface precedes
the surface on which the solve is placed, then the sum of the thicknesses from the reference surface to the surface
following the solve surface will be maintained at the specified value. If the reference surface follows the surface
on which the solve is placed, then the sum of the thicknesses from the solve surface to the reference surface will
be maintained at the specified value. If the reference surface is the same as the solve surface, then the thickness
of the solve surface will be set at the solve length value.
The position length solve is particularly useful for maintaining the length of a portion of a zoom lens to a fixed
value. The solve can also be used to meet a total lens length constraint. In either case, the solve may eliminate
optimization variables and operands, enhancing optimization convergence and speed. The letter "T" will appear
in the thickness cell to indicate that a total length solve is active on that surface.
Thickness: Compensator
The thickness compensator solve is very similar to the position solve. This solve maintains the thickness on a
surface so that the sum of the surface thickness and the thickness on another "reference" surface equals a
n = n base + n ( N d + N d, V d + V d, P d ) n ( N d, V d, P d )
where the function n() is the model glass function. Note this model will add a different index offset to the index
at each wavelength. If the wavelength band criteria listed above is not met, then the index offset is added to all
the base index values:
n = n base + N d
P' = O + S P
where P is the parameter value of the surface to pick up from, S is the scale factor, and O is the offset. See
the "Curvature: Pick up" section for more information on pickup solves.
Parameter: Chief ray
The chief ray solve works only on coordinate break surfaces, and only on the first four parameters. When
placed on a decenter x or y parameter, the solve will set the decenter to place the selected wavelength (use zero
for primary wavelength) real chief ray from the selected field position at an x or y coordinate of zero on the
coordinate break surface, respectively. If set on the tilt x and tilt y parameters, the tilt angles are adjusted to make
the exiting chief ray angle zero in the y and x directions, respectively. The order flag on the coordinate break
surface will determine the order in which the parameters are fit, and the solution may not be unique. The output
chief ray coordinates can be checked on the Analysis, Calculations, Ray Trace feature; and it is a good idea to
verify the solve works correctly. This solve is not allowed when the stop surface follows the surface the solve is
placed on and ray aiming (see Ray Aiming on page 88) is on.
There are times when the resulting values will yield an output chief ray angle or coordinate that is small, but
not zero. This is caused by the non-orthogonal rotations not always being able to completely "undo" an arbitrary
rotation in a single set of matrix rotations. There are two solutions to this problem:
1) Try changing the "order" flag from 1 to 0 or 0 to 1, then update the system, to see which set of coordinate
transforms works better.
2) Use two adjacent coordinate break surfaces with identical chief ray solves. This is easy to do by copying
and pasting the entire coordinate break surface. The second coordinate break will usually bring the chief ray
many orders of magnitude closer to the desired zero coordinates or angles.
Suggestions for use
There is a hierarchy by which solves are computed. The solves are computed sequentially from the first surface
to the image surface, in this order: curvature, thickness, glass, semi-diameter, conic, and then parameters.
Because curvature and thickness solves can affect the entrance pupil position, ZEMAX does not allow solves
which rely upon ray tracing, such as marginal ray height solves, to be placed before the stop surface. This will
avoid ambiguous or incorrect settings for the solved parameters. There is no way to predict the results of solves
placed before the stop. A similar problem arises when a marginal ray solve is used on the last surface to control
the focal length - the aperture definition must be entrance pupil diameter (rather than F/#) to keep the solution
unique.
Solves are highly efficient, and should be used when possible instead of variables during optimization. For
example, it is usually better to place a curvature solve on the last surface to control effective focal length than to
optimize for focal length explicitly.
Introduction
The optimization feature provided by ZEMAX is quite powerful, and is capable of improving lens designs given
a reasonable starting point and a set of variable parameters. Variables can be curvatures, thicknesses, glasses,
conics, parameter data, extra data, and any of the numeric multi-configuration data. ZEMAX uses an actively
damped least squares method. The algorithm is capable of optimizing a merit function composed of weighted
target values; these target values are called "operands". ZEMAX has several different default merit functions,
described in a subsequent section. These merit functions can be changed easily using the Merit Function Editor.
For details on this procedure see the section "Modifying the merit function".
Optimization requires three steps: 1) a reasonable system which can be traced, 2) specification of the
variables, and 3) specification of the merit function. A reasonable system is a rather loose concept which means
that poorly conceived designs are not likely to be transformed into exceptional designs by the optimization
algorithm (although there are exceptions). The variables, and there must be at least one for the optimization
algorithm to be able to make any progress, are specified on the various editors, as described in the next section.
To reach the optimization screen, select Tools, Optimization. You must specify all variables before using
optimization.
The algorithm used by the optimization feature described in this chapter is designed to find the "local" minimum
of the specified merit function. However, ZEMAX also has the capability to search for a "global" minimum of the
merit function. The global minimum is the lowest possible value for the merit function, and if the merit function is
selected appropriately, this implies the best possible solution to the problem. The global optimization feature is
not for novice users, and is not appropriate for interactive designing. For details see the chapter "Global
Optimization".
Selecting variables
Variables for optimization are specified by pressing Ctrl-Z when the highlighted bar is on the parameter to be
varied in the Lens Data Editor. Note that Ctrl-Z is a toggle. The Multi-Configuration and Extra Data Editors also
contain numeric data that may be made variable by using Ctrl-Z. Glasses cannot be made variable directly
because they are discrete. To optimize glasses, see Optimizing glass selection on page 424.
Defining the default merit function
The merit function is a numerical representation of how closely an optical system meets a specified set of
goals. ZEMAX uses a list of operands which individually represent different constraints or goals for the system.
Operands represent goals such as image quality, focal length, magnification, and many others.
The merit function is proportional to the square root of the weighted sum of the squares of the difference
between the actual and target value of each operand in the list. The merit function is defined this way so a value
of zero is ideal. The optimization algorithm will attempt to make the value of this function as small as possible,
and so the merit function should be a representation of what you want the system to achieve. You do not have to
use the default merit function, you may construct your own as described in a later section.
The easiest way to define a merit function is to select the Tools, Default Merit Function option on the Merit
Function Editor menu bar. A dialog box will appear which allows selection of options for the default merit function.
Each option is explained in the following paragraphs.
Selecting the type of optimization
Several different types of merit functions are available. The default merit function is constructed using four key
choices: The optimization type, data type, reference point, and integration method. The choices are described in
the following tables.
Name Description
RMS RMS is an abbreviation for Root-Mean-Square. This type is by far the most
commonly used. The RMS is the square root of the average value of the squares
of all the individual errors.
PTV PTV is an abbreviation for Peak-To-Valley. There are rare cases where the RMS
is not as important as the maximum extent of the aberrations. For example, if all
the rays need to land within a circular region on a detector or fiber. In these cases,
the Peak-To-Valley (PTV) may be a better indicator of performance. This merit
function type attempts to minimize the PTV extent of the errors.
Name Description
Wavefront Wavefront is the aberration measured in waves. See Comments about RMS
wavefront computations on page 133.
Spot Radius The radial extent of the transverse ray aberrations in the image plane.
Spot X The x extent of the transverse ray aberrations in the image plane.
Spot Y The y extent of the transverse ray aberrations in the image plane.
Spot X and Y Both the x and y extent of the transverse ray aberrations in the image plane. The
x and y components are considered separately, and both are optimized together.
This is similar to Spot Radius, except the signs of the aberrations are retained,
which yields better derivatives. Note that in computing the radius of an aberration,
the sign information is lost.
Name Description
Centroid The RMS or PTV computation of the data is referenced to the centroid of all the
data coming from that field point. Centroid reference is generally preferred,
especially for wavefront optimization. For wavefront optimization, reference to
the centroid subtracts out piston, x-tilt, and y-tilt of the wavefront, none of which
degrade image quality. Centroid reference also yields more meaningful results
when coma is present, since coma shifts the image centroid away from the chief
ray location. Historically, the chief ray has been used because it is simpler to
compute, but this complexity is dealt with by ZEMAX with virtually no performance
loss.
Chief The RMS or PTV computation of the "data" is referenced to the chief ray at the
primary wavelength.
Mean This option is only available if the selected optimization data is wavefront. The
mean reference is very similar to the centroid reference, except only the piston
(mean wavefront) is subtracted out; not the x- or y-tilt. Since the exact point at
which the OPD is defined to be zero is arbitrary; referencing to the mean is
generally preferred to the chief ray reference for those cases where the centroid
is not preferred.
!Selecting more rings or arms than required will not improve the optimization performance, it
will only slow the algorithm down needlessly.
Grid
The "Grid" is only used by the RA algorithm, and the value determines the number of rays to be used. The grid
size can be 4x4 (16 rays per field per wavelength), 6x6 (36 rays per field per wavelength) etc. Rays on the grid
are automatically omitted if they fall outside the entrance pupil, so the actual number of rays used will be lower
than the grid size squared. Selecting a larger grid size generally yields more accurate results at the expense of
slower execution. However, there may be an advantage in choosing a large grid density, and then selecting the
"Delete Vignetted" checkbox (described in the next paragraph). The reason is that a large grid density will fill the
pupil with rays, and then the operands which are vignetted will be deleted. The result is a reasonable number of
rays which accurately reflect the aperture of the system.
Delete Vignetted
The "Delete Vignetted" checkbox option is only used by the RA algorithm. If selected, then each ray in the
merit function will be traced through the system, and if it is vignetted by a surface aperture, if it misses any surface,
or if it is total internal reflected at any surface, the ray is deleted from the merit function. This keeps the total
number of rays in the merit function to a minimum. The disadvantage is that if the vignetting changes as the design
is optimized, then the merit function may have to be regenerated. It is always a better choice to use the vignetting
factors and then use the GQ algorithm than to delete vignetted rays if possible. Vignetting factors can be adjusted,
if required, during optimization using SVIG in the merit function.
Note that ZEMAX will attempt to trace any ray defined in the merit function regardless if that ray is vignetted
or not. For example, if the chief ray height is targeted using REAY, and there is a central obscuration that vignettes
the chief ray, ZEMAX will still trace the ray and use the operand results as long as the ray can be traced. ZEMAX
does not check to see if defined rays are vignetted, because this introduces substantial overhead during
optimization.
In general, avoid vignetting of rays by surface apertures, and use vignetting factors to shape the beam size
when possible. To optimize on the fraction of unvignetted rays, a macro must be defined to perform the required
computations. However, this method is very prone to stagnation during optimization because small changes in
lens parameters lead to discrete changes in the merit function as rays abruptly jump from being vignetted to not
being vignetted.
Setting thickness boundary values
Boundary constraints may be automatically generated and included in the default merit function by checking
the air and/or glass boundary values on. If selected, then MNCG, MXCG, and MNEG operands will be added to
the merit function to constrain the minimum center thickness, maximum center thickness, and minimum edge
thickness for glass surfaces, respectively. MNCA, MXCA, and MNEA operands will be added to the merit function
to constrain the minimum center thickness, maximum center thickness, and minimum edge thickness for air
spaces, respectively.
2
2
Wi ( Vi Ti )
MF = ------------------------------------- ,
Wi
where W is the absolute value of the weight of the operand, V is the current value, T is the target value, and
the subscript i indicates the operand number (row number in the spreadsheet). The sum index "i" is normally over
all operands in the merit function, however the merit function listing feature (see Merit Function Listing on
page 195) sums the user defined and default operands separately.
Optimization operands
The following tables describe the available operands. The first table is a "quick reference" guide which
categorizes the operands by general subject. The second table provides a detailed description of each operand
(listed alphabetically) and states which operands use which data fields. Note in particular that some of the
operands (such as SUMM) use the Int1 and Int2 values to indicate something other than surface and wavelength.
If an operand does not use a data field, a "-" is shown.
OPTIMIZATION OPERANDS BY CATEGORY
First-order optical properties AMAG, ENPP, EFFL, EFLX, EFLY, EPDI, EXPP, ISFN, LINV, OBSN,
PIMH, PMAG, POWR, SFNO, TFNO, WFNO
Aberrations ANAR, ASTI, AXCL, BIOC, BIOD, BSER, COMA, DIMX, DISC, DISG,
DIST, FCGS, FCGT, FCUR, LACL, LONA, OPDC, OPDM, OPDX,
OSCD, PETC, PETZ, RSCE, RSCH, RSRE, RSRH, RWCE, RWCH,
RWRE, RWRH, SPCH, SPHA, TRAC, TRAD, TRAE, TRAI, TRAR,
TRAX, TRAY, TRCX, TRCY, ZERN
MTF data GMTA, GMTS, GMTT
MSWA, MSWS, MSWT
MTFA, MTFS, MTFT
Encircled energy DENC, DENF, GENC, GENF, XENC, XENF
The operational operands (SUMM, OSUM, DIFF, PROD, DIVI, SQRT) along with the parametric operands
(CVGT, CVLT, CTGT, CTLT, etc..) can be used to define very general and complex optimization operands, as
discussed in the section Defining complex operands on page 423.
Because of the dimensional differences between parameters such as effective focal length (tens of millimeters
or more) and RMS spot radius (micrometers), usually a weighting of one is sufficient for quantities measured in
lens units. However, the residual value of the effective focal length with this weighting is not likely to be zero.
Increasing the weighting will bring the resulting system closer to the desired effective focal length. This effect is
often noticeable when defining ETGT (edge thickness greater than) operands. Usually ETGT with a target of zero
will often yield a value just slightly less than zero. Rather than increase the weight, it is much simpler to provide
a target value of 0.1, or some such number.
After making changes to the operand list, the current values of each operand can be updated by selecting
Tools, Update. This is also useful for checking to see what the current values of each operand are, and which has
the greatest contribution to the merit function. The percent contribution is defined as
2
Wi ( Vi Ti )
% contrib i = 100 ------------------------------------- .
Wj ( Vj Tj )
2
Item Description
Automatic Executes until ZEMAX determines the system is no longer improving significantly.
1 Cycle Executes a single optimization cycle.
5 Cycles Executes 5 optimization cycles.
10 Cycles Executes 10 optimization cycles.
50 Cycles Executes 50 optimization cycles.
Inf. Cycles Executes optimization cycles in an infinite, continuous loop until "Terminate" is pressed.
Terminate Terminates a running optimization, and returns control back to the dialog box.
Exit Closes the optimization dialog box.
Selecting automatic will cause the optimizer to run until no progress is being made. The other options will run
the specified number of cycles. Automatic mode is highly recommended. The time required to run a given
optimization cycle varies enormously with the number of variables, the complexity of the system, the number of
solves, the number of operands, and of course the computer speed. If the cycle is taking too long, or if it appears
to be hung up, or if you feel the design is not progressing adequately, click on Terminate to end the optimization
run.
When the optimization begins, ZEMAX first updates the system merit function. If any of the operands cannot
be computed, the optimization cannot begin, and an error message will be displayed. Operands cannot be
computed if they require the tracing of rays which miss surfaces or which undergo total internal reflection (TIR)
at an index boundary. If such an error message appears, usually the starting lens prescription is in error, or the
ray targets are incorrectly defined (this will not happen with the default merit functions, but might happen with
user defined rays). ZEMAX can automatically recover if the merit function cannot be evaluated during the course
of optimization; only the starting system need be adequate to compute all operands in the merit function.
Defining complex operands
Although the default merit function, coupled with a few predefined operands, is perfectly suitable for the
majority of optical designs, there are times when an unusual constraint needs to be added to the merit function.
Rather than define a very large number of very specific operands, ZEMAX allows you to build your own operands
out of simple building blocks.
ZEMAX allows very general operand definitions. There are two tricks to creating these operands. First, use
certain operands with zero-weighting to define the parameters you need, and second, use the operational
operands to define relationships between them. For example, suppose you require that the thickness of surface
3 and the thickness of surface 4 sum to 10. There is an operand that does this, TTHI. The command structure
would look like this:
However, for illustration only, note that there is an alternate way of calculating the same thing:
Operand 1 uses the Center Thickness VAlue (CTVA) command to extract the value of the thickness of surface
3. Similarly, operand 2 is used to extract the thickness of surface 4. The zero weighting on both operands means
the optimization algorithm ignores the constraint; it is only used as an intermediate step. Operand 3 now sums
two operands: number 1 and number 2. The result is the sum of the thicknesses of surfaces 3 and 4 is the value
of operand 3, and this has a non-zero weight. The optimization algorithm will attempt to drive the sum to 10.
Why go to all the trouble of this three-step process if a single TTHI command would do the same thing? The
reason is that this approach can be extended to develop very general operands. For example, suppose you
The CVVA command extracts the curvature of surface 5, the curvature we want to control. TTHI 5 7 calculates
the distance from surface 5 to surface 8 (note we only sum to surface 7 to get to surface 8, since the thickness
of surface 8 gives the distance to surface 9). Since the curvature of the surface is the reciprocal of the radius, the
product of the curvature and the distance must be one; hence the target is 1 for operand 3. Operand 3 is also the
only weighted operand in the sequence.
Now consider the requirement that the thickness of surface 5 must be greater than twice the radius of curvature
of surface 4 plus the conic constant of surface 2 (this is nonsensical, but illustrative of the flexibility in the
approach):
Operand 1 extracts the (center) thickness of surface 5. Operand 2 extracts the value of the curvature of surface
4. Operand 3 sets a constant of two, and operand 4 divides the value 2 by the curvature (yielding twice the radius
of curvature). COVA extracts the conic, and SUMM ads operands 2 and 4. Operand 7 takes the difference of the
thickness and twice the radius plus the conic. Since we want the former to exceed the latter, we set an operand
greater than constraint; the only one to have a non-zero weighting.
Optimizing glass selection
Optimization of glasses is handled somewhat differently than other data. Optimizing the glass choice directly
is a difficult and unpredictable process because there does not exist a continuum of glasses on the glass map.
There are two methods for dealing with this problem: by using model glasses or by using glass substitution. Glass
substitution is usually far superior, but is only supported in the EE edition of ZEMAX.
Using model glasses
The model glass method is to idealize the glass dispersion using a few numerical parameters, and then
optimize these parameters while constraining either the parameter values or the computed index values to be
similar to available glasses. This is the "model" glass method. Model glasses are described in detail in the chapter
"Using Glass Catalogs". One disadvantage of the model glass method is that the optimized parameters and
resulting index values may not correspond to any physically existing glass. Another disadvantage is that model
glasses are only sufficiently accurate in the visible spectrum. This method is used by the conventional optimizer
described in this chapter.
1---
2 2 2 2
d = [ W n ( Nd 1 Nd 2 ) + W a ( Vd 1 Vd 2 ) + W p ( P g, F1 P g, F2 ) ] ,
where the factors Wn, Wa, and Wp weight the various terms. The weighting factors may be user defined on
the RGLA operand parameter list, or if left at zero, will default to 1.0, 1E-04, and 1E+02, respectively.
The best way to use RGLA is to specify the surface range that covers all of the surfaces you are optimizing.
For a target value, start off with 0.05. This will allow the glasses to easily move all over the glass map, since the
spacing between various glasses is usually less than 0.05. After optimization, decrease the target to roughly 0.02
and reoptimize. This will encourage the optimized system to choose index and Abbe numbers reasonably near
actual glasses.
The other method for constraining index and Abbe values is to use the MNIN, MXIN, MNAB, and MXAB
controls. These operands are mnemonics for Minimum and Maximum Index and Abbe values, and they are
documented in the preceding tables. These operands can be used to restrict the optimization to specific
rectangles on the glass map. It may be useful to use RGLA along with MXIN, for example, to restrict the glass
selection to existing glasses with an index lower than some value.
At some point you will want to convert your variable index data back to a real glass. To convert from a model
glass to the closest real glass, remove the model glass status using Ctlrl-Z, or choose the glass solve type as
"Fixed". There will usually not be a perfect match between the optimized Nd and Abbe values and those of an
actual glass in the current catalog. However, ZEMAX will search through the catalog and find the "best fit" glass
using a least-squares criterion similar to the RGLA definition above (the partial dispersion term is omitted). If a
glass substitution template is being used, then the template will also be considered, and only glasses meeting
the template specifications will be considered. For information on templates, see Glass Substitution Template
on page 195. The glass in the catalog which differs the least from the variable index parameters is the glass
selected. This glass is also reported on the "Surface Data Summary" feature (select Reports, Surface Data). The
index of refraction data shown is that calculated from the Nd and Abbe values, not the best fit glass. After
n - n n n
------------ > 0 and ------------- > 0, or ------------- < 0 and ------------- < 0 .
z min z max z min z max
Z min and Z max are the Z coordinates of the minimum and maximum axial positions of the blank used to make
the lens, before the shaping begins. For a convex surface, they correspond to the vertex. For a concave surface,
they correspond to the maximum sag at that surface. If the residual value of the operand is less than zero, then
the target may be decreased slightly (try 0.1). Changing the target is usually more effective than increasing the
weight. The value of the LPTD operand must be zero for the blank to be fabricated. Always check the gradient
profile to make sure the slope does not change sign.
User defined operands
There are times when very complex calculations need to be performed, and the results of the computation
need to be optimized. ZEMAX supports some of these calculations already, such as the MTFA operand which
traces many rays, computes the MTF, and then returns a single resulting number to the Merit Function Editor
"value" column. Some limited calculations can be performed within the merit function itself; see for example the
discussion in the section Defining complex operands on page 423.
However, there are problems for which only the flexibility of a user defined program is sufficient for defining
the data computed by an operand. There are two ways of achieving this:
1) Through the use of a ZPL macro
2) Through the use of an externally defined and compiled program
The use of ZPL macros is simpler, well integrated with ZEMAX, and requires very little programming
experience. However, it is limited by the capabilities of the ZPL macro language, and ZPL macros are interpreted,
which means slow execution for complex calculations. ZPL macro optimization is generally a better choice for
simpler macros that execute fairly quickly.
Externally defined programs are more complex to program, require an external C or other language compiler,
and at least some programming experience. However, externally defined programs can be vastly more complex
than what is supported by the ZPL macro language, and since external programs are compiled, they run
significantly faster. The speed difference can be dramatic, and generally more complex calculations will benefit
more from being externally compiled. Indeed, externally defined operand programs may be very complex, tracing
millions of rays or doing other lengthy calculations before returning control to ZEMAX. Note this interface can be
used to optimize lenses based upon data computed by other analysis programs.
Both the ZPL and the externally compiled methods of implementing UDO's are described in detail below.
Optimizing with ZPL macros
If the ZPL macro language (see ZEMAX PROGRAMMING LANGUAGE on page 535) is sufficient to perform
the required computations, then the operand ZPLM may be used to call a ZPL macro from within the merit
function. The macro performs the required computations, then returns the result using the ZPL OPTRETURN
keyword.
!There is a limitation of 255 characters in any DDE item name; and so SetUDOData is limited
to passing back a small number of values. To work around this limitation, use SetUDOItem,
described in the chapter "ZEMAX Extensions".
There are 51 different data fields, so that a single client program call can be used to optimize up to 51 different
values simultaneously. The data field number indicates which of the returned values should be placed in the
"value" column for that UDOP operand.
UDOP also permits the use of the Hx, Hy, Px, and Py data fields. These data fields can be read by the client
program, because they are passed on the command line after the buffercode.
There is one very important thing to know about the data field number. If it is zero, then the client program is
executed and the value from data position 0 is placed in the value column. However, if the data field number is
not zero, then the client program is not executed, but any previous value stored from an earlier call to the client
program is used instead. The advantage to this convention is substantial. If the client program computes many
values, all of which need to be optimized, the client program only needs to be called once, yet multiple UDOP
operands can access the data. This is much more efficient than calling the client program multiple times.
For example, suppose a client program named UDO25.EXE computes three values, all of which require
optimization. In the client program, the values are passes back using "SetUDOData,buffercode,x,y,z". Then three
Introduction
!The material presented in this chapter critically depends upon the user having read and
understood the material presented in the previous chapter on "Optimization".
The conventional means of optimizing lenses has for decades been the use of the damped least squares
algorithm (DLS). DLS has many attractive features; it is efficient, and it is very good at finding the "local" minimum
of the merit function. In this context, the word local means the lowest value of the merit function that can be
reached from the current position in solution space without ever increasing the merit function (this is something
of an idealization, in reality DLS can hop over small regions of increased merit function).
To visualize this problem, imagine you are on a hike, and are trying to find the bottom of a valley from a starting
point on the side of a hill. You would like to find the lowest point in the valley. Suppose you cannot see the valley;
it is very foggy and all you can see is the terrain very close to where you now stand. You can determine which
way is downhill, and proceed in that direction until the slope becomes uphill again; at which point you find a new
downhill direction. You might repeat this procedure over and over until a point is reached where all directions are
uphill. This lowest point is then a local minimum, and the bottom of at least this valley.
The problem with this method is that once you have arrived at the local minimum, there is no known way (for
the general optimization problem) to determine if there is not a better, lower minimum somewhere else. For
example, if you were to walk uphill in any direction from this point until you reached a local peak, and then were
to proceed onward downhill into the next valley, you will eventually reach a new local minimum. Is this new
minimum lower or higher than the previous valley? The only way to find out is to take the hike!
You might ask, since computers are so fast, why not just try out every possible configuration to see which is
best? To get a feel for the scope of the problem, consider a cemented doublet lens with six degrees of freedom
(degrees of freedom manifest themselves as variables for optimization). If you assume that each variable can
take on 100 possible values (a coarse sampling), then there are 1E+12 different possible systems. If each system
evaluation requires the tracing of 20 rays (a low estimate) and you can trace 1,000,000 rays per surface per
second, then the time required is about 8E+07 seconds, or about 2.5 years. For a four-element lens (16 variables)
evaluated at three fields and three wavelengths, using 100 rays for evaluation would require 1E+32 system
evaluations or many billions of times the age of the universe.
There are approaches to the global optimization problem that (thankfully) do not require unreasonable
computational effort. These algorithms include simulated annealing, multistart, expert systems, neural networks,
and others. All of these algorithms have strengths and weaknesses which are beyond the scope of this chapter.
Capabilities of ZEMAX
There are two separate global optimization algorithms in ZEMAX, each with a different purpose. The first
algorithm you are likely to use is called "Global Search", and it is used to find new design forms given only the
merit function and a starting design. Global search uses a combination of genetic algorithms, multistart,
conventional damped least squares, and some expert system heuristics to search for new design forms. The
Global Search algorithm is very good at finding promising design forms, however, it does not usually produce
"finished" designs. The second algorithm is used for this purpose.
The second algorithm is called "Hammer" optimization (lens designers often talk about hammering on a design
to squeeze out the last bit of performance). The Hammer algorithm is used for exhaustively searching for the
optimum solution once a reasonably good starting point is found, presumably by prior experience or the Global
Search algorithm. The Hammer algorithm only requires a partially optimized lens and merit function in the form
of a ZMX file.
Although the global optimization algorithms are extremely useful, it is important to realize that there is no
guarantee that the true global optimum will always, or even occasionally be found. Of course, there is no way to
even determine if any solution is the global optimum, even if it is the best you have ever found (remember the
universe-lifetimes scale of the problem).
Both the Global Search and Hammer algorithms require extensive computational effort to be effective. These
algorithms are not intended to be used interactively! (that is what DLS optimization is for). If you set up global
optimization, and watch while the computer works, you are bound to be disappointed. Global optimization is highly
effective when you set the problem up and let the computer run for many hours, or even several days, but not for
ten minutes. The ideal situation is to set up the problem before stopping work for the night, and let Global Search
(or Hammer, depending upon your requirements) work overnight. In the morning, you should have useful results
to look at.
The Global Search algorithm
Before you begin the Global Search, you must come up with a very rough starting point. "Very rough" means
the design has the correct number of surfaces, a defined stop surface, and initial glasses selected. The fields and
wavelengths must be defined. You also need to define a merit function; see OPTIMIZATION on page 385 for
details on this procedure. The very rough design can be parallel plates of glass with a curvature solve on the last
surface to control the focal length. If a solve is not used to control the focal length, then the system should have
at least the approximate focal length desired. Also, the variable parameters must all be defined. The lens must
be saved before initiating Global Search. ZEMAX uses the starting focal length as a scaling parameter, so the
initial design should have at least the approximately correct focal length!
From the main screen, select Tools, Global Search. There are four buttons on the dialog box labeled: Start,
Stop, Resume, and Exit. There is also an option to select the number of "best" files to save. Select Start. ZEMAX
copies the initial file into new ZEMAX format files called GLOPT_001.ZMX through GLOPT_nnn.ZMX where nnn
is the maximum number of files to save. ZEMAX will then begin looking at various combinations of lens
parameters extracted from the ranges you have defined. The optimization will proceed on a newly generated lens
until ZEMAX concludes the new lens has been sufficiently optimized.
As each new lens is generated, ZEMAX will compare the merit function of the new lens to the best lenses
found so far, and will place it in the correct location in the best lenses list, renaming other lens files as required.
If the lens has a higher merit function than all of the lenses on the best list, then it is discarded. The cycle repeats
indefinitely. Each time a new lens is found which is better than the worst in the list of best lenses, it is placed in
the correct place in the list. After hundreds of lenses have been replaced (which may require many tens of
thousands of lenses to be evaluated) the resulting set will hopefully contain some very good designs, or at least
some promising forms. The global search dialog box will also display the merit functions of the ten best lenses
found so far. If the number of lenses to save is greater than ten, these files are stored on disk, but the merit
functions are not displayed.
The algorithm also periodically returns to lenses in the best list to see if they can be improved upon.
Occasionally some lenses will be improved and placed back in the list. If this happens, the older design being
replaced is rejected if it has the same basic form as the new lens. This is done to keep some diversity in the best
list, otherwise all the lenses will be of nearly identical form.
To terminate the search, select Stop. Depending upon what the algorithm is doing, it may exit immediately, or
it may require several seconds. Once the algorithm has terminated, you can click on Exit. You can now open any
of the GLOPT_xxx.ZMX files for further analysis.
The Resume button is very similar to the Start button, however, Resume will first load the existing GLOPT_xxx
files and place their current merit functions in the best list. Thus, Resume begins the search from where a previous
run ended. Resume does not erase the existing best files, whereas Start erases the files and begins the search
anew entirely based upon the lens currently in the Lens Data Editor. If Resume is selected when a completely
unrelated file is in the Lens Data Editor, ZEMAX will attempt to optimize the lens using the current data in the
Lens Data and Merit Function Editors, but will use the old GLOPT files respective merit functions for comparison
purposes.
Global search will rarely find the global optimum by itself. The reason is that the Global Search concentrates
the effort on finding new, promising design forms rather than converging exactly on the best possible solution for
each form. This latter job is left to a separate algorithm, called "Hammer Optimization", described in the following
section.
Introduction
ZEMAX provides a flexible and powerful tolerance development and sensitivity analysis capability. The
tolerances available for analysis include variations in construction parameters such as curvature, thickness,
position, index of refraction, Abbe number, aspheric constants, and much more. ZEMAX also supports analysis
of decentration of surfaces and lens groups, tilts of surfaces or lens groups about any arbitrary point, irregularity
of surface shape, and variations in the values of any of the parameter or extra data. Since the parameter and
extra data terms may describe aspheric coefficients, gradient index coefficients, and more, any of these values
may also be made part of the tolerance analysis. The various tolerances may be used in any combination to
estimate alignment and fabrication error effects on system performance.
!ZEMAX always uses exact ray tracing for tolerance analysis; there are no approximations or
extrapolations of first order results in the ZEMAX tolerance algorithms.
Tolerances are defined using operands, such as TRAD, which defines a tolerance on a radius. The tolerance
operands are automatically saved with the lens file. Tolerance operands are edited on the Tolerance Data Editor
available from the Editors group on the main menu bar.
Tolerances may be evaluated by several different criteria, including RMS spot radius, RMS wavefront error,
MTF response, boresight error, user defined merit function, or a script which defines a complex alignment and
evaluation procedure. Additionally, compensators may be defined to model allowable adjustments made to the
lens after fabrication. ZEMAX also allows limits to be placed on the change of a compensator.
Tolerances may be computed and analyzed three ways:
Sensitivity Analysis: For a given set of tolerances, the change in the criteria is determined for each tolerance
individually. Optionally, the criteria for each field and configuration individually may be computed.
Inverse Sensitivity: For a given permissible change in criteria, the limit for each tolerance is individually
computed. Inverse sensitivity may be computed by placing a limit on the change in the criteria from nominal,
or by a limit on the criteria directly. The criteria may be computed as an average over all fields and
configurations, or on each field in each configuration individually.
Monte Carlo Analysis: The sensitivity and inverse sensitivity analysis considers the effects on system
performance for each tolerance individually. The aggregate performance is estimated by a root-sum-square
calculation. As an alternative way of estimating aggregate effects of all tolerances, a Monte Carlo simulation
is provided. This simulation generates a series of random lenses which meets the specified tolerances, then
evaluates the criteria. No approximations are made other than the range and magnitude of defects considered.
By considering all applicable tolerances simultaneously and exactly, highly accurate simulation of expected
performance is possible. The Monte Carlo simulation can generate any number of designs, using normal,
uniform, parabolic, or user defined statistics.
The basic procedure
Tolerancing a lens consists of these steps:
1) Define an appropriate set of tolerances for the lens. Usually, the default tolerance generation feature
described in this chapter is a good place to start. Tolerances are defined and modified on the Tolerance Data
Editor, available on the Editors menu of the main menu bar.
2) Modify the default tolerances or add new ones to suit the system requirements.
3) Add compensators and set allowable ranges for the compensators. The default compensator is the back
focal distance, which controls the position of the image surface. Other compensators, such as image plane tilt,
may be defined. There is no limit to the number of compensators that may be defined.
4) Select an appropriate criteria, such as RMS spot radius, wavefront error, MTF, or boresight error. More
complex criteria may be defined using a user defined merit function, or for comprehensive flexibility, a tolerance
script, which is described later.
For each tolerance, a minimum and a maximum value are specified on the Tolerance Data Editor. The
tolerances are described in detail below.
TRAD: Tolerance on radius
Used to tolerance directly on the radius of curvature. Min and max are the extreme errors in lens units.
2
r
Z = ---- C ,
2
where r is the semi-diameter of the surface. The change in the sag is related to the error in fringes by
Z = --- N ,
2
where N is the number of fringes. The factor of one half assumes a double pass Newton's rings type test. For
more information see Malacara, Optical Shop Testing.
TTHI: Tolerance on thickness
TTHI is used to tolerance both absolute positions of elements as well as thicknesses of lenses within element
groups.
When ZEMAX creates the default tolerances, it is assumed that all variations in thickness affect only that
surface and any surfaces in contact with that element. For example, if the first lens in a contact doublet has a
+1.0 mm change in thickness, the front and rear vertex of the second lens both shift by +1.0 mm.
However, since ZEMAX defines the position of all surfaces by using an offset from the previous surface, adding
1.0 mm to the surface will shift all subsequent lenses in the system by +1.0 mm. What is more likely to occur in
fabrication is that the +1.0 mm offset would be absorbed by the first air space after the lens group. TTHI can
handle this case by allowing a "adjustment" surface to be specified. When ZEMAX creates the default tolerances,
the adjustment surface is specified as the first air space which follows the surface being toleranced.
To illustrate, imagine a lens where surface 3 was made of BK7, and surface 4 was made of F2, and surface 5
was air. The nominal thicknesses are 3, 4, and 6 mm, respectively. If a TTHI operand was defined by the default
tolerance algorithm for surface 3, an adjustment would be defined for surface 5. If the tolerance value was +.1
mm, then during analysis the thicknesses would be changed to 3.1, 4.0, and 5.9, respectively. Thus, the absolute
positions of surfaces 6 through the image surface are unaffected by the change in thickness on surface 3.
The adjustment is optional; to disable it, set the adjustment to the same surface number as the tolerance, such
as TTHI 3 3. For some lens systems, such as those that are assembled by stacking spacers in a tube, the
adjustment may not be desired.
Int1 is used to define the surface number, Int2 in the adjustment surface number, unless Int2 is equal to Int1.
Min and max are the extreme errors in lens units.
TCON: Tolerance on conic
TCON is used to define a tolerance on a conic constant. Min and max are the extreme errors, dimensionless.
TIRX TIRY
Z x = ------------- x ; Z y = ------------- y .
2 2
For example, if the TIRX tolerance is 0.10 mm, then the change in sag at the maximum +x aperture of the lens
is 0.05 mm, and the deviation at the maximum -x aperture is -.05 mm, for a "total" TIR of 0.10 mm. A similar
discussion applies to TIRY. The min and max values are used to model the tilt of the surface in each direction.
The tilt angle that is actually placed on the surface is given by
1 Z 1 Z
x = tan --------- ; y = tan --------- ,
y x
S S
where S is the semi-diameter of the surface. Note that a sag along Y implies a rotation about the X axis, and
a sag along X implies a rotation about the Y axis.
The analysis of TIRX and TIRY uses the Irregular surface type. See the discussion Tolerancing with the
Irregular surface type on page 450.
TIRR: Tolerance on surface irregularity
!For a more detailed treatment of irregularity, see the discussion on the TEXI and TEZI
operands which follows.
TIRR is used to analyze irregularity of a Standard surface. The Int1 value indicates the number of the surface,
and this surface must be a Standard surface type. Analysis of irregularity on surface types other than Standard
is not directly supported.
t W 4 2
z = ---------- ( + y ) ,
4
where t is the test wavelength (defined by the TWAV operand), is the normalized radial coordinate, and
y is the normalized radial coordinate in the y direction. The change in wavefront optical path is related to the
change in sag and the index of refraction of the two media the surface separates:
n2
OP = z ----- 1 .
n1
f
c = --- ------- ,
2 n
y
x = ------ , where
2S
S is the semi-diameter of the surface and is the total indicator runout, with a similar expression for y . This
expression assumes the angles are relatively small. Note that a length of total indicator runout in the x direction
corresponds to a tilt about the y axis, and a length of total indicator runout in the y direction corresponds to a
tilt about the x axis.
S + A Irreg: If checked, a spherical and astigmatism irregularity is specified on each Standard surface type.
For details, see the TIRR description given earlier.
Zern Irreg: If checked, a Zernike irregularity is specified on each Standard surface type. For details, see the
TEXI description given earlier.
Index: TIND is used to model changes in the index of refraction. The units are change in relative index.
Abbe: TABB is used to model changes in the Abbe number. The units are percentage of the catalog Abbe
value.
Element tolerances
Decenter X/Y: If checked, decenter tolerances are added to each lens group. Tolerances may be defined as
a fixed decenter amount in lens units.
Tilt X/Y: If checked, a tilt tolerance in degrees is added to each lens group and surface. It is important to note
that lens groups are by default tipped about the vertex of the first surface in the group. See the section TETX,
TETY, TETZ: Tolerance on element tilts on page 449 for information on tipping about some other point.
In addition to the tolerance definitions there are two other options on the dialog box:
Start At Row: This control indicates where in the Tolerance Data Editor the default tolerances should be placed.
If the row number is greater than 1, then the new default tolerances will be appended starting at the specified
row number.
Use Focus Comp: If checked, then a default compensator of the back focus (the thickness prior to the image
surface) will be defined. Using at least one compensator can greatly relax certain tolerances, however whether
or not compensators should be used depends upon the specifics of the design. Other compensators may be
defined. See the Section "Defining compensators" for more information.
There are also six buttons:
OK: Accept these settings and generate the default tolerances.
Cancel: Close the dialog box without changing the default tolerances.
Save: Save these settings for future use.
Load: Restore the previously saved settings.
Reset: Restore the settings to the default values.
Help: Invoke the help system.
By default, the Monte Carlo analysis that ZEMAX performs draws random values from a Gaussian "normal"
distribution. Once the default tolerances are defined, they are saved with the lens file automatically. If additional
surfaces are inserted in the Lens Data Editor, the tolerance surfaces are renumbered automatically.
Defining compensators
Many different types of compensators may be defined; thicknesses (most commonly used), curvature, conic
constants, any parameter or extra data value, of any surface or surfaces. Multi-configuration operands may also
be defined as compensators. The parameter values are useful for using tilts and decenters of particular
components for compensation. The surface to be tilted must already be defined as a coordinate break (or perhaps
a tilted surface), with any appropriate pick ups as required.
!The sensitivity analysis aids in identification of which tolerances need to be tightened, and
which might be loosened.
The amount of output can be overwhelming, especially for lenses with many elements and a corresponding
large number of tolerances. Often, the sensitivity to the tolerances varies widely over all the possible tolerances.
The "Show worst" control is extremely useful for summarizing the worst offenders, because it sorts the tolerances
by contribution to the criteria and then prints them in descending order. The "Hide all but worst" control turns off
the bulk of the printing if only the worst offenders are of interest.
After all the individual tolerances are computed, ZEMAX then computes a variety of statistics, the most
important of which is the estimated change in the criteria and associated estimated performance. ZEMAX uses
a Root Sum Square (RSS) assumption for computing the estimated changes in the performance. For each
tolerance, the change in performance from the nominal is squared and then averaged between the min and max
tolerance values. The resulting averaged squared values are then summed for all the tolerances, and the square
root of the result is taken. The average of the min and max tolerances is taken because the min and the max
tolerance cannot both occur simultaneously, and so summing the squares would result in an overly pessimistic
prediction. The resulting RSS is the estimated change in performance.
Inverse sensitivity analysis
If an inverse sensitivity is being performed, the tolerances are computed the same way as for the sensitivity
analysis. However, the calculation is performed iteratively inside a loop while adjustments are made to the min
and max tolerances. For Inverse Limit mode, the adjustments are made until the resulting criteria is approximately
equal to the Max Criteria. For Inverse Increment mode, the adjustments are made until the resulting change in
criteria is approximately equal to the Increment value.
For example, if the mode is Inverse Limit, the Criteria is RMS spot radius, the nominal criteria is 0.035, and
the Max Criteria is 0.050, ZEMAX will adjust the tolerances until the criteria is 0.050. If the mode is Inverse
Increment, the Criteria is RMS spot radius, the nominal criteria is 0.035, and the Increment is 0.010, ZEMAX will
adjust the tolerances until the merit is 0.045. For Inverse Limit, the Max Criteria must be greater than the nominal,
except for MTF Criteria, in which case the Max Criteria must be less than the nominal, or an error message will
be generated and the analysis terminated. For Inverse Increment, the Increment must always be positive.
If the option to "Separate Fields/Configs" is not selected, the criteria ZEMAX uses to perform the inverse
analysis is the overall criteria, which is typically an average over all fields and configurations. The problem with
using the average performance is that some fields or configurations may be significantly degraded by tolerance
defects while other fields or configurations are not, and the average may not reveal the severity of the loss of
performance at a few fields or configurations. If "Separate Fields/Configs" is checked, then ZEMAX computes the
criteria at each field in each configuration individually, and verifies that each field meets either the Max Criteria or
Increment value. For Inverse Increment mode, ZEMAX computes the nominal performance at every field position
and reduces the tolerances until the criteria at every field is degraded no more than the increment value.
If the starting value of the tolerance yields performance better than the Max Criteria or Increment value would
dictate, the tolerance is not adjusted. This means the tolerance will never be loosened; it can only be tightened
during inverse sensitivity analysis. For example, if the nominal is 0.035, and the Max Criteria is 0.050, and the
initial tolerance yields a criteria of 0.040, the tolerance will not increase. To compute the actual limit, the tolerance
must first be loosened on the Tolerance Data Editor, and then inverse sensitivity repeated. This is done to prevent
looser than necessary tolerances. Generally, tolerances that are looser than some reasonable value do not
decrease manufacturing costs.
The estimated change in performance is computed in the same way as for the sensitivity analysis, using the
newly adjusted tolerances. The inverse sensitivity analysis aids in tightening individual tolerances so no one
defect contributes too much to performance degradation.
!The Monte Carlo analysis simulates the effect of all perturbations simultaneously.
For each Monte Carlo cycle, all of the parameters which have specified tolerances are randomly set using the
defined range of the parameter and a statistical model of the distribution of that parameter over the specified
range. By default, all parameters are assumed to follow the same normal distribution with a total width of four
standard deviations between the extreme minimum and maximum allowed values. For example, a radius of
100.00 mm with a tolerance of +4.0/ - 0.0 mm will be assigned a random radius between 100.00 and 104.00 mm,
with a normal distribution centered on 102.00 mm and a standard deviation of 1.0 mm.
This default model may be changed using the STAT command. Each tolerance operand may have a separate
definition for the statistics, or operands with the same statistical distribution form may be grouped together. All
tolerance operands which follow a STAT command use the statistical distribution defined by that STAT command.
As many STAT commands as desired may be placed in the tolerance data editor.
The STAT command accepts two arguments, Int1 and Int2. Int1 should be set equal to 0 for normal, 1 for
uniform, 2 for parabolic, and 3 for user defined statistics. For normal statistics only, the Int2 value should be set
to the number of standard deviations between the mean and extreme values of the parameter.
The available statistical distributions are described below.
Normal statistical distribution
The default distribution is a modified Gaussian "normal" distribution of the form
1 x2
p ( x ) = -------------- exp --------2- , n x n .
2 2
The modification is that the randomly selected value x (measured as an offset from the midpoint between the
two extreme tolerances) is restricted to lie within "n" standard deviations of zero. The default value of "n" is two,
however "n" may be changed using the Int2 argument of the STAT command defined earlier. This is done to
ensure that no selected value will exceed the specified tolerances. The standard deviation is set to one over "n"
times half the maximum range of the tolerances. For example, if "n" is 2, and a thickness is nominally 100 mm
with a tolerance of plus 3 or minus 1 mm, then the selected value will be drawn from a normal distribution with a
101 mm mean and a range of plus or minus 2 mm, with a standard deviation of 1.0. If "n" is 5, then the standard
deviation will be 0.4. The larger "n" is, the more likely the selected value will be closer to the mean value of the
tolerance extremes. The smaller "n" is, the more the normal looks like the uniform distribution.
Uniform statistical distribution
The uniform distribution is of the form
1
p ( x ) = -------, x .
2
The value is one half of the difference between the max and min tolerance values. Note that the randomly
selected value will lie somewhere between the specified extreme tolerances with uniform probability.
3x 2
p ( x ) = --------3- , ( x ) ,
2
where is defined exactly the same as for the uniform distribution. The parabolic distribution yields selected
values that are more likely to be at the extreme ends of the tolerance range, rather than near the middle, as for
the normal distribution.
User defined statistical distribution
The user defined statistical distribution is defined by an ASCII file with tabulated distribution data. A general
probability function may be defined as
p ( x i ) = T i, 0.0 x i 1.0 ,
where the T values are tabulated for some number of discrete X values. This general distribution may be
numerically integrated, and from the integral of the tabulated values an estimated X may be randomly generated
with the statistics matching that of the tabulated distribution.
The format of the file is two columns of data as follows:
X1 T1
X1 T2
X3 T3
...etc.
where the X values are monotonically increasing floating point numbers between 0.0 and 1.0, inclusively, and
the T values are the probabilities of getting that X value. Note ZEMAX uses a probability distribution that covers
the range from 0.0 to 1.0, and so the first X1 value defined MUST be equal to 0.0 (it may have any probability T1,
including zero), and the last value defined MUST have an Xn value of 1.0. Up to 200 points may be used to define
the distribution between X = 0.0 and X = 1.0; a warning will be issued if too many points are listed.
For each tolerance operand subsequently defined (until another STAT command is reached) the defined min
and max values will determine the actual range of the random variable X. For example, if a value of 100.0 has a
tolerance of -0.0 and +2.0, the probability distribution will extend over the range of 100.0 to 102.0.
Once the data is defined in a file, the file must be placed in the same directory as the ZEMAX program, and
the file name (with extension) must be placed in the comments column of the tolerance data editor on the same
line as the STAT command. The STAT type must be set to "3".
!The file name of the user defined probability distribution must be placed in the comments
column of the tolerance data editor for the STAT operand.
Introduction
ZEMAX supports a very general capability for defining, analyzing, and optimizing optical systems which are
used in multiple configurations. Multi-configurations are used to design zoom lenses, or to optimize lenses tested
and used at different wavelengths, or optical systems used in various configurations, to name a few. Like other
ZEMAX features, multi-configuration is well integrated. However, like tolerancing, it requires a little more care and
practice to become proficient.
ZEMAX uses a substitution procedure for defining multiple configurations. The configurations are differentiated
by different values for the same parameter. For example, in a zoom lens, the spacings between various elements
may take on more than one value. Each set of values used together forms one configuration.
The first step
By far the most important step is to define one configuration using the normal ZEMAX mode first. It is a good
idea to start with the most complex configuration first. If all of the configurations have the same number of
elements, pick any one of them. Once you have the basic configuration defined, it is time to define new
configurations which are variations of the first. The first configuration does not need to be optimized yet, you can
optimize across configurations later.
Select Editors, Multi-Configuration from the main menu bar. The spreadsheet which appears is the multi-
configuration editor (MCE). Using the menu bar on the MCE, both configurations (columns) and operands (rows)
can be inserted and deleted. The insert and delete keys will also add or remove new operand rows. The data
entered on the MCE will be saved automatically whenever you save your lens file.
Summary of multi-configuration operands
To change the operand type, double click on the type column. A dialog box will appear where the type and
number of the multi-configuration operand can be changed. The operands are also summarized in the following
table.
SUMMARY OF MULTI-CONFIGURATION OPERANDS
!Note that if you change the field angles, heights, or weights, or the wavelength values or
weights on the multi-configuration screen you should rebuild the default merit function.
Introduction
There are several standard catalogs supplied with ZEMAX, and you may create your own custom catalogs.
The standard catalogs may be edited to suit your requirements. This chapter describes how to add glasses to the
existing or new catalogs, and how to use the catalogs in your optical designs. There is no limit to the number of
glass catalogs you may create.
ZEMAX computes indices of refraction from formulas and coefficients entered into the glass catalogs. When
you specify a glass name such as "BK7" in the glass column of the LDE, ZEMAX looks for the name in each of
the currently loaded glass catalogs. If the glass is found, ZEMAX uses the coefficients for that glass, and then
using the formula for the glass selected in the catalog, computes the indices at each of the defined wavelengths.
It is important to note that all ZEMAX glass catalogs assume that the index computed by the dispersion
formulas is the relative index of refraction computed as a function of the relative wavelength. Relative means
relative to air at 1.0 atmosphere and a temperature defined in the glass catalog.
!ZEMAX assumes that the index computed by the dispersion formulas is the relative index of
refraction computed as a function of the relative wavelength.
This method may seem more complex than directly entering in the indices of refraction, but the advantages
are numerous. For one, the formulas are generally more accurate than user-entered data. Catalog data is more
convenient as well, requiring the user to only supply the glass name. This is a particular advantage during the
glass selection phase of the design. Additionally, any wavelength may be used, even if no explicit index data at
that wavelength is available. The primary disadvantage is that the coefficients must be calculated, although this
data is either readily available in catalogs or easily calculated. If you have the index data for some material not
in the catalog, or if you feel your data is better than the catalog data, ZEMAX will compute the coefficients for you
automatically; see the section "Fitting index data".
!For important comments about obsolete glasses and differences between glasses with
identical names, see Obsolete catalog data on page 490.
!Be extremely careful when editing the glass catalogs; erroneous ray trace data will result if
the catalog data is incorrectly modified.
Item Description
Catalog Used to specify which of the .AGF format catalogs to display. The comment string
to the right of the catalog name may be used to describe the catalog.
Glass Used to specify which glass within the catalog to display data for.
Rename In the event that a glass needs to be given a different name, the name of the
currently selected glass can be modified in this field.
Formula The dispersion of each glass is described by a formula. This control allows
selection of which formula is used. If this setting is changed, then the dispersion
data becomes invalid unless the appropriate coefficients are also entered. See
The glass dispersion formulas on page 480.
Status The status indicates the general availability of the glass. The available settings are
Standard, Preferred, Obsolete, Special, and Melt. The status values are generally
specified by the manufacturer. Standard glasses are generally available for
purchase. Preferred glasses are usually frequently melted glasses, and more likely
to be available upon demand. Obsolete glasses are no longer manufactured, but
may be available. Special is a general category used to indicate a glass that does
not fall into one of the other categories. Melt is a flag used by ZEMAX to indicate
glasses that have been created in the catalog by the melt fit feature, see Fitting
melt data on page 482.
Index Nd The index at d-light, or 0.587 micrometers. ZEMAX does not use this number when
computing the index of refraction. It is displayed solely for reference. The entry
may be meaningless for some materials which do not transmit well in the region
around 0.587 micrometers.
Abbe Vd The Abbe value at d-light. This number is not used by ZEMAX when computing
the index of refraction. It is displayed solely for reference.
Exclude Substitution If checked, then this glass will not be selected during global optimization,
conversion from model to real glasses, or be considered by the RGLA optimization
operand.
Ignore Thermal This switch allows accurate thermal modeling of non-solid materials, such as
Expansion gasses and liquids, by allowing direct specification of the thermal coefficient of
expansion in the lens data editor rather than in the glass catalog. Only the edge
effects are considered; the radius of curvature and other thermal pickup solves will
all use the adjacent material TCE, rather than the gas or liquid TCE.
K1, L1... A0, A1..., A, B, The first eight rows in the center column of the dialog box display the dispersion
C, etc. coefficient data. The names of these coefficients changes depending upon the
glass formula.
!Note that ZEMAX does not allow any spaces in the names of glasses or glass catalogs.
Copying or moving glass catalog files
To copy or move a glass catalog file, copy or move only the file ending with the AGF extension. When ZEMAX
reads the catalog with the AGF extension, a file with the same name will be created with a BGF extension. For
example, ZEMAX will read in the file SCHOTT.AGF and create a file named SCHOTT.BGF. The BGF version is
a binary format version of the same data stored as ASCII in the AGF file. ZEMAX will subsequently read the BGF
version of the glass catalog because the binary version can be read much faster than the ASCII version of the
file. ZEMAX will automatically recreate the BGF version if the date stamp of the AGF file changes, or if the BGF
file is deleted or missing, or if the ZEMAX version number changes.
2 2 2 4 6 8
n = a0 + a 1 + a 2 + a3 + a4 + a5 .
The required coefficients are available in most manufacturers glass catalogs. Schott no longer uses this
formula, but it is widely used by other glass manufacturers. See also The Extended formula on page 482.
The Sellmeier 1 formula
The Sellmeier 1 formula is
2 2 2
2 K1 K2 K3
n 1 = ----------------
2
- + ----------------
2
- + ----------------
2
-.
L1 L2 L3
Coefficients for all three terms may be entered to describe the material, although fewer terms may be used.
See also the Sellmeier 3 and Sellmeier 5 formulas.
The Sellmeier 2 formula
The Sellmeier 2 formula is
2
2 B1 B2
n 1 = A + ----------------
2
- + ----------------
2 2
-.
2
1 2
Only two terms are used, there is no wavelength dependence in the numerator of the second term, and there
is a constant term.
The Sellmeier 3 formula
The Sellmeier 3 formula is just like the Sellmeier 1 formula, with one additional term added:
2 2 2 2
2 K1 K2 K3 K4
n 1 = ----------------
2
- + ----------------
2
- + ----------------
2
- + ----------------
2
-.
L1 L2 L3 L4
2 2
2 B - --------------
D
n = A + --------------
2
+ 2 -.
C E
2 2 2 2 2
2 K1 K2 K3 K4 K5
n 1 = ----------------
2
- + ----------------
2
- + ----------------
2
- + ----------------
2
- + ----------------
2
-.
L1 L2 L3 L4 L5
2 2 4 6
n = A + BL + CL + D + E + F ,
1
L = ------------------------
2
-.
0.028
A B-
n = n 0 + --- + -------- .
3.5
The Conrady formula is extremely useful for fitting to sparse data. For example, if you have only three index-
wavelength pairs of data, fitting to the six-term Schott formula would yield meaningless data at the intermediate
wavelengths.
The Handbook of Optics 1 formula
There are two similar formulas from the Handbook of Optics. The "Handbook 1" formula is:
2 B - 2
n = A + -------------------
2
D ,
( C)
2
2 B - 2
n = A + -------------------
2
D .
( C)
2 2 2 4 6 8 10 12
n = a 0 + a 1 + a2 + a3 + a4 + a5 + a6 + a7 .
This is similar to the Schott formula, with two additional terms added.
General comments of using dispersion formulas
It is important to note that some publications use equations similar, but not identical to any of these
expressions. It is often possible to rearrange the expressions to get them into the required form, and then
recompute the required coefficients.
It is also a good idea to check the coefficients against a tabular listing of the index data available in many
handbooks and publications. Use the dispersion plot or listing feature, or the prescription data report, which lists
index data at each surface. If there are discrepancies, check the data you have entered carefully, and verify that
the correct units and formula are being used.
Fitting index data
!See also the discussion "Fitting melt data" below.
It is often the case that the materials you are designing with are in the catalog already. If they are not, you can
enter the coefficients for the formulas described previously. As an alternative, ZEMAX will compute either the
Schott, Herzberger, Conrady, or Sellmeier 1 dispersion formula coefficients for you. With the glass catalog dialog
box displayed, click on "Fit Index Data" and the Fit Index Data dialog box appears.
On the left side of this screen is a two-column spreadsheet editor. Using the mouse, enter in the wavelength
(in micrometers) and index data you have. The more data you enter, the more accurate will be the fit.
If you have more data than will fit in the spreadsheet, use the data most closely representing the wavelength
region of interest. At least three points are required to get a good fit if you are using the Conrady formula, six or
more (and preferably twelve to fifteen) for the Schott, Herzberger, or Sellmeier 1 formulas. Select the formula to
use by selecting the formula name from the drop-down list. You may want to try each of the models in turn, to see
which gives the lowest residual.
The RMS error is the RMS fit error between the given data, and the index data generated using the resulting
fit coefficients. The max error is the largest error between the fit and any one data point. Both numbers can be
compared to the magnitude of the index of refraction; which is of course dimensionless. Because the Sellmeier
1 formula has non-linear coefficients, the fitting is iterative, and this formula takes much more computer time to
fit the data than the other formulas do.
Now move the cursor over to the "Name" field, and enter the material name for the catalog. Select "Fit" and
ZEMAX will compute the optimal coefficients. The residual RMS error, and the maximum single-point error, are
listed on the bottom of the display. To enter this data in the currently loaded catalog, select "Add to catalog".
ZEMAX will issue a message verifying that the glass was saved.
!When a glass is added to the catalog, the transmission data, if any, needs to be added as
described in the next section. Otherwise, the default internal transmission of 1.0 is used at all
wavelengths.
The index and wavelength data may also be saved to an ASCII file for later use, and loaded for fitting again
by selecting the appropriate buttons. The ASCII file may also be edited outside of ZEMAX, and then loaded for
fitting.
Fitting melt data
!See also the discussion "Fitting index data" above.
Chapter 18: USING GLASS CATALOGS 482
It is important to understand that the index of refraction values computed by ZEMAX, or listed in the catalog
of the glass manufacturer, are average values for the index of refraction over a large number of "melts" or batches
of the glass. A specific piece of glass from one melt will deviate from the catalog or nominal values slightly. The
deviation is typically small, but the difference between the nominal and actual index values may be important for
some systems.
Usually, when quality optical glass is shipped from the manufacturer, a data sheet will accompany the glass
which indicates the index of refraction for the supplied glass at a few wavelengths, either as an offset from the
nominal catalog values or as the measured index directly. Typically 3-5 wavelength-index data points are
provided. This data is called "melt" data because it is specific to the batch of glass melted at one time.
The Melt Data tool available from the glass catalog dialog box is a handy utility for converting the limited melt
data provided into a usable new glass type in the glass catalog.
There are a maximum of 8 wavelength-index points allowed for melt data. If you have more than 8 points, use
the "Fit Index" tool described in the previous section. The minimum number of points allowed is 3, however, at
least 4 and preferably 5 points should be used to get a good melt fit. The wavelength range defined by the melt
index data should be as broad as possible, and should at a minimum cover the intended range of wavelengths
to be used for ray tracing through the melt glass. In all cases, the fitted data should be inspected carefully for
accuracy before it is used.
The Melt Data tool supports the following controls:
Glass: The name of the nominal glass in the selected glass catalog.
Melt Name: The name of the new glass to be created. The default is the nominal glass name with "_MELT"
appended on. The name length may not exceed 20 characters.
Fit only these wavelengths: If checked, the melt index fit will only be done over the wavelength range defined
by the minimum and maximum wavelengths of the provided melt data points. This allows much more precise
fitting of the glass data, however, the melt glass cannot be used outside of this wavelength range. If unchecked,
ZEMAX will attempt to extrapolate the data (see Discussion of melt fitting method: on page 483) to create a
melt fit that is valid over the entire wavelength spectrum of the original glass data. This is the key difference
between fitting index data (see Fitting index data on page 482) and fitting melt data.
Formula: The dispersion formula to use for the new melt glass. Choose either Schott, Herzberger, Conrady,
or Sellmeier 1. The default value is the Schott formula unless the nominal glass uses one of these formulas;
in which case the same formula as the nominal glass will be used.
Use: This box turns "on" and "off" each row of data.
Wavelength: The wavelength in micrometers for the index values to be entered.
Nominal: The index of refraction at the defined wavelengths using the nominal glass dispersion.
Actual: The actual measured index from the melt data. Note if the actual value is edited, the "delta" value is
automatically adjusted to keep the data consistent.
Delta: The difference between the actual and nominal index of refraction. Note if the delta value is edited, the
"actual" value is automatically adjusted to keep the data consistent.
Fit/Insert: Choosing this button starts the fitting process as described below.
Cancel: Aborts the melt fitting process.
After the fitting is finished, the new melt glass will be inserted in the catalog, the catalog will be saved, and a
report summarizing the fit will be presented.
Discussion of melt fitting method:
The problem with fitting melt data is the generally low number of points available; typically 3-5. Most fitting
routines need at least 8 points for good accuracy. So, the problem is to extrapolate from a few points the variation
in index over a large enough number of points to fit the resulting dispersion accurately. The accuracy of the
resulting melt fit at the defined data points depends largely upon the extent of the wavelength range. Greater
accuracy is achieved if "Fit only these wavelengths" (see discussion above) is checked, at the expense of a
reduced spectral range over which the fit is valid.
ZEMAX does melt fitting using the following algorithm:
!Check the generated melt fitting report for index accuracy carefully before using the new melt
glass!
t = e ,
where is the absorption coefficient and is the path length through the glass. The parameter generally
depends upon wavelength and has units of inverse length. See the Chapter "Polarization Analysis" for information
on polarization ray tracing and transmission.
The transmission is defined in the glass catalog by a series of 3 numbers: the wavelength in micrometers, the
intensity transmittance, and the reference thickness in mm. For example, the transmission of a glass at 0.35
micrometers may be 0.65 for a thickness of 25 mm. Multiple data points may be defined in the transmission data
editor. Internally, ZEMAX converts the data to "per mm", and interpolates between defined wavelengths. If ray
tracing is being performed at a wavelength outside of the defined wavelengths, then the data for the closest
wavelength is used; otherwise, ZEMAX performs a linear interpolation.
!Not all of the glasses listed in the supplied catalogs have valid transmission data, especially
for infrared materials and other non-commercial glass types. If transmission data is supplied
by the manufacturer, it is usually included. If no reliable data is available, or if the data has
been omitted, the default internal transmission of 1.0 is used at all wavelengths.
!Note MIL number glasses are an approximation, although usually a very good approximation
in the visible range. Outside the visible wavelength range, such as in the ultraviolet or infrared,
the MIL number glass is not accurate and should not be used.
It is important to note that the indices calculated from the six-digit MIL number are not the same as those
calculated from the glass catalog, even if the MIL number you are using corresponds to a glass in the catalog.
Index data is calculated directly from the MIL number entered on the main screen; not from the glass catalog data,
even if a glass with that MIL number is in the catalog.
Because any glass with a six digit name is assumed to be a MIL number glass defined by ZEMAXs internal
equations, six digit numbers may not be used for glass names defined in the glass catalogs.
Using model glasses
ZEMAX can idealize the dispersion of glass using the index at d-light (.5875618 micrometers), the Abbe
number, and a term which describes the deviation of the partial dispersion from the "Normal Line". The index at
d-light is given the symbol Nd. The Abbe number (also called the V-number) is given the symbol Vd and is defined
by
Nd 1
V d = -------------------- ,
NF NC
where N F and N C are the indices of refraction at 0.4861327 and 0.6562725 micrometers, respectively. The
partial dispersion term is P g, F .
ZEMAX uses a formula based upon the typical dispersion of standard glasses in the visible range to estimate
the index at any defined wavelength within the visible range as a function of the Nd and Vd values. This formula
is accurate to roughly 0.0001 for typical glasses.
The Nd, Vd, and P g, F values are specified on the glass solve dialog box, which can be reached from the
Lens Data Editor.
See also Using model glasses on page 424 and Optimizing glass selection on page 437.
!Note model glasses are an approximation, although usually a very good approximation in the
visible range. Outside the visible wavelength range, such as in the ultraviolet or infrared, the
model glass is not accurate and should not be used.
HIKARI Hikari Glass USA, Inc. 2711 Aliso Creek Road, 949-831-4908 www.hikariglass.com
Suite 170, Aliso Viejo, CA
92656
HOYA Hoya Optics, Inc. 3400 Edison Way, Fremont, 510-252-8370 www.hoya.co.jp
CA 94538
ZEON Zeon Chemicals L.P. Furukawa Sogo Bldg., 2-6-1 33-216-2335 www.zeonchemicals.com
Marunouchi, Chiyoda-ku,
Tokyo 100-8323, Japan
Although the data contained in the glass catalogs is generally reliable, it is always possible for errors to be
made during translation or editing of the data. It is absolutely crucial that all index data be verified for accuracy
by the end user! This is especially true where fabrication of the optics is being considered.
!The catalog data may be in error, and it needs to be verified before it can be trusted.
The data contained in other catalogs provided with ZEMAX, such as the BIREFRINGENT, INFRARED, and
MISC catalogs have been compiled from published sources as described in the following table. Some materials,
such as calcite, are defined in more than one catalog. Materials may be included in the catalog which are not
referenced in the table, or the source is specified as "unknown". These materials should be especially scrutinized
before trusting the data accuracy.
Material Source
ADP Handbook of Optics Vol. II
AG3ASS3 Handbook of Optics Vol. II
AGGAS2 Handbook of Optics Vol. II
AGGASE2 Handbook of Optics Vol. II
AL2O3 Handbook of Optics Vol. II
ALN Handbook of Optics Vol. II
BATIO3 Handbook of Optics Vol. II
BBO Handbook of Optics Vol. II
BEO Handbook of Optics Vol. II
CALCITE Handbook of Optics Vol. II
CAMOO4 Handbook of Optics Vol. II
CAWO4 Handbook of Optics Vol. II
CDGEAS2 unknown
CDS Handbook of Optics Vol. II
CDSE Handbook of Optics Vol. II
CUGAS2 Handbook of Optics Vol. II
KDP Handbook of Optics Vol. II
LAF3 Handbook of Optics Vol. II
LINBO3 Handbook of Optics Vol. II
LIO3 Handbook of Optics Vol. II
LIYF4 unknown
MGF2 M.J. Dodge, "Refractive Properties of Magnesium Flouride," Applied Optics, Vol. 23, No.
11: p1980 (1985)
PBMOO4 Handbook of Optics Vol. II
QUARTZ Handbook of Optics Vol. II
SRMOO4 Handbook of Optics Vol. II
TAS Handbook of Optics Vol. II
TE Handbook of Optics Vol. II
TEO2 Handbook of Optics Vol. II
YV04 Handbook of Optics Vol. I
ZNGEP2 Handbook of Optics Vol. II
ZNO Handbook of Optics Vol. II
Material Source
ALN Handbook of Optics Vol. II
ALON Handbook of Optics Vol. II
AMTIR1 Amtir Spec Sheet
AMTIR3 Amtir Spec Sheet
BAF2 Handbook of Optics Vol. II
BEO Handbook of Optics Vol. II
CAF2 Handbook of Optics Vol. II
CALCITE Handbook of Optics Vol. II
CDSE Handbook of Optics Vol. II
CDTE Handbook of Optics Vol. II
CLEARTRAN Spec Sheet (Rohm & Haas)
CLEARTRAN_OLD Spec Sheet (Morton)
CSBR Handbook of Optics Vol. II
F_SILICA The Infrared & Electro-Optical Systems Handbook V. III
GAAS Amtir Spec Sheet
GEO2 Handbook of Optics Vol. II
GE_LONG JOSA, 47, 244 (57): 48, 579 (58)
GE_OLD JOSA, 47, 244 (57): 48, 579 (58)
GERMANIUM Handbook of Optical Constants of Solids
IRG2 Schott Spec Sheet
IRG3 Schott Spec Sheet
IRGN6 Schott Spec Sheet
IRG7 Schott Spec Sheet
IRG9 Schott Spec Sheet
IRG11 Schott Spec Sheet
IRG15 Schott Spec Sheet
IRG100 Schott Spec Sheet
KBR ISP Optics data sheet (www.ispoptics.com)
KCL ISP Optics data sheet (www.ispoptics.com)
KRS5 Handbook of Optics Vol. II
LIF Handbook of Optics Vol. II
Material Source
ACRYLIC Handbook of Optics Vol. II
BASF5 Laikin, Lens Design
BASF55 Laikin, Lens Design
CAF2 Handbook of Optics Vol. II
CDS Handbook of Optics Vol. II
COC Hoechst Celanese Spec sheet
CR39 The Photonics Design and Applications Handbook, Optical Plastics: Properties and
Tolerances, H. D. Wolpert, pp. H-300 - H-307, (1991).
KDP Handbook of Optics Vol. II
LAF3 Handbook of Optics Vol. II
LIYF3 Handbook of Optics Vol. II
PMMA Handbook of Optics Vol. II
POLYCARB Handbook of Optics Vol. II
POLYSTYR Handbook of Optics Vol. II
PYREX Laikin, Lens Design
QUARTZ Handbook of Optics Vol. II
SAN Handbook of Optics Vol. II
Introduction
!This feature is only available in the EE edition of ZEMAX.
Environmental factors such as ambient temperature and pressure can affect the performance of optical
systems. There are three primary factors to consider. 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 and thickness of a lens.
Third, the spacings between lens elements can change due to the expansion and contraction of the mounting
material.
The thermal analysis features of ZEMAX can account for all these effects. By accounting for thermal effects,
ZEMAX can be used to analyze and optimize a design for any specific temperature or for a range of temperatures.
The index of refraction data given by the dispersion formulas are referenced to a specific temperature and
pressure, which is typically 20 or 25 degrees Celsius (depending upon the manufacturer) and 1 atmosphere. Also,
index of refraction data is by convention referenced to that of air, which means thereafter the air has an index of
unity. The index referenced to air is called the relative index of refraction. When the index is referenced to vacuum
(which truly has an index of unity) then the index is called the absolute index of refraction. The difference between
these two references for any glass is a function of wavelength, temperature, and pressure.
Defining temperature and pressure
Two user provided values define the environment: the ambient temperature in degrees Celsius and the
ambient air pressure measured in atmospheres. These values are set on the dialog box which can be found under
the Environment tab of the System, General dialog box. There is also a checkbox on this dialog box with the
caption "Use Temperature, Pressure". If this checkbox is unchecked, then the temperature and pressure data are
ignored. If "Use Temperature, Pressure" is checked, then the temperature and pressure values are considered
during computation of the index of refraction.
By default, any defined temperature and pressure applies to all surfaces in the optical system. However, optical
systems which require multiple temperatures to be defined in the same system are also supported. This is
required for optical systems that have some lenses in a vacuum or in a heated area; while others are not.
Defining wavelengths
Wavelength data are always measured in micrometers referenced to "air" at the current system temperature
and pressure. The default system temperature is 20 degrees Celsius, and the default air pressure is 1.0
atmospheres. If the system temperature and/or pressure is modified, or under the control of multi-configuration
operands, care must be taken to adjust the wavelengths to the new air temperature and pressure.
Wavelength data is entered on the "Wavelength Data" dialog box; see the Wavelengths on page 96 for
details.
!Wavelength data are always measured in micrometers referenced to "air" at the system
temperature and pressure.
!Air at the system temperature and pressure is defined to be 1.0, all other indices are relative.
Note also that ZEMAX can easily model systems used in a vacuum by changing the ambient air pressure to
zero. If only some surfaces are at vacuum, this can be set up using the TEMP and PRES commands on the multi-
configuration editor.
For the index of refraction of the glass, ZEMAX uses the dispersion formulas and data stored in the glass
catalog. For details, see Description of catalog data on page 478. For the index of air, ZEMAX uses the following
formula:
( n ref 1 )P
n air = 1 + -------------------------------------------------------------------------
3
-
1.0 + ( T 15 ) ( 3.4785 10 )
where
2 2
2949810 - --------------------
25540 - 8
n ref = 1 + 6432.8 + --------------------------
2
+ 2
1.0 10 ,
146 1 41 1
T is the temperature in Celsius, P is the relative air pressure (dimensionless) and is measured in
micrometers. This formula for the index of air is from F. Kohlrausch, Praktische Physik, 1968, Vol 1, page 408.
The change in absolute index of the glass with temperature is given by the following expression:
2
3 E 0 T + E 1 T
2
n 1 2
n abs = -------------- D 0 T + D 1 T + D 2 T + -----------------------------------
2 2
- ,
2n tk
where n is the relative index at the reference temperature of the glass, T is the change in temperature relative
to the reference temperature of the glass ( T is positive if the temperature is greater than the reference
temperature of the glass), and the six other constants are provided by the glass manufacturer to describe the
thermal behavior of the glass. This model for the change in the glass index was developed by Schott Glass
Technologies, Inc.
The six constants must all be provided in the glass catalog for the computation to be valid. The default values
of zero for all six constants yields zero for the change in index; therefore if no thermal data has been added to
the catalog, no thermal effects are considered. ZEMAX cannot compute thermal index variation for any glass type
L' = L ( 1 + T ) ,
where L is a linear dimension, is the TCE, and T is the change in temperature. As the material expands,
the radius of curvature also expands. Therefore, both the thickness and the radii of a glass surface change linearly
with temperature. The assumption of linearity is only an approximation, but a reasonably good one for most
materials and temperature ranges.
The TCE coefficient is defined along with the glass dispersion data in the glass catalog. See the chapter "Using
Glass Catalogs" for details on the TCE data.
Defining which parameters consider thermal effects
On the multi-configuration editor, there is a special solve called "Thermal Pick Up". This pick up solve is used
to compute a new value for a multi-configuration parameter based up on the temperature and pressure of the
new configuration as compared to the "reference" configuration. Thermal pick up solves only affect data for certain
types of multi-configuration values, as described below.
!1. All multi-configuration editor operands that follow a TEMP or PRES operand are evaluated
at that temperature or pressure.
!2. The last TEMP and PRES listed in the multi-configuration editor define the temperature and
pressure for all other lens data, on the multi-configuration editor or not.
By far the most important step in setting up a complicated multiple environment lens is to check the set up
carefully. Two excellent tools for doing this are the index of refraction data and multi-configuration data table on
the prescription report. This table lists the temperature and pressure for each glass type, and the thermal pick up
relationships.
Checking the thermal pick up solves on each parameter is also a good idea; the data should be at least partially
verified by hand to verify the correct temperature range and expansion are being used.
Automatic thermal setup
A tool for automatically setting up a lens for thermal analysis is described in Tools on page 78.
Adding TCE data
There are two kinds of TCE data. For surfaces which use a glass type named in one of the catalogs (such as
BK7 from the Schott catalog), ZEMAX uses the TCE data specified in the catalog. See the chapter "Using Glass
Catalogs" for the description of , the thermal coefficient of expansion value.
If the surface does not use a catalog glass, then the TCE value is extracted directly from the TCE column in
the Lens Data Editor. The TCE column is the last column in the spreadsheet, to the right of the parameter columns.
TCE is measured in units of 1E-06 per degree C. Therefore, a value of 23.50 E-06 per degree C would be
entered as 23.5. ZEMAX automatically considers the 1E-6 factor when computing thermal effects.
Modeling gases and liquids
See Modeling gases and liquids on page 484 for important information on thermal modeling of non-solid
materials.
Adding thermal index variation data
The variation of index of refraction with temperature, ambient air pressure, and wavelength is modeled for any
glass using the polynomial expression given earlier. The expression requires six coefficients to define the
2
n 1
n abs = -------------- [ D 0 T ] ,
2n
2n - dn
D 0 = -------------
2
------ .
n 1 dt
The D 0 needs to be calculated and entered into the glass catalog. The relative index at the center wavelength
measured at the reference temperature for the glass is an adequate value for the index n. Extreme care should
be taken to ensure this is an adequate approximation by subsequently checking the computed index values at
various wavelengths and temperatures. Note that the dn/dt data should be the absolute, not the relative dn/dt.
!Extreme caution and suspicion is warranted when using only a single dn/dt value.
Using a single dn/dt value to estimate the D 0 term is only a rough approximation. The actual index variation
with temperature is not likely to be linear over any extended wavelength or temperature range. Therefore, extreme
caution and suspicion is warranted when using only a single dn/dt value.
Optimizing athermal lenses
To optimize an athermal lens, first define the multiple configurations required to simulate the lens at each
temperature using the methods described in the previous sections. Then define the variables for optimization only
in the nominal configuration. For example, suppose the nominal configuration is number 1, and configurations 2,
3, and 4 are defined using thermal pick up solves for every curvature and thickness. Make only the curvatures
and thicknesses in the nominal configuration variable.
It is also possible to optimize the TCE of the spacing material between lens groups. To do so, set a variable
on the value in the TCE column of the Lens Data Editor.
Limitations of thermal analysis
There are several limitations to the accuracy of the thermal analysis capabilities of ZEMAX. First of all, the
TCE data should always be checked for accuracy over the temperature range of use. The index data coefficients
should also be verified with the manufacturer of the glass being used.
The thermal analysis does not necessarily work correctly with tilted, decentered, or otherwise unconventional
optical systems. The difficulty arises when computing edge thickness displacements on components that are not
symmetric; for example, between two lenses tilted with respect to one another.
The thermal index and TCE data provided for Schott glasses comes from Schott, and they state the data is
accurate over the temperature range from -40 to +80 degrees Celsius, and over the wavelength range 0.435 to
0.644 micrometers. The data may be extrapolated out to 1.06 micrometers with reduced accuracy. Data for other
glasses is provided as is and the range of accuracy is unknown.
Because of the complexity of thermal effects modeling, none of the data should be trusted in critical
applications and all computations, index values, and TCE data should be verified independently of ZEMAX. This
is true even when working with Schott glasses within the ranges specified above.
Introduction
!This feature is only available in the EE edition of ZEMAX.
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.
Review of polarization concepts
The ZEMAX User's Guide is not intended to be a tutorial on polarization theory. The subject is extensive and
is treated well elsewhere. See for example "Polarization" by Jean M. Bennett, and "Optical Properties of Films
and Coatings" by John A. Dobrowski, both in The Handbook of Optics Volume I, McGraw Hill, 1995.
The electric field vector
The amplitude and polarization state of the electric field is described by a vector:
Ex
E = Ey ,
Ez
where Ex, Ey, and Ez are complex valued. The electric field vector must be orthogonal to the propagation
vector of the ray. At a boundary between two media, the transmittance, reflectance, and phase of the electric field
is different for the S and P components of the field. The S component of the field is the projection of E that lies
along the axis orthogonal to the plane of incidence, while the P projection lies within the plane of incidence. The
plane of incidence contains both the ray propagation vector and the surface normal vector at the intercept point.
The electric field is then divided into Es and Ep components, both of which are complex valued.
The electric field after the boundary is computed by the consideration of the S and P transmittance (if the
surface is refractive) or reflectance (if the surface is reflective). ZEMAX computes the reflectance and transmit-
tance coefficients, but only uses the one appropriate to propagation of the ray. For brevity, the rest of this
discussion will use the terms transmittance and refraction to indicate the terms of interest. If the surface is a
reflector (i.e. the glass type is MIRROR) then the reflectance coefficients will be used by the program automati-
cally. The electric field after refraction is then
E s' = Es s, E p' = Ep p ,
where the transmittance coefficients, s and p , are complex valued. After the Es and Ep projections are
computed, they are recomposed into the Ex, Ey, and Ez electric field vector and propagation continues to the next
surface. The computation of the transmittance coefficients depends upon the index of refraction of the incident
media, the (possibly complex) index of refraction and thickness of each layer in the optical coating (if any), and
where the symbol E denotes the complex conjugate of the vector E . Subscripts are applied to the symbol I
to indicate which intensity is listed, for example, Ix would be the intensity in the x direction only.
Phase, P
The phase of any one component of the electric field can be computed with the arg function, which is the
arctan(imaginary / real). The phase is given by
P = arg ( E ) .
IT = e .
i
e , = ( 2i ) ,
where is the path length and is measured in the medium. The propagation factors are written as the cosine
and sine of the angle . The "E Field After" from the previous surface will be multiplied by these factors to yield
the input electric field to the current surface. ZEMAX adopts the negative sign convention for the propagation
phase factors to be consistent with the convention of negative imaginary index to indicate absorption in coating
materials as discussed in Defining coatings in ZEMAX on page 501.
Amplitude Reflectance,
The reflectance amplitude is the complex valued coefficient of reflectance for the electric field. These are
computed for both S and P polarizations and using both field and ray phase conventions, as described above.
Amplitude Transmittance,
The transmittance amplitude is the complex valued coefficient of transmittance for the electric field. These are
computed for both S and P polarizations and using both field and ray phase conventions, as described above.
Intensity Reflectance, Rs, Rp
Reflectance intensity is measured normal to the surface. It is given the symbol R, and is always real valued
between 0 and 1. Reflectance can be computed from the reflectance amplitude as follows:
R = * .
T = * .
A = 1.0 T R .
Diattenuation, D
Diattenuation means "two attenuations", and is used to compare the loss of intensity of the S polarized light
compared to the P polarized light. Diattenuation is defined as
Ts Tp
D = ----------------
- .
Ts + Tp
P s = arg ( E s ), P p = arg ( Ep ) .
Retardance, S
For transmission, the retardance is the phase of the P polarization minus the phase of the S polarization:
S = arg ( E p ) arg ( E s ) .
For reflection, the retardance is the phase of the P polarization minus the phase of the S polarization plus :
S = arg ( E p ) arg ( E s ) + .
The different conventions are used to agree with common practice in the thin films industry.
Phase Difference Between X and Y, Pxy
This quantity is the phase difference between the X and Y components of the electric field, or
Pxy = Px Py .
n1 n2 2 4n 1 n 2
R = ----------------- , and T = -----------------------2- .
n1 + n 2 [ n 1 + n2 ]
Note that the reflectance increases substantially with incident angle, until nearly all of the light is reflected
rather than transmitted at grazing incidence angles. Note also that the S and P polarization states have different
transmittance. This leads to a polarization dependent apodization of the aperture.
Defining coatings in ZEMAX
For dielectric materials, the index of refraction is purely real, and therefore the imaginary part of the index is
zero. For metals, the index of refraction is complex. There are two sign conventions in common use for the
imaginary part of the index of refraction. ZEMAX uses the following convention:
= n + ik ,
where n is the usual index of refraction and k is the extinction coefficient, a negative value for absorbing
materials. The alternate sign convention is = n ik where k is then a positive value for absorbing materials,
but ZEMAX does not use this convention. For example, using the ZEMAX convention, the index of aluminum is
approximately given by
= 0.7 7.0i .
Note the extinction coefficient is negative using this convention for typical absorbing materials. This choice of
index sign convention is related to the sign convention used by the propagation phase factors, see Propagation
Phase Factors, pc, ps on page 499.
ZEMAX uses an ASCII file format to define all coating data. The file may be of any valid file name. A sample
file called COATING.DAT is supplied with ZEMAX, and COATING.DAT is the default coating file name for any new
lens. Multiple coating files may be defined, and the name of the coating file use by any particular lens file is defined
on the System, General, Files tab dialog box. It is highly recommended that any modifications to COATING.DAT
be saved in a file with a different name, so that subsequent updates to ZEMAX will not overwrite the changes
made to COATING.DAT.
In the coating file, The keywords MATE (for material), TAPR (for taper profile), COAT (for coating), TABLE (for
coatings defined by a table of points) and IDEAL or IDEAL2 (for ideal coatings) are used to define different types
of coating data. All of the material and taper definitions come first, then all of the coating definitions.
Coating file data syntax
The coating file consists of sections of data defining materials, tapers, and coatings. The data uses the
following format and syntax. Each data section is described in detail in the text which follows.
! For information on the TAPR format see "The TAPR data section" below.
TAPR <taper name>
DX decenterx
DY decentery
AN rotation_angle (degrees)
RT termnumber radialterm
CT termnumber cosineterm
PT termnumber polyterm
....
! For information on the COAT format see "The COAT data section" below.
COAT <coating name>
material thickness is_absolute loop_index tapername
material thickness is_absolute loop_index tapername
...
COAT I.transmission
! For information on the IDEAL format see "The IDEAL data section" below.
IDEAL <name> <Transmitted intensity> <Reflected intensity>
! For information on the IDEAL2 format see "The IDEAL2 data section" below.
IDEAL2 <name> s_rr s_ri s_tr s_ti p_rr p_ri p_tr p_ti no_pi_flag
! For information on the TABLE format see "The TABLE data section" below.
TABLE <coating name>
ANGL <angle in degrees>
WAVE <wavelength 1 in micrometers> Rs Rp Ts Tp Ars Arp Ats Atp
WAVE <wavelength 2 in micrometers> Rs Rp Ts Tp Ars Arp Ats Atp
WAVE <wavelength 3 in micrometers> Rs Rp Ts Tp Ars Arp Ats Atp
...
ANGL <next angle in degrees>
WAVE <wavelength 1 in micrometers> Rs Rp Ts Tp Ars Arp Ats Atp
WAVE <wavelength 2 in micrometers> Rs Rp Ts Tp Ars Arp Ats Atp
WAVE <wavelength 3 in micrometers> Rs Rp Ts Tp Ars Arp Ats Atp
...
For details on each of these coating definition keywords, see the discussions which follow.
d eff = d ( f r + f c + f p ) ,
where d is the nominal coating thickness and fr, fc, and fp are the radial, cosine, and polynomial taper factors,
respectively. The taper factors are functions of the decentered and rotated coordinates (x, y), which are
computed from the local surface coordinates using these expressions:
2 2
r = ( x' ) + ( y' ) .
20
i r ,
i
fr =
i=0
i ( cos ) ,
i
fc =
i=0
sin = --r- ,
R
where r is the radial coordinate as defined above and R is the radius of curvature of the substrate.
The polynomial taper factor is defined as:
20
fp = i Ei ,
i=0
where E i are the polynomial terms in x and y. The E i terms are a power series:
2 2 3
E 0 = 1 , E 1 = x' , E 2 = y' , E 3 = ( x' ) , E 4 = x'y' , E 5 = ( y' ) , E 6 = ( x' ) , etc.
Note the cosine taper factor will yield different coatings on substrates that have a different radius of curvature.
To define a coating whose thickness varies exactly as cos , the 0 cosine taper factor should be zero and the
1 cosine taper factor should be 1.0. When applying cosine taper factors to coatings on non-sequential
component objects; the substrate radius is ignored and treated as a plane. The radial and polynomial terms are
still used.
If the sum of the taper factors evaluates to a negative number, ZEMAX assumes it has a value of zero. The
parameters x d , y d , , i , i , and i are all defined in the taper data section of the coating file. Note that both
even and odd powers of the radial coordinate are used, and that the zero order term is used. The coefficients
generally have units and magnitudes that depend upon the lens units.
!Care should be taken to check that the proper lens units are being used when defining or
using tapered coatings.
The coating names may be any user defined name up to 20 characters in length, with no spaces or special
characters permitted.
ZEMAX uses the coating data in the following way:
When the coating file is first read, ZEMAX verifies that each coating consists of materials that were defined in
the material section. If referenced materials are not defined, an error is issued.
The coating thickness is measured either in units of primary wavelength thickness in that medium (relative
definition), or in units of micrometers independent of any wavelength (absolute definition). If relative definition
is used, the same coating used by two different lens files, with two different primary wavelengths, will have
different actual coating thicknesses. The actual thickness of the coating is determined by:
d = ----0- T ,
n0
where 0 is the primary wavelength in micrometers, n 0 is the real part of the index of refraction of the coating
at the primary wavelength, and T is the "optical thickness" of the coating specified in the coating file. For
example, in a coating material whose real part of the index of refraction is 1.4, a quarter wave coating (T =
0.25) at a primary wavelength of 0.550 micrometers would be 0.0982 micrometers thick. Note that only the
real part of the index of refraction is used for determining the thickness of the layer.
If the is_absolute integer is zero, the thickness is interpreted to be relative, otherwise, the coating thickness is
absolute in micrometers. If the is_absolute, loop_index, and tapername are omitted, then is_absolute and
loop_index are both assumed to be zero, and no taper is assumed.
Materials Description
Coatings Description
These materials and coatings are meant to be used as examples, and may not be applicable in any particular
situation. Always check with coating manufacturer or designer for details on coating material specifics. For more
detailed information on how these materials and coatings are defined, use the Coating Listing report described
in the chapter "Reports menu".
Jx
J = ,
Jy
where Jx and Jy have both a magnitude and a phase, and the symbol J is used instead of E to distinguish the
2D Jones vector from the 3D electric field vector E. ZEMAX normalizes the specified Jx and Jy values to have
unity magnitude, and then scales the intensity as appropriate if any pupil apodization has been specified. The Jx
and Jy values are therefore measured in terms of relative electric field amplitude.
Let the ray vector be K, which has X, Y, and Z direction cosines (l, m, n). For rays traveling parallel to the Z
axis, or K = (0, 0, 1), the electric field in the Z direction is identically zero, and the conversion from the Jones
vector to the Electric field is trivial:
E x = J x, E y = J y, E z = 0 .
For a more general ray, the conversion of the Jones vector (Jx, Jy) to the 3D electric field values (Ex, Ey, Ez)
is ambiguous. It is not possible to interpret the Jx and Jy values as meaning that for any ray, the Jx value should
be applied in such a way to leave the Ey zero, and for the Jy to be applied so that the Ex is zero. The reason is
that the E resulting for the Jones vectors (Jx = 1, Jy = 0) and (Jx = 0, Jy = 1) must be orthogonal to both K and
to each other.
E' x Ex
= A B ,
E' y C D Ey
where A, B, C, D, Ex, and Ey are all complex numbers. In the lens data and in the non-sequential components
editor, ZEMAX provides cells for defining A real, A imag, etc.
Note that what happens to the z component of the electric field is not defined by the Jones matrix surface,
which implicitly assumes the ray is at normal incidence. To compute the E component of the electric field, the
boundary condition is
k E= 0 ,
where E is the electric field after the Jones matrix and k is the ray vector. Since the X and Y components of
Component Matrix
Null matrix
( 1, 0 ) ( 0, 0 )
( 0, 0 ) ( 1, 0 )
X analyzer
( 1, 0 ) ( 0, 0 )
( 0, 0 ) ( 0, 0 )
Y analyzer
( 0, 0 ) ( 0, 0 )
( 0, 0 ) ( 1, 0 )
Quarter-Wave plate in X direction
( 0, 1 ) ( 0, 0 )
( 0, 0 ) ( 1, 0 )
t = e ,
where is the absorption coefficient and is the path length through the glass. The parameter generally
depends upon wavelength and has units of inverse length. See the Chapter "Using Glass Catalogs" for details
on defining transmission data. Polarization effects are not considered in all ZEMAX computations.
Modeling birefringent materials
Birefringent materials are modeled using the birefringent in/out surface types, described in Birefringent In and
Birefringent Out on page 235.
Modeling frustrated total internal reflection
Frustrated TIR (FTIR) occurs when a ray of light traveling through glass strikes an interface at an angle
exceeding the critical angle. If another dielectric medium, such as another piece of glass, is placed close, but not
touching the interface, some light will transmit through the thin gap and propagate, even though the refraction at
Transmission vs. angle for a FTIR beamsplitter. A FTIR beamsplitter in transmission. The tilted surface be-
tween the two glass blocks has a GAP coating.
However, the ray tracing for other purposes (such as computing system transmission, ray fans, optimization) will
only proceed along the transmitted path. To model the reflected path, give the internal tilted surface a glass type
of MIRROR, add a 90 degree coordinate break after the tilted surface, and change the sign of the remaining
thicknesses as usual.
The coating in this case now needs to be modified to indicate the presence of the second dielectric block, even
though no ray tracing will be conducted in the transmitted path; just the reflected path. A new coating needs to
be defined in the coating file (called FTIR in this example) that looks like:
COAT FTIR
AIR .1
N15 1
The "coating", when applied to a mirror, treats the mirror as a gap of air followed by piece of glass. Note that
detailed modeling of the index and dispersion of the substrate glass is certainly possible by definition of a glass
in the coating file; here N15 was used for simplicity. The thickness of the last material, N15, which defines the
substrate, is irrelevant because ZEMAX always assumes the substrate is semi-infinite when applied to a
MIRROR. The resulting lens figure and reflection plot is shown. Both the reflection and transmission plots are of
course identical for either system model.
Finally, note that conventional TIR can also be modeled by increasing the gap thickness. Distances much
greater than a fraction of a wavelength are essentially equivalent to an infinite gap. However, very large
thicknesses for evanescent wave propagation should not be defined in the coating file because of "underflow"
Reflection vs. angle for a FTIR beamsplitter. A FTIR beamsplitter in reflection. The tilted "mirror" surface
has a FTIR coating.
Introduction
!This feature is only available in the EE edition of ZEMAX. Physical optics propagation is
complex, and the user is urged to read and understand this chapter before using the feature.
Geometrical optics is the modeling of optical systems by tracing rays. Rays are imaginary lines which represent
normals to the surfaces of constant phase, called the wavefront. Either rays or wavefronts can be used to
represent a beam. However, rays and wavefronts are propagated differently. Rays propagate along straight lines
without interfering with one another, wavefronts propagate while coherently interfering with themselves. For this
reason, the ray model and the wavefront model yield different representations of the beam as it propagates
through free space or through optical components. The ray method is fast, flexible, and extremely useful for
modeling almost any optical system. However, rays are not well suited to modeling certain important effects,
primarily diffraction.
ZEMAX does have some ray based diffraction computations, such as the diffraction MTF or PSF. These
diffraction computations make a simplifying approximation: that all the important diffraction effects occur going
from the exit pupil to the image. This is sometimes called the "single step" approximation. Rays are used to
propagate the beam from the object, through all the optics and intervening spaces, all the way to the exit pupil in
image space. The ray distribution in the exit pupil, with transmitted amplitude and accumulated OPD used to
compute the phase, is used to form a complex amplitude wavefront. Then, in a single step, a diffraction
computation is used to propagate this complex amplitude wavefront to the region near focus.
Geometrical optics and the single step approximation work quite well for the majority of traditional optical
designs, where the beam is not near focus anywhere except the final image. However, the model breaks down
for several important cases:
When the beam comes to an intermediate focus, especially near optics that truncate the beam (rays by
themselves do not predict the correct distribution near focus).
When the diffraction effects far from focus are of interest (rays remain uniform in amplitude and phase,
wavefronts develop amplitude and phase structure).
When the propagation length is long and the beam is nearly collimated (collimated rays will remain
collimated over any distance, real beams diffract and spread).
Physical optics is the modeling of optical systems by propagating wavefronts. The beam is represented by an
array of discretely sampled points, analogous to the discrete sampling using rays for a geometric optics analysis.
The entire array is then propagated through the free space between optical surfaces. At each optical surface, a
transfer function is computed which transfers the beam from one side of the optical surface to the other. The
physical optics model allows very detailed study of arbitrary coherent optical beams, including:
Gaussian or higher order multi-mode laser beams of any form (beams are user definable).
Beams may be propagated along any arbitrary field position (skew beams).
Amplitude, phase, and intensity may be computed at any surface in the optical system.
Effects of finite lens apertures, including spatial filtering, may be modeled.
Accurate computation of propagation through any optical component ZEMAX can model via ray tracing.
The physical optics model is generally more accurate at predicting the detailed amplitude and phase structure
of the beam away from focus than conventional ray tracing. However there are some disadvantages to the
physical optics propagation analysis:
Physical optics is generally slower than geometrical optics.
E ( x, y, z ) = E x x + Ey y + E z z ,
where the E values are all complex and x , y , and z are the cartesian unit vectors. The coordinate system
used by ZEMAX is that the beam propagates primarily down a local Z axis. The Z axis used to represent the beam
is aligned with a reference chief ray in each optical space, and therefore this Z axis is not generally the same as
the Z axis defined by the Lens Data Editor which is used to position optics. Because the beam is propagating
along the local Z direction, the first approximation made is to neglect the E z component. Since the electric field
must always be normal to the ray propagation direction, E z can be reconstructed from other data when required,
as will be described later.
By keeping track of the electric field components along both the X and Y axes, effects due to polarization may
be studied, such as transmission and reflection losses, polarization aberrations, and of course the polarization
state of the beam. If polarization effects are not required, the Y component of the field may be ignored, speeding
the computations.
The Fresnel number
A very useful concept in physical optics modeling is the Fresnel number. Strictly speaking, the definition of the
Fresnel number only applies to unaberrated rotationally symmetric beams with a finite extent. However, the
concept is still useful in cases that do not meet these criteria. The Fresnel number depends upon the diameter
of the beam, the radius of curvature of the wavefront phase, and the distance to an observation point where the
complex amplitude of the field is desired. Conceptually the Fresnel number is the number of annular "Fresnel
zones" from the center of the beam to the edge. Fresnel zones are the radial zones where the phase as seen
from the observation point changes by .
2 2 2
Fn = --- [ Z + A Z ] ,
2
A
F n = ------ ,
Z
where A is the radial size of the beam and Z is the distance from the beam to the observation point. The
Fresnel number becomes small as Z grows large.
For beams that are not collimated, the concept is the same. A converging beam will have a very small Fresnel
number if the observation point is near focus. A perfectly spherical beam converging to focus will have a Fresnel
number of zero, since there are no zones where the observed phase reaches . As the observation point moves
from the focal region, the Fresnel number increases.
Near and far field
If the Fresnel number is small, less than roughly 1, then the beam at the observation point is said to be in the
"far field" relative to the current beam. For Fresnel numbers larger than 1, the beam at the observation point is
said to be in the "near field" relative to the current beam.
It is important to consider the terms near and far as being relative to the propagation from the present location
of the beam to the observation point at which the Fresnel number is computed, rather than having any rigid
relationship to the beam position alone. For example, a beam in the exit pupil of an optical system is typically
called the near field because the far field is at focus. However, a short propagation from focus to a slightly out of
focus observation point is likely a near field propagation if the defocus is small.
The decision as to whether a propagation is in the near or far field will determine the choice of diffraction
propagation methods.
Angular spectrum propagation
It is well known that plane waves remain plane waves while propagating in homogeneous medium. A plane
wave is represented by
ik z
e ,
where k is the wave vector, with magnitude ( 2 ) , and z is the local z direction. The vector k points along
the normal to the wavefront in the direction of propagation. This normal vector has direction cosines , , and
, where
2 2 2
+ + = 1.
i2
-------- ( x + y + z )
e
i2 ( x + y )
[ A ]e
1
FF [ A ] d d .
Let G = FF [ E ] , that is, G is the Fourier spectrum representation of the electric field E . By definition then
i2 ( x + y )
E ( x, y ) = G ( , )e d d .
The electric field can therefore be interpreted as being the integral of a collection of plane waves propagating
with direction cosines
2 2
= , = , and = 1 ( ) ( ) .
Eliminating , and making the approximation that the plane wave propagates at a small angle with respect
to the Z axis (for more information on these approximations see Algorithm assumptions on page 533), the plane
wave equation can be rewritten
i2z iz ( + )
2 2
i2z
----------- 1 2 2 ----------- ----------------------------------
e e e .
i2z
-----------
The e term is just a phase propagation term that is normally neglected. The term which depends upon
2 2 2
and is the transfer function for a plane wave in free space. Defining = + the plane wave transfer
function can then be rewritten as
2
iz
G ( , , z ) = G ( , , 0 )e .
To propagate an electric field from one plane to another, the field needs to be Fourier transformed, the plane
wave propagator applied, and then the resulting distribution inverse Fourier transformed. These operations may
be summarized by defining the plane to plane (PTP) operator:
E ( x, y, z 2 ) = PTP [ E ( x, y, z 1 ), ( z 2 z 1 ) ] , where
1
PTP ( E, z ) FF [ T ( z )FF [ E ] ] , and
2
iz
T ( z ) = e .
i2
ikz ---------- ( x 1 x 2 + y 1 y 2 )
e z
E ( x 2, y 2, z 2 ) = ------------ q ( r 2, z )
iz E ( x1, y1, z1 )q ( r1, z )e dx dy , where
( ir ) ( z )
2
q ( r, z ) = e .
Each of the terms in the above expression has a useful physical interpretation. The leading term indicates that
as the beam propagates, the phase changes along the z axis, just like the plane wave described earlier. The
amplitude also decreases linearly with distance, or the intensity (E*E) falls quadratically. The expression for
q ( r, z ) , called the quadratic phase factor, indicates that the phase is referenced to a sphere of radius z (strictly
speaking it is a parabola, but we have already assumed in the Fresnel development that r 2 z ). This is a very
useful property; all that is required in the representation of the electric field is the phase difference relative to the
reference sphere. This significantly reduces the number of sample points needed to accurately define the phase
of the beam.
When using the Fresnel propagator, the phase of the electric field is measured relative to a reference sphere
with a radius equal to that of the distance from the beam waist. This is not the same radius as the phase radius
of curvature of the Gaussian beam. Positive phase indicates the wavefront is advanced along the local +z axis
relative to the reference sphere, regardless of the direction of propagation.
i2
ikz ---------- ( x 1 x 2 + y 1 y 2 )
e z
E ( x 2, y 2, z 2 ) = ------------
iz E ( x1, y1, z1 )e dx dy , or
E ( x 2, y 2, z 2 ) = FF ( E ( x 1, y 1, z 1 ) ) ,
where phase and amplitude factors are omitted. The far field distribution is just a scaled version of the Fourier
transform of the near field distribution. Fraunhofer diffraction is only valid if the Fresnel number is nearly zero.
The ray based diffraction features in ZEMAX, such as the diffraction MTF and PSF assume Fraunhofer
diffraction. This is why ZEMAX cannot compute the ray based diffraction MTF or PSF if the beam is too much out
of focus. The Fraunhofer assumption is never used by the physical optics propagation algorithm in ZEMAX, it is
presented here for completeness.
The pilot beam
Consider a Gaussian beam with waist 0 . The Rayleigh range is given by
2
0
z r = ---------- .
The phase radius of curvature of the beam is a function of the distance from the beam waist, z :
2
zr
R ( z ) = z + ---- .
z
1 z
( z ) = tan ---- .
z r
12
( z ) = 0 1 + ----
z 2
.
z r
Note for large distances the beam size expands linearly. The divergence angle of the beam is given by
1
0
= tan ------ .
zr
Now consider the problem of numerically representing this beam by a discrete sampling of points. If a constant
spacing between points is used, the beam will expand beyond the edges of the array if the propagation proceeds
too far from the waist. Therefore, far from the waist, a linearly expanding coordinate system where the point
spacing is proportional to z is best. However, near the waist, the beam size does not decrease to zero, but remains
reasonably constant. In this domain, a constant sampling is most convenient.
The compromise sampling system is to use a constant spacing near the waist, and a linearly scaled spacing
far from the waist. The transition point is somewhat arbitrary, however for optical design applications a value of
twice the Rayleigh range has proved useful, and ZEMAX uses this threshold. For this reason, in the following
discussion about propagation in and out of the Rayleigh range, the actual threshold point may be different than
the Rayleigh distance. The concept however remains the same.
The diffraction theory developed earlier did not assume any particular shape or form to the electric field being
propagated. The algorithms are for the most part independent of the field distribution. However, the problem of
sampling remains. It is also impractical to compute (or even define) Fresnel numbers for arbitrary, aberrated
beams with irregular or non-existent apertures.
For this reason, a pilot beam is used to assist the physical optics propagation algorithm in determining which
propagation algorithm to select. The pilot beam is an ideal Gaussian beam, with a waist, beam size, phase radius,
and relative z position. The initial parameters may be generated by fitting the Gaussian beam equations to the
initial distribution. The pilot beam is then propagated from surface to surface. At each surface, new beam
parameters, such as the new waist, phase radius, or position are computed. The properties of the pilot beam are
then used to determine if the actual distribution is inside or outside the Rayleigh range, and what propagation
algorithms are appropriate.
After passing through an aperture that significantly truncates the beam, such as a pinhole aperture, it may be
required to recompute the pilot beam parameters, as described later in this chapter.
Sign conventions for phase data
It is very important to understand the phase sign conventions when constructing beams using DLLs, files, or
when performing fiber coupling calculations where phase matching is critical.
E ( x 2, y 2, z 2 ) = WTS [ E ( x 1, y 1, 0 ), z 2 ] , where
1 s z
WTS ( E, z ) ---------- FF [ q ( r 1, z 2 )E ] , s = ------2- ,
iz 2 z2
z2 z2
x 2 = -------------- , and y 2 = -------------- ,
n x x 1 n y y 1
where nx and ny are the number of points in the x and y directions of the array. The last two expressions yield
the new linearly scaled sample spacings after application of the operator. Reversing the order of operations results
in the sphere to waist (STW) operator:
s
STW ( E, z ) q ( r 1, z 2 )FF [ iz 2 E ] ,
with a similar change in the sample spacing. There are four possible general propagation cases to consider:
II: propagation from inside to inside the Rayleigh range.
IO: propagation from inside to outside the Rayleigh range.
OI: propagation from outside to inside the Rayleigh range.
OO: propagation from outside to outside the Rayleigh range.
All these cases can be handled with the appropriate combination of the PTP, WTS, and STW operators:
II(z1, z2) = PTP(z2 - z1)
IO(z1, z2) = WTS(z2 - z0)PTP(z0 - z1)
OI(z1, z2) = PTP(z2 - z0)STW(z0 - z1)
OO(z1, z2) = WTS(z2 - z0)STW(z0 - z1)
where z0 is the pilot beam waist position, z1 is the starting beam position, and z2 is the end beam position.
Separation of X and Y propagation
For rotationally symmetric optics, a single rotationally symmetric pilot beam and propagation method is
appropriate. When the beam is astigmatic or anamorphic, and/or the optical components are cylindrical or
toroidal, then a more efficient model for the beam is to separate the X and Y propagation. Separation of X and Y
direction propagation is accomplished by choosing the appropriate option, see Beam Definition Tab: on
page 190.
If the propagation in X and Y is separated, then there will be two pilot beams; one each for the X and Y direction.
The phase references will also be distinct in the X and Y directions. In place of a spherical reference surface, a
"bispherical" surface is used instead. The sag of a bispherical surface is given by:
2 2
cx x + cy y
z = ------------------------------------------------- ,
2 2 2 2
1 + 1 cx x cy y
1 1
c x = ----- , c y = ----- .
Rx Ry
The pilot beam, including beam phase radius, waist, position, Rayleigh Range, divergence, are all distinct in
the X and Y directions. There is a small amount of additional computational overhead in propagating the X and
Y portions of the beam independently, and so this option should only be used when required.
Comments about point spacing and sampling
Although the total number of array points n x and n y , remain constant, the array size and point spacings x
and y will change as the beam propagates. If the array width is very large at the beam waist relative to the waist
size, then there are relatively few points across the beam waist. This will result in a smaller array size far from
the waist, with a relatively large number of points across the beam size. Conversely, if the array size is small at
the waist, the array size will grow large compared to the beam far from the waist, leaving few sample points to
represent the beam. This inverse relationship is a necessary but frequently inconvenient product of the Fourier
transform theory used to model the diffraction. The exact equations describing the change in point spacing are
given in the previous section.
There is clearly a tradeoff between good sampling of the beam near the waist and good sampling far from the
waist. It can be shown that to achieve approximately uniform sampling relative to the beam size at both the waist
and far from the beam waist the array size at the beam waist in the X and Y directions should be
X = 0x n x , Y = 0y n y .
The physical optics analysis feature settings include an "Auto" button which will use this formula to set a
suggested initial array width. See Physical Optics Propagation on page 190.
Propagation through arbitrary optical surfaces
The methods described thus far are good for propagating through homogeneous space. However, the prime
interest is in propagating the beam through optical components such as lenses and apertures.
It is not practical to directly perform a diffraction propagation through an arbitrary surface shape. The difficulty
lies in the representation of the complex amplitude at discrete points in a plane or spherical phase referenced
array. When the beam is incident on a curved surface, different parts of the beam intercept the surface at different
points along the local z axis.
To avoid this problem, the properties of the pilot beam are used to generate a set of rays that represent the
wavefront incident upon the surface. This set of rays, called the probing rays, is then traced through the optical
surface using conventional geometric optics. The path length of each ray, and the positional and angular
aberrations generated, are then used to reconstruct the pilot beam and complex amplitude after the surface. The
probing ray set is used to generate the transfer through the surface.
The probing ray set can be used to determine:
The effective power of the surface with respect to the pilot beam.
The direction of the beam after leaving the surface.
The polarization phase and amplitude transmission of a surface.
The vignetting of the surface with any supported surface apertures (or ray errors). Note that surfaces without
hard apertures defined will pass the entire beam without vignetting, independent of how the system aperture
is set.
The phase aberrations.
The anamorphic and non-linear stretching and compression (distortion) of the beam.
x dx 2 y dy 2
-------------- + --------------
0x 0y
E ( x, y ) = E 0 e , if
x-------------
dx- 2 y-------------
dy- 2
Ay 1
+ , and
Ax
E ( x, y ) = 0 otherwise.
The dx and dy values are the decenter values, Ax and Ay are the truncating aperture values, and E 0 is chosen
to yield the peak irradiance in power per unit area defined in the settings box. If Ax or Ay are zero, no truncating
aperture is used. A smoothing function is used near the edge of the truncating aperture to avoid pixel related
errors. The smoothing function weights the pixel amplitude by the area of the pixel inside the truncating aperture.
0 = --------------- .
tan
Note that the angle is the half-angle of divergence in degrees, and the wavelength is not scaled by the index
of the starting medium. If the x and y angle values are different, then an elliptical beam will be generated. The
rest of the beam definition is then identical to the Gaussian Waist.
Gaussian Size+Angle
The Gaussian Size+Angle beam is similar to the Gaussian Waist and Angle beams. The distinction is that the
Gaussian Size+Angle beam is defined by the beam size (not waist) at the starting surface and the far-field
divergence half-angle in degrees, measured in air. ZEMAX uses the specified beam size and divergence angle
to compute the beam waist, position, and phase. The beam waist is given by:
0 = --------------- .
tan
Note that the angle is the half-angle of divergence in degrees, and the wavelength is not scaled by the index
of the starting medium. If the resulting beam waist is larger than the specified beam size (a physical impossibility),
the waist value will be used for the beam size. The z position of the beam relative to the waist is then computed
using:
2
z = z r ------ 1 ,
0
where z r is the Rayleigh range. If the x and y values are different, then an elliptical beam with a possibly
toroidal phase will be generated.
Top Hat
The top hat beam is defined as
E ( x, y ) = 0 if -------------- + -------------- 1 ,
x dx 2 y dy 2
wx wy
where E 0 is chosen to yield the peak irradiance in power per unit area defined in the settings box.
The width of the array should be at least 6-10 times the waist size w, in each direction.
!All ZBF Beam Files must be placed in the \POP\BEAMFILES subdirectory off the main ZEMAX
directory.
Beams in ZEMAX are always centered on the chief ray for the selected field and wavelength. Therefore, the
data in the beam file should be positioned relative to the chief ray that will be used to align the beam. The center
point in the beam file is at the coordinate (nx/2+1, ny/2+1). ZEMAX requires the values of nx and ny to be an
integral power of 2; for example, 32, 64, 128, 256, etc. The minimum sampling is 32 and the current maximum
sampling is 8192. Fiber coupling data is ignored when reading beams, and will be zero if fiber coupling is not
computed on output. Note the total fiber coupling is the product of the receiver and system efficiency. The first
data point is at the -x, -y corner, and the data proceeds across the x rows first. The Rayleigh distance is ignored
on input and is automatically recomputed by ZEMAX. The wavelength value stored in the ZBF file is scaled by
the index of the media the beam is currently in.
ZEMAX Beam File (ZBF) binary format
The ZBF binary file format is defined as follows. All integers are 4 bytes, all doubles are 8 bytes.
1 integer: The format version number, currently 0.
1 integer: The number of x samples (nx).
1 integer: The number of y samples (ny).
1 integer: The "is polarized" flag; 0 for unpolarized, 1 for polarized.
1 integer: Units, 0 for mm, 1 for cm, 2 for in, 3 for meters.
4 integers: Currently unused, may be any value.
1 double: The x direction spacing between points.
1 double: The y direction spacing between points.
1 double: The z position relative to the pilot beam waist, x direction.
1 double: The Rayleigh distance for the pilot beam, x direction.
1 double: The wavelength in lens units of the beam in the current medium.
1 double: The waist in lens units of the pilot beam, x direction.
1 double: The receiver efficiency. Zero if fiber coupling is not computed.
1 double: The system efficiency. Zero if fiber coupling is not computed.
1 double: The z position relative to the pilot beam waist, y direction.
1 double: The Rayleigh distance for the pilot beam, y direction.
1 double: The waist in lens units of the pilot beam, y direction.
2*nx*ny double: Ex values.
If polarized, 2*nx*ny Ey values follow the Ex values.
ZEMAX Beam File (ZBF) ASCII format
The ZBF ASCII file format is defined as follows. The first line must be the single character "A", followed by the
other data values specified.
A: indicates an ASCII file.
version: The format version number, currently 0.
nx: The number of x samples.
ny: The number of y samples.
ispol: The "is polarized" flag; 0 for unpolarized, 1 for polarized.
units: 0 for mm, 1 for cm, 2 for in, 3 for meters.
unused 1: Currently unused, may be any value.
unused 2: Currently unused, may be any value.
unused 3: Currently unused, may be any value.
unused 4: Currently unused, may be any value.
dx: The x direction spacing between points.
dy: The y direction spacing between points.
zx: The z position relative to the pilot beam waist, x direction.
Rx: The Rayleigh distance for the pilot beam, x direction.
!All Beam DLLs must be placed in the \POP\DLL subdirectory off the main ZEMAX directory.
Surface specific settings
Each ZEMAX surface supports these settings relevant to Physical Optics Propagation:
Use Rays To Propagate To Next Surface: If checked, then the diffraction propagation algorithms will not be
used to propagate the beam to the next surface. Instead, rays will be traced to the next surface and the
resulting ray transfer function will be used to propagate the beam and update the pilot beam parameters.
Multiple sequential surfaces may all have this option checked, in which case the beam will advance through
all the surfaces using only ray propagation. Use of this feature is required for non-sequential, birefringent,
and gradient index surfaces. This feature may also be used to speed up the propagation algorithm by
propagating through several surfaces at once, if the distance between the surfaces is small enough so that
the diffraction propagation is unimportant. The default is unchecked.
Re-Compute Pilot Beam Parameters: Some surfaces significantly alter the beam characteristics. A good
example is a pinhole aperture. After passing the aperture, the beam waist size, divergence, and position
may be significantly altered, even though technically the pinhole has no optical power (this is in fact the
core difference between geometric and physical optics). After passing the pinhole, the pilot beam parame-
ters need to be recomputed for subsequent accurate propagation. Checking this option will invoke an
T =
Fr ( x, y )W ( x, y ) dx dy
-------------------------------------------------------------------------------------------------------------------- ,
Fr ( x, y )Fr ( x, y ) dx dy W ( x, y )W ( x, y ) dx dy
where F r ( x, y ) is the function describing the receiving fiber complex amplitude, W ( x, y ) is the function
describing the complex amplitude of the beam coupling into the fiber, and the symbol represents complex
conjugate. Note that these functions are all complex valued, so this is a coherent overlap integral. Maximum
receiver efficiency (T = 1.0) is achieved when the mode of the beam perfectly matches the mode of the fiber in
both amplitude and phase at all points. Any deviation in mode shape, or phase, will reduce the value of T to less
than 1.0. Optical aberrations typically introduce phase deviations which reduce receiver efficiency.
Additional system losses may be caused by apertures which vignette the beam, losses due to reflection from
air-glass boundaries, or bulk absorption. These loss factors reduce the system efficiency. The total coupling
efficiency into the fiber is the system efficiency multiplied by the receiver efficiency.
Where the integral is computed
The fiber coupling receiver efficiency integral defined above is valid and may be computed anywhere in the
optical system; including at the location of the fiber, or at some location near or far from the fiber. The critical
requirement is that the fiber mode function describes the mode of the fiber at the point the integral is computed,
which is always the "end" surface (see Physical Optics on page 187 for a list of analysis options, including
specification of the end surface and the fiber mode). If the end surface represents the beam at the location of the
receiving fiber, then the fiber mode parameters must correspond to the mode at the receiving fiber. If the end
surface is 10 mm away from the fiber, then the fiber mode parameters must be selected to define the mode 10
mm away from the fiber.
Defining the fiber mode
The fiber mode may be a Gaussian or Top Hat function, or may be defined by a DLL or a data file. This allows
very general and arbitrary fiber modes to be described, including multi-mode, aberrated, or arbitrary amplitude
and phase fibers. The fiber mode may be defined using all the same options allowed for defining initial beams,
see Defining the initial beam on page 526.
Decenters and tilts
It is usually valuable to determine fiber coupling for decentered and tilted fibers.
Decenter X/Y values are in lens units and may be defined on the fiber data tab of the Physical Optics
Propagation settings box (Physical Optics Propagation on page 190). These values decenter the fiber mode.
The decenter values shift the center of the mode within the array defining the fiber mode at the end surface. For
this reason, the decenter values should be small enough to keep the majority of the mode energy inside the array
width/height at the end surface.
The tilt values are in degrees. Tilt of the fiber is modeled as adding a linear phase shift to the fiber mode. The
phase shift is proportional to the fiber tilts and the mode width/height.
Note that if the end surface is at the receiving fiber location (typically near focus) then a tilt of the fiber
introduces phase tilt. If the end surface is far from the fiber, then tilt of the fiber introduces a decenter of the mode.
Therefore, great care must be used in selecting the tilt and decenter values; proper use of these values depends
upon knowledge of where the overlap integral is being computed (at the end surface!) relative to the fiber location.
Choosing the location for the receiving fiber
The receiving fiber mode may be either centered on the incoming beam chief ray or at the end surface vertex.
In this latter case, the fiber mode is decentered by the amount equal to the incoming chief rays x and y coordinates
on the end surface, and the fiber is tilted to be aligned with the local Z axis rather than along the chief ray. The
surface vertex option is not permitted when using the File option for defining the fiber mode.
!Always check the initial beam by setting the end surface to the start surface in the analysis
window, and observe that the beam is properly sized for the selected array width.
Use adequate sampling. As the guard beam increases in size relative to the non-zero amplitude portion of
the beam, the number of points that have non-zero data will decrease. It may be required to increase the
sampling to be sure enough points sample the beam.
If there are any cylindrical or toroidal optics in the system, or if the beam itself is astigmatic or anamorphic,
try using "Separate X, Y" on the beam definition tab. Separating the X and Y propagation greatly reduces
the sampling required for accurate results because a reference bispherical surface is used instead of a
reference sphere, and the bisphere is capable of more closely fitting anamorphic beams.
If the results seem unbelievable, debug the propagation by propagating one surface at a time through the
optical system, and study the results for plausibility. Typically this process will highlight at which surface the
algorithm fails. It is frequently the case that certain surfaces, such as gradient index optics or highly tilted
surfaces, are best handled by ray tracing. For these surfaces, choose the "Use Rays To Propagate To Next
Surface" option.
Imagine a large diameter beam with a wavelength of 1.0 micrometers (0.001 mm), an array width of 64 mm,
and a sampling of 64 x 64 points. The delta between points is 1.0 mm. Now imagine the beam going through
a collimating lens with a focal length of 100.0 mm. The sampling spacing near focus is given by:
z2
x 2 = -------------- ,
n x x 1
which yields a new sampling spacing of 0.0015625 and a total width of 0.1 mm. To decrease the sample
spacing in the focal plane while keeping the array width constant, the product n x x 1 must increase. Since
the sample spacing is the array width divided by the number of points, both the number of points and the
initial array width would have to be doubled. If the aberrations are so large that the beam size is on the
order of the array width in the focal plane, then the array width must increase. Note the array width in the
focal plane is given by:
z2
n x x 2 = ----------
-.
x 1
Increasing the array width can be accomplished by increasing the number of points while leaving the initial
array width fixed.
!Note that the beam sampling and width may be manually adjusted at any surface.
See Surface specific settings on page 529 for information on resizing the beam at any surface.
Samples
Many sample files are included with ZEMAX to demonstrate some of the applications and proper use of the
physical optics modeling features. The files are located in the \Samples\Physical Optics directory. Some of these
files are described below. Because of the large amount of computation involved in physical optics propagation,
some of these files take some time to compute and display the results.
Free space propagation
The sample file "Basic Propagation" illustrates the case of a beam propagating through free space. The beam
is a Gaussian defined to have a waist of 0.1 at surface 1. The wavelength is chosen to be micrometers so that
the Rayleigh range is 10.0 mm. At a distance of 1 Rayleigh range, the beam expands in size by 2 , and the peak
irradiance drops to 0.5. At a distance of 2 Rayleigh ranges, the peak irradiance drops to 0.2, and at 3 Rayleigh
ranges the irradiance decreases to 0.1.
Note that beam may be virtually propagated backward using the normal ZEMAX sign convention of a negative
thickness. Choosing the "End Surface" to be any of the surfaces in the LDE will show the beam intensity at that
surface. Note the phase of the beam along the axis has the correct Gouy shift.
A lens array
The sample file "Lenslet Array" uses the user defined surface DLL "US_ARRAY.DLL" to create a 7 x 7 array
of rectangular lenses. The focal distance is 100.0 mm, and the pilot beam will focus down to a waist size of about
10 micrometers. However, the lenslet array forms multiple focal spots. To see all of the spots requires high
sampling so that all the spots can be seen without aliasing. Notice the decrease in intensity and the aberrations
apparent in the spots towards the outside. It is also possible to see the rectangular structure in the diffracted image
spots due to the rectangular apertures of the lenslets.
Talbot imaging
Talbot imaging refers to the property of a beam forming an image of itself as it propagates. The image reveals
itself in both phase and amplitude modulations as the beam propagates. The sample file "Talbot Imaging" shows
a user defined aperture on surface 1 that consists of 20 rectangular slits, like a grating. A propagation of 20 mm
reveals the phase reversed Talbot image of the grating. An additional 20.0 mm shows the restored image of the
grating. The image is not perfect because of the finite extent of the grating. Note the region near the center of the
grating has a well formed image.
Fresnel lens
The sample file "Fresnel Zone Plate Lens" illustrates the focusing power of an aperture consisting of concentric
rings. The spacing of the rings is selected to block light from every other Fresnel zone, so that at a distance of
200.0 mm the light diffracted from all the zones interferes constructively. The constructive interference creates a
bright focused spot on axis; an effect not predicted by ray tracing. This file also illustrates the intensity of the beam
at several planes between the Fresnel zone plate and focus; note the concentric ripples caused by interference
from the edges of the zone plate.
Since ZEMAX does not have a multiple-zoned circular aperture, the zone plate was created by placing one
annular obscuration on each of several surfaces; all located at the same plane. The option to "Use Rays To
Propagate To Next Surface" is used to speed the computation through all the aperture surfaces.
Introduction
The ZEMAX Programming Language (ZPL) is a macro language specifically designed for use with ZEMAX.
ZPL offers the power of user-extensibility. This means that if you need a particular calculation or graphical display
which is not "built in", you can write your own ZPL macro to do the job. ZPL macros can be stored on disk and
called from within ZEMAX.
ZPL is similar to the BASIC programming language, except not all BASIC constructs and keywords are
supported, and some new capabilities and functions unique to ray tracing have been added. If you are familiar
with BASIC, you will learn ZPL quickly. If you are not, or if you have never programmed before, don't panic! ZPL
is easy to use, and this chapter will give you instructions and examples to get you started.
MCON(row, config, da- Row (operand number), Extracts data from any row and configuration of
ta) Configuration number, and data the Multi-Configuration Editor. This function is
value to extract from the Multi- similar to MCOP with extended capabilities for
Configuration Editor. extracting data.
If the row and config number are both zero,
MCON returns either the number of operands,
the number of configurations, or the active
configuration number for data = 0, 1, and 2,
respectively.
If the row number is between 1 and the number
of multi-config operands, and the config number
is zero, MCON returns the operand type,
integer 1, integer 2, integer 3, and string flag for
that specified row, for data = 0 through 4
respectively. The 3 integer values are used for
various purposes for different operands, such
as surface and wavelength numbers. The string
flag is 1 if the operand data is a string value,
such as a glass name, or 0 for numerical data.
If the row number is between 1 and the number
of multi-config operands, and the config number
is valid, MCON returns either the numerical
value or the string data for that operand.
Note that all string data returned by MCON
must be extracted with the $buffer command
after the call to MCON. For example, the
following code sample will place the name of
the operand on row 1 in a$:
dummy = MCON(1, 0, 0)
a$ = $buffer()
See also keyword SETMCOPERAND.
MCOP(row, config) R ow (o pe ra nd n um b er) an d Extracts data from any row and configuration of
configuration of the Multi- the Multi-Configuration Editor. A configuration
Configuration Editor. nu m be r o f z ero in dic ate s the c urre nt
configuration. See also keyword
SETMCOPERAND.
MFCN() (null) MFCN updates the lens, validates the merit
function, updates the merit function, then
returns the current merit function value. See
OPER.
NCON() (null) Returns the number of configurations.
NFLD() (null) The number of defined fields.
NOBJ(surf) Valid non-sequential surface The number of defined objects in the non-
number sequential surface.
NPAR(surf, object, surf is the surface number, object Returns a value from the parameter columns of
param) is the object number, and param is the non-sequential components editor. See
the parameter number of the value SETNSCPARAMETER on page 590.
to return.
NPOS(surf, object, surf is the surface number, object Returns a value from the position columns of
code) is the object number, and code is the non-sequential components editor. See
0-6 for reference object, x, y, z, tilt SETNSCPOSITION on page 591.
x, tilt y, and tilt z position to return,
respectively.
NPRO(surf, object, surf is the surface number, object Returns a numeric or string value from the
code, csg) is the object number, code values property pages of objects defined in the non-
are as defined for the sequential components editor. For information
SETNSCPROPERTY keyword, on the code values, see SETNSCPROPERTY
and csg is the coating and on page 591. String values may be extracted
scattering group number. using the $buffer() function after calling this
function with a code that returns string data. For
example, to extract the comment column of
object 5 from NSC surface 2 use these two
commands:
dummy = NPRO(2, 5, 1, 0)
a$ = $buffer()
The value dummy may be ignored. The string
variable a$ will contain the object comment.
NSDC(surf, object, pixel, The surf value indicates the If the object number corresponds to a detector
data) surface number of non-sequential object, then the coherent intensity data from the
group. specified pixel is returned. Coherent intensity
The object number indicates the consists of 4 numbers which are each summed
desired detector. over all incident rays: the real part, the
Pixel indicates which pixel value is imaginary part, the amplitude, and the
returned. incoherent intensity.
Data is 0 for real, 1 for imaginary, 2
for the amplitude sum, and 3 for the
coherent intensity.
See also NSTR on page 575.
NSDD(surf, object, pixel, The surf value indicates the If the object number is zero, then all detectors
data) surface number of non-sequential are cleared and the function returns zero. If the
group. object number corresponds to a detector object,
The object number indicates the then the incoherent intensity data from the
desired detector. specified pixel is returned.
Pixel indicates which pixel value is If the pixel number is zero, then the sum of the
returned, see the discussion to the flux or average flux/area for all pixels for that
right for details. detector object is returned. If the pixel number
Data is 0 for flux, 1 for flux/area, is -1, then the maximum flux or flux/area is
and 2 for flux/solid angle pixel. returned. If the pixel number is -2, then the
minimum flux or flux/area is returned. If the pixel
See also NSTR on page 575. number is -3, the number of rays striking the
detector is returned. If the pixel number is -4,
the RMS deviation from the mean is returned.
If data is 2 then the pixel number must be
greater than 0, otherwise, a value of 0 is
returned. Only data values 0 and 1 (for flux and
flux/area) are supported for faceted detectors.
NSUR() (null) The number of defined surfaces.
NWAV() (null) The number of defined wavelengths.
OCOD(A$) Any string variable or literal that is The optimization operand code number used by
the name of a ZEMAX optimization the OPEV function.
operand.
ONUM(A$) Any string variable name If the string A$ is the name of a valid
optimization operand, such as EFFL, then
ONUM returns the id number of the operand.
The operand id number can subsequently be
used by SETOPERAND to set the operand type
in the merit function editor. If A$ does not
correspond to any operand name, ONUM
returns 0.
OPDC() (null) The optical path difference. Valid only after a
RAYTRACE or RAYTRACEX call. OPDC will
not return valid data if the chief ray cannot be
traced.
OPER(row, col) R ow (o pe ra nd n um b er) an d Extracts data from any row and column of the
column (data type) of the Merit Merit Function Editor. The row is the same as
Function Editor. the operand number; the column is 1 for type, 2
for int1, 3 for int2, 4-7 for Hx-Py, 8 for target, 9
for weight, 10 for value, and 11 for percent
contribution. OPER does not update the lens or
the merit function, it returns the current data.
S e e a l s o O P E V, M F C N a n d k e y w o r d
SETOPERAND.
OPEV(code, int1, int2, Code is the optimization operand Computes the same value as any optimization
hx, hy, px, py) code (see function OCOD), and operand would, without the need to add the
int1, int2, hx, hy, px, and py values operand to the merit function. This is useful for
for the operand. See Optimization computing numbers already available from the
operands on page 391 optimization operands. For example, to
compute the EFL from the EFFL operand use
this code:
C = OCOD("EFFL")
E = OPEV(C, 0, 1, 0, 0, 0, 0)
See also OPER, OCOD, MFCN and keyword
SETOPERAND.
OPTH(x) Valid surface number The optical path length along the ray to the
specified surface. Unlike RAYT and RAYO,
OPTH considers the phase added by diffractive
surfaces such as gratings, holograms, and
binary optics. Valid only after a RAYTRACE or
RAYTRACEX call. OPTH will not return valid
data if the chief ray cannot be traced.
PARM(n,s) Valid parameter number and Parameter "n" of surface "s".
surface number
PARn(x) Valid surface number Obsolete, use PARM instead.
PMOD() (null) 0 if paraxial mode is off, else 1.
POWR(x,y) x is positive, y is any number Computes x to the power of y. X must be
positive, or the absolute value is used.
PVHX() (null) "Hx" parameter from the ZPLM optimization
operand.
PVHY() (null) "Hy" parameter from the ZPLM optimization
operand.
PVPX() (null) "Px" parameter from the ZPLM optimization
operand.
RAYT(x) Valid surface number The ray path length from the previous surface
to the specified surface. The path length may be
negative. Valid only after a RAYTRACE or
RAYTRACEX call. See also OPTH and RAYO.
For rays inside a non-sequential surface, RAYT
returns the sum of the path lengths along all
segments. See also RAYO.
RAYV() (null) 0 if ray was not vignetted, else vignetted surface
number. Valid only after a RAYTRACE or
RAYTRACEX call.
RAYX(x) Valid surface number The X-coordinate of the ray intercept. Valid only
after a RAYTRACE or RAYTRACEX call.
RAYY(x) Valid surface number The Y-coordinate of the ray intercept. Valid only
after a RAYTRACE or RAYTRACEX call.
RAYZ(x) Valid surface number The Z-coordinate of the ray intercept. Valid only
after a RAYTRACE or RAYTRACEX call.
RELI(f) Relative illumination RI for the specified field position.
SAGG(x,y,z) x,y are the coordinates in lens units Computes the sag in lens units at the specified
at the surface number z point on the surface.
SCOD(A$) Any string variable or literal that is The surface type code of the surface. See
the name of a ZEMAX surface function STYP and SURFTYPE on page 598.
type. The valid names are 8
character strings displayed on the
prescription data report for each
surface type in use. These are not
the same names that are displayed
in the Lens Data Editor.
SCOM(A$, B$) Any two string variable names If the strings are equal, SCOM returns 0. If A$
is less than B$, then SCOM returns a value less
than 0; otherwise, a value greater than 0.
SDIA(x) Valid surface number Semi-diameter of surface.
SIGN(x) Numeric expression Returns -1 if the argument is less than zero, 0 if
the argument is zero, and +1 if the argument is
positive.
SINE(x) Numeric expression in radians Sine of the expression.
SLEN(A$) Any string variable name The number of characters in the string variable
A$
SOLV(surf, code, Surf is the surface number. Code is The return value is data about the solve type for
param) 0 for curvature, 1 for thickness, 2 the specified surface and data. If param is zero,
for glass, 3 for conic, 4 for semi- then an integer corresponding to the solve type
diameter, and 5 for TCE. Param is is returned. For param between 1 and 3, the
an integer between 0 and 3. data is the solve parameters. For more
information on the solve data and the meaning
of the solve parameters, see SOLVES on
page 379.
SPRO(surf, code) Surf is the surface number and Returns a numeric or string value from the
code values are as defined for the property pages or editors of surfaces defined in
S E T S U R FA C E P R O P E R T Y the lens data editor. For information on the code
keyword. values, see SETSURFACEPROPERTY on
page 593. String values may be extracted using
the $buffer() function after calling this function
with a code that returns string data. For
example, to extract the comment column of
surface 4 use these two commands:
dummy = SPRO(4, 1)
a$ = $buffer()
The value dummy may be ignored. The string
variable a$ will contain the surface comment.
SQRT(x) Positive numeric expression Square root of the expression.
STDD(surf, parm) Surface number, tilt and decenter The value of the specified surface tilt and
data parameter decenter parameter. For a description of the
parameter numbers, see SETSTDD on
page 593.
STYP(n) Surface number n The surface type code of the surface. See
function SCOD and SURFTYPE on page 598
SVAL(A$) Any string variable name String value. Returns a floating point value of
the string A$.
TANG(x) Numeric expression in radians Tangent of the expression.
TMAS() Total mass in grams The total mass in grams of the lens from surface
1 to the image surface.
THIC(x) Valid surface number Thickness of the surface.
UNIT() (null) Returns 0, 1, 2, or 3, if the current unit type is
millimeters, centimeters, inches, or meters,
respectively.
VEC1(x) Positive subscript value Returns the value of the array variable at the
specified subscript.
VEC2(x) Positive subscript value Returns the value of the array variable at the
specified subscript.
VEC3(x) Positive subscript value Returns the value of the array variable at the
specified subscript.
VEC4(x) Positive subscript value Returns the value of the array variable at the
specified subscript.
VERS() (null) Returns the four digit version code. A typical
version number is 10000 for version 10.0.
Subsequent versions of ZEMAX will return
larger version codes.
WAVL(x) Valid wavelength number Wavelength in micrometers.
WWGT(x) Valid wavelength number Wavelength weighting.
XMIN() (null) The minimum x-coordinate in the graphics
window.
Logical Description
Function Description
$BUFFER() Returns the current string in the lens buffer. This function is used to extract string
data from various ZPL keywords and functions.
$COAT(i) Returns the coating name for the ith surface.
$COMMENT(i) Returns the comment string for the ith surface.
$DATE() Returns the current date and time string. The formatting is specified by the Date/
Time control settings described under Miscellaneous on page 60.
$EXTENSIONPATH() Returns the path name for ZEMAX extensions.
$FILENAME() Returns the current lens file name, without the path.
$FILEPATH() Returns the current lens file name, with the complete path.
$GETSTRING(A$, n) Returns the nth sub-string for the string A$. For example, if A$ = "one two three",
then $GETSTRING(A$, 2) returns "two". Spaces and commas are used as
delimiters, although commas count as separate sub-strings. See $LEFTSTRING
and $RIGHTSTRING.
$GLASS(i) Returns the glass name of surface number i.
$LEFTSTRING(A$, n) Returns the left most n characters in the string A$. If A$ has fewer than n
characters, the remaining spaces will be padded with blanks. This allows
formatting of strings with a fixed length. See $GETSTRING and $RIGHTSTRING.
$LENSNAME() Returns the lens title defined in the General System dialog box.
$NOTE(line#) Returns the notes information defined in the General System dialog box. Because
the notes may be very long, $NOTE returns the characters from the notes in
groups called lines. A line ends when a newline (carriage return) character is
found, or when the total number of consecutive characters on the line reaches 100,
whichever comes first. The line# indicates which line in the notes is to be returned.
For example, $NOTE(1) returns the first line in the notes, up to the first newline
character. If there are more than 100 consecutive characters before the first
newline is found, then line 1 will be the first 100 characters, and line 2 will be the
remainder of the line up to the first newline, or the next 100 characters, whichever
comes first.
The maximum number of characters in the notes is currently 4000 (because of
space limitations, it may not be possible to edit this many characters in the General
dialog however). $NOTE will return a null (empty) string if there are no defined
characters in the notes for the specified line.
The function SLEN can be used to determine the actual number of characters
returned by $NOTE using this syntax:
A$ = $NOTE(1)
N = SLEN(A$)
The value N will be the integer number of characters in the string A$.
$OBJECTPATH() Returns the path name for NSC object files.
$PATHNAME() Returns the path name only for the current lens file. This is useful for determining
the directory where the lens file is stored.
$RIGHTSTRING(A$, n) Returns the right most n characters in the string A$. If A$ has fewer than n
characters, the remaining spaces will be padded with blanks. This allows
formatting of strings with a fixed length. See $GETSTRING and $LEFTSTRING.
$STR(expression) Returns a string formatted using the format defined by the FORMAT keyword. The
numeric expression may be any equation, including combinations of constants,
variables, and functions. See function SVAL(A$) to convert strings to numbers.
$TEMPFILENAME Returns the name of a temporary file, with complete path, suitable for temporary
storage of text or binary data. See keyword GETTEXTFILE.
$UNITS() Returns either MM, CM, IN, or M, depending upon the current lens units.
Logical Description
Example:
APMN(3) = 1.75
APMX(3) = 3.50
APXD, APYD
Purpose:
Used to set the aperture x/y decenter of a surface.
Syntax:
APXD(surface) = (new_value)
APYD(surface) = (new_value)
Discussion:
These keywords requires two expressions, one to specify the surface number and the other to define the new
value. The expression (surface) is evaluated and then rounded down to an integer to yield the surface number.
If the surface number is less than zero or greater than the number of surfaces, the command is ignored.
Otherwise, the expression (new_value) is evaluated, and assigned to the aperture x-decenter (APXD) or aperture
y-decenter (APYD).
Example:
APXD(3) = -3.6
APYD(5) = -1 * APYD(3)
APTP
Purpose:
Used to set the aperture type of a surface.
Syntax:
Example:
APTP(3) = 1
ATYP, AVAL
Purpose:
Used to set the system aperture type and value.
Syntax:
ATYP = (code)
AVAL = (new_value)
Discussion:
These keywords are used to define the system aperture type and value. The UPDATE command must be
issued before the new data takes effect. The aperture type is defined using one of the following codes:
SYSTEM APERTURE TYPE CODES
DELETEOBJECT
Purpose:
Deletes an existing NSC object.
Syntax:
DELETEOBJECT (surf), (object)
Discussion:
The value surf must evaluate to an integer expression, and the specified surface must be a non-sequential
component surface. Use a surf value of 1 if the program mode is non-sequential. The value object must evaluate
to an integer that is between 1 and the current number of objects plus 1, inclusive. The specified object will be
deleted, renumbering other objects as required. See also INSERTOBJECT and SETNSCPROPERTY.
Example:
DELETEOBJECT 1, 1
EDVA
Purpose:
Sets the extra data values for a surface.
Syntax:
EDVA surf, ed_value, new_value
Discussion:
j = 5
k = 0
FOR i = j, j + 5, 2
k = i + j + k
NEXT
FORMAT
Purpose:
Specifies the numerical precision format for subsequent PRINT statements.
Syntax:
FORMAT m.n [EXP]
Discussion:
The integers m and n are separated by a decimal point. The value m refers to the total number of characters
to be printed, even though some of them may be blank. The value n refers to the number of places to display
after the decimal point. Therefore, FORMAT 8.4 will cause subsequent PRINT statements to print 8 characters,
with 4 numbers after the decimal point. FORMAT .5 will cause PRINT to show 5 decimal places, and as many
total places as needed. FORMAT only affects numeric output from PRINT. If a number is too large to fit within
the m decimal places, then the m portion of the FORMAT statement will be ignored. The optional keyword EXP
after the m.n expression indicates exponential notation should be used.
Example:
x = 1.123
FORMAT 12.0
PRINT "An integer portion=", x
FORMAT 12.8
PRINT "A decimal portion = ", x
FORMAT 12.8 EXP
PRINT "Exponential notation = ", x
FTYP
Purpose:
FTYP is used to change the type of field definition between angle in degrees, object height, and image height.
Syntax:
FTYP = (new_value)
Discussion:
SETVECSIZE 4500
GETPSF 0, 1, 1, 1, 0, 0, 0
np = vec1(0)
IF (np == 0)
PRINT "PSF Computation aborted."
GOTO 1
ENDIF
IF (np == -1)
PRINT "SETVECSIZE too small for PSF data."
GOTO 1
ENDIF
IF (np == -2)
PRINT "Not enough system RAM for PSF data."
GOTO 1
ENDIF
PRINT "There are ", np, " data points, spaced ", vec1(np+1), " micrometers apart".
LABEL 1
GETSYSTEMDATA
Purpose:
Retrieves most system specific data, such as effective focal length, working F/#, apodization factors, and other
data not associated with any particular surface. The data is placed in one of the vector array variables (either
VEC1, VEC2, VEC3, or VEC4).
Curvature 1 surface # - -
Thickness 2 surface # - -
Conic 3 surface # - -
Index Nd 4 surface # - -
Abbe Vd 5 surface # - -
Partial Dispersion P g, F 6 surface # - -
TCE 7 surface # - -
GETZERNIKE
Purpose:
Calculates Zernike Fringe, Standard, or Annular coefficients for the currently loaded lens file, and places them
in one of the vector arrays (either VEC1, VEC2, VEC3, or VEC4).
Syntax:
GETZERNIKE maxorder, wave, field, sampling, vector, zerntype, epsilon, reference
Discussion:
The maxorder argument is any number between 1 and 37 for Fringe or between 1 and 231 for Standard or
Annular coefficients (see the discussion of zerntype below), and corresponds to the highest Zernike term desired.
Wave and field are the integer values for the wavelength and field number respectively. The value for sampling
determines the size of the grid used to fit the coefficients. Sampling may be 1 (32 x 32), 2 (64 x 64), etc.... up to
2048 x 2048. The vector argument must be an integer value between 1 and 4, and specifies which vector array
the data should be placed in. The zerntype is 0 for "fringe" Zernike terms, 1 for "Standard" Zernike terms, and 2
for "Annular" Zernike terms. See Zernike Fringe Coefficients on page 165, Zernike Standard Coefficients on
page 168, and Zernike Annular Coefficients on page 171 for descriptions of these different types of Zernike
terms. For Annular Zernike Coefficients epsilon is the annular ratio; this value is ignored for other Zernike types.
To reference the OPD to the chief ray, the reference value should be zero or omitted; use 1 to reference to the
surface vertex. If any of the arguments fall outside the valid ranges, then the nearest acceptable value is used
instead.
The data is returned in one of the vector arrays with the following format: Vector position 1: Peak to valley in
waves; Vector position 2: RMS to the zero OPD line in waves (this value is not physically meaningful but is
provided for reference); Vector position 3: RMS to the chief ray in waves; Vector position 4: RMS to the image
SUB add
z = x + y
RETURN
GOTO
Purpose:
Normally, each macro line is executed in turn. GOTO allows execution to resume at an arbitrary point in the
macro. GOTO is always used in conjunction with the LABEL command.
Syntax:
GOTO label_number
GOTO text_label
Discussion:
There must be a LABEL command with the corresponding label_number or text_label somewhere in the
macro, or an error will result.
Example:
LABEL 1
x=RAND(10)
if x <= 5 THEN GOTO 1
PRINT " X is greater than 5 "
GRAPHICS
Purpose:
Creates a standard ZEMAX graphics frame with ruling lines for the plot title.
Once the ray is traced, the ray intercept coordinates and direction cosines may be determined using the ZPL
functions RAYX, RAYY, RAYZ, RAYL, RAYM, and RAYN. Note only data from surface AFTER the "surf" surface
will be valid.
If an error occurred during ray tracing, the function RAYE (for RAY Error) will return a value other than zero.
If RAYE is negative, it indicates that total internal reflection occurred at the surface whose number is the absolute
value of the value returned. If RAYE is greater than zero, then the ray missed the surface number returned.
Checking RAYE is optional, however, the RAYX, RAYY, ... functions may return invalid data if RAYE is not zero.
The functions RANX, RANY, and RANZ return the intercept surface normal direction cosines, and RAYT returns
the optical path length up to the surface for the ray. The function RAYV returns the surface number at which the
ray was vignetted, or it returns zero if the ray was not vignetted. Values returned for surfaces past the surface of
vignetting may not be accurate.
Example:
n=NSUR()
RAYTRACEX 0,1,0,0,0,1,0,NWAV()
y = RAYY(n)
PRINT "The ray intercept is ", y
Related Keywords:
RAYTRACE
READ
Purpose:
Reads data from an existing ASCII numeric text file opened for reading by the OPEN command.
Syntax:
READ x
READ x, y
READ x,y,z,a,b,c,q
Discussion:
The ASCII file must be already open, see the keyword OPEN for details. Each READ command reads a single
line from the file. The first valid data field from this line is placed in the variable first listed. The data from the
second field is placed in the second variable listed, if any. Therefore, the number of variables listed in the read
statement should match the number of columns in the text file. Numeric data in the file should be delimited by
spaces. The data may be in free-form, and is internally promoted to double precision. A maximum of 2000
characters can be read in on any single line. The maximum number of variable arguments is 199; for reading
longer lines with more arguments use READNEXT instead. The variables listed must be valid ZPL variable
names.
Always CLOSE a file after all the data has been read. See the function EOFF.
Example:
PRINT "Reading the double-column file TEST.DAT!"
OPEN "C:\DATA\TEST.DAT"
READ x1, y1
READ x2, y2
READ x3, y3
CLOSE
Related Functions:
EOFF
Related Keywords:
OPEN, CLOSE, READNEXT, READSTRING
Code Property
1 Sets "Use Ray Aiming Cache" to true if value is 1, or false if value is 0.
2 Sets "Robust Ray Aiming" to true if value is 1, or false if value is 0.
3 Sets "Scale Pupil Shift Factors by Field" to true if value is 1, or false if value is 0.
4, 5, 6 Sets the value of the x, y, and z pupil shift, respectively.
Example:
SETAIMDATA 5, 0.34
Related Keywords:
SETAIM
SETAPODIZATION
Purpose:
Sets the system apodization type and factor.
Syntax:
SETAPODIZATION type, factor
Discussion:
This keyword requires the type to evaluate to an integer expression. The type is 0 for none, 1 for Gaussian
and 2 for tangential. The factor sets the apodization factor. See Apodization Type on page 86.
Example:
SETAPODIZATION 1, 0.7
SETCONFIG
Purpose:
Sets the current configuration for multi-configuration (zoom) systems.
Syntax:
SETCONFIG (confignumber)
Discussion:
This keyword requires one numeric expression that must evaluate to an integer between 1 and the maximum
number of configurations. The expression is evaluated and then rounded down to an integer to yield the
configuration number.
Example:
SETCONFIG 4
Related Functions:
CONF, NCON
SETDETECTOR
Purpose:
Sets the coherent or incoherent detector data for any pixel on a detector rectangle or detector surface object.
Syntax:
SETDETECTOR surf, object, pixel, datatype, value
Discussion:
This keyword requires numeric expressions that specify the surface, object, pixel, and data type (all integers)
and the new detector value. Surf is the surface number of the non-sequential group; use 1 when using non-
sequential mode. Object is the object number of the detector. The object must be either a detector surface or a
Code Property
0 Sets the object type. The value should be the ASCII name of the object, such as "NSC_SLEN"
for the standard lens. The ASCII names for each object type are listed in the Prescription Report
for each object type in the NSC editor. All NSC object names start with "NSC_".
1 Sets the object comment.
2 Sets the reference object number.
3 Sets the "inside of" object number.
4 Sets the object material.
5 Sets the coating name for the specified csg.
6 Sets the profile name for the specified csg.
7 Sets the scatter mode for the specified csg, 0 = none, 1 = Lambertian, 2 = Gaussian, 3 = ABg.
8 Sets the scatter fraction for the specified csg.
Other code values will be added in the future to set other properties of NSC objects as requested by users.
Example:
Code Property
0 Sets the surface type. The value should be the ASCII name of the object, such as "STANDARD"
for the standard surface. The ASCII names for each surface type are listed in the Prescription
Report in the Surface Data Summary for each surface type currently in the Lens Data Editor.
1 Sets the comment.
2 Sets the curvature (not radius) in inverse lens units. Use zero for an infinite radius.
3 Sets the thickness in lens units.
4 Sets the glass.
5 Sets the conic constant.
20 Sets the surface aperture type. See APTP on page page 550 for the aperture type codes.
21, 22 Sets the surface aperture min, max value respectively.
23, 24 Sets the surface aperture decenter x, y value respectively.
25 Sets the User Defined Aperture (UDA) file name.
30 Physical Optics setting: "Use Rays To Propagate To Next Surface". Use 1 for true, 0 for false.
31 Physical Optics setting: "Do Not Rescale Beam Size Using Ray Data". Use 1 for true, 0 for false.
32 Physical Optics setting: "Use Angular Spectrum Propagator". Use 1 for true, 0 for false.
33 Physical Optics setting: "Draw ZBF On Shaded Model". Use 1 for true, 0 for false.
34 Physical Optics setting: "Recompute Pilot Beam Parameters". Use 1 for true, 0 for false.
35 Physical Optics setting: "Resample After Refraction". Use 1 for true, 0 for false.
36 Physical Optics setting: "Auto Resample". Use 1 for true, 0 for false.
37 Physical Optics setting: "New X Sampling". Use 1 for 32, 2 for 64, etc..
38 Physical Optics setting: "New Y Sampling". Use 1 for 32, 2 for 64, etc.
39 Physical Optics setting: "New X-Width". New total x direction width of array.
40 Physical Optics setting: "New Y-Width". New total y direction width of array.
41 Physical Optics setting: "Reference Radius". Use 0 for best fit, 1 for shorter, 2 for longer, 3 for
x, 4 for y, 5 for plane.
80 Sets the scatter code; 0 for none, 1 for Lambertian, 2 for Gaussian, 3 for ABg.
81 Sets the scatter fraction, should be between 0.0 and 1.0.
82 Sets the Gaussian scatter sigma.
83 Sets the ABg name.
Curvature: Pickup CP
Thickness: Pickup TP
Glass: Fixed (turn solve off) GF
Glass: Model GM
Glass: Offset GO
Glass: Pickup GP
Conic: Pickup. KP
Example:
! The following line will add a glass pickup solve
! on surface 7, picking up from surface 5:
SOLVETYPE 7, GP, 5
! Add a thickness pickup with a scale factor of -1:
SOLVETYPE 7, TP, 5, -1
Related Functions:
SOLV
STOPSURF
Purpose:
STOPSURF sets the current stop surface location by number.
Syntax:
STOPSURF (surface)
Discussion:
This keyword requires one expression which evaluates to an integer between 1 and the number of surfaces
minus one. The UPDATE command must be issued before the new data takes effect.
Example:
STOPSURF n+2
Related Keywords:
UPDATE
SUB
See GOSUB.
SURFTYPE
Purpose:
Changes the surface type.
Syntax:
SURFTYPE (surf_expression), CODE
Discussion:
The surf_expression must evaluate to an integer between 0 and the number of surfaces. The CODE is an
integer value which indicates the surface type. The integer codes may be determined at run time by the SCOD
function. The SURFTYPE command cannot be used to set a grid sag, grid phase, or user defined surface.
Example:
SURFTYPE j+1, SCOD("STANDARD")
B$ = "EVENASPH"
SURFTYPE 5, SCOD(B$)
Example 1
Suppose you needed a macro to print out the image plane intercept coordinates of the chief ray at every
defined field angle. This is more commonly required than you may think, for example, ZEMAX spot diagrams are
all plotted relative to the chief ray coordinates, and so the intercept coordinates are needed to properly offset the
data. The same is true for transverse ray aberrations; they are referenced to the chief ray.
The best way to learn ZPL is to study previously written macros. Look closely at the following macro and try
to follow the macro logic.
nfield = NFLD()
maxfield = MAXF()
n = NSUR()
FOR i=1,nfield,1
hx = FLDX(i)/maxfield
hy = FLDY(i)/maxfield
PRINT "Field number ", i
RAYTRACE hx,hy,0,0,PWAV()
PRINT "X-field angle : ",FLDX(i)," Y-field angle : ", FLDY(i)
PRINT "X-chief ray : ",RAYX(n), " Y-chief ray : ", RAYY(n)
PRINT
NEXT
PRINT "All Done!"
The first line of the macro calls the NFLD() function which returns the number of defined field angles, and
assigns it to the variable "numfield". The second line calls MAXF(), which returns the maximum radial field angle
in degrees, and stores the value in the variable "maxfield". The number of surfaces is then stored in the variable
"n" by calling the function NSUR().
The FOR loop is then defined with i being the counter for the field position, starting at 1, with a maximum value
of nfield, and an increment of 1 on each loop. The two macro lines which define "hx" and "hy" use the functions
FLDX() and FLDY(), which return the x- and y-angles for the current field position number "i". The chief ray is then
traced by the keyword RAYTRACE. Note the chief ray intersects the center of the pupil, which is why the two pupil
coordinates are both zero. The PWAV() function returns the primary wavelength number, which is usually used
for the chief ray.
The various PRINT statements will output the chief ray coordinates on the image plane to the screen. If you
like, try typing the macro into a file ending in ZPL (for example, CHIEF.ZPL) and then run it from within ZEMAX
! Start at wavelength 1
weightsum=0
wwrms = 0
FOR w = 1, NWAV(), 1
rms = 0
FOR i = 1, n, 1
hx=0
hy=0
angle = 6.283185 * RAND(1)
! SQRT yields uniform distribution in pupil
radius = SQRT(RAND(1))
px = radius * COSI(angle)
py = radius * SINE(angle)
RAYTRACE hx,hy,px,py,w
x=RAYX(ns)
y=RAYY(ns)
rms = rms + (x*x) + (y*y)
NEXT
rms = SQRT(rms/n)
wwrms = wwrms + ( WWGT (w) * rms )
weightsum = weightsum + WWGT(w)
FORMAT .4
PRINT "RMS spot radius for ", WAVL(w),
FORMAT .6
PRINT " is ", rms
NEXT
wwrms = wwrms / weightsum
PRINT "Wavelength weighted rms is ", wwrms
FORMAT .2
t = ETIM()
PRINT "Elapsed time was ",t," seconds."
Note the use of the trailing commas in the first two PRINT statements. These allow the data printed from the
first three PRINT statements to appear on the same line. The intervening FORMAT statements changes the way
the numerical output is printed, even on the same line. The "!" character is used to indicate a comment, which is
ignored when the macro is run.
Introduction
!This feature is only available in the EE edition of ZEMAX.
ZEMAX has a very powerful feature which allows another Windows program to establish a communication link
with ZEMAX, and for this other program to get data from ZEMAX on the lens. The idea is that a program can use
ZEMAX to trace rays through the lens, and then the data is sent to the other program for further analysis or
computation.
!Extensions are more complicated than macros; for simple programming jobs see ZEMAX
PROGRAMMING LANGUAGE on page 535.
There are three closely related ways this feature can be used to extend the capabilities of ZEMAX:
First, any stand-alone Windows program may be designed to establish a link with ZEMAX which is used to
extract data about a lens that ZEMAX can provide- typically ray trace or other optical data. The program may
use this data any way it sees fit.
Second, a stand alone program can do its analysis "hidden" from the user, and then the data generated may
be displayed in the usual ZEMAX graphic or text window. When using this mode, the program is called an
"Extension" to ZEMAX. Extensions appear as menu options under the "Extensions" menu in the ZEMAX
program. The Extensions must be placed in the directory \Extend for ZEMAX to run them.
Third, the stand alone program may be used to compute data that ZEMAX can optimize. In this mode, the
program is called a "User Defined Operand" or UDO. These UDO's must be placed in the directory \UDO for
ZEMAX to run them.
Applications that require complex user interfaces, with many inputs, menus, and buttons are better suited to
be stand alone applications that do not use ZEMAX to display the computed data. Applications that may be
complex computationally, but require only a single dialog box type user interface, are better suited to be integrated
with ZEMAX as Extensions. Extensions have the advantage of looking and acting just like regular ZEMAX
analysis windows. Features implemented as Extensions may be viewed within ZEMAX, updated, have settings
changed, and be printed, copied to the clipboard, or be panned and zoomed just like any ZEMAX analysis window.
UDO's are for applications that compute data that must be optimized by the ZEMAX optimizer. UDO's are
described in detail in the chapter "Optimization" under "User defined operands".
Well written applications may even be designed to operate either as a stand alone program or as an Extension,
as shown in the examples section.
The communication between application and ZEMAX is accomplished using Dynamic Data Exchange (DDE).
DDE is a protocol defined within the Windows operating system for sharing data between programs. Two
programs can establish a DDE link, with one program acting as the "server" and the other the "client". The client
generally requests specific data from the server, and the server sends the data back to the client.
ZEMAX is intended to be the server, and any Windows program with the right modifications can be made a
client. This chapter defines the DDE interface to ZEMAX, so that the user may write software programs which
take advantage of the ZEMAX ray trace engine.
Requirements for writing Extensions
The purpose of this chapter and the DDE features is to assist experienced programmers in writing code that
can interface to ZEMAX. This feature allows programmers to write third party software programs that work in
conjunction with ZEMAX. The third party program may use ZEMAX as a ray trace engine, but provide an interface,
graphics, input and output, and extended calculations that are customized for a particular type of analysis.
Extensions can be easily implemented using any program or programming language that supports DDE.
Examples of such programs include Visual Basic, Excel, and MatLab, but there are many others and DDE is a
If ExportCad returns "BUSY!" then the export thread is already running from a previous request, and the export
will not be performed.
ExportCheck
This item indicates the status of the last executed ExportCAD data item. The return value is 1 if still running,
or 0 if it has completed. See ExportCad above for a discussion of the use of this data item.
FindLabel
This item finds the surface that has the integer label associated with the specified surface. The syntax is
FindLabel,label
The returned value is the surface number of the first surface with the identical integer label, or -1 if no surface
has the specified label. See also SetLabel and GetLabel.
GetAddress
This item extracts the address line 1, 2, 3 or 4 from the environment settings. The syntax is
GetAddress,1
with similar commands for lines 2, 3, and 4. If the user has selected to hide the address box, then all strings
return as "\r\n".
GetAperture
This item extracts surface aperture data. The syntax is
GetAperture,surf
The returned string is formatted as follows:
"type, min, max, xdecenter, ydecenter, aperturefilename"
This item returns the type as an integer code; 0 for no aperture, 1 for circular aperture, 2 for circular
obscuration, 3 for spider, 4 for rectangular aperture, 5 for rectangular obscuration, 6 for elliptical aperture, 7 for
elliptical obscuration, 8 for user defined aperture, 9 for user defined obscuration, and 10 for floating aperture. The
min and max values have different meanings for the elliptical, rectangular, and spider apertures than for circular
apertures; see Aperture type and other aperture controls on page 68 for details. See also SetAperture.
GetAspect
This item extracts the graphic display aspect ratio and the width or height of the printed page in current lens
units. For example, If the current aspect ratio is 3 x 4, the aspect ratio returned will be 0.75. Knowing the correct
aspect ratio is required when drawing isometric plots. The format of the returned data is aspect, width. If the aspect
ratio is greater than 1, then the plot is taller than it is wide, and the format of returned data is aspect, height.
The syntax is:
GetAspect,filename
where filename is the name of the temporary file associated with the window being created or updated. If the
temporary file name is left off; then the default aspect ratio and width (or height) is returned.
GetBuffer
The GetBuffer item is used to retrieve client specific data from a window being updated. The syntax is:
GetBuffer,n,tempfile
where n is the buffer number, which must be between 0 and 15 inclusive; and tempfile is the name of the
temporary file for the window being updated. The tempfile name is passed to the client when ZEMAX calls the
client; see the discussion "How ZEMAX calls the client" for details. Note each window may have it's own buffer
data, and ZEMAX uses the filename to identify the window for which the buffer contents are required. See also
SetBuffer.
GetNSCParameter
This item gets the parameter data for NSC objects. The syntax is:
GetNSCParameter, surf, object, parameter
Surf and object refer to the surface number and object number, and parameter is the integer parameter
number. The returned string is the parameter value. See also SetNSCParameter.
GetNSCPosition
This item gets the position data for NSC objects. The syntax is:
GetNSCPosition, surf, object
Surf and object refer to the surface number and object number. The returned string is
x, y, z, tilt-x, tilt-y, tilt-z, material
See also SetNSCPosition.
GetNSCSettings
This item extracts the maximum number of intersections, segments, nesting level, minimum absolute intensity,
minimum relative intensity, glue distance, miss ray distance, and ignore errors flag used for NSC ray tracing. The
data is returned in a string as follows:
Max_Intersections, Max_Segments, Max_Nesting, Min_Absolute_Intensity, Min_Relative_Intensity,
Glue_Distance, Miss_Ray_Length, Ignore_Errors
Ignore_Errors is 1 if true, 0 if false. See also SetNSCSettings.
GetOperand
This item gets the operand data from the Merit Function Editor. The syntax is:
GetOperand, row, column
Row is the operand row number in the Merit Function Editor. Column is 1 for type, 2 for int1, 3 for int2, 4-7 for
hx-py, 8 for target, 9 for weight, 10 for value, and 11 for percent contribution. The returned string is the numeric
value of the requested parameter. To update the merit function prior to calling GetOperand, use the Optimize item
with the number of cycles set to -1. See also SetOperand and Optimize.
GetPath
This item extracts the full path name to the directory where ZEMAX is installed, and the path name to the
default directory for lenses. The returned strings are separated by a comma.
GetPolState
This item extracts the default polarization state set by the user. The data is formatted as follows:
"nIsPolarized, Ex, Ey, Phax, Phay"
If nIsPolarized is anything other than zero, then the default polarization state is unpolarized. Otherwise, the
Ex, Ey, Phax, and Phay values are used to define the polarization state. Ex and Ey should each be normalized
to a magnitude of unity, although this is not required. Phax and Phay are in degrees. See also SetPolState.
GetPupil
This item extracts pupil data. The returned string is formatted as follows:
"type, value, ENPD, ENPP, EXPD, EXPP, apodization_type, apodization_factor"
The parameter type is an integer indicating the system aperture type, a number between 0 and 5, for entrance
pupil diameter, image space F/#, object space NA, float by stop size, paraxial working F/#, or object cone angle,
For example, to get the conic data for surface 8, the item name should be "GetSurfaceData,8,6".
See also SetSurfaceData and GetSurfaceParameter.
GetSurfaceDLL
This item extracts the name of the DLL if the surface is a user defined type. The surface for which the surface
DLL name is returned is appended to the item name, for example, to get the DLL name for a user defined surface
5, the item name should be "GetSurfaceDLL,5".
The returned string is formatted as follows:
"dllname, surfacename"
The dllname is the name of the defining DLL, the surfacename is the string displayed by the DLL in the surface
type column of the Lens Data Editor.
GetSurfaceParameter
This item extracts surface parameter data. The surface and parameter number to be returned is appended to
the item name, for example, to get the parameter 5 data for surface 8, the item name should be "GetSurfacePa-
rameter,8,5".
See also GetSurfaceData and SetSurfaceParameter.
GetSystem
This item extracts system data.
The filename is the full path and file name to the temporary file that holds the graphic data. This must be the
same name as passed to the client executable in the command line arguments, if any. The modulename is the
full path and executable name of the client program that created the graphic data. The wintitle is the string which
defines the title ZEMAX should place in the top bar of the window.
The textflag should be 1 if the client can also generate a text version of the data. Since the current data is a
graphic display (it must be if the item is MakeGraphicWindow) ZEMAX wants to know if the "Text" menu option
should be available to the user, or if it should be grayed out. If the text flag is 0, ZEMAX will gray out the "Text"
menu option and will not attempt to ask the client to generate a text version of the data.
The settings data is a string of values delimited by spaces (not commas) which are used by the client to define
how the data was generated. These values are only used by the client, not by ZEMAX. The settings data string
The filename is the full path and file name to the temporary file that holds the text data. This must be the same
name as passed to the client executable in the command line arguments, if any. The modulename is the full path
and executable name of the client program that created the text data. The wintitle is the string which defines the
title ZEMAX should place in the top bar of the window.
The settingsdata is a string of values delimited by spaces (not commas) which are used by the client to define
how the data was generated. These values are only used by the client, not by ZEMAX. The settingsdata string
holds the options and data that would normally appear in a ZEMAX "settings" style dialog box. The settingsdata
should be used to recreate the data if required. Because the total length of a data item cannot exceed 255
characters, the data item SetSettingsData may be used prior to the call to MakeTextWindow to specify the settings
data string rather than including the data as part of MakeTextWindow. See How ZEMAX calls the client on
page 634 for more details on the settings data.
A sample item string might look like this:
MakeTextWindow,C:\TEMP\ZGF002.TMP,C:\ZEMAX\FEATURES\CLIENT.EXE,ClientWindow,6 5 4
12.55
This item indicates that ZEMAX should open a text window, display the data stored in the file
C:\TEMP\ZGF002.TMP, and that any updates or setting changes can be made by calling the client module
C:\ZEMAX\FEATURES\CLIENT.EXE. The settingsdata string (used only by the client) is "6 5 4 12.55".
NewLens
This item erases the current lens. The minimum lens that remains is identical to the lens in the Lens Data
Editor when File, New is selected. No prompt to save the existing lens is given.
OpenWindow
OpenWindow will open a new analysis window on the main ZEMAX screen. The syntax is
OpenWindow,Type
The type argument is a 3 character case-sensitive label that indicates the type of analysis to be performed.
The 3 letter labels are identical to those used for the button bar in ZEMAX. A list of codes may be found on the
"Buttons" tab of the File, Preferences dialog box. The labels are case sensitive. See also GetMetaFile.
The return value is 1 if ZEMAX is set to accept PushLens commands, or 0 if extensions are not allowed to use
PushLens. The PushLens data item can only succeed if the user has set the appropriate permissions in ZEMAX.
To allow a DDE extension to use PushLens, the option "Allow Extensions To Push Lenses" must be checked.
This option is found under File, Preferences on the Editors tab, and is described in Editors on page 61. The
proper use of PushLens is to first call PushLensPermission. If the return value is 0, then the client should display
a dialog box instructing the user to turn on the "Allow Extensions To Push Lenses" option before proceeding.
ReleaseWindow
When ZEMAX calls the client to update or change the settings used by the client function, the menu bar is
grayed out on the window to prevent multiple updates or setting changes from being requested simultaneously.
Normally, when the client code sends the MakeTextWindow or MakeGraphicWindow, the menu bar is once again
activated. However, if during an update or setting change, the new data cannot be computed, then the window
must be released. The ReleaseWindow serves just this one purpose. If the user selects "Cancel" when changing
the settings, the client code should send a ReleaseWindow item to release the lock out of the menu bar. If this
command is not sent, the window cannot be closed, which will prevent ZEMAX from terminating normally. The
ReleaseWindow item takes just one argument: the name of the temporary file. The syntax is:
ReleaseWindow, filename
The return value is zero if no window is using the filename, or a positive integer number if the file is being used.
SaveFile
Saves the lens currently loaded in the server to a ZEMAX file. The file name to be used for the save is
appended to the SaveFile item name, and must include the full path. For example: "SaveFile,C:\ZEMAX\SAM-
PLES\COOKE.ZMX". The returned string is the same as for the GetUpdate item; after updating the newly saved
lens file. If a value other than 0 is returned, the Update failed, if -999 is returned, the file could not be saved. See
also GetPath, GetRefresh, LoadFile, and PushLens.
641
Aspheric surfaces 243 Boresight error 394
Fast tracing 92 Tolerancing 441, 455
High order terms 244, 246 Boundary conditions
Superconic 271 On (center) thickness 396
Asterisk On curvature 396
Hyperhemispheric surfaces 52 Boundary operands
In data cells 61 Understanding 421
Indicates surface apertures 65 BSDF 354
Astigmatism Bubbles 323
Calculating 164 Bugs
Operand 393 Reporting 33
Athermal lenses Bulk absorption 352, 512
Analyzing and optimizing 496 Bulk scattering 349
Atmospheric refraction 229 Bulk transmission 512
Atmospheric turbulence 258 Button bar
Axial color Defining 63, 64
Operand 394
Axial symmetry 389
C
Axicon 270
CAD files
Axicon surface object 299
Importing 314
B Candela 88
Capping
Back focal length GRADIUM profiles 256
Defined 45 Capturing
Beam footprint 160 Screen images 42
Beam splitter Cardinal planes 45
Defining coatings for 352 Cardinal points 45, 178, 220
Beamsplitter Cell
Polarization modeling 512 Editing contents 36
Beep command 552 Cell width
Beers Law 512 Changing 60, 61
Bending Celsius
Using fold mirrors 207 Defining temperature 491
Best fit glass 219 Center thickness
Best fit sphere 177 Operand 396, 405, 407
Biconic 226 Centroid 111
Surface type 229 Determining coordinates of 113
Biconic lens object 300 Encircled energy 135
Biconic object 300, 301 Optimization 410, 417
Bicubic spline 259 Check for updates 61
Binary 1 object 302 Checking for 61
Binary 2 object 303 Chief ray
Binary optics 230, 232, 282, 284 Definition of 45
Sign conventions for 232 Normalized coordinates 49
Biocular analysis 154, 155 Solve 380, 381, 382
Birefringent materials 235 Chief ray solve
Bitmap images 146 On coordinate breaks 384
Bitmaps Chord Tolerance 314
As sources 322 Chromatic aberration 162
Exporting 42, 556, 557 Circular 69
BMP 146
Creating 37
642
Clipboard Conjugate
Copying graphics to 37 Surface type 238, 239
Copying text to 39 Conrady
Cut, Copy, and Paste 75, 76, 77, 78, 81 Dispersion formula 481
Selecting metafile format 60 Consider objects list 351
Using 42 Constant
Cloning windows 37, 39 Operand 396
Coating file 91, 202, 501 Construction optics
Coating groups 352 Constraining 395
Coating multiplier 74, 505, 508 For holograms 265
Coatings Contours
Adding to surfaces 203 Setting 131
Defined by tables 507 Convergence 154, 155
Editing 202 Convert semi-diameters
Loading coating file 203 to apertures 203, 206
Multi-configuration control of 472 Converting to NSC groups 214
Optical 184 Coordinate axes
Properties of 184 Definition of 46
Tapered 503, 505 Coordinate breaks
Coherence length 350, 359 And paraxial rays 92
Coherent imaging 149 Reversing with "order" 239
COLOR Solves for 384
ZPL macros 553 Surface tilts and decenters 73
Color Surface type 239
True color PSF 127 Coordinate reference
Color of rows 67, 348 Drawing 349
Color slides 322 Coordinate system
Colors Conventions for 46
Changing default 59 Copy
Defining 63 Operand data 76, 77, 79
Of objects 348 Surface data 75, 81
Of surfaces 67 Corner object 319, 329
Coma Cosine lamp 339
Calculating 164 Cosine source 339
Operand 396 Cosine space 112, 332
Comments 66 Cosine surface 267
Hide/Show menu 75 Coupling efficiency 142, 145, 175, 400, 538, 546
In the merit function using BLNK 394 CPC 305
Company name CPUs
On plots 58 Number of 364, 423, 437
Compensators CR
For tolerancing 450 Codes 479
Compound parabolic concentrator (CPC) 294 Creating POB files 217
Cone angle 85 Cross sections
Cone object 304, 305 Point Spread Functions 125
Configuration CSGs defined 352
Changing 97, 475 Cubic spline
Selecting on windows 37 Extended surface type 245
Zoom position 97 Cubic spline surfaces 240
Conic Curvature
Description of 270 Boundary conditions on 396
Solve for 384 Operand 396
Tolerance on 442 Cut
Surface data 75
643
Cylinder arrays 278 Diffraction gratings 241, 268
Cylinder Fresnel surface 240 On cylinders 273
Cylinder lens object 315, 317, 327 On toroids 273
Cylinder pipe object 305, 306 Diffraction Imaginary Transfer Function 115, 116, 117,
Cylinder volume 396 120, 121, 122, 125, 126, 128
Cylinder volume object 306, 307 Diffraction limited
Cylindrical lens Meaning of 46
Paraxial model for 267 Diffraction Modulation Transfer Function 115, 116,
Cylindrical surfaces 229, 272, 273 117, 120, 121, 122, 125, 126, 127, 128
Gratings placed on 248, 273 Diffraction Phase Transfer Function 115, 116, 117,
D 120, 121, 122, 125, 126, 128
Diffraction Real Transfer Function 115, 116, 117, 120,
Date
121, 122, 125, 126, 128
Diffractive optics 258
Printing on plots and text 61
Digital Mirror Device (DMD) 317
DDE 607
Diode 337
Debugging
Dipvergence 154, 155
Tolerancing 468
Directories
Decenters
Default path for output 59
Tolerancing 445
Directory names
Decenters and tilts
Preferences 59
On surfaces 73
Dispersion 162, 163, 178, 179, 198
With coordinate break surfaces 239
Dispersion coefficients 480
Decimals
Distortion 156, 158
Changing default 60, 61
Calculating 164
Default merit function 385
Definition of 156
Start at row 398
F-Theta 156
Default path
Grid 158
For output 59
Operand 398
Defaults, changing 59
Representing 146
defined 289
Divergence 154, 155
Delano diagrams 161
DLL 275
Deleting
dn/dt 495
Operands 76, 77, 78, 81
dPgF 479
Surfaces 65, 74
Drawing
Surfaces in ZPL macros 554, 558
Element 104, 105
Density
Dual zone 234
Discussion of 220
Dynamic Data Exchange (DDE) 607
Of lenses 220
Dynamic Link Library 275
Detector object 332, 334, 335, 348
Detector viewer 369 E
Detector volume 335
Dialogs 35 Edge margin 93
Diameter Edge Spread Function 125, 137
Operand 398 Edge thickness
Diameter to thickness ratio Controlling 382
Constraining 406, 407 Defined 46
Diattenuation Determining 219
Of coatings 185 Operand 399, 406, 407, 418
Diffraction 515 X- direction 419
Diffraction grating 307 Editing
Multiple orders 350 Spreadsheet values 36
Diffraction grating object 307
644
Editor windows 35 Exporting
Menu 65 Graphics and text 42
Preferences 61 IGES and STEP files 209, 556, 609
Editors Extended cubic spline
Preferences 60 Surface type 245
Effective F/# 139, 140, 399 Extended polynomial
Effective focal length Surface type 247
Defined 47 Extended Polynomial Lens object 308
Displaying 219 Extended Polynomial Surface object 309
Operand 398 Extended sources 142, 146
Single element 219 Encircled energy computations 137
Element drawings 104, 105 Extensions 223
ISO 10110 105 Extra data
Element power 219 Defined 47, 225
Solve 381 Operand 418
Ellipse Optimization of 426
Defining 270 ZPL Macros 560
Elliptical 69 ZPL macros 555
Elliptical object 307 Extraordinary rays 235
Elliptical surface
Defining 238, 239
F
Encircled energy 135
F/#
END
Capped at 10,000 94
ZPL macros 568
Curvature solve 379
Ensquared energy 135, 136, 138
Displaying 219
Entrance pupil diameter
Effective 140
Defined 47
For fields, wavelengths 220
Operand 399
Method of computing 94
Setting 85
Paraxial working 51
Entrance pupil position
Working 55
Defined 47
Fabrication support 177
Operand 399
Faceted object 325, 326
Entry ports 291
Faceted surfaces 249
Environment
Far field 517
Defining 491
Far field pattern 339
Temperature and pressure 491
Far-field cosine space 332
EQUA
Fast Asphere Trace 92
Operand 399
Fiber coupling efficiency 142, 145, 175, 400, 538, 546
Escape
Fiber optic object 328
Aborting long computations 40
Field angles
Even Asphere 226
Conventions for 47
Even Asphere lens object 308
Field curvature 140, 142, 153, 154, 156
Even Aspheric 308
Calculating 164
Examples 32
Operand 400
Exclude Substitution 478
Field curvature plot
Exit ports 291
Meaning of 154, 155, 156
Exit pupil
Offsets on axis 156, 161
Significance of 91
Field positions
Exit pupil diameter
Defining 96
Defined 47
ZPL macros 576
Exit pupil position
Field type
Defined 47
Multi-configuration control of 472
Operand 399
File menu 35, 57
Exponential notation 61
645
File names
On plots 58
G
Files
Gases
Finding names in ZPL macros 558
Thermal modeling 484
Filter string 364
Gaussian Beam
Filters
Analysis 187
User defined neutral density 277
Operands 400
Fitting
Paraxial analysis 187
Test plates 197
Physical optics analysis 515
Fletch
Skew analysis 189
Size of 60
Gaussian factor
Fletch Rays 101
Optimization 389
Flip
Gaussian Quadrature 387
Lens elements 212
Gaussian scattering 354
Float by stop size 85
Gaussian source 339
Defined 47
General data 85
Floating apertures 69
Geometric MTF 119
Focal length
Vs. Field 121
Scaling by 213
Geometry errors 364
Focus
Ghost reflections 48, 215, 362, 371
Quick focus tool 213
Glass
Fold mirrors
Best fit 219
Inserting 207, 215
Codes 479
Font size
Constraining 425
Changing 60, 61
Cost factors 479
In text windows 61
Dispersion formulas for 480
Setting in ZPL macros 595
Entering type 48
When printing 62
Excluding from optimization 478
Footprint
Gradient index 250, 349
Beam 146
Model 219
Footprint diagram 160
Optimizing 424, 437
FOR loop
Optimizing with RGLA 415
ZPL macros 558
Pick up solves 383
Foucault analysis 129
Removing in multi-configurations 475
As optimization operand 400
Substitution 383, 426, 437, 478
FR
TCE 479
Codes 479
Templates 195
Fraunhofer diffraction 520
Transmittance of 163, 179
Fresnel
ZPL macros 548
General polynomial form 249
Glass catalog 162, 163, 178, 179, 198, 203, 477
Zone plates 286
Adding new glasses to 480, 482
Fresnel diffraction 519
Copying or moving 479
Fresnel lens 309, 310, 534
Creating new 479
Fresnel lens object 309
Managing multiple 477
Fresnel lenses 326
Melt data 483
Fresnel number 516
Obsolete glasses 490
Fresnel object 327
Selecting 477
Fresnel surfaces 240, 245, 249
Transmission data 484
Fringes
Global coordinates 93, 174, 612, 613
Test wavelength 452
From ZPL macros 543
F-theta
Multi-configuration control of 472
DISC operand 397
Operand 401, 414
F-Theta distortion 155, 156
Reference surface 67, 93, 560
Full width half max 138
646
Global optimization 195, 433, 435 Holograms 261, 262
Glue distance 95, 345 Aspheric non-sequential 313
GOSUB 568 General polynomial form 230, 232
Gouy shift 189, 522 Multiple orders 350
Gradient index 250, 251, 252, 253, 257, 258 Non-sequential solid 312
Boundary operands for 429 Optically fabricated 264
Dispersion model 252 Optimizing construction optics 265
Operand 403 Toroidal 273
Vignetting 93 Used in reflection 261
Gradient Lens Corporation 254 Using Zernike coefficients 282, 284
Graphic frames 60 Huygens
Graphics Point Spread Function 126, 127
Colors 63 Hx
Copying to clipboard 37 Defined 49
Exporting using Clipboard 42 Hy
Preferences 59 Defined 49
Grating mode 268 Hyperbola
Gratings 241, 268 Defining 270
Elliptical 242, 243 Hyperhemispheres
Multiple orders 350 Preventing with HHCN 403
Toroidal 248, 273 Hyperhemispheric 67
Grid phase surface 258 Described 52
Grid sag surface 259 Testing for 403
Guard band 526 Hyperhemispheric lens object 323
H Hyperhemispheric object 301
Hyperhemispheric surface object 324
Hammer optimization 195 I
Hardware lock
Installing 32 Ideal coatings 507
Policy regarding 33 IGES files
Harvey-Shack scattering 354 Exporting 208, 209, 210, 211
Heads-Up Displays (HUD) 154, 155 Importing 314
Help Ignoring objects 348
Button 40 Illumination 146
Menu option 35 Image analysis 142, 146, 148, 151
Herzberger Aborting long computations 40
Dispersion formula 481 As optimization operand 403
Hexapolar rings Editing IMA files 143, 149, 152, 153
Defined 48 IMA file format 144
Hidden line drawings 100, 102, 103, 107, 108 Image height
Hiding Field definition 47
Edges of surfaces 68 Image plane
Rays on layout plots 68 Coordinates 112
Highlight color 60, 63 Image space F/#
Highlighting layouts 60 Operand 404
Setting 85
Images
Appearance of 142, 146
Importance sampling 351
Imported object 314
Incoherent imaging 149
Increment
tolerancing 455
647
Index data Knife edge test 129
Operand 404
Optimizing 424
L
Index of refraction 482, 485
Lagrange invariant 165
Determining 219
Operand 404
Dispersion plot 162, 178
Lagrange multiplier 390
Table of values 220
Lambertian 354
Temperature and pressure effects 491
Landscape orientation 62
Inequality
Last zoom 37
Operand 410
Lateral color 161
Initial Phase 350
Operand 404
Input
Layout
ZPL macros 572
Element drawing 104, 105
Input focus 36
Layouts
Inserting
Scale bar width 63
Operands 76, 77, 78, 80
Three-dimensional 100, 102, 103, 107, 108
Surfaces 65, 74
Two-dimensional 99
Surfaces in ZPL macros 554, 555, 572, 573
Learning ZEMAX 32
Inside of
Lens catalog 199
Placing sources 336
Lens Data Editor
Installation
Printing contents of 220
Of the hardware lock 32
Lens design
Integer
References on 31
Rounding to using INTE 539
Lens element
Intensity 88
Reversing 212
Interferogram
Tilting and decentering 212
Data for surface deformation 282, 283, 284, 285
Lens files
Drawing 128
Deleting 58
Interferometers
Inserting 58
Using data from 282, 284
Loading 57, 58, 574, 575
Internet 61
Opening 57
Invariant 165
Recently used list 64
Irradiance 88
Saving 57, 587
Irregular
Lens mounts
Surface type 262
Thermal expansion of 491
Irregularity 445, 446, 447
Lens object 323
ISO drawings 105
Lens search 199
J Lens units
Defined 48
Jones matrix 511 Specifying 87
Jones matrix object 295 Lenses
Jones matrix surface 263 Plotting to scale 100
Jones vector 497 Lenslet object 315, 317
JPG Lightpipes 294, 295, 304, 305, 320
Creating 37 Line Spread Function 125, 137
Jx, Jy 350 Linear interpolation 259
K Liquids
Thermal modeling 484
Load and Save buttons 40
Keyboard
Loading
Shortcuts 40
Lens files 58
Use of 40
Lock window 37, 39, 575
Keyboard shortcuts 36, 40
Kinoforms 230, 232
648
Long computations Mirrors
Aborting from 40 Conventions for 53
Longitudinal aberration 139, 160, 161 Deleting fold 207, 215
Operand 405 Inserting fold 207
Longitudinal aberrations Specifying 48, 66
Calculating 164 Model glass 219, 383, 424, 485
Longitudinal color Modulation Transfer Function 115, 116, 117, 120, 121,
Calculating 164 122, 125, 126, 128
Lost energy 364, 365 Monte Carlo ray tracing 363
LPTD Mouse
Operand 429 Shortcuts 37, 39
Ltk 479 MTF
Luneberg lens 280 Aborting from long computation 40
M Calculating in macros 562
Geometric approximation 119
Operand 406
M Squared 187
Optimization of 421
Macros
Visualizing 142, 146
ZPL macros 535
Vs. Field 116, 117, 121
Magnification
Vs. Focus 115
Displaying 219
Multi-configuration 471
Operand 393, 412
Operand values 405
Main window 35
Optimization and 475
Marginal ray
Tolerancing 467
Definition of 48
Multi-mode fiber coupling 142, 145
Normalized coordinates 49
Multiple CPUs
Solve 380, 381
Parallel processing 364, 423, 437
Margins 93
Multiple orders 350
Setting for printing 62
Multi-threading 364, 423, 437
Mass
Of lenses 220, 417 N
Maximum aspheric deviation 177
Melt data Narcissus
fitting 483 YNI contribution 419
Melt Frequency 479 Near field 517
Merit function Nesting object limits 345
Default 385 Nesting sources 336
Defining 385 Neural networks 435
Formula for 391 Neutral density filters
Gaussian apodization of 390 With user defined surfaces 277
Ignoring operands in 399 Nodal points 45, 220
Loading and saving 76 Non-paraxial system
Loading from ZPL 575, 587 Defined 49
Modifying 390 Non-sequential 293, 336
Percent contribution of components 420 Converting surfaces to 214
Printing 195, 196, 197 Defined 49
ZPL macros 570, 577 Multi-configuration operands for 473
Metafile Object definitions 293, 336
Creating 37 Optimization of systems 427
Windows clipboard format 60 Optimization operands for 408, 410
MicroElectroMechanical System (MEMS) 295 Ray tracing 289
Micrometers 87 Ray tracing limits 94
Microns 87 Restricting 94
MIL number glasses 485 Non-sequential program mode 57
649
Normal distribution 460 Operand data
Normalized coordinates 390, 579, 583 Cut, Copy, and Paste 76, 77
Defined 49 Operands
Note files Defining complex 423
Editing 104 User defined 429
Notes 88 Optical design
NSC 289 References on 31
With ports 290 Optical invariant
without ports 290 Lagrange invariant 404
NSG America, Inc. 257 Optical path differences
Null object 318 Operand 410
NURBS surfaces 269, 274 Referencing 91
O Solves 382
Optically fabricated hologram 264
Optimization 195, 385
Object
Global 195, 435
User defined 329
Global minimum 433
Object plane
Global search 435
Tilting 272
Hammer 195, 435
Object space N.A.
Merit functions for 385
Setting 85
Of glass 424
Object space numerical aperture
Operands 390, 423
Defined 50
Requirements 385
Operand 410
Selecting variables for 385
Objects 293, 336
Suggestions for use 433
Arrays of 215
With external programs 431
Ignoring 348
With multi-configurations 475
Inserting and deleting 81
ZPL macros 429
Overlapping 345
Optimization operands
Replicating 215
Plot of 180
Objects of revolution 325
Orders
Obscuration type 68
Splitting rays by 350
Obscurations 68, 73
Orientation
Circular 69
Graphics 62
Elliptical 69
Orientation indicator 101
Rectangular 69
Size of 60
User defined 69
Overlapping objects 345
Vignetting from 140
Overlaying graphics 37, 457
Obsolete
glasses 490 P
Odd Asphere 227
Odd Asphere lens object 318 Pan and zoom 39
Offense against the sine condition 411 Parabasal
Ogive surface 281 Discussion of 50
Opacity Parabola
Of objects 348 Defining 270
Of surfaces 67 Parallel processing
OPD Multiple CPUs 364, 423, 437
Optical path differences 410 Parameter data
OpenGL Defined 50, 225
Shaded model graphics 103, 108 Tolerancing 448
Opening Parameter solve
Lens files 57 On coordinate breaks 384
650
Paraxial 227 POB files
Definition of 50 Creating 217
Working F/# 51 POB format 319
Paraxial focus 381 Point Spread Function
Paraxial image height Cross sections 125, 127
Defined 51 FFT 122, 126
Paraxial lenses 266, 267 For NSC rays 333
Paraxial magnification Huygens 122, 126
Defined 51 Point spread function 122, 126, 127
Paraxial ray data Polarization 525
Operands 411 Analysis 497
Paraxial rays Defining global state 90
And coordinate breaks 92 In non-sequential ray tracing 352
Tracing 174 NSC sources 350
Paraxial surfaces 266, 267 Partial 350
Paraxial XY 227 Phase of detectors 333
Paste Ray trace 182, 190, 193
Operand data 76, 77, 79 Reflectivity, Transmission, Absorption 184
Surface data 75, 76, 77, 79, 80, 81 ZPL macros 579
Pasting Polygon object 319
Graphics and text 42 Polygon objects
Paths Defining 373
For data files 59 Polynomial
PAUSE Extended surface type 247
ZPL macros 579 Polynomial surfaces 268
Peak to valley Pop-up screens
Wavefront error 165 Configuring 59
Pen Portrait orientation 62
Changing width of 62 Ports in non-sequential tracing 290
Pen color Power
ZPL macros 553 Function 542
Pen colors 63 Maintaining with glass change 66
Pen width 60, 62 Operand 413
Periodic surface 267 Solve 381
Petzval Watts 289
Operand 411 PR
Phase Codes 479
Point Spread Function 122 Preferences 58, 59
Phase of a surface 131 Address box 58, 59, 60
Photometric units 88 Directory names 59
Physical optics 515 Editors 61
Pick up solves 379 Printing 62
Pilot Beam 529 Pre-Propagation 350
Pilot beam 521 Prescription Data 220
Pinhole 529 Pressure
Pinhole aperture 534 Of each surface 495
Placing sources 336 Setting 90
Plot width 62 Pressure effects 491
Plots Primary wavelength 96
Changing pen width 62 Defined 51
Plotting Multi-configuration 473
All zoom positions 102 Principal planes 45, 220
Optimization operands 180
651
Printing 36 Radius
ASCII from ZPL macros 581 Curvature 396
Changing pen widths 62 Radius of curvature
Coating definitions 203 Conventions for 51
Contents of a window 219 Random number generator
Font size 62 Seeding 452
Graphic windows 37 Random Polarization 350
Landscape mode 63 Ray aiming 67, 88
Merit function 195 While tolerancing 457
Orientation of 62 ZPL macros 588, 589
Portrait mode 63 Ray database files 367
Preferences 62 Ray fans 108, 110
Prescription data 220 Ray splitting 289, 362
Spreadsheet data 220 Ray tracing 174
Surface data 219 Rayleigh range 188, 520, 521, 522, 527
System data 219 Raylist format 102
Text margins 63 Raylists 102
Text windows 39, 219 Real propagation 51
Tolerance data 196, 197 Real ray
Using ZPL macros 580 Tracing 174
Windows in ZPL macros 581 Recovering lost files 82
Prisms 319 Rectangular 69
Probing rays 524 Rectangular object 320
Profiles Rectangular pipe object 320
Scattering 91, 349 Rectangular volume grating object 322
Program mode 57 Rectangular volume object 322
Propagation report Redo 82
For POP analysis 191, 533 Reference Radius 530
ProSource 341 Reference sphere 91
Pupil aberration References 31
Controlling 88 Referencing OPD
Pupil positions Described 91
Displaying 219 Reflections
Pupil shift 89 Ghost 215
Px Reflectivity
Defined 49 Of coatings 184
Py Reflectors
Defined 49 Specifying 48, 66
Q Refractive index
Index of refraction 219
Relative Cost 479
QSUM
Relative cost of glasses 479
Operand 414
Relative illumination 139, 415
Quadratic sum
Remote Desktop 61
Operand 414
Replicating objects 215
Quality factor 187
Report graphics 220
Quick focus 213
Resolution
Quitting ZEMAX 64
Estimating 142, 146
R Resolving
Two field points 113
Radiant Imaging 341 Retardance
Radii Of coatings 186
Entering 66 RETURN
ZPL macros 568
652
Reverse Rays 350 Scattering 352
Reversing ABg 354
Lens elements 212 Catalog of data 203
RGLA Gaussian 354
Operand 425 Harvey-Shack 354
Rings 387 Lambertian 354
RMS On sequential surfaces 72
Spot size 112, 132, 133, 134, 385 On spot diagrams 112, 122
Wavefront error 132, 133, 134, 165, 385 Towards an object 351
X and y spot size 112 User defined 356
Robust Viewer 204
Ray aiming mode 89 ZPL macros 588
Roofs 321 Scattering profile file 91
Rotating Scattering profiles 349
3D layout plots 101 Schott
Rotation matrix 93, 220, 344 Constants of dispersion formula 480, 482
Row color 67, 348 Screen capture 42
S Scripted tolerancing 463
Searching
For stock lenses 199
Sag
Seidel coefficients 164, 165, 169, 171
Constraining 416
SELFOC lenses 257, 258
Operand 416
Sellmeier
ZPL macros 544
Dispersion formula 480
Sag of a surface 130
Semi diameter margin 93
Sag table 177
Semi-diameter
Sagittal
Accuracy of 92
Definition of 51
Semi-diameters
Sampling
Accuracy of 52
Hexapolar rings 48
Converting to apertures 206
SAT files
Defined 52
Exporting 209
Entering 66
Importing 314
Sequential program mode 57
Save and Load buttons 40
Sequential ray tracing 289
Saving
Defined 52
Lens files 57
Session files 57
Scale bar
Set to default 385
On layout plots 99
Set vignetting
Setting accurately 63
On field dialog box 96
Scale factor 100
ZPL macros 596
Scale lens 213
Variables 74
Scaling
Settings
On printers 63
Saving with the lens 40
Scatter groups 352
SETVECSIZE
Scatter Towards list 349, 351
ZPL macros 595, 596
Shaded model 103, 108
Shear distance 258
Shortcuts
Keyboard 35, 36
Summary of 40
Sign conventions
For binary optics 232
For radius of curvature 51
Simulated annealing 435
653
Single mode fiber coupling 175 Spline
Slide object 322 Bicubic using grid surface 259
Slider control 218 Linear interpolation using grid surface 259
Soft apertures 279 Spline surfaces 240, 269, 274
Solid modeling 100, 102, 103, 107, 108 Spot diagrams 111, 113
Solves 379 Configuration matrix 113
Aplanatic 381, 383 Full field 113
Center of curvature 383 Matrix 113
Chief ray angle 380 Spot size 132, 133, 134
Chief ray height 382 Spreadsheet
Chief ray normal 381 Printing Lens Data Editor contents 220
Compensator 382 Spreadsheet editor
Concentric 381, 383 Cursor controls for 65
Edge thickness 382 Shortcuts 65
Marginal ray angle 380 Square root
Marginal ray height 381 Operand 404, 405, 416
Marginal ray normal 381 Square wave MTF
Optical path difference 382 Operand 406
Pick up 380, 382, 383, 384, 476 SR
Position 382 Codes 479
Setting and removing 74 Standard deviation
Suggestions for use 384 Wavefront error 166
Thermal Pick Up 493 Standard lens object 323
Turning off 379 Standard surface object 324
Sorting Status bar
Tolerance data 79 Modifying 64
Source arrow STEP files
Size of 96 Importing 314
Source bitmap 322 STL format 324
Source diode 337 STL Object 324
Source object STL objects
Ellipse 339, 343 Defining 376
Filament 340 Stock lens catalog 199
File 340 Stock lenses
Gaussian 342 Using search to find 199
Point 342 Stop surface
Rectangle 343 Defining 67
Tube 343 Zooming in multi-configurations 474
Volume cylinder 343 ZPL macros 598
Volume ellipse 344 STP files
Volume rectangle 344 Exporting 209
Source units 87 Importing 314
Sources 336 Straddling objects 345
Extended 142, 146 Strehl ratio 46, 52, 126, 127, 132, 133, 134, 167
User defined 340 ZPL macros 567
Specular ray 352 String length
Spherical aberration ZPL macros 544
Calculating 164 String operators 549
Operand 416 String variables
Spherical object 323 ZPL macros 547
Spherochromatism Strings
Operand 416 Comparing 544, 545
Spider Subdirectories 59
Spider aperture 69
654
Subroutines TCE 479
ZPL macros 568 Adding data 495
Substitute Data defined 493
Glass 383 In glass catalogs 479
Substitution Technical support 33
Templates for 195 Telecentric mode 87
Superconic Temperature
Surface type 271 Of each surface 495
Supergaussian 337 Setting 90
Surface apertures Temperature effects 491
Defined 52 Templates for glass substitution 195
Multi-configuration values 471 Test plate fit files 198
Specifying 68, 73 Test plate fitting 197
Surface data Test wavelength 452
Cut, Copy, and Paste 75, 81 Tolerancing 450
Surface numbering 65 Text
Surface Phase 131 Copying to clipboard 39
Surface power 219 Text data
Surface Sag 130 Exporting 564
Surface tilts and decenters 73 Text windows
Surface types 225 Extracting data from 538
ABCD 228 Thermal effects 491
Alternate intersection 228, 229 Auto setup 78
Conic 67, 225 Thermal modeling
Coordinate breaks 239 Of gases and liquids 484
Cubic spline 240 Thickness
Diffraction gratings 241, 268 Boundary conditions on 396
Fresnel 249 Conventions for 53
Holograms 261 Operand 417, 418
NURBS 269, 274 Solves on 381
Plane 67, 225 Thicknesses
Selecting 67, 225 Entering 66
Surfaces Thin films 184
Deleting 65 Coatings 184
Inserting 65 Thin lens
Miscellaneous data 219 Cylindrical 267
Reversing order of 212 Surface type 266
System aperture Through focus
Defined 53 Geometric MTF 120
Multi-configuration value 471 Tilted surface 262, 272
Specifying 85 Tilts
System data Tolerancing 445
ZPL Macros 560, 563 Tilts and decenters
System menu 85 On surfaces 73
T Time
With coordinate break surfaces 239
655
Tolerance sensitivity
Optimizing for 426
U
Tolerancing 196, 441
UDA Scale 69, 348
Debugging 468
Undo 82
Defining compensators for 453
Disabling 61
Increment 455
Uniform distribution 460
Irregularity 445
Units 87
Using scripts 463
Determining in ZPL macros 545
Toolbar
Setting lens units 87
Defining 63, 64
Source, irradiance, and flux 87
Tools menu 195, 223, 289
ZPL macros 595
Top Hat 527
Universal plot 180
Toroidal 228
Unlock window 37, 39, 600
Toroidal faceted object 326
Unpolarized 90
Toroidal Grating 228
Unzoom 37
Toroidal lens
Update
Paraxial model for 267
Described 85
Toroidal lens object 301, 327
Update all
Toroidal surfaces 229, 272, 273
Described 85
Gratings placed on 248, 273
Updates 61
Thermal effects 494
Use polarization
Torus surface 321, 328
Polarization state 90
Torus volume 321, 328
User defined
Total Indicator Runout
Apertures and obscurations 69, 352
Tolerancing 445
Optimization operands 431
Total integrated scatter 204
Surface 275
Total Internal Reflection
Surface apodization 277
ZPL Macros 583, 584
User defined object 329
Total track
User defined sources 340
Defined 53
User defined surface
Operand 417
Diffractive optics 277
Transfer Functions 115, 116, 117, 120, 121, 122, 125,
DLL 67
126, 127, 128
Gradient index 277
Transmission 183, 484
Lenslet arrays 277
Internal 163, 179
Refractors and reflectors 276
Of coatings 185
Using linked code 275
Transmission data
Using look up table 258, 259
Glass catalogs 484
Transparent objects V
Opacity of 348
Transparent surfaces Vacuum
Opacity of 67 Index of refraction 491
Transverse aberrations Modeling 492
Calculating 164 Variable line space gratings 282
Transverse color Variables
Calculating 164 Defining within ZPL macros 596
Triangle object 329 Removing 195
Triangular corner object 329 Setting and removing 74
True color ZPL macros 586
PSF 127 Variance
Tutorial 32 Wavefront error 165
Vector variables
Setting the size of 596
656
Vignetting 68, 73, 109, 140
ZPL macros 583, 584, 596
Y
Vignetting factors
YNU tracing 174
Adjusting during optimization 416
Y-Ybar diagrams 161
Defined 53
Field curvature and distortion 158 Z
Multi-configuration values 472
Removing 206 ZBF beam file
Setting 96 Decentering 603
Virtual propagation 55 Properties of 603
Volume Resampling 603
Of an element 219 ZBF beam files
Operand 418 Macro commands related to 602
Volume detector 335 ZBF file format 528
Volume sources 336 ZBF files
Volumes Macro commands for 572, 603
Discussion of 220 ZEMAX Beam File 528
Volumetric scattering 349 ZEMAX Programming Language
Voxels 314, 335 ZPL macros 535
Zernike
W Deformed surfaces 282, 283, 284, 285
Zernike coefficients
Watts 289
Calculation of 169, 171
Wavefront aberrations 164
Fringe 167
Wavefront error 132, 133, 134
Optimization of 420
Peak to valley 165
Standard 169
RMS 165
Zernike phase surface
Wavefront propagation 515
Optimizing coefficients 283
Wavelengths
Zernike surface 331
Conventions for 55, 491
Optimizing coefficients 244, 283
Weights for 96
Zone plates 286
ZPL macros 576
Zoom and pan 39
Weight
Zoom in, out 37
Configuration 472
Zoom lenses
Of lenses 220
Maintaining length of 382
Wide angle apertures
Maximum semi-diameter solve 384
In object space 85
Multi-configuration feature 471
Window size
Operand 420
Changing default 59, 60
Phantom elements 475
Windows
Zoom positions
Editor properties 61
Changing 97
Graphic 35
On plots 58
Resizing and moving 35
Plotting all 102
Shortcuts 40
Showing number on plots 58, 59
Text 35
ZPL macros 223, 224, 535
Types of 35
Editing 535
Wire frame model 103
Examples 604
Working F/# 85
Optimization of 429
Defined 55
Printing 535
Method of computing 94
Status message 535
Operand 418
String variables 547
Paraxial 51
ZRD file format 367
657