Space-charge effects are well handled with the BEM and are also important in calculating cathode emissions.
For an overview of the space-charge effect, see "Space Charge in Mass Spectrometry" (K.L. Busch, Spectroscopy, June 2004)--"The space charge effect is rooted in the physics of interaction between charged particles."
Overview: CPO handles space-charge using an iterative process based on the BEM. As rays of given current are traced, their charge is deposited in elements within space. The rays are then retraced taking into account the new space-charge. The process proceeds iteratively until convergence is reached. CPO provides two space-charge calculation methods: the cell method and the space-charge tube method (which is typically more accurate). Accuracy of 1% against theoretical results have been obtained.

Figure: Space-charge repulsion of an isolated beam that initially converges to a point.
Calculation Methods
The important steps in space charge calculations (using the space charge versions CPO 2DS or CPO 3DS) are:
- (1) The User specifies the rays and their currents
- (2) The method of assigning space-charge is chosen, either the "space-charge cell" or the "space-charge tube" method. (see below)
- (3) The User specifies the dimensions of the cells or the diameter of the tubes.
- (4) The User specifies the number of space-charge iterations and the damping factor.
- (5) The program iterates, re-tracing the rays in the space-charge of the previous set and also recalculating the surface charges.
- (6) The User looks for convergence in the iterations.
The 'space-charge cell' method
This is the conventional method used in other programs, but is usually not the better of the two methods offered in the CPO programs.
The space through which the beam passes is notionally divided into an array of square or cubic cells, each of which can hold a space-charge. As a ray passes through a cell it deposits a charge there, given by
q = i * t,where i is the current and t is the time spent traversing the cell.
The cells are created only where they are needed, in the volume traversed by the rays.
The total charges in the cells (each with its weighted centre-of-gravity) are used to calculate space-charge potentials and fields.
The space-charge cells are completely independent of the ray mesh spacing used for the ray mesh points (if rays are traced by the mesh method), and so the mesh spacing of the space-charge cells does not have to have the same as the mesh spacing for the rays.
The 'space-charge tube' method
Each individual step of a ray is considered separately. The charge associated with a step is
q = i.s/v,where i is the current, s is the step length (which in general is not constant) and v is the velocity. This charge is put into a narrow 'tube' (i.e. cylinder) that encloses the step. The space-charge of the beam is then the sum of the charges in the tubes. The tube method is usually the more suitable, particularly for beams that are long and thin.
Each set of rays is traced in the space-charge created by the previous complete set of rays. The first set will therefore travel through the electrode system with no space-charges present, but will leave space-charges in the space-charge cells or tubes, ready for the next set of rays. If the initial conditions of the rays are always the same then after a few iterations the final conditions of the rays should converge to a self-consistent result. The rate and smoothness of the convergence will depend on the damping factor that the User has chosen.
The sets of rays can be changed from one iteration to the next, and can consist of particles of mixed mass and charge.
The presence of the space-charges of the rays causes changes to the charges on the boundary elements (i.e. the electrodes and their segments), which are therefore re-calculated at each iteration.
It is often preferable to use the 'mesh' method of ray tracing for space-charge simulations, and some care has to be taken over the choice of the mesh spacing. Advice is given in Help.
An important restriction is that the rays and the electrodes must have the same reflection symmetries. For example, if the rays go in the general z direction, starting at a non-zero value of z, they could usually NOT have z=0 as a plane of reflection symmetry, and so then the electrodes could not have this reflection plane. It is not possible to incorporate all the relevant safeguards into the program, so the User should carefully inspect the rays plots to check on the symmetries.
(based from the CPO manual)