Introduction to iterating a cathode system


When a thermionic cathode is present the simulation has to be iterated to achieve a consistent result because the field at the cathode depends on both the space-charge cloud in front of the cathode and the space-charges of the rays beyond this region.

It is well known that this process of iteration can be very difficult. The CPO programs allow the user to successfully iterate with the minimum of effort, as evidenced by several test and example files.

An essential element of the iteration process is damping. In the CPO programs the damping methods (which have not yet been published) are conveniently controlled by a single damping parameter.

Other types of sources, such as field emission sources, only need an iterative treatment when there is significant space-charge repulsion in the beam. The present note therefore deals essentially with the iteration of thermionic cathode systems.


These are the steps in a cathode iteration:

(1) The user sets up the initial cathode parameters.

(2) The user sets up the ray parameters.

(3) The user chooses the damping factor, specifies the limits to the final parameters.and chooses the number of iterations and the convergence factor.

(4) In the first iteration the program uses the initial cathode parameters and the initial field at the cathode to create the cathode rays, which are traced through the system.

(5) If any of the final parameters, such as the current, exceed the specified limits then the program scales down the ray currents.

(6) The program uses the space-charge of the rays to adjust the surface charges on the electrodes and then uses all the space and surface charges to calculate the field at the cathode.

(7) The program uses the new field at the cathode to create the cathode rays, but the changes in the ray currents from the previous iteration are damped by the damping factor. Some other quantities are also damped.

(8) The resulting rays are traced through the system, in the space-charge of the rays of the previous run.

(9) The program iterates through steps 4 to 7 either for the specified total number of iterations or until the specified convergence factor has been achieved.


It is important to note that:

(1) The initial values are used only to obtain the fastest possible convergence of the iterations -they do not affect the final current. If the initial temperature or current density for the first iteration is too large then too much space-charge will be deposited in the first iteration and the second iteration will then fail because the potential near the cathode will be too repulsive. On the other hand if the value is too small then more iterations will be needed before convergence is reached.

(2) The final values have two uses. The first is to obtain the fastest possible convergence of the iterations, without affecting the final current. The second is to provide, if necessary, a physical limit to the current, caused by example by a temperature-limited cathode.

The parameters of the rays also have to be carefully chosen.

The step lengths should be small at the start of a ray  -use the cathode depth as a guide.

The later step lengths should be larger, using the advanced option to change the step lengths

If space-charge tubes are being used then the advaced option to change their diameters should be used.



Start by doing a quick approximate simulation to establish the approximate asymptotic final values of the parameters of the cathode. Then use these values as the initial values. When kT is non-zero try to set the maximum current emitted for the cathode surface at approximately 1.5 times the value of the space-charge limited current -see the footnotes of the example files xmpl3d11 and xmpl3d21. A series of runs may be needed to establish the most appropriate values to use.



Many of the parameters mentioned above are empirical and have to be chosen by the user to give the fastest convergence. It would be convenient if the program could optimise the key parameters (in particular the initial cathode current density and the damping factor). For example, could the automatic focussing option be adapted for this? Unfortunately this has been found to be too difficult because conditions vary so widely for different types of simulation. The user is therefore the best feedback loop for this optimisation.



In the intermediate regime between the space-charge limited and temperature limited regimes the program gives a smoothly varying current, but does not claim to give accurate values.


During the iterations the previous rays are redrawn (for comparison) in green.


Other examples of the use of cathode iterations are given in the files test2d11.dat, xmpl2d09.dat, xmpl2d10.dat, test3d11.dat, test3d12.dat, xmpl3d10.dat and xmpl3d11.dat.



Return to general note on iterating cathode systems.





For users who are editing or constructing an 'input data file' without the use of the data-builder -that is, pre-processor:

But Manual editing is certainly not recommended -it is a relic from the time when the databuilder was not available All users are strongly encouraged to use the databuilder, which always gives the correct formats and which has many options for which the formats are not described or easily deduced.




Typical data (including the initial cathode data), taken from the 'benchmark test' file test2d10.dat, are:


thermionic cathode

10 0.032 number of segments, maximum current density,

o 0. 0. 'o' for 'outside', and (r,z) of reference point

0.10 2 distance for Childs Law, number of interpolation points

y n calculate space-charges?

0.1 mesh spacing for space-charges

iterate previous cathode rays

0.100 0.5 4 max current density, damping factor, no of iterations




Typical data, taken from the 'benchmark test' file test3d10.dat, are:


iterate previous cathode rays

0.100 0.3 2 max current density, damping factor, no of iterations


CPO2D and CPO3D:


The first line must start with 'ite', for 'iteration'.


The next line contains

(a) (for thermionic cathodes only) the maximum current density

(b) the damping factor that multiplies the increase or decrease in the total current emitted by the cathode, and

(c) the total number of iterations.



Return to general note on iterating cathode systems.