Request a feature for deleting atoms

Steve and all,

I’m running into a situation that “ERROR: Lost atoms” occurs. This is because some atoms are moving out of bound due to “bond breaking” in my case. Can we have a “delete_atom” feature that once atoms move larger than a critical value would be deleted? This is both physical and numerically appealing. I think it is pretty easy to implement this in the code. If you have time, please add this on or put it on the “to-do-list”.

Best regards,

Ajing

Steve and all,

I'm running into a situation that "ERROR: Lost atoms" occurs. This is
because some atoms are moving out of bound due to "bond breaking" in my
case. Can we have a "delete_atom" feature that once atoms move larger than a
critical value would be deleted? This is both physical and numerically
appealing. I think it is pretty easy to implement this in the code. If you
have time, please add this on or put it on the "to-do-list".

is there anything wrong with "thermo_modify lost ignore" ?

axel.

Thanks, Axel,

Looks like this is somehow what I wanted. However, it does not perfectly meet my goal because it is possible that the lost atoms could form bonds with other atoms, which seems not physical. What I wanted is we are able to “manually by code” delete atoms if some criterion is triggered, such as exceeding the defined displacement threshold.

Thanks,

Ajing

Thanks, Axel,

Looks like this is somehow what I wanted. However, it does not perfectly
meet my goal because it is possible that the lost atoms could form bonds
with other atoms, which seems not physical. What I wanted is we are able to
"manually by code" delete atoms if some criterion is triggered, such as
exceeding the defined displacement threshold.

i guess then you are probably stuck with programming a "fix"
for that yourself. this sounds far too specific to be of use for others.

axel.

I'm not clear why deleting atoms is any more physical.
Fixes can delete atoms, just as they add them (e.g. fix
deposit), but you'd have to write a fix to do what you want.

Steve

Steve, in some situations like chemical reaction get involved that is not easy to handle with MD, we need to model in a smart way. But anyway, I will look up the fix deposition as a starting point. Thanks, Ajing

One tip. The best time to delete an atom(s) is
in the pre-exchange step, when reneighboring is
about to occur. That is the same point in the
timestep that fix deposit is adding atoms via
a pre_exchange() method. An even better
fix to look at is fix evaporate, since it is
deleting atoms. If you can define the criterion
for deletion and it is a local criterion (i.e. a proc
can decide by itself whether to perform the
deletion), then this fix is simple to write.

Steve

Steve,

Thanks for elucidating this. I will let you know if I have any questions on this. Ajing