Accuracy of the ray tracings.


Two inaccuracies for ray tracing can be selected by the user.

This allows the user to optimise the computing time.

The two inaccuracies are usually given the same value, which is usually 0.0001.


(1) The 'fractional inaccuracy for ray tracing' will be used by the program to decide on the number of evaluation points inside each of the steps in the ray tracing routine. This number is usually 16 but it will be smaller if a quick, less accurate, ray tracing is requested, and conversely will be larger for very accurate ray tracing.


(2) The 'fractional inaccuracy for potentials and fields used in ray tracing' will be used by the program to define the accuracy with which the fields are evaluated at each of the evaluation points mentioned above.


As said above, the two inaccuracies are nearly always given the same value. One example of when they should be given different values is the simulation of an x-ray tube, when the anode voltage W is of the order of 10kV. If the value chosen for the second inaccuracy is f then the errors in the potentials are of the order of fW. A small value of f is therefore required (perhaps the smallest value 0.0000001) to ensure that the potentials in the vicinity of the cathode are sufficiently accurate. But choosing the same small value f for the first inaccuracy would lead to tracing times that are too long and are not necessary -a value of the order of 0.0001 would usually be suitable. (For more detailed information on simulating x-ray tubes see the relevant note.)


The actual inaccuracy of the final coordinates of a ray will also depend on several other factors, as given in the users guide, chapter 2, section 10.


But note that the 'inaccuracy' of a ray tracing cannot be closely controlled or clearly defined in general.


The fractional inaccuracy that is specified by the user is only a guide.


The usual value is 0.01 for quick exploratory tests and 0.0001 for the final answers. See the note on requesting inaccuracy for more information.


Ray tracing inaccuracy levels less than 0.0001 are rarely justifiable. The user can check that the final results of a simulation, for example the coordinates of a ray at a test plane, are usually almost the same for inaccuracies of 0.0001 and 0.0000001. And at an inaccuracy of 0.000001, which would very rarely be justifiable, even a 0.5eV electron would be treated by the program as relativistic! (See note on relativistic treatment).  A value less than 0.0001 is justified only if the electrode geometry is simple, if there is a large number (> about 300 for CPO2D, > about 500 for CPO3D) of well chosen segments and if there are two or more planes of reflection symmetry.


A higher ray accuracy implies a longer computing time. This time can be reduced (sometimes significantly) by minimising the graphics box on the screen (or hiding it with the edit or information boxes).


If a ray passes close to an electrode (more precisely, closer to a segment than the width of the segment) there is a tendency for the inaccuracy of the potentials and fields to be worse than the requested inaccuracy. The program uses a technique to improve the potentials in these circumstances, but this requires extra computing time. This technique for improvement can be disabled (and time saved) by entering the inaccuracy value as a negative number (but the program will of course make it positive before using it). See also notes on contour details and potentials, fields and contours near to boundaries.



See also:

Chapter 3 of the User's Guide, for general comments on accuracy.

How the program tries to achieve the requested inaccuracy

Accuracy for relativistic motion

Accuracy in magnetic fields (CPO3D only).

Ray inaccuracies with space-charge