SIMION Hemispherical Deflection Analyzer (HDA) Example

Purpose

This demonstrates a practical hemispherical deflectional analyzer (HDA). It includes routines for automating many runs under various combinations of two adjustable voltages in order to determine the optimal values of those voltages. Results are plotted in graphically (via plotlib in Example(plot)) and optimization is done by a (two variable) simplex optimization routine.


Figure: 3D view of HDA with entrance lens optics.

Figure: Heat map surface plot of beam size (mm) v.s. voltages VL4 and VL5, in r0_82f1_1000.iob.

Files in this folder

About the Model

The model is of a full HDA (r0_82.gem) with 5 element lens (lens.gem) with paracentric entry at R0=82. R1 and R2 are near the real ones. Note to actually simulate the standard HDA of IJMS, we would need to define R1 and R2 according to that paper. The original model is older (from 1998) when I didn't know as much as I do today -- they would have to be updated in a future version of this example. T. Zouros 27/4/2007

Electrode numbering is as follows:

HDA:
  e6 is V2
  e5 is V1
  e1 is Vp  (also exit side of lens - this is the one where the decel voltage goes)
  e2 is VL2 (is presently set at the same voltage at VL1 so lens is 4-element)
  e3 is VL3
  e4 is VL4
  e5 is VL5 (particle entry side of lens normally at same potential as source)

F1 decel factor 1, i.e. no decel this means that Vp=0 for KE=1000 eV so that W=w=1000eV (tuning energies) F4 decel factor 4, i.e. for KE=W=1000eV, w=W/4=250 so Vp=-750V=w-W=W/F-W=W(1-F)/F

Lens voltages are different for different decel factors. Equations follow notation of Zouros JESRP2002 paper and also IJMS 2007 paper.

Fly has 11 electrons flying from a point source at a well defined starting point with KE=1000eV and directed into the lens entry aperture (VL5). Lens and HDA for F=1 or F=4 IOB are set at the optimal voltages so that pencil beam is focused and passes through HDA finally plating on PSD.

The goal of the simplex implementation would be to find the lens voltages VL3 and VL4 for fixed VL5=0 and VL1=VL2=Vp for user defined F for particles of energy KE=W. Hopefully for F=1 and F=4 simplex would come near existing voltages.

Note: W (big W) is the undecelerated tuning energy (central ray energy). w (small w) is the decelerated tuning energy W/F and would be the central ray tuning energy inside the HDA.

Improved accuracy may be obtained by increasing the grid density and/or by splitting the system into two PAs with more symmetry (e.g. the lens and HDA regions) if we properly handle the boundary conditions at the hole that separates the two regions.

About the User Program

The user program r0_82f1_1000.lua causes trajectories to be rerun for a large number of combinations of lens voltages VL4 and VL5 in order to determine the optimal combination of these voltages.

The example can be operated in either of two modes: "plot" or "optimize".

In "plot" mode, the program generates in graphical surface plot of beam size as a function of the two adjustable lens voltages voltages, VL4 and VL5. This gives a global picture of where the local and absolute minima of beam size are. A plot of transmission (hit count on the detector) is also generated separately.

In "optimize" mode, the program searches for a local minimum (of beam size) starting at the currently adjusted values of voltages of VL4 and VL5. It uses a simplex optimization routine. If your system has multiple local minima (as is the case here as determined by running "plot"), it's important to start VL4 and VL5 somewhat near where you're searching so that the optimizer moves toward the correct local minimum. Because of the roughness of the function being optimized in the current version of this example, the simplex optimization might not work that well.

See the comments in the Lua program for further details.

Optimization Criteria

The optimization routine adjusts the input variables (VL4 and VL5 here) in order to minimize some user-defined metric. In the current program, the metric is defined simply as the beam size, particularly the difference between the maximum and minimum values of x where the particles splat. This metric is further set to a high value if there is not 100% transmission. As shown in the plot, there are many local minimums, and the optimization routine can move toward any one of those values. A future version of this example may alter the metric to constrain the optimization further.

Usage

Using plot mode.

Using optimize mode.

Using r0_82f4_1000.iob.

See Also

History/Changes