Matching formula items of a force field with that in LAMMPS

I am a new user of LAMMPS, and I hope I can get some important suggestions on the use of LAMMPS from you.

  1. How can I exactly match each formula item of a force field with the commands of LAMMPS (i.e., bond_style, angle_style,…)? In other words, how to use the exact formula of a force field in LAMMPS. Of course, it is not difficult to match some of them such as the bond and angle ones, but there are usually some special formula items in a force field. For example, there are 11 items in the CVFF including the 1st-4th items (bond lengths, bond angles, torsion angles, and out-of-plane interactions), 5th-9th items (off-diagonal/cross), and 10th-11th ones (non-bond interactions). However, there only to be the limited numbers of the _style commands in LAMMPS, as well as the formula forms included. How can I express the out-of-plane interactions, does it mean the improper_style? Furthermore, how should the off-diagonal items in CVFF be expressed by the LAMMPS commands, anyway, I did not find the corresponding formula forms in LAMMPS.

  2. When I use the read_data, need I delete all ‘coeff’ items in the .data file and only keep the atomic coordinates in it, and then define the 'coeff’s in the .in file?

Your answers and suggestions are very appreciated!
Sincerely,
Shi-Chao Qi
College of Chemical Engineering,
Nanjing Tech Univerity,

Nanjing, China

I believe LAMMPS has a complete implementation of the CVFF force
field - see the doc pages for the bond/angle/dihedral/improper class2
styles. They discuss the extra cross terms and the format
for inputting them in an input script via the coeff commands.
They also explain what additional sections need to appear
in a data file, e.g. BondBond Coeffs. You can use the tools/msi2lmp
tool to generate sample data files with all the FF info
and take a look at their format.

Steve

1. How can I exactly match each formula item of a force field with the
commands of LAMMPS (i.e., bond_style, angle_style,...)? In other words, how
to use the exact formula of a force field in LAMMPS. Of course, it is not
difficult to match some of them such as the bond and angle ones, but there
are usually some special formula items in a force field. For example, there
are 11 items in the CVFF including the 1st-4th items (bond lengths, bond
angles, torsion angles, and out-of-plane interactions), 5th-9th items
(off-diagonal/cross), and 10th-11th ones (non-bond interactions). However,
there only to be the limited numbers of the _style commands in LAMMPS, as
well as the formula forms included. How can I express the out-of-plane
interactions, does it mean the improper_style? Furthermore, how should the
off-diagonal items in CVFF be expressed by the LAMMPS commands, anyway, I
did not find the corresponding formula forms in LAMMPS.

I believe LAMMPS has a complete implementation of the CVFF force
field - see the doc pages for the bond/angle/dihedral/improper class2
styles. They discuss the extra cross terms and the format
for inputting them in an input script via the coeff commands.
They also explain what additional sections need to appear
in a data file, e.g. BondBond Coeffs. You can use the tools/msi2lmp
tool to generate sample data files with all the FF info
and take a look at their format.

Steve

The main difficulty using the PCFF, CVFF, and COMPASS force fields is
obtaining parameters for the atoms in your molecule. There is no
repository I can find which has the full list of parameters for these
force fields. (If you know of one...) The only file I can find which
has CVFF parameters is the "cvff.frc" file in the "tools/msi2lmp"
directory. You should first look at this file see if the molecule you
want to simulate has any atoms which are not included in the list of
"#atom_types" defined in that file. (Last I checked, Sp2 carbons are
missing.) The main difficulty with using the CVFF (and PCFF?) force
fields is finding a molecule builder which understands how to generate
"auto-equivalences" (explained below). (Can EMC generate these?)
The COMPASS force field does not use auto-equivalences.

Not all of the force-field styles used by CVFF are of the "class2" variety.

I could be wrong, but I think CVFF uses these force field styles,
whenever it can (whenever there are interactions defined for the atom
types in question):
http://lammps.sandia.gov/doc/improper_class2.html
http://lammps.sandia.gov/doc/dihedral_class2.html
https://lammps.sandia.gov/doc/angle_class2.html
https://lammps.sandia.gov/doc/bond_class2.html
http://lammps.sandia.gov/doc/pair_lj.html

For other "undefined" atom types, CVFF uses "auto-equivalences" (as a
fall-back). In that case I think CVFF uses these styles:
'http://lammps.sandia.gov/doc/improper_cvff.html
http://lammps.sandia.gov/doc/dihedral_charmm.html
http://lammps.sandia.gov/doc/angle_harmonic.html
http://lammps.sandia.gov/doc/bond_morse.html
http://lammps.sandia.gov/doc/pair_lj.html
(But I don't think "msi2lmp" understand how to generate these
"auto-equivalence" interactions if they are present in your
molecules.)

CVFF also uses an "out_of_plane-out_of_plane" interaction which (I
think) is not supported by LAMMPS. (Perhaps these interactions are
not important? I have no idea. "msi2lmp" probably ignores them.)

You will need to choose the force-field parameters ("coeffs") for
these commands. This is complicated enough that most people use a
program to generate it for them. These programs will generate the
coeff parameters for you. Your choices are:

EFF (COMPASS, PCFF)
http://montecarlo.sourceforge.net/emc/Welcome.html

moltemplate (COMPASS)
http://www.moltemplate.org/visual_examples.html#butane

msi2lmp (CVFF, PCFF, COMPASS)

The original authors of msi2lmp are no longer maintaining the program.
While Axel is doing a valiant job taking over, keep in mind that it
may have unpatched bugs. (Also, it does not handle the "auto"
equivalences correctly.)

2. When I use the read_data, need I delete all 'coeff' items in the .data
file and only keep the atomic coordinates in it, and then define the
'coeff's in the .in file?

You can put the coeff items in either the .data file, OR the .in file.
The choice is yours.
(I personally prefer to keep the force field parameters (coeffs) in
the .in file.)

Hope this helps

Andrew

P.S. Incidentally, the "cvff.frc" file I mentioned was provided by
Paul Saxe. Incidentally, his company sells MedeA software which might
be useful. I'm not sure if an MedeA license is cheaper than an
Accelrys license. They sell a product with PCFF-compatible
parameters, but I don't know about CVFF. I don't use either program,
so I cannot recommend which is better.

Here's a list of links to documentation describing the force-field
styles I've come across which are used by the MSI/Accelrys
force-fields (like PCFF, CVFF, and COMPASS)

(4-body) improper styles:
'http://lammps.sandia.gov/doc/improper_cvff.html
http://lammps.sandia.gov/doc/improper_class2.html

(4-body) dihedral styles:
http://lammps.sandia.gov/doc/dihedral_class2.html
http://lammps.sandia.gov/doc/dihedral_charmm.html

(3-body) angle styles:
https://lammps.sandia.gov/doc/angle_class2.html
http://lammps.sandia.gov/doc/angle_harmonic.html

(2-body) bond styles:
https://lammps.sandia.gov/doc/bond_class2.html
http://lammps.sandia.gov/doc/bond_morse.html
http://lammps.sandia.gov/doc/bond_harmonic.html

pair_styles
http://lammps.sandia.gov/doc/pair_class2.html
http://lammps.sandia.gov/doc/pair_lj.html

Dear Andrew,

Your patient and detailed explanations are really helpful! I think I have known what I wanted to know.
Thanks again!

Shichao