Choosing the right atom type for the structure in Moltemplate when applying OPLSAA


I’m going to apply OPLSAA FF on my structure using Moltemplate software. As mentioned in the readme files of the moltemplate examples, file preparation is done firstly by:

"before you run “”, you must edit the “oplsaa.prm”
file (or "oplsaa_subset.prm file) and eliminate atom types which do not
correspond to any of the atoms in your simulation. This means you must
look for lines near the beginning of this file which begin with the word “atom”
and refer to atom types which appear in the simulation you plan to run. All
other lines (beginning with the word “atom”) must be deleted or commented out.
(Leave the rest of the file alone.)"

I was wondering how should I choose the atom types if my structure is not one of those available in the oplsaa.prm file. For example, if I have one of the following structures, which atom types should be chosen for C, O, H, and N atoms:

nylon 6.6

polyvinyl acetate

polyvinyl acetate

I hope a user experienced in Moltemplate can help me in this issue.



Sounds like a Q for Andrew (CCd).


The “oplsaa.prm” file does not contain structures. It contains atom properties, force-field parameters, and rules for creating angle, dihedral, and improper interactions for organic molecules.

Determining the atom-types for a molecule requires some care. Perhaps someone can suggest an easier way to do this than what I am doing? (…using 3rd-party software, perhaps? I’m CCing this to Jason Lambert who wrote

Anyway, to define a new type of molecule I carefully read through the “atom” and “charge” sections of the “oplsaa.prm” file (available at

You can usually figure out the type of each atom by looking at

  1. its description (in quotes, 5th column of “atom” section),

  2. its atom-type-name (4th column of “atom” section)

  3. its mass (6th column of “atom” section), and

  4. its charge: (3rd column of the “charge” section)

For example, there are two atoms named “Ammonia NH3”, one with mass 14.007, and the other with mass 1.008:
atom 78 44 NT “Ammonia NH3” 7 14.007 3
atom 79 45 H “Ammonia NH3” 1 1.008 1

Currently, the first 56 atom types are united atoms “(UA)” (a form of coarse-graining) and should probably not be used in an all-atom simulation.

Unfortunately, different versions of the “oplsaa.prm” file use different atom type numbers. So you have to re-do this every time you download a newer version of the “oplsaa.prm” file. (The descriptions and names are usually the same.)

I attempted to pick atom types for the two polymers in your example below. However I was not very careful, and my knowledge of organic chemistry is rather poor. There are probably better people to give you advice than me.

If you guess incorrectly, then hopefully LAMMPS may complain that your system is not neutral. This is a good way to catch your mistakes:

See below for my suggestions for your molecule:


— Official documentation:—

If it helps, the “oplsaa.prm” file is distributed with TINKER and maintained by the TINKER developers. Read about it here:

… and if I understand correctly, the contents of the “oplsaa.prm” file are extracted from the BOSS documentation located here: