Dear LAMMPS user,
I am trying to freeze atoms that move into a given region. What I am trying to do is to freeze sputtered atoms from a surface in an empty region outside the crystal such that they do not cross boundaries and do not interact with the crystal. To do so, I defined a dynamic group as follows:
region simdom block 0. {ncellx} 0. {ncelly} -5. ${ncellz}
create_box 2 simdom
Create atoms
region crystal block 0. {ncellx} 0. {ncelly} 0. ${ncellz}
create_atoms 1 region crystal
Space between -5 and 0 (in z) is thus empty.
Dynamic group
region sputtering block 0. {ncellx} 0. {ncelly} -4.5 -3.5
group sputtered dynamic all region sputtering every 1
That is, any atom that has been sputtered and that moves to any z between -4.5 and -3.5, will be included in the dynamic group. I checked that it works fine.
In order to freeze them, I tried the following:
fix freeze sputtered setforce 0. 0. 0.
But it does not seem to work, the atoms continue their trajectory and cross the boundary.
I guess that this is because their initial velocity is not zero. Is it correct ?
If so, how can I zero the velocity of each atom of the dynamic group ? How can I freeze the atoms in this particular region ?
Alternatively, I tried to delete the atoms of the dynamic group ‘sputtered’ with fix evaporate:
fix 7 sputtered evaporate 1000 1 emptyspace 49892
But I got the following error msg:
ERROR: Unknown fix style (…/modify.cpp:815)
However, according to the documentation the syntaxis of the fix evaporate is correct.
Many thanks in advance !
Christophe