Dear LAMMPS experts:
I built some crosslinked expoxy resin EPON 862 using Materials Studio and
converted them using mis2lmp of lammps windows 64bit package (20170127).
Based on cvff.frc in lammps, there are three warnings as follows:
Unable to find bond data for cp oc
Unable to find oop data for c2 na c2 c2
Unable to find oop data for c2 na c2 hn
I guess cp-oc bond is quite important in the molecule, so I checked the
cvff.frc file trying to locate it from both “morse_bond” and
“quadratic_bond”, but there is no data for cp-oc, or cp-o which seems to be
If my understanding is correct, then check the “auto_equivalences” section of the “cvff.frc” file (lines 429, and 471 of that file. I am looking the version located in the “msi2lmp/frc_files/” subdirectory, not the official MSI on.)
Then take a look at lines 2195 and 2835 of that same file:
line 2195 (morse)
2.0 18 cp_ o_ 1.3700 96.0000 2.0000
line 2835 (quadratic)
2.0 18 cp_ o_ 1.3700 384.0000
(You probably want the first one.) In both cases, the bond-length is 1.3700
According to the Cerius2 (Discovery) documentation, “auto_equivalences” are used as a last resort when it can’t find (regular) equivalences which satisfy the pattern. Sometimes multiple different lines from the .frc file define bonds which satisfy the atom type requirements, and in that case, the version# and *-priority-number come into play. The Discovery/Cerius2 software can figure out which of these lines in the .frc file which satisfy the type pattern has the highest priority and use those parameters for that bond.
If my understanding is correct, the DiscoveryStudio/Cerius2 programs use BOND equivalences to lookup the equilibrium bond lengths used in the “bond-bond” and “bond-angle” terms (which appear in the angle interactions). (Similarly, ANGLE equivalences are used to lookup equilibrium angles in “angle-angle” “angle-angle-torsion” terms, which appear in improper and dihedral interactions.)
msi2lmp does not understand auto_equivalences sections in cvff.frc and pcff.frc. Additionally, msi2lmp also fails to find bonds for “compass_published.frc” as well, even though that file does not use “auto_equivalences”.
Mahdi, Shyam and I have been working on a version of the moltemplate molecule builder tool which can read .FRC files like “cvff.frc” and “pcff.frc”, “compass_unpublished.frc”, “dreiding.frc”, “uff.frc”, … However the current version of moltemplate sometimes fails to find bonds as well. This could be because the versions of these files which are bundled with msi2lmp are incomplete. (They are not the same as the official version.) I am hoping to find someone an official version of these FRC files that I can use just to test if moltemplate is reading these FRC correctly. (Please do not post it to the list.) When we can verify that moltemplate seems to be working with the official FRC files, we will post a message to the list, and share what information we can legally. (Until then we will not release it. I estimate this will take about 3 months because we are busy working on other projects at the moment.)
More strange is that I then tried the cvff.frc bundled to MS
and found all the warinings reported are exactly the same.
So does that mean the two cvff.frc files, in lammps and MS, respectivley,
are the same ?
As I recall, if you run “diff” on them, they are not quite the same, but I think they are of similar size.
Is there any other way to solve the problem about the bond
data ? For example, editing the Msi2lmp program ?
the important question here is: can you run the same system with MS using
cvff and get meaningful results?
That is what I would do.
If you have access to materials studio, I would use that program to run your simulations.
If you insist on running your simulations in LAMMPS, then try EMC, and be sure to check the DATA files that it creates carefully to see if they make sense.
I do not trust any of the free tools which support MSI force fields (except perhaps TOWHEE, but it does not support CVFF or PCFF).
if yes, you would have to reverse engineer what MS is doing differently and
then try to implement this in msi2lmp.
Use Materials Studio for now.
your question is the last in a long line of rather similar inquiries.
Yes, check out these posts: