Fast Monte Carlo for ion beam analysis simulations
Abstract
A Monte Carlo program for the simulation of ion beam analysis data is presented. It combines mainly four features: (i) ion slowdown is computed separately from the main scattering/recoil event, which is directed towards the detector. (ii) A virtual detector, that is, a detector larger than the actual one can be used, followed by trajectory correction. (iii) For each collision during ion slowdown, scattering angle components are extracted form tables. (iv) Tables of scattering angle components, stopping power and energy straggling are indexed using the binary representation of floating point numbers, which allows logarithmic distribution of these tables without the computation of logarithms to access them. Tables are sufficiently finegrained that interpolation is not necessary. Ion slowdown computation thus avoids trigonometric, inverse and transcendental function calls and, as much as possible, divisions. All these improvements make possible the computation of 10^{7} collisions/s on current PCs. Results for transmitted ions of several masses in various substrates are well comparable to those obtained using SRIM2006 in terms of both angular and energy distributions, as long as a sufficiently large number of collisions is considered for each ion. Examples of simulated spectrum show good agreement with experimental data, although a large detector rather than the virtual detector has to be used to properly simulate background signals that are due to plural collisions. The program, written in standard C, is opensource and distributed under the terms of the GNU General Public License.
 Publication:

Nuclear Instruments and Methods in Physics Research B
 Pub Date:
 April 2008
 DOI:
 10.1016/j.nimb.2007.11.075
 Bibcode:
 2008NIMPB.266.1880S
 Keywords:

 Monte Carlo simulation;
 Ion beam analysis;
 52.65.Pp;
 34.50.s;
 82.80.Yc;
 Monte Carlo methods;
 Scattering of atoms and molecules;
 Rutherford backscattering and other methods of chemical analysis