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

gigi
• Category

Documents

• view

514

27

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

Tolerancing in Zemax

OPTI 521 TutorialBy 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

Perturbations Change in merit function

Numbers needed to calculate the sensitivities:

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.

i

ii

i xxx

x

2

02

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

Zemax - results ...2

22

120

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