The CPO programs are extremely accurate, particularly for problems involving space-charge and/or cathodes.  But these simulations can be difficult, so we start here with some general advice:

When you first start to set up a new simulation choose the numbers of segments and rays, the inaccuracies and step lengths so that the running tim is only a few minutes.  The set-up might then look too simplistic, but you will be changing it before anyone else sees it.    

Then, after you have optimised the parameters and have nunderstood how your system behaves, -BUT NOT BEFORE- nincrease the numbers of segments and rays, decrease the nrequested inaccuracies and use shorter step lengths (but not too short) to obtain the final answers.

Although the simulation of cathodes can be difficult, especially for those that involve space-charge, such as thermionic cathodes, we are proud of the unparalleled success achieved by the CPO programs, as can be seen in the many benchmark tests and example files that are part of the package. This is partly due to the fact that the boundary element method is ideally suited for dealing with cathodes and space-charge.


In CPO2DS all the cathodes are restricted to zero temperature sources.


It is IMPORTANT TO READ ALL THE RELEVANT SECTIONS for the type of cathode that you want to simulate. This is particularly important for thermionic cathodes.


A brief introduction to thermionic cathodes and a step-by-step description of the actions taken by the program for one simple simulation are given in section 12 of chapter 2 of the on-line Users Guide.


Setting up the segments of a cathode (all types).


Setting up initial cathode parameters.


Setting up limits to final parameters.

Setting up the rays.




Outputting beam information.


Example data files.


Cathodes with high voltage anodes.




Associated programs.

Advice: It has often been found that it is better to simulate a 2D cathode system by using cpo3ds rather than cpo2ds.  One  reason is that the cathode rays that start with non-zero energy are non-meridional, which means that cpo2ds has to use routines borrowed from cpo3ds to trace the rays, which inceases the computing time.  Another reason is that with cpo3ds the xz, yz and x=y planes can all be specified as planes of reflection symmetry, which effectively increases the numbers of segments and rays by a factor of 8, thus greatly reducing the computing time.  If a 2D data file has already been set up it can be converted to a 3D format using the conv2to3 program.