Tolerancing in Zemax

29
Tolerancing in Zemax OPTI 521 Tutorial By Stacie Hvisc December 5, 2006

description

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. - PowerPoint PPT Presentation

Transcript of Tolerancing in Zemax

Page 1: Tolerancing in Zemax

Tolerancing in Zemax

OPTI 521 TutorialBy Stacie Hvisc

December 5, 2006

Page 2: Tolerancing in Zemax

Outline

• Motivation• Zemax tolerancing capabilities

– Sensitivity Analysis– Inverse Sensitivity Analysis– Monte Carlo

• Zemax Demo• Conclusion

Page 3: Tolerancing in Zemax

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!

Page 4: Tolerancing in Zemax

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

Page 5: Tolerancing in Zemax

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

Page 6: Tolerancing in Zemax

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.

Page 7: Tolerancing in Zemax

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.

Page 8: Tolerancing in Zemax

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.

Page 9: Tolerancing in Zemax

Zemax Demo

• How to do Homework 4 in Zemax:

• 1st step: open the HW4.zmx file downloaded from the course website

Page 10: Tolerancing in Zemax
Page 11: Tolerancing in Zemax

Zemax demo

In the Zemax window, go to “Editors” drop down menu and choose “Tolerance data” and the Tolerance Data Editor will open.

Page 12: Tolerancing in Zemax

Zemax demo

On the Tolerance Data Editor window, go to the “Tools” drop down menu and select “Default Tolerances…”

Page 13: Tolerancing in Zemax

Zemax demo

• …and the following Default Tolerances window will open.

Page 14: Tolerancing in Zemax

Zemax demo

Adjust the perturbations to match what I used on the homework and click “OK”.

Page 15: Tolerancing in Zemax

Zemax demo

• …and the following table appears

Page 16: Tolerancing in Zemax

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

Page 17: Tolerancing in Zemax

Tolerance mnemonics in Zemax• Tolerance

operands tell ZEMAX which parameters in the system to change.

• ZEMAX uses 4 letter mnemonics for the basic tolerances:

Page 18: Tolerancing in Zemax

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!

Page 19: Tolerancing in Zemax

Zemax demo

Next go to the “Tools” drop down window and choose “Tolerancing” and then “Tolerancing…”

Page 20: Tolerancing in Zemax

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.

Page 21: Tolerancing in Zemax

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).

Page 22: Tolerancing in Zemax

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

Perturbations Change in merit function

Numbers needed to calculate the sensitivities:

Page 23: Tolerancing in Zemax

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

Page 24: Tolerancing in Zemax

Zemax - results

From these numbers, we can calculate the sensitivities by dividing the change in the criteria (RMS wavefront) by the perturbation.

i

ii

i xxx

x

2

02

Page 25: Tolerancing in Zemax

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.)

Page 26: Tolerancing in Zemax

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

Page 27: Tolerancing in Zemax

Zemax - results ...2

22

120

Page 28: Tolerancing in Zemax

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.

Page 29: Tolerancing in Zemax

References• http://zemax.com/appnotes/tolerancing_example/index.html• http://www.optima-research.com/Software/Optical/Zemax/tolerancing.htm• Zemax Users Manual