SYNOPSYS™ Examples:  Tolerancing the Apochromatic Objective

 

In the previous example we designed an apochromatic telescope objective.  In this lesson we will calculate a tolerance budget for that lens.

 

Background

 

Not all lens designers give the subject of lens tolerances the attention it deserves.  We have written an informative description of what tolerances are all about, how they are calculated, and what kinds of blunders are often made by both designers and lens makers.  This will be found at

 

http://www.osdoptics.com/Lens%20Tolerances.html.

 

It will help the new user of SYNOPSYS to understand this important topic if they first read this short paper.  When you have finished, you may go on with this lesson.

 

Tolerance Budget

 

We will start this lesson with the results of the design you did in Lesson 1, the apochromatic objective.  Before you can send drawings of the lens elements to the shop, you have to figure out how large the manufacturing errors can be and still get adequate performance.  Since this example is a very well-corrected astronomical objective – the fussiest lenses you are ever likely to meet unless you design microlithography objectives – the budget will probably be very tight.  That is exactly what we need for the exercise: most lenses are very easy to tolerance with SYNOPSYS, but that would not be a very interesting example.

 

For reference, here is the RLE file of that lens (with the curvature solve removed from surface 6, and the maximum field angle set to 0.5 degrees):

 

RLE

ID F10 APO                               24723

 FNAME 'C:\SYNOPSYS\USER\APO_START.RLE                    '

 WAVL .6500000 .5500000 .4500000

 APS               3

 UNITS INCH

 OBB  0.00    .5    2.00000   -0.01249    0.00000    0.00000    2.00000

   0 AIR

   1 RAD   -282.3206120622309   TH      0.58187611

   1 N1 1.53742490 N2 1.54188880 N3 1.54960358

   1 GTB S    'N-BAK2          '

   2 RAD     -7.1715443994768   TH      0.33067176 AIR

   2 AIR

   3 RAD     -6.6987409012966   TH      0.26355283

   3 N1 1.60953772 N2 1.61628830 N3 1.62823445

   3 GTB S    'N-KZFS4         '

   4 RAD      5.4860309728572   TH      0.03937000 AIR

   4 AIR

   5 RAD      5.5795739858116   TH      0.53300999

   5 N1 1.66610392 N2 1.67304720 N3 1.68543133

   5 GTB S    'N-BAF10         '

   6 RAD    -20.4792159953376   TH     39.45248745 AIR

   6 AIR

   6 CV      -0.04882999

   6 UMC     -0.05000000

   6 TH      39.45248745

   6 YMT      0.00000000

   7 RAD    -11.3257437577435   TH      0.00000000 AIR

   7 AIR

 END

 

First let us look at the lens in its final form, using the SketchPAD display (type PAD in the Command Window, and then adjust the ray fans scale, if needed, with the toolbar button  ).

 

 

The on-axis image is the most important for this kind of objective, which is often used for planetary observing, and there is some field curvature (which is why we varied the image surface radius) and some astigmatism, which you cannot correct with a compact lens group at the stop.

 

First we will try a simple BTOL evaluation.  BTOL is the Budget TOLerance program in SYNOPSYS, and it has a great many options, of which we will use only a few.  We have provided a menu for simple cases: MSB, for Menu, Simple BTOL.  Type MSB in the Command Window, and then fill in the boxes as follows: (Most of them are already filled in for you; but we selected the TOLERANCE and WAVE radio buttons (instead of DEGRADE SPOT), and clicked the Prepare MC box to select that option.  Everything else can be left as it is.  Click the GO button.

 

 

You see some data scroll by on the Command Window, and the results are in.  Look up a little from the bottom line, and you will see

 

SUMMARY OF OPTICAL PERFORMANCE

   REL. Y-HEIGHT  REL. X-HEIGHT            ANTICIPATED STATISTICS

                                           OF QUALITY DESCRIPTOR

          (HBAR)         (GBAR)    MEAN VALUE  MULTIPLE DEV      EXPECTED ZOOM

   ___________________________________________________________________________

           0.000          0.000       0.02851       0.01284       0.04135    1

           1.000          0.000       0.03284       0.01750       0.05035    1

           0.500          0.000       0.02896       0.01361       0.04257    1

 

This says that the on-axis image will get a variance of 0.041, which is rather large.  The edge of the field went to the allowed maximum variance of 0.05, but for this lens we don’t care much about that.  What does the budget look like?  Scroll the display up a bit more until you come to the budget results:

 

BUDGET TOLERANCE ANALYSIS                                         -----B-----

 EL. SURF       RADIUS         RADIUS TOLERANCE        THICKNESS THICKNESS TOL

                            (RADIUS)     (FRINGES)

 _____________________________________________________________________________________________

   1   1    -282.32061       2.35734       4.77859       0.58188       0.00500

   1   2      -7.17154       0.00097       3.04615       0.33067       0.00164

   2   3      -6.69874   8.28596E-04       2.81864       0.26355       0.00494

   2   4       5.48603   3.47212E-04       1.80090       0.03937   4.97777E-04

   3   5       5.57957   3.44665E-04       1.74861       0.53301       0.00496

   3   6     -20.47922       0.01147       4.32324      39.45249       0.00000

       7     -11.32574       0.00000       0.00000       0.00000       0.00000

 

 ELE SURF   GLASS NAME        BASE INDEX    INDEX TOL     V-NUMBER     V-NUMBER TOL

 _____________________________________________________________________________________________

   1   1  N-BAK2               1.53996d  4.49039E-04      59.70771d      0.08444

   2   3  N-KZFS4              1.61336d  1.88603E-04      44.49298d      0.03630

   3   5  N-BAF10              1.67003d  2.19122E-04      47.11137d      0.05250

 

 Note: The symbol "d" indicates that the quantity is estimated at 0.58756 uM.

       The symbol "F" indicates that the quantity is taken at the primary color.

 

 ELE SURF         WEDGE TOLERANCE       IRREG. TOL  ROLLED EDGE TOL

             (ARC MIN)         (TIR)     (FRINGES)     (FRINGES)

 _______________________________________________________________

   1   1       0.00000       0.00000       0.35680       0.41817

   1   2       0.44023   5.13653E-04       0.35410       0.41101

   2   3       0.00000       0.00000       0.32915       0.37737

   2   4       0.24462   2.80682E-04       0.32635       0.37328

   3   5       0.00000       0.00000       0.31155       0.35502

   3   6       0.49714   5.74080E-04       0.31665       0.36742

       7      15.83939       0.00322       0.00000       0.00000

 

 ELE SURF     ELEMENT TILT TOLERANCE  Y-DECENT TOL  X-DECENT TOL

             (ARC MIN)         (TIR)

 _______________________________________________________________

   1   1       0.55503   6.47911E-04   6.58472E-04       0.00000

   1   2       0.00000       0.00000       0.00000       0.00000

   2   3       0.33068   3.75198E-04   2.48972E-04       0.00000

   2   4       0.00000       0.00000       0.00000       0.00000

   3   5       0.26276   3.03263E-04   2.88880E-04       0.00000

   3   6       0.00000       0.00000       0.00000       0.00000

       7       0.00000       0.00000       0.00000       0.00000

 

This is scary.  The lens has a 0.0016 airspace tolerance between elements 1 and 2, and 0.0005 between 2 and 3.  The V-number tolerance is 0.0363 on the center element, and you need to hold centration of 0.00025 on that element.  Nobody can make this lens by just following a budget.

 

We have to loosen things up by a whole lot.  Type LMM in the Command Window, which loads the last menu as a MACro, so you can edit it and run it again.  Here is the BTOL input for what we just did.  It is indeed very simple.

 

BTOL 2                                                                                   

TPR ALL                                                                                   

TOL WAVE 0.05                                                                            

PREPARE MC                                                                               

GO                                                                                        

 

We have to change it.  First, type POP (Print OPtions) in the CW, to see what paraxial options are in effect.

 ______________________________________________________________________________

 SOLVES, PICKUPS, AND OPTIONS

 ______________________________________________________________________________

   6 TH      39.45248746

   6 YMT      0.00000000

 

This lens has a paraxial thickness solve on surface 6 (YMT means Y-height, Marginal ray, Thickness adjust).  That means that the lens stayed at the paraxial focus throughout the tolerance analysis.  Sometimes one can do better by allowing a small departure, so we will change that.  We also add some other things to get this new MACro:

 

GET 3

CHG

NOP

END

 

BTOL 2 

UCF 1

0 0  

EXACT INDEX 1 3 5

EXACT VNO 1 3 5                                                                            

TPR ALL                                                                                  

TOL WAVE 0.1

ADJUST 6 TH 100 100                                                                            

PREPARE MC                                                                               

GO

STORE 3                                                                                        

 

We have deleted the thickness solve (with NOP), specified that tolerances were to be calculated looking at only the center of the field (UCF is User-Controlled Field, at a single point with angles HBAR and GBAR both zero.  We also loosen the variance tolerance to 0.1, specify exact index and Vnum for all glasses (one usually gets melt data for these fussy systems and reoptimizes with those data, so the glass parameters do not need a tolerance anymore) and we add the adjustment directive so that thickness 6 (the final airspace) can be adjusted to maintain image quality.  We run this MACro, and the budget is somewhat looser but still not easy. 

 

BUDGET TOLERANCE ANALYSIS                                         -----B-----

 EL. SURF       RADIUS         RADIUS TOLERANCE        THICKNESS THICKNESS TOL

                            (RADIUS)     (FRINGES)

 _____________________________________________________________________________________________

   1   1    -282.32061       2.42936       4.92457       0.58188       0.00500

   1   2      -7.17154       0.00146       4.57349       0.33067       0.00331

   2   3      -6.69874       0.00132       4.47709       0.26355       0.00498

   2   4       5.48603   6.36827E-04       3.30306       0.03937       0.00096

   3   5       5.57957   6.36967E-04       3.23157       0.53301       0.00499

   3   6     -20.47922       0.01292       4.87002      39.45249       0.00000

       7     -11.32574       0.00000       0.00000       0.00000       0.00000

 

 ELE SURF   GLASS NAME        BASE INDEX    INDEX TOL     V-NUMBER     V-NUMBER TOL

 _____________________________________________________________________________________________

 

 Note: The symbol "d" indicates that the quantity is estimated at 0.58756 uM.

       The symbol "F" indicates that the quantity is taken at the primary color.

 

 ELE SURF         WEDGE TOLERANCE       IRREG. TOL  ROLLED EDGE TOL

             (ARC MIN)         (TIR)     (FRINGES)     (FRINGES)

 _______________________________________________________________

   1   1       0.00000       0.00000       0.98687       0.44016

   1   2       0.73634   8.59153E-04       0.97505       0.43160

   2   3       0.00000       0.00000       0.89501       0.39468

   2   4       0.41243   4.73227E-04       0.87893       0.38633

   3   5       0.00000       0.00000       0.83218       0.36679

   3   6       0.85590   9.88362E-04       0.85577       0.38158

       7      24.62785       0.00500       0.00000       0.00000

 

 ELE SURF     ELEMENT TILT TOLERANCE  Y-DECENT TOL  X-DECENT TOL

             (ARC MIN)         (TIR)

 _______________________________________________________________

   1   1       0.86690       0.00101       0.00111       0.00000

   1   2       0.00000       0.00000       0.00000       0.00000

   2   3       0.58338   6.61928E-04   4.13000E-04       0.00000

   2   4       0.00000       0.00000       0.00000       0.00000

   3   5       0.43714   5.04532E-04   4.89761E-04       0.00000

   3   6       0.00000       0.00000       0.00000       0.00000

       7       0.00000       0.00000       0.00000       0.00000

 

Now the lens will get a variance of 0.1 at the center of the field, at the two-sigma level.  Is that too large?  To find out, let us run the Monte-Carlo routine and see what the as-made lenses look like.  The starting lens is in the library at location 3 and we want a worst-case example to be placed into location 5.

 

Type in the CW:

 

MC 50 3 QUIET –1 ALL 5.

 

This will run a batch of 50 lenses, made according to the budget above, compile statistics for the batch, and then save the worst case example.  If you do not know the arguments of the command, just type the letters MC, and look at the tray.  The format of the command is displayed for you, and if you need more information, must press the F2 key while the command is in the tray, to open the Help File at that topic.  (You have to run BTOL before MC will work, since it uses the budget from BTOL.)

 

 

MC runs its 50 cases and prints some statistics.  You can look at a histogram of the results by typing MC PLOT after the run is finished.  The on-axis image now has a variance of 0.1 at a two-sigma confidence. 

 

But this looks too easy.  We need to examine the worst-case example.  Switch to ACON 2 (type ACON 2 – or click the orange button that says 2) and type GET 5.  This is where MC put that example.   Now look at the PAD display.

 

 

Here we selected the OPD Fan Plots option for the bottom display, full SFAN, and we see that the lens has way more than a quarter-wave of aberration at the on-axis image.  We told you this would not be an easy problem!  And this budget is still rather tight, with centration tolerances of about 10 microns.

 

Anyone with experience with astronomical optics could have predicted all of this, of course.  One can rarely just build to print and expect such lenses to work.  We have a great budget that nobody can hold, and a more practical budget that makes a bad lens.  What’s next?

 

Fabrication Adjustment

 

Clearly we need some fabrication adjustments.  In this scenario, one makes an element, measures it, and then reoptimizes the lens again, varying the other elements.  Then one makes another element to the new design, measures and adjusts all over again, continuing in this way until everything is made.  At assembly one then adjusts centration and possibly tilts to get the best possible image.

 

One really should read about this topic in order to use it.  Type HELP FAMC.  (FAMC is Fab Adjust MC.)  It’s actually not too complicated.  Here is our MACro:

 

FAMC 50 3 QUIET -1 ALL 5

PASSES 10

FAORDER 5 3 1

 

PHASE 1

PANT

VLIST RAD 1 2 3 4 5 6

VLIST TH 2 4 6

END

 

AANT

GSO 0 1 5 P 0

GSO 0 1 5 1 0

GSO 0 1 5 3 0 

END

SNAP

EVAL

 

PHASE 2

PANT

VY 3 YDC 2 100 -100

VY 3 XDC 2 100 -100

VY 5 YDC 2 100 -100

VY 5 XDC 2 100 -100

VY 6 TH

END

AANT

GNO 0 1 4 P 0 0 0 F

GNO 0 1 4 1 0 0 0 F

GNO 0 1 4 3 0 0 0 F

END

SNAP

 

Here is what is going on in this MACro:

 

1. Request FAMC, with arguments the same as for the MC program that was run above.

 

2. In Phase 1, the program will alter the lenses in the order given in the FAORDER line, changing the parameters by a random amount within the BTOL budget.  This simulates making the hardest element first, and so on.  It will optimize the lens with the variables and merit function listed in the PHASE 1 portion, as each element is manufactured, deleting those variables that apply to elements that are already finished.

 

3. When the lenses are all made, it simulates their mounting in the cell according to the tilt and decenter tolerances.  Then it optimizes once again, varying the decenter of elements two and three in both X and Y (errors are simulated in both directions, so the compensation must be as well) in accordance with the PHASE 2 parameters.  It also varies thickness 6 once again, since a large centration change produces a small focus shift as well.  The merit function also corrects rays over both halves of the pupil (the “F” in the GNR lines) because there is no bilateral symmetry anymore once the errors are simulated.

 

We run this MACro and look at the worst case again.

 

 

 

This lens now has wavefront errors of just over a quarter wave – and remember this is the worst case.  Most of the 50 in this batch are very much better.  Type MC PLOT, and look at the portion that describes the on-axis image:

 

 

The worst-case example is the lonely box at the end of the bottom histogram, and it is much worse than the others.  There is always a small chance of getting a lemon, after all, and this is it.  Nonetheless, there is a high probability that the lens will work just fine if built according to this rather tight budget.  (If you run these cases yourself, your statistics will be different, since MC introduces random errors according to the budget.)

 

Note that the budget itself was not altered, or recalculated, when we decided to use FAMC.  What we did was to employ a budget that did not work very well and made it work much better.  As a fringe benefit, we don’t have to worry about the tight centration errors anymore – which are expensive to hold – since the elements are to be adjusted at assembly anyway.  So things have gotten much easier.

 

But there is a price to pay: the shop must make the elements in the order given, measure them carefully, and then send those data back to the designer, who will reoptimize everything at each step.  And provision must be made for adjusting the centration of elements two and three on the test bench, and then locking everything down once the image is tuned up.  But that’s what precision optics is all about.

 

For the Student

 

Here are some ideas that the curious student might want to explore further.  One is whether there is a way to change the lens itself so that tolerances get looser.  Indeed there is.  Get the lens out again, and type the command THIRD SENS.  Here is what you get.

 

SYNOPSYS AI>THIRD SENS

 ID F10 APO                               24723            24-AUG-11   17:02:30

 

 NORMALIZED 3RD-ORDER ANALYSIS OF TOLERANCE SENSITIVITY

 

 SS OF SA3 BY SURFACE (SAT) =            6.853259

 SS OF CO3 BY SURFACE (COT) =            0.016011

 SS OF CO3/YDC BY SURFACE (ACD) =        0.109606

 SS OF CO3/TILT BY SURFACE (ACT) =       3.664536

 SS OF CO3/YDC BY ELEMENT (ECD)  =       0.031507

 SS OF CO3/TILT BY ELEMENT (ECT) =       1.045062

 SS OF SA3 BY ELEMENT (ESA) =            0.035223

 SS OF CO3 BY ELEMENT (ECO) =            0.000083

 

(Read section 10.13 of the UM for a discussion of how these third-order aberration combinations can sometimes make a difference in the tolerance budget.)  Note the large value of SAT.  What happens if you add a target in the optimization MACro to bring that down to, say, 4?  Add this to your AANT file:

 

M 4 1 A SAT

 

and reoptimize.  Then do the tolerance analysis again.  Now the tolerances are indeed somewhat looser.  Experiment with different targets for the sensitization parameters, optimize with them (one at a time, please) and see how loose the tolerances will get.  There is no general rule, so you’ll have to explore.  You’ll probably still want to use the fab adjust process, but looser is cheaper, so go for it.

 

And about those adjustments:  It’s easier to adjust the centration of only one element, not two as in this example.  What happens if you delete the adjustments on, say surface 3 and redo the whole procedure?  If it works the assembly technician will thank you.  Try it and find out!

 

 

Home