SIMION

SIMION is an ion optics simulation program that calculates electric fields for electrodes of defined voltages and ion trajectories in those fields.
Program development.
The program was developed in the late 1970s by Don C. McGilvery at La Trobe University, Melbourne, Australia as part of his Ph.D. research working with James Morrison, and was later adapted for personal computers in 1985 by David A. Dahl at the Idaho National Engineering and Environmental Laboratory. With Richard Morrison at Monash University, McGilvery developed a Macintosh version of SIMION, known as MacSIMION. In recognition of the importance of their work, McGilvery and Dahl shared the Distinguished Contribution Award from the American Society for Mass Spectrometry in 1998.
SIMION 8.0 was initially released in 2006. The current version is SIMION 8.1, released in August 2011; minor updates are being released continuously.
Calculations.
SIMION 3D is a widely used ion-optics simulation program in many branches of physics. In SIMION, electrostatic fields can be modelled as boundary value problem solutions of an elliptical partial differential equation called the Laplace equation. The specific method used within SIMION to solve this equation is a finite difference method called over-relaxation. This technique is applied to a three-dimensional potential array (PA) of points representing electrode and non-electrode regions. The objective is to obtain a best estimate of the voltages for the points between the electrodes. The three-dimensional array is chosen to have either cylindrical or planar symmetry or no symmetry at all. The Laplace equation has the convenient property that its solution is a sum over the contribution from each electrode. Therefore, after the electric field array has been found once by iteration, the voltages of the individual electrodes can be changed and the new fields are immediately obtained.
When the electric fields have been obtained, the trajectories of charged particles in these fields can be calculated. Particle trajectory calculations are a result of three interdependent computations. First, electrostatic forces must be calculated at the current position of the ion. These forces are then used to compute the current ion acceleration and then by numerical integration techniques to predict the position and velocity of the ion at the next time step. Moreover, the time step itself is continuously adjusted to maximize trajectory accuracy. A standard fourth-order Runge–Kutta method is used for numerical integration of the ion trajectory in three dimensions.