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
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 vzHowever, 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!