Yeah, that's a possible reason. But I have to point out that there is also Coulombic interaction
between the (darker green) 'hn' and the other green(lighter) atom (an O in a c=o group) besides the
'zero' LJ interaction. The hn atom has opposite charge to the Oxygen, meaning they have attractive
interaction. That's probably the reason why they approach each other. All parameters are taken from
the cvff force field. (the hn type there really has an almost zero energy parameter. In the nonbond section
in cvff.frc you will find this line '1.0 1 hn 0.00000001 0.00000'. That's why msi2lmp converts
them into zero sigma and eps in a standard LJ12-6 function form.) This is understandable, because the
hn atom may not need to have LJ interaction with other atoms in order to maintain the correct conformation
and other neighbouring interactions will take care of it. I have no idea if this zero LJ parameters will cause
a problem in lammps.
Another point worthy of an investigation is the Coulombic function, in which an almost zero separation (r)
can be produced when two atoms goes too close to each other. Suppose in the formula q1q2/r, q1 and q2
have opposite sign, and r is extremely small. This will least to huge (overwhelming) attractive force to pull
two atoms going together. However, as said by Steve, two atoms can rarely overlapped exactly, the atoms
will pass by each other, but due to the huge acceleration they may lead to other ill structure such as a over
lengthening bond. Finally, the disaster happened. (Sorry, this is just my imagination, you could take it as
an adventrue movie if it's nonsense to you )
However, I do not this this should happen, because this overlapping problem should be effectively prevented
by the collaborative behaviour of different kinds of interactions (bond, angle etc) if we beleive the force field
is properly translated in a program (including the parameters and function forms).
According to msi2lmp, cvff is defined as Class I ff not Class II. Therefore, the generated data file contains no
cross correlation terms. However, in the original cvff.frc, the parameters fo the cross-terms do exist, such as
bond-bond, bond-angle... msi2lmp doesn't read these. According to the Materials Studio help file, a cvff
has these terms, see http://img13.imageshack.us/my.php?image=ss20090211185941zf3.png .
I rememeber I tried to recover all terms i shown in the picture by manually editing the input data
file and use class2 styles implemented in lammps, but I failed. The reason is the function forms
in lammps cannot meet all terms shown in the picture.In my problematic simulation, I used
bond_style harmonic
improper_style cvff
pair_style lj/cut/coul/cut 15.0
#including 1-4 as nonbonded interaction, same as in MS
special_bonds 0.0 0.0 1.0
#including crossterms, this makes better agreement with Material Studio
angle_style harmonic
dihedral_style harmonic
But to use class2 functions and the cross-term data in cvff.frc, I tried
#with these styles, good energy agreement is found between lammps and MS
#although the angle-angle cross-term is still missing in lammps.
#but the contribution from this term should be small.
bond_style morse
improper_style none
pair_style lj/cut/coul/cut 14.50
#including 1-4 as nonbonded interaction, same as in MS
special_bonds 0.0 0.0 1.0
#including crossterms, this makes better agreement with Material Studio
angle_style class2
dihedral_style class2
With the later settings, for cyclo-Hexane, the energy from lammps is almost the same as calculated in MS using cvff
even I didn't find a function for the angle-angle cross-term (Notice: not the angle-angle-torsion term, which
exists in the current lammps implementation) with a function form E = K * (Theta - Theta0) * (Theta' - Theta0') .
Base on this, I guess my problem may be related to the improper or incomplete use of the cvff force field data.
I breifly check the cvff.frc file, there is actually a non-zero energy parameter under the angle-angle crossterm
'1.0 1 c' n c hn -7.5000'
,in which the hn atom and n and c' are invloved. These are just the atoms involved in my crashed simulation,
although I'm not 100 percent sure it is the reason.
In summary
1. I have to first say I'm not using the 'complete' cvff. This is for sure problematic.
2. If a no-core or very soft-core(softer than the r^-1) could be used with existend of the Coulombic interaction?
Normally the repulsive LJ function will prevent the too-close or overlapping problem ,thus the r in the Coulombic
term will never be too small to lead to a crash. However, as least as seen in CVFF, some atoms can have no
core.
3. How to use cvff completely? Are all the function forms available in lammps? Is there somebody using the complete
cvff and providing some hints?
4. The crash I encountered is rare case, even I used incomplete ff. Just occasionally, the Hydrogen atoms in
a NH-CO group goes close enough to the O atom in the same group, then under the help of attractive Coulombic
interaction they collide and produce huge force due to the small r, although the other angle or bond interaction
prevent them to do so. I have another simulation using the same model and FF, it can run even longer than this crashed one
without a problem.
5. No real debug yet. To know whether the Coulombic interaction causing the problem is easy(almost obvious since
we can see two atoms are almost overlapped in the movie), however, to know what lead them go closer is difficult
because this is a result of many collabrative interactions and also dependent on the local environment.
6. Considering the model can run under other software. Summary 1 and 3 are most probably the reason and the solution.
In this story I must have made mistakes or misunderstandings. Please point them out.Thank you!
lin
Steve Plimpton wrote: