xmpl3d06, 6th 'example' data file for CPO3D

Automatic iteration to optimise the focus of a 3-cylinder lens.


A simple 3-cylinder lens is used in this example. The potential of the middle cylinder is varied to minimise the size of the disc of least confusion.


This simulation has axial symmetry and so a much faster solution can of course be obtained using CPO2D -see xmpl2d07.

For also the introdution to automatic focusing and the detailes notes


The number of segments used in the present example is small enough for the example to be run with the ‘demo’ version of CPO2D. Higher accuracy could of course be obtained with more segments, using the standard or full versions of CPO2D.

The lens is a 3-cylinder lens. All 3 cylinders have the radius 0.5, and they extend from z=-5.0 to -0.55, -0.45 to 0.45 and 0.55 to 5.0. The initial voltages are set at 1, 7 and 4.

The following parameters are specified for the iteration:

(1) voltage number 2 is to be varied, and the initial excursion is 0.1,

(2) a focus is require on axis, at z=5,

(3) 4 rays are to be used (all starting from z=-4, with initial launch angles of .01, .02, .03 and .04),

(4) a maximum of 16 iterations is allowed,

(5) a 'penalty' is introduced if the radius of a ray at the focal plane is greater than 0.1,

(6) further penalties are added if voltage number 2 goes below 2 or above 20, or if the final angles go beyond +/- 0.1 rad to the z axis (in fact none of these penalties are serious for the present problem -they are included only for illustrative purposes).


It can be seen that the final value of v2 is 5.7, and that the 'disc of least confusion' is correctly at z=5.


The printing level is set at 'z', for 'zero', so that only the adjustable voltages and the focal size are shown (and remember that the focal size includes a 'penalty' component when the constraints are activated).


In a more serious study of this lens the cylinders would obviously be given many more subdivisions, there would be a larger number of rays and more iterations of the voltages would be used. It would be particularly important to subdivide the cylinders finely near the gaps between the cylinders, either by using iterative subdivision, as described in file xmpl3d04.dat, or by treating each cylinder as a series of shorter touching cylinders, the outer ones of which have the smallest subdivisions.

More importantly, the electrodes should be shaped, following the advice given in publication number 68.