Dear LAMPPS users and developers,
Could you please tell me how the potentials are handled to remove the energy and force jump at the cutoffs in LAMPPS?
I tried to look at the source code for Tersoff and Stillinger-Weber potentials, but it seems to me the potentials (both two and three body) are simply set to zero at the cutoffs, will this cause any discontinuity at the cutoffs? Or did I miss something? Thanks a lot!
I don't know about Tersoff and SW, but for several of the
pair styles (e.g. LJ), there is a pair_modify shift option
to do this shifting. In energy, not force. For force, you
typically need a smoothing function, which changes the
dynamics induced by the potential - e.g. pair_style lj/smooth.
My recollection is that for Tersoff and SW, the function is
very small at the cutoff, so it probably doesn't matter. In any
event, what is implemented in LAMMPS is the standard
Tersoff and SW. Aidan - any comments?
Thanks a lot for the answers! I just found out that the Stillinger-Weber potential will automatically go to zero smoothly when approaching the cutoffs, while a smooth cutoff function is included in the Tersoff potential to ensure the continuity at cutoff.
However, what if I have a potential like this with two cutoffs r_ij_cut, r_ik_cut :
V_jik = k *( cos(\theta) - cos(\theta_0) )
where \theta is the angle formed by ij, ik bonds, k and \theta_0 are parameters.
For example, in the figures below, if r_ik is at r_ik_cut, then the three-body interaction should be truncated, however, the three-body potential values immediately before being truncated are different, since the \theta values are different. Then the simple truncate&shift should not work since the potential jump at the cutoff is not definite. So how could this be handled? Thanks a lot!
i j ---- i
In both Stillinger-Weber and Tersoff, the energy contribution associated
with a pair of atoms goes smoothly to zero as the distance between them
approaches the cut-off specified for the corresponding atom types. This is
also true for the threebody contributions. This is achieved using switching
functions that scale all the bare energy contributions. Outside the cut-off,
neither the switching functions nor the energy contributions are defined.
The problem you describe below is not relevant, because it occurs only for
shifting. I guess that's why Stillinger and Weber and Tersoff decided not to
All of this should be pretty clear from even a brief reading of the relevant
manual pages. If you are still not sure about this, I encourage you to
investigate it further. Let us know if you find any problems or
Aidan P. Thompson
01435 Multiscale Dynamic Materials Modeling
Sandia National Laboratories
PO Box 5800, MS 1322 Phone: 505-844-9702
Albuquerque, NM 87185 Fax : 505-845-7442
E-mail:[email protected] Cell : 505-550-2614
If you're implementing the potential, then you can handle
it however you wish. There is nothing automagical
in LAMMPS to do shifting or smoothing; it's up to the
potential to implement it.