track sputtered atoms

Hello,

I am trying to simulate sputtering of a substrate by a projectile. How do I track sputtered atoms with LAMMPS? Could not find a complete working example script anywhere.

Evgeny

The basic idea is to assign the sputtered atoms a type different from the substrate atoms, even if they are the same chemical species. You can then write only atoms of the type to a file using the dump command. For example, you can assign the atoms to a group and then only dump that group.

Thus, I wrote the following:

compute 1 all property/atom z vz
variable sp_atom atom " z > 38.0 && vz > 0.0"
group grp_sputt variable sp_atom
dump dump_sput grp_sputt custom 10 Be-sput.* id type x y z vx vy vz

However, it looks like the check for coordinate is performed only once, at the start of the simulation. Do I understand correctly that “compute” refreshes every step? Or maybe there is something missing in the script?

Thus, I wrote the following:

compute 1 all property/atom z vz
variable sp_atom atom " z > 38.0 && vz > 0.0"
group grp_sputt variable sp_atom
dump dump_sput grp_sputt custom 10 Be-sput.* id type x y z vx vy vz

However, it looks like the check for coordinate is performed only once, at
the start of the simulation. Do I understand correctly that "compute"
refreshes every step? Or maybe there is something missing in the script?

​computes are refreshed as needed, but the step that makes this static is
the definition of the group.
what you want to use instead is to apply the dump_modify thresh command to
your dump to select atoms.
please see the documentation of dump_modify for details.

axel​

Thank you, Axel! Dump_modify works perfect. You saved me a lot of time!