Section 2.11 of the User's Guide for CPO2D and CPO3D
(or proceed to section 2.12)
In the regular CPO2DS and CPO3DS programs the space-charge effects are assumed to be global (also known as ‘collective’). There are special ‘stochastic’ versions that deal with random particle-particle interactions.
The important steps in space-charge calculations (using the regular space-charge versions CPO2DS or CPO3DS) are:
(1) The user specifies the rays and their currents. Each ray represents a model particle that moves in the total electric field as if it were a single electron or ion but carries the charge and current of many adjacent electrons or ions (this model particle has sometimes been labelled a super-electron or ion), since the current is usually greater than that of an individual electron or ion, see chapter 2.8 of the Users Guide.
(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 (see note on space-charge iteration).
(5) The program iterates, re-tracing the rays in the space-charge of the previous set and also recalculating the surface charges (unless this recalculation is disabled).
(6) The user looks for convergence in the iterations.
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 cells (if these are used), and so the mesh spacing of the space-charge cells does not have to have the same as the mesh spacing used for the ray mesh points when rays are traced by the mesh 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' (that is, 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.
It is often (but not always) 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 (see the relevant 2D note or 3D note or the comments in some of the benchmark test and example files).
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 convergence will depend on the damping factor that the user has chosen.
The presence of the space-charges of the rays causes changes to the charges on the boundary elements (that is, the electrodes and their segments), which are therefore re-calculated at each iteration.
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.
(proceed to next section)