Tracking KE of sputtered atoms - Computationally efficient method?

Hi all,

I am looking to track the KE of sputtered atoms during an impact simulation. For example, I impact a substrate at 1 keV and expect 1-3 atoms to be sputtered. I want to track the KE distribution of these sputtered atoms. Based on previous literature they often do 500-1000 iterations to produce the distribution of the energy of sputtered atoms. Each iteration has 1 impact. Therefore this becomes a bit of a data overload. My plan was to use next/jump to have them all run in one large file.

My current method is to impact, then dump the z coordinate and ke of all atoms. I can then look for any atom with z coordinate above the surface and track its KE. However, with 40000 atoms and a dump every 100 time steps this is going to be a massive amount of data to process when we have 1000 dump files. Is there any easier or more efficient way of doing this?

For example I have thought of:

  • assigning sputtered atoms to a group based on their z coordinates then only dumping the KE of this group (however I don’t think I can use conditional statements to define a group)

  • printing the KE in a text file only if it is above a certain value, again I don’t think I can do this

Thanks very much.


I did exactly what you are requesting. For having a detailed KE distribution you should have enough impact and thus enough sputtered materials. KE is calculated using post processing the sputtered atom velocitIes.
See Brault et al 2016
for conducting such simulations with LAMMPS.

Pascal Brault
CNRS-Université d’Orléans