(no subject)

Dear all,

I found a confusing difference in pair interaction behavior in case if I use bond or don’t.
In order to demonstrate it, I prepared two input lammps scripts with two input data files (in.test-atom and in.test-bond). There are two atoms on the distance which is twise smaller than cutoff. In the first input file, there are just atoms, while in the second there is one bond which should not make any effect since it always gives 0 force. If you check the forces computed they will be different - in atomic case pair force will be calculated, while with a bond - no. I checked it by placing a breakpoint at in the verlet.cpp right after the line force->pair->compute(eflag,vflag);
Could you explain why such a difference has place?

in.test-bond (748 Bytes)

test-bond.atom (282 Bytes)

test-atom.atom (241 Bytes)

in.test-atom (707 Bytes)

Dear all,

I found a confusing difference in pair interaction behavior in case if I use
bond or don't.
In order to demonstrate it, I prepared two input lammps scripts with two
input data files (in.test-atom and in.test-bond). There are two atoms on the
distance which is twise smaller than cutoff. In the first input file, there
are just atoms, while in the second there is one bond which should not make
any effect since it always gives 0 force. If you check the forces computed
they will be different - in atomic case pair force will be calculated, while
with a bond - no. I checked it by placing a breakpoint at in the verlet.cpp
right after the line force->pair->compute(eflag,vflag);
Could you explain why such a difference has place?

if those two atoms have a bond, their direct non-bonded interactions
are excluded.
standard 1-2 exclusion. that is how classical force fields work.

http://lammps.sandia.gov/doc/special_bonds.html

axel.

Hi Kirill,

This is because of the "special_bonds" command. In MD, you usually want to turn off non-bonded interactions (lj, coulomb) for bonded atoms since the effect of coulombic and dispersive forces is built into the bonded (or angle, or dihedral) potential.
Various force fields use different parameters, so LAMMPS has the "special_bonds" command that allow you to set them. It's default values are good for most MD codes, but ill-adapted to other simulations, such as DPD.

You can read the doc pages:
http://lammps.sandia.gov/doc/special_bonds.html

You'll probably want to turn everything on, ie:
special_bond lj/coul 1.0 1.0 1.0

Samuel Palato