T GE
I am sorry that I do not understand what you said.
agreed. it is very confusing and it doesn't make much sense.
but it seems to me the problem is really a badly designed
molecular model in combination with an incomplete
understanding of how exclusions are applied.
With the LAMMPS document, I will explain what is going on your system.
From your data file, for example, you defined like
Dihedrals
1 3 1 2 3 4
2 1 2 3 4 5
.....
For 1 to 5 atoms, if you did not define 2 1 2 3 4 5, pairwise interaction
between atom 2 and atom 5 interaction should be affected with full weighting
factor 1.0 because you used "dihedral yes".
However, you did define this dihedral term 2 1 2 3 4 5. So, the pairwise
interaction between atom 2 and atom 5 is affected by special_bonds lj 0.0
0.0 0.0.
this is correct. which means that both should be listed as "special dihedrals".
As I understood from your data file, you defined all dihedrals from atom 1
to atom 4608 in sequence. Therefore, your "lj values (0.0 0.0 0.0)" made the
neighbors 1-4 0 after dihedral trim (I guess the wording "after dihedral
trim" means using and after "special_bonds" command). Your keyword "dihedral
yes" did not affect your system.
this is not a correct analysis of the situation.
the real problem arises from the comment about
"adding bonds to model 1-5 neighbors".
from what i understood, there is not only a straight chain of bonds,
but *additional* bonds between atoms 1 and 5, 2 and 6, 3 and 7
and so on. *this* is the origin of the problem, because of that, the
bond topology is *massively* changed. the atoms 1,2,3,4,5 now also
form a ring and thus there are suddenly more topological angles
and dihedrals (e.g. 4,5,1 becomes a topological angle, and thus
the 1-4 interaction would be counted as both, a 1-3 and a 1-4 interaction.
the 1-3 takes precedence over the 1-4, so the dihedral 1,2,3,4 is
not even considered for a 1-4 interaction.
I may be wrong. But with your data file and setting special_bonds in your
input file, it makes sense to me based on the LAMMPS document.
yes, LAMMPS works correctly and as documented.
in order to demonstrate this, i am creating a set of
three data files with 3 different topologies made from
a linear chain of 11 atoms. a) has all topological dihedrals
defined, b) has one dihedral removed and c) has bonds
between 1-5 pairs added. the attached input script now
runs LAMMPS through the process of building the exclusions
for 3 special_bonds settings. default, dihedral yes and angle+dihedral yes
have a look and see.
axel.
p.s.: the attached files may also serve as an example,
how one can write minimal example inputs that demonstrate
how a feature does (not) work.
this was done my slightly modifying the VMD script code from here.
https://sites.google.com/site/akohlmey/software/topotools/topotools-tutorial---part-1
in.chain (2.23 KB)
data.chain-c (1.25 KB)
data.chain-b (1.19 KB)
data.chain-b (1.19 KB)