SIMION®
The field and particle trajectory simulator
Industry standard charged particle optics software
Refine your design: model > simulate > view > analyze > program > optimize it.
About | Documentation | Community/Support | Downloads | Ordering

Tools for Calculating Field and Trajectory Errors inside a Spherical Capacitor, Hemispherical Deflection Analyzer, or related System in SIMION

Purpose: The tools on this page estimate the values of the field and trajectory errors that would result from the surface discretization in the SIMION modeling of a spherical capacitor (SC), hemispherical deflection analyzer (HDA), or similar circular/spherical electrode geometry in SIMION, as discussed in this paper:

T.J.M. Zouros, Omer Sise, F.M. Spiegelhalder, and David J. Manura. Investigation of the accuracy of ion optics simulations using Kepler orbits in a spherical capacitor. International Journal of Mass Spectrometry. Volume 261, Issues 2-3, 15 March 2007, Pages 115-133. [ http://dx.doi.org/10.1016/j.ijms.2006.08.005 ]

UPDATE: This information is largely out-of-date and no longer needed. Curved surfaces or surfaces not aligned to grid points can be more accurately treated in SIMION 8.1 by a one-line change to your GEM file. This gives 1-2 orders of magnitude improvement in accuracy over previous versions. For details see http://simion.com/info/surface_enhancement.html

The Online SC Error Calculator

(currently off-line)

Calculation effective radii of SIMION spheres/circles

Description of this Program

The SC is an idealized system consisting of two concentric spheres of radii R1 and R2 and of differing voltage. More often, we are interested instead in hemispherical deflection analyzers (HDAs), which are practical approximations of SC's. In either case, modeling these often can not take full advantage of (cylindrical) symmetry but instead must be modeled with some surface discretization. This introduces some amount of error, which these tools intended to estimate and even minimize or correct for.

As mentioned in the paper, when a spherical capacitor (SC) with radii R2 > R1 is drawn into SIMION, there is a small amount of modeling error due to surface discretization, resulting in certain errors in the field and trajectory. To a first approximation, the SC will behave in practice as a spherical capacitor with slightly different radii R2sim and R1sim. The difference is usually a small, about 0.1-0.2 grid units (gu) on each electrode. This program estimates that difference and its effect on fields and ion trajectories.

For 2D, a GEM file like this is assumed

pa_define(NX,NY,1,c,xy)
e(V1) { fill { within { circle(0,0,R1g)  }}} ; INNER ELECTRODE R1
e(V2) { fill { notin  { circle(0,0,R2gm) }}} ; OUTER ELECTRODE R2-1

For 3D, a GEM file like this is assumed

pa_define(NX,NY,NZ,p,xyz)
e(V1) { fill { within { sphere(0,0,0,R1g) }}} ; INNER ELECTRODE R1
e(V2) { fill { notin  { sphere(0,0,0,R2g) }}} ; OUTER ELECTRODE R2-1

where R1 < R2 are the first and second surface radii in mm; R1g = R1*lambda and R2g = R2*lambda are the radii in grid units (gu); R2gm=R2g-1; NX, NY, NZ ~> R2g+1 are the number of grid points in the x and y directions; V1 and V2 are the voltages of the electrodes at R1 and R2 respectively.

The program uses these quantities:

  • R1 and R2 are the theoretical radii in mm.
  • lambda is the grid unit (gu) per mm scaling factor. The larger the value, the finer the grid in the SIMION PA.
  • Symmetry indicates whether the system is modeled with 2D cylindrical or 3D symmetry. See GEM files above.

The following advanced constants are normally left untouched:

  • d1, d2 - These are the expected R1 and R2 surface errors (in grid units). R1_sim ~= R1_theo + d1/lambda. R2_sim ~= R2_theo + d2/lambda. Generally, d1 >0 and d2 < 0. It is used only by the empirical model. The values differ in 2D and 3D.
  • ws1, ws2 - These are the weigths used in the simple wave model. The values differ in 2D and 3D.

This program calculates the following quantities:

  • R_ef is estimated effective radius (in mm) using the empirical model.
  • R_nw is the (non-weighted) average measured surface radii (in mm). The program locates every surface point (surface_count > 0), measure the distance to the origin, and takes the average.
  • R_sw is the estimated effective radius using the simple wave model. This is just a simpler form of the R_cw calculation below.
  • R_cw is the estimated effective radius using the full (complex) weighted average (wave) model. This is like R_nw but uses a weighted average, with the points forming the sharp tips of the jags given higher weight.
  • R_stdev is the standard deviation of the errors on the surface. Typically this is about 0.26 gu.
  • d is the difference between R and the theoretical value, expressed in grid units.
  • FE_k,quad, FE_k,ef, FE_k,nw, FE_k,sw, and FE_k,cw are the FE_k values predicted in the models. These are estimators for FE_Er. See the Theoretical Models section of the paper. FE_k,quad is actualy just an estimate bound on the magnitude of FE_k.

These tools apply to SC's and HDAs and may even apply more generally to other spherical or cylindrical surfaces that are jagged in the modeling (not taking advantage of spherical or cylindrical symmetry). However, some of the equations provided here are specific to SC (and HDA) fields.

Related Programs

Below are downloadable versions of these and related utilities also discussed in the paper. These are all in the Perl programming language and require a Perl interpreter to run.

sc_predict_error.pl - Predicts FEs for a SC of given parameters. This is a command-line interface functionally equivalent to this web page. It will predict the errors in a SC using the various models. It requires JagAnalysis.pm and JagAnalysisFullWave.pm.

sc_measure_kc.pl - Measures k and c field constants in a given refined SC PA. Also can report d_i values. This program examines the potentials and fields in a refined SIMION PA file of a SC and reports the measured effective values of k and c. These values are calculated from equations 1+2 of the paper. Since k and c are uniquely determined from the potential and field, we can plot the dependence of k and c on the position (x,y,z). More typically, we just take the average of k and c over some domain, typically near where the ions fly (e.g. the circle of radius R0 in the XY plane). Given actual values of k and c, we can compute other values, such as the error in the R1 and R2. This program requires the SIMION SL Libraries. A similar approach that does not use this program would be to fly an particle on a circular orbit and use SIMION data recording to measure at every timestep the potential and field values, from which k and c and other values can be computed.

sc_list_surface_points.pl - Lists all surface points on a SC of given parameters. This does not examine a PA but rather computes the points from theory. It requires JagAnalysis.pm and JagAnalysisFullWave.pm.

sc_make_theoretical_pa.pl - Creates a SC PA containing theoretical potentials. Requires SIMION SL Libraries.

sc_make_verror_pa.pl - Creates a PA with each point set equal to the potential error at the corresponding point in the given refined SC PA. The created PA can be viewed in SIMION. Requires SIMION SL Libraries.

JagAnalysis.pm - Implementation of theoretical models and utility functions. Used by some of the programs above.

JagAnalysisFullWave.pm - Implementation of full-wave model. Used by JagAnalysis.pm.

The SIMION SL Libraries (available in the SIMION SL Toolkit or SIMION 8) are required to use some of these programs.


Author: David Manura, www.simion.com, 2006. Questions on these tools may be directed to ATTN: David Manura -- Contact Us.

Any comments on this web page? (will be sent to IMI Adaptas SIMION Support)
[Optional] Your name: email: phone: