Aberration-based SCP Optimization
In the preceding sections, you worked with a singlet lens and a focusing lens that combined a doublet and a singlet, both of which used catalog lens elements, which meant that only the lens spacings could be varied. This example shows how to optimize both curvatures and spacings of an air-spaced doublet lens. The starting design is the one used for illustration of basic lens entry. The previous example showed that a doublet-meniscus combination could fully meet the design requirements. The task here is to see whether a simple doublet might also work.
The approach will use methods that are available in all versions of OSLO. Although OSLO PRO and OSLO SIX have faster and more extensive optimization capability than OSLO Light, their power is not needed for a simple design such as the one considered here.
Optimization in OSLO Light is based on SCP operands, computed by an auxiliary routine written in SCP. The error function can contain up to 200 terms, named OCM1, OCM2,...,OCM200. Since SCP has access to all OSLO results, through the Spreadsheet buffer, OSLO Light can optimize anything that can be computed! Two sets of default routines, named *opsetabr and *opsetray, are included with all versions of OSLO to simplify the construction of error functions based on common aberrations and ray-trace data. OCM is mnemonic for "operand component". Each operand in OSLO can have two components connected by a math operator (+, -, etc.).
The next task is to set up an error function to optimize the system. The first error function that we will try is based on aberrations. The star command *opsetabr sets up the actual SCP function that computes the aberrations (*opabrs), and prints a listing of the current aberrations in the text window. From these, you select the ones that are applicable to your system and enter them as operands. As a first step, you should only attempt to control third-order spherical aberration.
*opsetabr (operand numbers in parentheses)
Paraxial data
PY(1) PU(2) PYC(3) PUC(4)
-1.7764e-15 -0.250000 6.0000e-05 1.0142e-06
First-order chromatic
PAC(6) PLC(7) SAC(8) SLC(9)
-- -- -- --
Third-order Seidel
SA3(11) CMA3(12) AST3(13) PTZ3(14) DIS3(15)
-0.092138 7.5620e-07 -7.5914e-12 -3.5251e-12 -1.0671e-18
Fifth-order Seidel
SA5(21) CMA5(22) AST5(23) PTZ5(24) DIS5(25)
-0.004948 4.3541e-08 -0.004948 5.1571e-24 1.0904e-30
Other data
60.000000 EFL(0) -0.000230 SA7(31) -0.097317 TotalSA(41)
The listing shows the various aberrations that are computed by the *opabrs command, and gives the component numbers to be used in operand definitions. For example, the third-order Seidel aberration can be obtained as operand component OCM11.
5. Click on the SHIFT+F10 toolbar icon to display the current error function in the text window, then click on the SHIFT+F9 toolbar icon to carry out 10 iterations. Repeat the iteration sequence a second time. After the optimization is completed, the text window will contain the following:
*OPERANDS
OP DEFINITION MODE WGT NAME VALUE %CNTRB
O 1 "OCM11" M 1.000000 SA3 -0.092138 100.00
MIN ERROR: 0.092138
*ITERATE FULL 10
NBR DAMPING MIN ERROR CON ERROR PERCENT CHG.
0 0.001000 0.092138 --
10 5.4530e+03 0.045461 -- 0.000546
*ITERATE FULL 10
NBR DAMPING MIN ERROR CON ERROR PERCENT CHG.
0 5.4530e+03 0.045461 --
2 1.0000e-08 0.045461 -- --
*SEIDEL ABERRATIONS
SRF SA3 CMA3 AST3 PTZ3 DIS3
1 -0.015647 -1.2245e-07 -9.5831e-13 -1.9309e-12 -2.2611e-17
2 -0.035089 3.0584e-07 -2.6657e-12 1.1245e-13 2.2254e-17
3 0.009571 4.7324e-08 2.3400e-13 -5.3148e-12 -2.5123e-17
4 -0.004295 1.3750e-07 -4.4020e-12 3.6469e-12 2.4174e-17
SUM -0.045461 3.6821e-07 -7.7920e-12 -3.4864e-12 -1.3062e-18
The new starting point can be obtained from the old by changing the first three radii of curvature to 50, 0, and -50, respectively. Make these changes and re-save the lens in the lasrdblt.len file. The Autodraw window and the spreadsheet should appear as follows.
*OPERANDS
OP DEFINITION MODE WGT NAME VALUE %CNTRB
O 1 "OCM11" M 1.000000 SA3 0.495023 100.00
MIN ERROR: 0.495023
*ITERATE FULL 10
NBR DAMPING MIN ERROR CON ERROR PERCENT CHG.
0 1.0000e-08 0.495023 --
10 0.004276 1.1102e-16 -- --
*SEIDEL ABERRATIONS
SRF SA3 CMA3 AST3 PTZ3 DIS3
1 -0.192014 -6.5148e-07 -2.2104e-12 -4.4538e-12 -2.2611e-17
2 -0.500720 1.7681e-06 -6.2436e-12 1.1989e-13 2.1624e-17
3 1.561207 -3.2426e-06 6.7349e-12 2.7621e-12 -1.9725e-17
4 -0.868473 2.1262e-06 -5.2052e-12 -2.1440e-12 1.7992e-17
SUM 1.1102e-16 1.9106e-10 -6.9243e-12 -3.7158e-12 -2.7201e-18
The above shows a third-order solution, but the surface contributions are very large, which will lead to large higher-order aberrations. The next step is to add higher-order terms to the error function. Click Optimize >> SCP Operands Setup >> Aberrations. Add 3 rows to the spreadsheet by clicking SHIFT+SPACE 3 times, and add the terms shown below. Close the spreadsheet. Be sure to set the weight of OCM41 to 3.0. Continuing the optimization, using the new operands, yields the following output.
*ITERATE FULL 10
NBR DAMPING MIN ERROR CON ERROR PERCENT CHG.
0 0.004276 0.070461 --
10 0.000127 0.027503 -- 0.137193
*OPERANDS
OP DEFINITION MODE WGT NAME VALUE %CNTRB
O 1 "OCM11" M 1.000000 SA3 -0.047727 50.19
O 2 "OCM21" M 1.000000 sa5 0.043953 42.57
O 3 "OCM31" M 1.000000 sa7 0.011747 3.04
O 4 "OCM41" M 3.000000 TotalSA 0.007973 4.20
MIN ERROR: 0.027503
Next Page | Previous Page | Chapter Summary | Table of Contents
Copyright © 1997 Sinclair Optics Inc. All rights reserved.
Page last updated 19970601