Tutorial of Tolerancing Analysis Using Commercial Optical Software Ping Zhou OPTI 521 December 3, 2006 Abstract Tolerancing analysis is a very important step in optical system design. Since all the optical elements can not be perfectly manufactured, tolerances must be specified in such a way that the optical elements can be fabricated within the tolerances. Tolerances decrease the design merit functions, and also affect image quality. Therefore, a wellspecified tolerance can maintain good system performance, and also make the optical elements easy to make. In this tutorial, the current tolerances techniques that most optical software packages use are introduced. It is also discussed that how to use the optical software to explore the tolerances analysis. A case study on tolerance for a null-corrector system is given using commercial software--Zemax. 1. Introduction A critical step in the design of an optical system destined to be manufactured is to define a fabrication and assembly tolerance budget, and to accurately predict the resulting asbuilt performance, including the effects of compensation (e.g., refocus). Good tolerance can decrease the fabrication cost and still maintain good system performance. If small variations in the values of the lens parameters result in significant loss of performance, the cost to build the design can be prohibitively high. To minimize production costs, the ideal optical system design will maintain the required performance with achievable component and assembly tolerances, using well-chosen post-assembly adjustments. This complex process is often called, “tolerancing.” ZEMAX, CODE V and OSLO are three comprehensive software packages for the design, analysis, tolerancing, and fabrication support of optical systems. All those software packages provide 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. They also support analysis of decentration of surfaces and lens groups, tilts of surfaces or lens groups about any arbitrary point, 1 irregularity of surface shape, and variations in the values of any of the parameter. For a simple optical system, we can do the tolerances analysis manually with the help of those software packages, like what we did in OPTI 521 homework. However, for a complex optical system, which may have tens of optical elements, it is hard to tolerance the system manually. Most optical software packages provide the tools to do the tolerance automatically, which can decrease the calculation time dramatically. It is very tricky to use the tolerancing features that the software provides. However, it will be more accurate and save your time once you figure out how to correctly manipulate the software. In this tutorial, I will discuss how these software packages do the tolerance analysis. In section 2, the three main tolerancing techniques that are available from the software packages are introduced. The methods of tolerance calculation that most software packages use are discussed and compared in section 3. Standard tolerances for optical elements, glass and assembly are summarized in section 4. The procedure of using optical software to do tolerancing and an exampled are given in section 5, 6. 2. Tolerancing techniques Most optical software packages provide 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. Position of the image plane is one of the most commonly-used compensator. Radius of curvature, conic constant and other parameters can be defined as compensators. Most software, like Code V, assumes the ray optical path differences due to tolerance perturbations vary linearly with tolerance change. This assumption is typically valid if the tolerance perturbation results in a small degradation of the nominal performance. Basically, there are three ways the software provides us to explore the impact of manufacturing errors on our optical design. Sensitivity analysis: For a given set of tolerances, the change in criteria is determined for each tolerance individually. It reports the effect that each parameter has on the error function and gives a number of “worst offenders”. This helps us to find out which parameter is the most sensitive to the system performance, and then we may specify a tight tolerance on that parameter. 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. Monte Carlo Analysis: The sensitivity and inverse sensitivity analysis considers the effects on system performance for each tolerance individually. The aggregate 2 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. By considering all applicable tolerances simultaneously and exactly, highly accurate simulation of expected performance is possible. The Monte Carlo simulation performs iterations where all parameters are varied by an amount chosen at random, within the range of tolerance limits according to a specified distribution like normal, uniform, or user defined statistics. 3. Different methods to calculate tolerances Different software packages use different methods to calculate the tolerances. The most common tolerancing methods are Finites Differences, Monte Carlo. Finite Differences can calculate the sensitivity and inverse sensitivity. Monte Carlo is the method to simulate many trials and get the statistical performance of the system. Code V has another method to calculate the tolerance, which is called Wavefront Differential. The Finite Differences approach individually varies each parameter within its tolerance range and predicts the system performance degradation on a tolerance-by-tolerance basis. These individual results are statistically combined to yield a total system performance prediction. This method accurately predicts performance sensitivity to individual tolerances, which allows determination of the parameters that are “performance drivers.” However, since the Finite Differences method does not consider how simultaneous parameter changes by multiple tolerances will interact, its prediction of overall performance is typically optimistic. The effects of tolerance interactions on the system performance are known as “cross-terms.” The Monte Carlo approach is to vary all of the parameters that have an associated tolerance by random amounts, but within each tolerance range. The resulting system performance is analyzed. This process is repeated many times with different random perturbations (each analysis is often referred to as a “trial”). If many trials are run (100 to 1000 is typical), an accurate statistical prediction of the probability of achieving a particular performance level can be generated. Since all the parameters are being varied at the same time, the Monte Carlo method accurately accounts for cross-terms. However, no information can be gleaned from the Monte Carlo analysis about individual tolerance sensitivities. Therefore, while you can accurately predict system as-built performance, you cannot determine the significant parameters that are driving the performance, and thus cannot select the best set of tolerances to minimize cost. Both the Finite Differences and Monte Carlo tolerancing methods are very computationally intensive and can be very slow. For Finite Differences, the system must be analyzed twice, once for each tolerance (the plus and minus perturbation). Thus, more complex systems will take longer to “tolerance” than simpler systems. A triplet typically 3 has over 50 tolerances, resulting in over 100 analysis simulations. For the Monte Carlo approach, the system must be analyzed for every trial. System complexity becomes an issue when the system has many optical elements to tolerance. Wavefront Differential algorithm introduced by Code V is another approach to calculate the tolerances. It provides information about both individual tolerance sensitivities (like the Finite Differences method) and an accurate performance prediction, including the effect of cross-terms (like the Monte Carlo method). For tolerances that cause a small change to the overall performance, the wavefront differential method can also be more accurate than Finite Differences, which can suffer numerical precision problems when subtracting two large performance numbers to determine a small difference. The Wavefront Differential approach is fast compared to either the Finite Differences or Monte Carlo methodologies, because the nominal system is ray traced once, and all the required information for further analysis is extracted from this ray trace of the nominal system. 4. Standard tolerances for lens, glass and assemble The tolerances that a lens designer assigns not only affect the performance of the system, but also affect the cost of the system. The relationship between cost and performance is usually inversely related. Often a shop will publish different price schedules for base, precision, and high precision tolerances. The following tables from Dr. Burge’s class notes provide a general guideline for different levels of optical, mechanical tolerances. Table 1 Optical assembly tolerance 4 Table 2 Lens tolerance Table 3 Glass tolerances Base: Typical, no cost impact for reducing tolerances beyond this. Precision: Requires special attention, but easily achievable in most shops, may cost 25% more High precision: requires special equipment or personnel, may cost 100% more 5 5. Procedure of tolerances analysis on optical software The procedure of tolerancing usually consists of the following steps. 1) Define an appropriate set of tolerances for the lens. Usually, the default tolerance is a good place to start, or you can use the different tolerance levels given in table1-3. 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 plane. Other compensators, such as image surface tilt and decenter, may be defined. 4) Select 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. 5) Select the desired mode, either sensitivity or inverse sensitivity. For inverse sensitivity, choose criteria limits or increments, and whether to use averages or computer each field individually. 6) Perform an analysis of the tolerances. 7) Review the data generated by the tolerance analysis, and consider the budgeting of tolerances. If required, modify the tolerances and repeat the analysis. 6. Case study A two-element null corrector design with an F/2.54 is used to study the tolerances on Zemax. This null corrector is used to test a 4 m diameter mirror. The system layout is shown in Fig.1. The relay lens and field lens are the two lenses I am going to tolerance. In sum, there are 18 tolerances are analyzed. For the analysis, all the parameters are assumed to have an equal probability of having any value within the plus and minus tolerance limits. Relay lens Field lens Diverger Fig.1 Layout of the null corrector 6 Sensitivity analysis: I tried to do the tolerancing manually and also use tolerance feature of Zemax to give us the information about individual tolerance sensitivities. The RMS wavefront is the criteria for both cases. Conic constant, the position of the test mirror and its tip-tilt are the compensators. The sensitivity mode is applied to find out the conic constant change and RMS wavefront error. As shown in Table 4, the changes in conic constant using two methods are very close. However, the RMS wavefront errors are slightly different. I am guessing the criteria to calculate the RMS wavefront is slightly different. In general, the calculation using Zemax tolerancing feature is consistent with those calculated manually. Table 4 Tolerance comparison Units Airspace Relay Lens: Curvature 1 (a flat) Thickness Radius 2 Index Wedge 1 Wedge 2 Decenter Tilt Design value Uncertainty mm 143.89 0.05 0.000400 /mm mm mm 0 19.763 51.68 1.51509 0 0 0 0 2.00E-06 0.025 0.025 0.0005 0.05 0.05 0.05 0.05 256.2 0 4.566 206.72 1.51509 0 0 0 0 mm mm mm mm Airspace Field Lens: Curvature 1 (a flat) Thickness Radius 2 Index Wedge 1 Wedge 2 Decenter Tilt /mm mm mm mm mm mm mm Change in conic Change in conic constant(ZEMAX) constant (manual calculation) Rms WFE (waves) (ZEMAX) Rms WFE (waves)(manual calculation) 0.000394 0.00705 0.00711 -0.000160 0.000130 0.000050 0.001580 0.000000 0.000000 0.000000 0.000000 -0.000158 0.000133 0.000047 0.001569 0.000053 0.000024 0.000018 -0.000068 0.00738 0.00737 0.00715 0.00704 0.00731 0.00731 0.00731 0.00732 0.00743 0.00727 0.00720 0.00708 0.00998 0.00849 0.00821 0.01144 0.05 -0.000680 -0.000690 0.00699 0.00703 2.00E-06 0.025 0.025 0.0005 0.05 0.05 0.05 0.05 0.000410 -0.000220 0.000120 -0.001000 0.000000 0.000000 0.000000 0.000000 0.000436 -0.000230 0.000126 -0.001073 0.000029 0.000140 0.000014 0.000014 0.01107 0.00715 0.00807 0.01455 0.00738 0.00737 0.00731 0.00755 0.01111 0.00721 0.00813 0.01446 0.00858 0.01820 0.00814 0.00814 0.00730 0.00725 0.03528 22.325nm 0.04148 26.246nm Residual Wavefront wv RSS 0.002096 0.002139 The top-three “worst offenders” are index of refraction, the radii of the two surfaces for the field lens. When we tolerance this two-element null lenses, we should give tight tolerances on these worst offenders. Monte Carlo analysis: The 100-trial Monte Carlo simulation was run to analyze the overall performance of the system with the tolerance shown in Table 4. The simulation time took about 6 minutes. The statistics for the conic constant, position and orientation of the mirror is given in Table 5. The cumulative probability of the Monte Carlo analysis is given in Fig.2. 7 Table 5 Statistics of the compensators Conic Nominal Minimum Maximum Mean Standard deviation -1.0827 -1.085964 -1.078858 -1.082708 0.001444 Position of the mirror (mm) 0 -1.1563 0.9667 0.0256 0.4702 Decenter of the mirror (mm) 0 -0.3712 0.4288 0.0073 0.1572 Tilt of the mirror (degree) 0 -0.0772 0.0588 0.0018 0.0294 Cumulative probability (%) Monte Carlo (100 trials) 100 90 80 70 60 50 40 30 20 10 0 0.005 0.007 0.009 0.011 0.013 0.015 0.017 0.019 RMS wavefront (in waves) Fig.2 Monte Carlo analysis The nominal RMS wavefront is 0.0073 waves. The BEST and WORST trials give the RMS wavefront 0.0070 and 0.0245 waves, respectively. The MEAN RMS wavefront is 0.01220 waves with the standard deviation of 0.00468 waves. Among the 100 trials, 90% of the trials have the RMS wavefront less than 0.0193 waves. As we can see that the RMS wavefront from the Monte Carlo simulation is smaller than the Root-Sum-Square method. Monte Carlo simulation is considered to be a more practical analysis, since it takes the cross-terms into consideration. To get a more accurate result, we can also increase the number of trials. 7. Conclusion The tutorial introduced the tolerance features in the optical software packages. Three methods (Finite Different, Monte Carlo and Wavefront Differential) of calculating the 8 tolerance are discussed and compared. The Wavefront Differential is the fastest method in calculating the tolerance, and it can provide both the sensitivity and Monte Carlo analysis. The software provides outstanding calculation speed, accuracy and flexibility in tolerancing, if we can use it appropriately. Good system tolerances can maintain optical system performance while reducing the cost during the process of manufacture and assembly. Standard tolerances for the optics, glass and assembles are given in this tutorial, which can be a guideline when we tolerance the system. An example of a two-element null lens is used to calculate the tolerance sensitivities and do the Monte Carlo analysis. The simulation results are consistent with the manual calculation on the tolerance sensitivities. Reference: 1. Zemax manual 2. Code V tolerancing release 3. OPTI 521 class notes 9