help us get MSI force fields in moltemplate (COMPASS, PCFF, CVFF, ...)

(It looks like my question never made it to mailing list. Reposting. Forgive me if you receive this message twice.)

Mahdi and Shyam and I have spent some time attempting to convert popular MSI force fields into moltemplate (.LT) format, including COMPASS, PCFF, CVFF, DREIDING, UFF etc. This is almost working.

But we are at an impasse and need help to make this available.

MSI .FRC files have a complicated atom (auto) equivalence system for generating bonded interactions. I could be wrong, but my suspicion is both moltemplate and msi2lmp sometimes fail to locate force field parameters for this same reason. Questions about this have been raised in the past:

https://sourceforge.net/p/lammps/mailman/message/29578563/

It could also be that the .FRC files we have are incomplete. Either way, it would be nice to know why these errors occur in moltemplate and msi2lmp.

----- example -----

As an example, line 1117 of cvff.frc (in tools/msi2lmp/frc_files) defines parameters for a (3-body) class2 angle interaction between atoms of type:

cp o ho

The 3-body class2 angle interactions defined in “cvff.frc” contain bond-bond and bond-angle cross terms which depend on the equilibrium bond length between:

“cp” and “o”

“o” and “ho”

… however I could not locate a corresponding (2-body) bond interaction defined between atoms of type “cp” and “o” om the cvff.frc file. (I also had a chance to look at what I think is the commercial version of “cvff.frc” today, and I couldn’t find it there either.)

---- main question ----

Where are these mysterious bond lengths defined in FRC files? How should we look them up?

---- details (feel free to skip) ----

Relevant documentation on .FRC files can be found on page 402 of:
benedick.rutgers.edu/software-manuals/discovermanual.pdf
and pages 88, 90, 94, and 288 of:
http://benedick.rutgers.edu/software-manuals/forcefield.pdf

I confess that I hesitate to trust msi2lmp because it also fails to find the cp-o bond length, and it ignores the “auto_equivalences” section of the .FRC files.

I attached files for a molecule which contains this interaction “7511500.mdf”, “7511500.car”

Incidentally, for this example, we don’t have to worry about “equivalences”:
For those two atoms, “cp” and “o”, the same atom names are used consistently for looking up both mass, bond, and angle interactions. (In other words, the atom names do not change in the “equivalences” section of the “cvff.frc”. See lines 290 and 330 of that file.)

auto_equivalences?
Should we (also) be searching for the cp-o bond length by using the atom types from the “auto_equivalences” table? (“c_” or “cp_” and “o_”, in this example) Is that why we can’t find this bond-length?

When looking up bond-lengths used in 3-body (“bond-bond”) interactions, should we look up these bond-lengths using the atom names defined in the “bond” column of the “equivalences” table, …or the “angle” column? (they are note one-to-one.)

I’m curious how does EMC do it? (Is the source code for EMC available?)

Cheers
and thanks to anyone who finished reading this long post…

andrew

P.S. Even if we get this is working, there will still be serious benefits of using materials studio, such atom type assignment, and a graphical interface.

image.png

751150.mdf (1.76 KB)

751150.car (1.39 KB)

Hi Andrew - here are 2 resources you could check with,
people who know the most about force field rules of anyone
I know. Axel may also be able to comment.

  1. Marcus Martin - google for his name and Towhee, which
    is a Monte Carlo code that supports a zillion ff. Pull up
    the Towhee Capabilities page and see the list. Marcus
    used to be at Sandia, is now a consultant.

  2. Pieter in’t Veld and his EMC tool, also a Monte Carlo
    builder. He’s at BASF, and also was at Sandia for a few
    years.

Tell them both that LAMMPS sent you :), since Aidan
and I know them both well. I have their emails, but not
with me at the moment.

Steve

image.png

Hi Andrew - here are 2 resources you could check with:
1) Marcus Martin - google for his name and Towhee
2) Pieter in't Veld and his EMC tool

Tell them both that LAMMPS sent you :slight_smile:

Thank you. I will.

(more boring details below...)

As an example, line 1117 of cvff.frc (in tools/msi2lmp/frc_files)

defines

parameters for a (3-body) class2 angle interaction between atoms of type:
cp o ho
The 3-body class2 angle interactions defined in "cvff.frc" contain

bond-bond

and bond-angle cross terms which depend on the equilibrium bond length
between:
"cp" and "o"
"o" and "ho"
... however I could not locate a corresponding (2-body) bond interaction
defined between atoms of type "cp" and "o" om the cvff.frc file. Where

are

these mysterious bond lengths defined in FRC files?
How should we look them up? How does EMC do it?

    I took a look at EMC. EMC comes with a perl script names "
insight2lammps.pl" which can be used to create LAMMPS DATA files containing
Coeff parameters. I ran it on this example, and it successfully created a
DATA file with a well defined bond between the "cp" and "o" atoms in the
"Bonds" section of that file ("751170.data", attached). It appears as
though the bond-length between "cp" and "o" is 1.37Angstroms. It found
this distance using "auto_equivalences" (mapping "cp"->"cp_", and "o" to
"o_", and looking for bonds defined between atoms of type "cp_" and "o_".
According to the Discovery documentation, "auto_equivalences" use a
different atom type naming system (eg "cp_" instead of "cp"), and are only
used for lookup bond-lengths (and other parameters) as a last resort (ie,
when these parameters cannot be found any other way). I think this
explains why msi2lmp failed to find the bond-length between atom "cp" and
"o". msi2lmp ignores auto_equivalences.

    Strangely, it looks like in the other sections of this data file
("BondBond", "BondAngle", and "AngleAngleTorsion"), the "insight2lammps.pl"
script got confused and set these equilibrium bond lengths (in these
sections) to zero. I am guessing that it should have used the same
bond-length it used in the "Bonds" section (eg. 1.37Angstroms).

   (But I'd love to see this confirmed.)

cheers

andrew
Thanks again for the suggestions. I'll contact Martin and Pieter soon.

image.png

751150.data (18.5 KB)

insight2lammps.pl (38 KB)