360 likes | 855 Views
Tolerancing in Zemax. OPTI 521 Tutorial By Stacie Hvisc December 5, 2006. Outline. Motivation Zemax tolerancing capabilities Sensitivity Analysis Inverse Sensitivity Analysis Monte Carlo Zemax Demo Conclusion. Motivation.
E N D
Tolerancing in Zemax OPTI 521 Tutorial By Stacie Hvisc December 5, 2006
Outline • Motivation • Zemax tolerancing capabilities • Sensitivity Analysis • Inverse Sensitivity Analysis • Monte Carlo • Zemax Demo • Conclusion
Motivation • Once you design a lens, you will want to know how it will perform once it is built. • Tolerancing a lens is a very important skill to have. • We can do this by perturbing each element individually and reoptimizing the system, which is very slow, but accurate. • On homework 4, we perturbed each element at a time to find the sensitivities • We can find all the sensitivities at once by using Zemax’s tolerancing function. • This method is very fast, but there is a lot of room for mistakes. • On the homework, some people hit the sensitivity analysis button and got numbers that were incorrect – up to two orders of magnitude off!
Zemax tolerancing capabilities • You can set tolerances in the tolerance data editor for a wide variety of parameters • There is a default tolerance generator which can automatically enter tolerances for: Radius of curvature, fringes, thickness, position, x and y tilt, x and y decenter, irregularity, wedge, glass index, Abbe number, and more. • Other things you can tolerance include: aspheric constants, decenters/tilts, solve and parameter tolerances, etc • You can define what compensators you wish to use, such as focus, tilt, or position of any optical element, surface, or element group. • Remember on the homework, we used the final focus position • You can select the tolerance criteria • For example, on the homework, we used RMS wavefront
Zemax tolerancing capabilities • ZEMAX conducts an analysis of the tolerances using any or all of these three tools: • Sensitivity Analysis • Inverse Sensitivity Analysis • Monte Carlo Analysis
Sensitivity Analysis • The sensitivity analysis considers each defined tolerance independently. Parameters are adjusted to the limits of the tolerance range, and then the optimum value of each compensator is determined. A table is generated listing the contribution of each tolerance to the performance loss.
Inverse Sensitivity Analysis • The inverse sensitivity analysis iteratively computes the tolerance limits on each parameter when the maximum or incremental degradation in performance is defined. Limits may be overall or specific to each field or configuration.
Monte Carlo • The Monte Carlo analysis is extremely powerful and useful because all tolerances are considered at once. Random systems are generated using the defined tolerances. Every parameter is randomly perturbed using appropriate statistical models, all compensators are adjusted, and then entire system is evaluated with all defects considered. User defined statistics based upon actual fabrication data is supported. ZEMAX can quickly simulate the fabrication of a huge number of lenses and reports statistics on simulated manufacturing yields.
Zemax Demo • How to do Homework 4 in Zemax: • 1st step: open the HW4.zmx file downloaded from the course website
Zemax demo • In the Zemax window, go to “Editors” drop down menu and choose “Tolerance data” and the Tolerance Data Editor will open.
Zemax demo • On the Tolerance Data Editor window, go to the “Tools” drop down menu and select “Default Tolerances…”
Zemax demo • …and the following Default Tolerances window will open.
Zemax demo • Adjust the perturbations to match what I used on the homework and click “OK”.
Zemax demo • …and the following table appears
Zemax demo • This table is the Tolerance Data Editor mentioned earlier. • Here you adjust each of the tolerances. • Columns: • 1) Operand number • 2) 4 letter mnemonic for the tolerance • see next slide for a list • 3) Surface number for tolerance • 4 and 5) Skip for now • 6) Nominal value (helps me identify surfaces) • 7 and 8) Minimum and Maximum perturbations • 9) Comments
Tolerance mnemonics in Zemax • Tolerance operands tell ZEMAX which parameters in the system to change. • ZEMAX uses 4 letter mnemonics for the basic tolerances:
Zemax demo • After using the generate default tolerances window, you need to check to make sure all the numbers are correct. • For example, the lens spacing between lens 1 and lens 2, I had a perturbation of 0.2mm on the homework, but all thicknesses were set to be 0.1mm perturbations. • Zemax adds an additional compensator for thicknesses (in column 4). If you don’t want this, delete it – possible room for mistakes here!
Zemax demo • Next go to the “Tools” drop down window and choose “Tolerancing” and then “Tolerancing…”
Zemax demo • Then the following Tolerancing window opens up. • Choose your mode: (Sensitivity, Inverse Sensitivity, Inverse Increment, Skip Sensitivity). We want Sensitivity right now, which is the default already chosen. • Choose the Criteria: (RMS Spot Radius, RMS Wavefront, Merit Function, Boresight Error, MTF and more). We need to select RMS Wavefront.
Zemax demo • Tolerancing window cont. • Choose the Compensator: (Paraxial focus, Optimize All, None). We want the paraxial focus to be the compensator, which is already the default. • Check “Force Ray Aiming On” (makes more accurate, but slower) • You can also check “Show Compensators” (for example to see how much focus changes for example).
Zemax - results • Here are the results: • Analysis of Tolerances • File : C:\Documents and Settings\shvisc\Desktop\HW4.zmx • Title: Focusing doublet • Date : TUE DEC 5 2006 • Units are Millimeters. • Paraxial Focus compensation only. • WARNING: Boundary constraints on compensators will be ignored. • Criteria : RMS Wavefront Error in waves • Mode : Sensitivities • Sampling : 20 • Nominal Criteria : 0.00065152 • Test Wavelength : 0.6328 • Fields: Y Symmetric Angle in degrees • # X-Field Y-Field Weight VDX VDY VCX VCY • 1 0.000E+000 0.000E+000 1.000E+000 0.000 0.000 0.000 0.000 • Sensitivity Analysis: • |----------------- Minimum ----------------| |----------------- Maximum ----------------| • Type Value Criteria Change Value Criteria Change • TRAD 2 -0.100000000 0.001543200 0.000891675 0.100000000 0.001773699 0.001122174 • TRAD 3 -0.100000000 0.000721251 6.9726E-005 0.100000000 0.000642781 -8.7431E-006 • TRAD 4 -0.100000000 0.002301125 0.001649600 0.100000000 0.002559580 0.001908056 • TRAD 5 -0.100000000 0.000888400 0.000236876 0.100000000 0.000731590 8.0066E-005 • TTHI 2 0 -0.100000000 0.001036787 0.000385263 0.100000000 0.000845486 0.000193961 • TTHI 3 0 -0.200000000 0.004974029 0.004322505 0.200000000 0.004698490 0.004046966 • TTHI 4 0 -0.100000000 0.000693073 4.1548E-005 0.100000000 0.000828411 0.000176886 • TEDX 2 3 -0.100000000 0.009626142 0.008974618 0.100000000 0.009626142 0.008974618 • TETX 2 3 -0.100000000 0.005722684 0.005071160 0.100000000 0.005722684 0.005071160 • TEDX 4 5 -0.100000000 0.009681031 0.009029507 0.100000000 0.009681031 0.009029507 • TETX 4 5 -0.100000000 0.011549130 0.010897605 0.100000000 0.011549130 0.010897605 • TIRX 2 -0.100000000 0.017751740 0.017100215 0.100000000 0.017751740 0.017100215 • TIRX 3 -0.100000000 0.031032656 0.030381132 0.100000000 0.031032656 0.030381132 • TIRX 4 -0.100000000 0.063785240 0.063133716 0.100000000 0.063785240 0.063133716 • TIRX 5 -0.100000000 0.034639912 0.033988387 0.100000000 0.034639912 0.033988387 • TIND 2 -0.000500000 0.000890818 0.000239294 0.000500000 0.000735714 8.4190E-005 • TIND 4 -0.000500000 0.000814628 0.000163103 0.000500000 0.000998033 0.000346509 Numbers needed to calculate the sensitivities: Perturbations Change in merit function
Zemax - results cont. • Worst offenders: • Type Value Criteria Change • TIRX 4 -0.100000000 0.063785240 0.063133716 • TIRX 4 0.100000000 0.063785240 0.063133716 • TIRX 5 -0.100000000 0.034639912 0.033988387 • TIRX 5 0.100000000 0.034639912 0.033988387 • TIRX 3 -0.100000000 0.031032656 0.030381132 • TIRX 3 0.100000000 0.031032656 0.030381132 • TIRX 2 -0.100000000 0.017751740 0.017100215 • TIRX 2 0.100000000 0.017751740 0.017100215 • TETX 4 5 -0.100000000 0.011549130 0.010897605 • TETX 4 5 0.100000000 0.011549130 0.010897605 • Estimated Performance Changes based upon Root-Sum-Square method: • Nominal RMS Wavefront : 0.000651524 • Estimated change : 0.081762126 • Estimated RMS Wavefront : 0.082413650 • Compensator Statistics: • Change in back focus: • Minimum : -0.327629 • Maximum : 0.327965 • Mean : 0.000030 • Standard Deviation : 0.105018 • Monte Carlo Analysis: • Number of trials: 20 • Initial Statistics: Normal Distribution • Trial Criteria Change • 1 0.045548742 0.044897218 • 2 0.013286277 0.012634752 • 3 0.036228419 0.035576894 • 4 0.009442727 0.008791203 • 5 0.014894832 0.014243307 • 6 0.020252474 0.019600949 • 7 0.047652045 0.047000521 • 8 0.013279680 0.012628156 • 9 0.009529791 0.008878266 • 10 0.088488208 0.087836684 • 11 0.019946472 0.019294947 • 12 0.014766018 0.014114493 • 13 0.008394405 0.007742881 • 14 0.069265579 0.068614055 • 15 0.005727527 0.005076003 • 16 0.026195678 0.025544154 • 17 0.009141888 0.008490364 • 18 0.009603029 0.008951504 • 19 0.051217993 0.050566469 • 20 0.037339341 0.036687816 • Nominal 0.000651524 • Best 0.005727527 Trial 15 • Worst 0.088488208 Trial 10 • Mean 0.027510056 • Std Dev 0.022263515 • Compensator Statistics: • Change in back focus: • Minimum : -0.391712 • Maximum : 0.342581 • Mean : 0.022387 • Standard Deviation : 0.217850 • 90% <= 0.051217993 • 50% <= 0.014894832 • 10% <= 0.008394405 • End of Run. Worst Offenders Monte Carlo
Zemax - results • From these numbers, we can calculate the sensitivities by dividing the change in the criteria (RMS wavefront) by the perturbation.
Zemax - results • Paste the results into Excel and calculate the sensitivities • (A possible place for error: mixing up degrees and mm for the tilt terms.)
Zemax - results • So, how did we do? • Not too good, but not too bad either, nothing is more than an order of magnitude off. • Possible differences due to using a slightly different RMS wavefront error as the criteria: • I used on the homework: “RMS (to centroid) from integration of the rays” • Zemax used RWCE: “RMS (to centroid) from integration of the fixed coefficients” • The one with the -734% difference is due to the insensitivity of that perturbation • Zemax also calculates the change in criteria differently (doesn’t do a root sum square) – see next slide
Conclusions • Zemax is very powerful and has many tolerancing design capabilities. • You must understand how Zemax does the sensitivity analysis before you can blindly use it.
References • http://zemax.com/appnotes/tolerancing_example/index.html • http://www.optima-research.com/Software/Optical/Zemax/tolerancing.htm • Zemax Users Manual