3D Monte Carlo Simulation of Ion Beam Irradiation of Nanostructures
iradina is a computer program for the simulation of ion beam irradiation of nanostructures. iradina simulates the transport of energetic ions through solid matter by calculating binary collisions and employing a Monte Carlo (MC) transport algorithm. Here are some of the key features of iradina:
The target in iradina is defined by a three-dimensional rectangular grid, allowing almost arbitrary target geometries. This is in contrast to other popular programs like for example TRIM, where simulation is limited to flat / bulk targets. iradina was originally developed to calculate the distribution of implanted ions and of implantation defects in semiconductor nanowires.
iradina is free software. It is licensed under the GPL. It is open source and you can adapt the program to your needs, as long as you respect the GPL. iradina is written in plain c and can be used on different platforms (with one restriction: IEEE 754 conform bit representation of single precision floats is required - but don't worry, most of today's systems do conform). iradina has been tested thoroughly on windows and linux systems.
iradina is optimized for speed. Table-lookup functions are used instead of calculating electronic stopping and scattering angles upon each collision. The lookup-functions with a very fast indexing mechanism are taken from the free corteo program, which is a program to calculate accurate ion beam analysis spectra by a full binary collision simulation of the ion transport processes.
iradina is non-interactive: it can run in the background, do work for other programs and can be run from scripts for example to perform huge numbers of different simulations automatically. There is a graphical user interface (iraUI) which is independent from iradina itself. iraUI is interactive and helps the user by automatically generating the input files for running iradina. Furthermore, iraUI includes a plotting tool to analyze the simulation results.
What iradina can do:
- simulate ion beam irradiation of solid targets with ion energies from a few eV to a several MeV
- represent 3d target geometries within a rectangular grid of several million cells
- output various results: distribution of implanted ions, recoils, different types of defects, ion trajectories, recoil trajectories, final ion positions, vectors and energy of transmitted ions, distribution of deposited energy
- calculate sputtering yields in nanostructures, global and local (per cell)
What iradina cannot do:
- simulate irradiation with electrons, quarks, photons, multi-atom clusters, or any other particle not being a single atom with an atom number from 1 to 92
- dynamically change the target composition due to irradiation (...work on this is in progress...). If you need that, look for TRI3DYN.
- simulate ion beam deposition with small ion energies (below a few 10 eV)
- simulate channeling effects or any other effect related to the crystallinity of the target.
- simulate dynamic annealing
- temperature dependent effects (T=0 at all times)
- ... many other things that would be interesting ...
Results from iradina have been verified by experiments on various examples (see applications). However, in some cases iradina may produce very unrealistic results having nothing to do with physical reality! You should never trust the results from any physics simulation code! When using results from simulations you should at least basically understand how the simulation works and make sure that all assumptions made in the code about the physical system are fulfilled.
The scientific background of iradina is described here.