There are many ways of setting up the rays. That is, specifying their initial conditions. Here are the available options


  1. a series of individual rays.
  2. a beam (ie a bundle of rays).
  3. a set of lens or spectrometer coefficients that are to be calculated.
  4. the parameters of a thermionic cathode.
  5. the parameters of a field emission cathode or (in CPO3DS) an extended Schottky emission cathode.
  6. the parameters for zero initial kinetic energy

or calling:

  1. Calling for a repeat of the previous set of rays, together with a multiplication factor for the currents (during a space-charge iteration).
  2. Calling for an iteration (for a cathode space-charge calculation).


Two methods are available, the ‘direct’ and ‘mesh’ methods.

In the direct method the program uses the charges on the electrode segments to calculate the field at each ray step.

In the mesh method the User specifies the spacing of an array of mesh points, but these points are not created until they are needed. When the program needs to know the field at a point during ray tracing it looks for the values at nearby mesh points and interpolates between them. If a mesh point does not yet exist it is created and the value of the field is calculated and stored, so that it can be used again if another ray passes through the same region later. The mesh points that are created in this way form an incomplete array.

The mesh technique is particularly useful when a large number of neighbouring rays is required. The ray tracing then becomes very fast.