A 3D Parallel Monte Carlo Simulation Code for Ion Irradiation of Nanostructured Materials


Chinese Version

Intro | Download | Manual | Examples | Links | FAQ | Citation | Contact us | Acknowledge

l  Intro:

IM3D is an open-source parallel 3D version of Monte Carlo (MC) code for rapidly simulating the transportation of ions and the production of primary defects in nanostructured materials.

IM3D is developed mainly based on the standard SRIM (The Stopping and Range of Ions in Matter) databases, the fast database indexing technique and MPI parallel algorithm as well as the 3D structural algorithms of Constructive Solid Geometry (CSG) / Finite Element Triangulated Mesh (FETM) methods. It can rapidly simulate the primary radiation damages in arbitrary-complex 3D targets made of different geometric elements each of which with different materials, under different ions irradiation. Both the 3D distribution of ions and also all kinetic phenomena associated with the ion’s energy loss, i.e., amorphization, damage, sputtering, ionization and phonon production, can be calculated by IM3D with following all target atom cascades in detail.

IM3D is a freely available open-source C code, distributed under the terms of GNU GPL (General Public License), which can be download on this website soon. IM3D can run efficiently on different platforms, including not only a single- or multi-processors desktop or laptop but also parallel computers. Simultaneous multi-threading technique has be included in IM3D code to run on a multi-processors computer. It can also run on any parallel machine that compiles plain C and supports the MPI message-passing library.

Comparing to the conventional 1D simulation codes for ion beam irradiation of materials, like the famous SRIM/TRIM package, IM3D has the following advantages, under the premise of the same accuracy:

    Developing the 3D structural algorithms of CSG/FETM to simulate the 3D space-distributions of primary defects in arbitrary complex 3D geometric targets.

    Introducing the fast database indexing technique and MPI parallel algorithm to increase the computational efficiency, 2 to 3 orders faster than that of TRIM for the serial version and up to a 80% linear speed-up for the parallel version. IM3D code can provide a sufficient accurate estimation for ion implantation and primary damage production in ion-irradiated materials within seconds to minutes.

    A free available open-source code.

Main features of IM3D code:

    Open-source distribution with highly portable C.

    Ion with atomic number of 1-92 and energy of 10 eV-2 GeV/amu, different incidence angles as well as different ion beam shape distribution, i.e., random, centered, defined position, random square around predefined position, Gaussian beam and etc.

    1D (bulk and multi-layers) or 3D arbitrary complex targets with or without semi-infinite substrate, constructed by the 3D geometric algorithms of CSG/FETM methods with amorphous materials including single elements (1-92), alloys and compounds;

    Generates input shapes in the form of different formats (e.g. .ply2 and .ir3) with different standard finite element softwares, e.g. Gmsh, Cubit and etc.;

    Runs from an input script file including ion and material or control parameters;

    Basically introduces the random phase approximation (RPA), the binary collision approximation (BCA) and the central potential approximation (CPA);

    Uses a screened repulsive Coulomb potential described by a dimensionless screening function to describe the interaction potential between two atoms;

    Electronic energy loss and straggling are based on the standard SRIM databases (SRModule.exe), and Bragg’s rule is used to estimate the stopping power of a compound by the linear combination of the stopping powers of its individual elements;

    Uses fast database indexing technique or the MAGIC approximation formula for sampling in terms of accuracy and efficiency;

    Uses the analytical modified Kinchin-Pease (KP) model or the computationally full cascade (FC) simulation for defect generation processes;

    Runs on a single/multi-processor computer or in parallel with distributed-memory message-passing parallelism (MPI);

    Output primary damage information including 1D (depth) and 3D distributions of electronic / nuclear energy depositions, back-scattering/implanted ions, dpa, interstitials, vacancies and sputtering atoms, etc.

    The output distribution files are in the format of .cfg, .msh or .vtk, which can be viewed by various pre- and post-processing tools such as AtomEye, Gmsh, ParaView, Cubit and etc.

IM3D code was sponsored by Prof. Ju Li (李巨) and Prof. Zhi Zeng (曾雉), and mainly developed by Dr. Yonggang Li (李永钢) during his visiting to MIT in 2014 and after he back to ISSP, ACS in 2015. The supporting of CSG/FETM geometric algorithms form Prof. Zejun Ding (丁泽军) as well as useful contributions and discussions from Prof. Machal Short and Dr. Yang Yang (杨洋) are very appreciate. In addition, a part of the modules in IM3D code refer to two open-source codes, Corteo and Iradina. If you have any questions, please contact to Dr. Yonggang Li (李永钢), who can be emailed at