pcff force field

Please, always email the lammps user list when responding.

What version of lammps are you using? I believe the most current stable version for download (17 August 2017) lists a force field file (*.frc) for pcff in ./tools/msi2lmp/frc_files/. So I imagine that producing a lammps-style data files using types from the pcff force field should be possible. There are a few places where you might run into stumbling blocks that I can think of off the top of my head: (1) I think pcff is a class 2 type force field, which I think requires a special flag when you invoke msi2lmp. (2) It’s possible MS might have additional atom types in their version of pcff that are not present in the pcff.frc file that is part of the lammps distribution.

Dear Vanessa,

Thank you for your advice. I think my version is old September, 2016. I will try with latest version. What will be the special flag for forcefield 2? Any idea? Thank you.

Currently, it's difficult to use PCFF.

EMC (or msi2lmp+MaterialsStudio) might be your only options. However,
unfortunately both PCFF and CVFF use a complicated system
"auto_equivalences" for looking up force field parameters according to
atom type. "msi2lmp" does not handle these correctly, and I suspect
EMC might not either, but I could be wrong. (Please correct me if I'm
wrong. People have complained to me about using both tools with PCFF
force field.)

About 6 months ago, we attempted to convert COMPASS PCFF and CVFF into
moltemplate format, but it was taking a lot of time to figure out how
to handle "auto_equivalences" correctly. (A LOT of time. A -month-
of time devoted to this specific issue.)
With Marcus Martin's help, I think we figured out how to solve the
issue I still probably need another week to get this working, and I
have other projects of much greater urgency (which threaten my
livelihood) to work on. I hope to get this working some time early
next year when things have settled down.

If you want to use a class2 force field, perhaps you will have better
luck with COMPASS. For now, try using EMC (or msi2lmp) with the
compass force field. COMPASS does not use "auto_equivalences"

Good luck


See the README doc. It’s pretty self-explanatory the flag is ‘-class 2’. Also make sure that msi2lmp knows where to find the pcff.frc file. If you’re not sure where your version of msi2lmp.exe is looking for frc files (this should be designated when you build this tool), I think you can just place a copy of the frc file where you are running the tool and use this flag ‘- frc ./pcff.frc’ for example.

I can’t speak to Andrew’s experiences with pcff and cvff, but I would agree that both of these force fields are complicated and not easy to use. If you are new to this, then his suggestion might be the best way to go for you.

Thank you Vanessa. I checked it and its working fine with pcff.

Although not directly relevant to the original post, I wanted to
follow up on this thread for others who browse to it from the search
engine links. I believe the COMPASS force field is now working in
moltemplate, but it is experimental. There are some simple examples
with alkane chains in the "examples" directory. Now that I have a
script that can convert MSI's .FRC files into moltemplate, I'll try
converting PCFF and CVFF next


   -- other caveats ---

   The moltemplate implementation of COMPASS (and later PCFF, and
CVFF) currently relies on the same incomplete force-field files (FRC
files) that "msi2lmp" uses. Unfortunately this means that many force
field parameters and some atom types (such as sp2-carbons) have not
(yet) been publicly released and are not available.
    Currently you should run the "cleanup_moltemplate.sh" script after
running "moltemplate.sh system.lt". Then manually check that the
"system.in.settings" and "system.in.charges" files which remain make
sense. Specifically, you must check that the angle_coeff,
dihedral_coeff, bond_coeff commands are not full of zeros (in places
where they should not be zero. This is another consequence of the
fact that the .FRC files I mentioned above are incomplete.) It's a
good idea to also check that the charges in the "system.in.charges"
file seem reasonable (ie. not all zeros). (There is a list of
warnings at the end of the "compass_published.lt" file. You can check
to see if any of the bonds in your system are covered by these
warnings.) Later on hopefully I'll add some automated way to warn
users when these problems arise, but now you should check for them

Dear Andrew,
Thank you for your valuable efforts. I want know.

Dear Andrew,
Also when I put a graphene sheet inside a polymer and use msi2lmp to convert ,car file to lammps data file, I get errors regarding inconsistent number of connect with atom x type x. Any advice?

Did you the graphene structure add any new atom types? If so, you will need to look in the literature for PCFF force field parameters (bond, angle, dihedral, etc.) for this new atom type(s) and add them to the frc file. Or, you could reassign the type of carbon atoms of the graphene structure to an existing atom type (presumably aromatic carbon). Of course, who knows if the ad hoc reassignment of atom types is going to yield a useful model, but it’s at least a starting point.

Dear Vanessa,

Thank you for quick and nice response. Actually, I am trying to understand the structure of pcff.frc file and the file lacks clarity. I am thinking the way you told. Any advice to better understand the .frc file? May be, aromatic carbon assignment work well. Is there any other software that have pcff force and I can get lammps input?

Thank you.


It will take some time and experience to figure out the frc file. Lacking that, I think Materials Design (commercial software) has the pcff force fields and provides lammps input: http://www.materialsdesign.com/medea/medea-forcefields.

I’m not sure what particular molecular system that you want model, but if it’s a polymer system interacting with a carbon nanotube, then you might consider the Dreiding force field. See work by Li and Strachan (Polymer 52 (2011) 2920-2928) for details. Strachan’s group also built a tool that could be useful for you. You can find it here: https://nanohub.org/tools/polymod

Thank you Vanessa, I’ll check it out.