How to use/implement 5-centre pairwise model with LAMMPS


I’m trying to use LAMMPS machinery to implement 5-centre pairwise model (5CPM) for molecular nitrogen (N2).

My current attempt is based on fix/rigid/small with N2 molecule being defined in the following way:

X_1 - N - X_2 - X_3 - X_2 - N - X_1

where N is nitrogen atom and X_i are 5-centre sites where potential is evaluated.
X_i masses are set to something negligible.

The pair_style python is used to compute energy and forces between different sites.
The intra-molecular interactions are excluded.

For each N2-N2 interaction all 25 distances between X_i sites must be used.

The problem with this approach, I think, is that in the case when the distance between some sites is greater than cutoff distance not all 25 interaction are computed.

Is is possible to alter this approach such that energy/forces are only computed if all X_i sites are within the cutoff distance (or possibly based on centre of mass distance)?

If not, is there a different way to tackle this problem?

But that is how potentials with cutoffs work. For the kind of model you describe the cutoffs would be rather large compared to the distance between the points within a molecule. So the partial computation would happen only when they are already small. If that is still too abrupt, you can use a potential that uses a switching function to smoothly bring the potential to zero at the cutoff.

You might have some luck using pair_style line/lj (documentation here).