301 likes | 1.13k Views
Outline. MotivationZemax tolerancing capabilitiesSensitivity AnalysisInverse Sensitivity AnalysisMonte CarloZemax DemoConclusion. 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
E N D
1. Tolerancing in Zemax OPTI 521 Tutorial
By Stacie Hvisc
December 5, 2006
2. Outline Motivation
Zemax tolerancing capabilities
Sensitivity Analysis
Inverse Sensitivity Analysis
Monte Carlo
Zemax Demo
Conclusion
3. 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!
4. 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
5. 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
6. 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.
7. 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.
8. 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.
9. Zemax Demo How to do Homework 4 in Zemax:
1st step: open the HW4.zmx file downloaded from the course website
11. Zemax demo In the Zemax window, go to “Editors” drop down menu and choose “Tolerance data” and the Tolerance Data Editor will open.
12. Zemax demo On the Tolerance Data Editor window, go to the “Tools” drop down menu and select “Default Tolerances…”
13. Zemax demo …and the following Default Tolerances window will open.
14. Zemax demo Adjust the perturbations to match what I used on the homework and click “OK”.
15. Zemax demo …and the following table appears
16. 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
17. Tolerance mnemonics in Zemax Tolerance operands tell ZEMAX which parameters in the system to change.
ZEMAX uses 4 letter mnemonics for the basic tolerances:
18. 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!
19. Zemax demo Next go to the “Tools” drop down window and choose “Tolerancing” and then “Tolerancing…”
20. 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.
21. 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).
22. 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
23. 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.
24. Zemax - results From these numbers, we can calculate the sensitivities by dividing the change in the criteria (RMS wavefront) by the perturbation.
25. 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.)
26. 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
27. Zemax - results
28. 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.
29. References http://zemax.com/appnotes/tolerancing_example/index.html
http://www.optima-research.com/Software/Optical/Zemax/tolerancing.htm
Zemax Users Manual