OPLSAA for lammps input using moltemplate

I am using moltemplate to generate OPLSAA forcefield input for LAMMPS. I am looking to simulate butanol, but I am confused which @atom type should be selected for the OH group.

Firstly, do I assume that the OH group is one unit and specify the atom as OH, using the co-ordinates for the O atom and ignoring the H while assuming that its effects are absorbed into the OH?

Secondly, there are many options for OH in the oplsaa.lt file as follows. Which one is the most appropriate for butanol? How do I decide this?

set type @atom:20 charge -0.7 # “Alcohol OH (UA)”

set type @atom:21 charge 0.435 # “Alcohol OH (UA)”

set type @atom:96 charge -0.683 # “Alcohol -OH”

set type @atom:97 charge 0.418 # “Alcohol -OH”

set type @atom:99 charge 0.145 # “Alcohol CH3OH & RCH2OH”

My best bet is @atom:99, but I wasn’t sure about this. Please advice!

Thanks,

John

I am using moltemplate to generate OPLSAA forcefield input for LAMMPS. I
am looking to simulate butanol, but I am confused which @atom type should
be selected for the OH group.

Firstly, do I assume that the OH group is one unit and specify the atom as
OH, using the co-ordinates for the O atom and ignoring the H while assuming
that its effects are absorbed into the OH?

Secondly, there are many options for OH in the oplsaa.lt file as follows.
Which one is the most appropriate for butanol? How do I decide this?

set type @atom:20 charge -0.7 # "Alcohol OH (UA)"

set type @atom:21 charge 0.435 # "Alcohol OH (UA)"

set type @atom:96 charge -0.683 # "Alcohol -OH"

set type @atom:97 charge 0.418 # "Alcohol -OH"

set type @atom:99 charge 0.145 # "Alcohol CH3OH & RCH2OH"

My best bet is @atom:99, but I wasn't sure about this. Please advice!

​how about looking up the rules for how to assign OPLS/AA in the relevant
publications of the OPLS/AA force field?

axel.

1 Like

I am using moltemplate to generate OPLSAA forcefield input for LAMMPS. I am looking to simulate butanol, but I am confused which @atom type should be selected for the OH group.

Secondly, there are many options for OH in the oplsaa.lt file as follows.
Which one is the most appropriate for butanol? How do I decide this?

Regrettably, this is the most difficult aspect of using moltemplate
with all-atom force fields.

Generally speaking, here are some suggestions on how to guess atom types:

http://www.moltemplate.org/force_field_recommendations.html

As of 2017-7, for the specific case of the OPLSAA force field, the key
to figuring out what atom types to use is to look at the CHARGE of
each atom. (I wish the descriptions next to each atom were more
explicit. We copy them right out of the TINKER oplsaa.prm files.)

Here's that list of atoms again:

set type @atom:96 charge -0.683 # "Alcohol -OH"
set type @atom:97 charge 0.418 # "Alcohol -OH"
set type @atom:99 charge 0.145 # "Alcohol CH3OH & RCH2OH"
My best bet is @atom:99, but I wasn't sure about this. Please advice!

My first guess would be to use @atom:97 for the hydrogen atom, and
@atom:96 for the oxygen atom. Unfortunately, those two charges do not
cancel out (-0.683, 0.418). The remaining charge to neutralize this
must be distributed somewhere else in the butanol molecule:
((CH3)-(CH2)-(CH2)-(CH2)-(OH))
Keep in mind that the entire molecule must have neutral charge (or
more generally, integer charge) Since the CH3 and CH2 groups in an
alkane chain in OPLSAA each independently have zero charge
(0=-0.18+0.06*3, and 0=-0.12*0.06*2), then the charge on the
remaining atoms in the molecule (CH2-OH) must sum up to 0.
This means that the carbon which is attached to the oxygen atom is
probably different from the carbon atoms elsewhere in the alkane
chain. I continue to make the assumption that all of the hydrogen
atoms which are bound to carbon are the same type (@atom:85), and
(since in oplsaa.lt, charge is determined by atom type), they all have
the same partial charge (0.06), So I think the carbon atom is of
type @atom:99, because when you add all of the charges together, you
get zero:

0 = 0.145 + 0.06 + 0.06 - 0.683 + 0.418

set type @atom:20 charge -0.7 # "Alcohol OH (UA)"
set type @atom:21 charge 0.435 # "Alcohol OH (UA)"

The first two are for the united atom variant of the OPLS force field.
Simulations that use these kinds of atoms are less popular. For this
reason, I'm guessing these are probably not what you want.

Hope this helps

Andrew

P.S. I attached some moltemplate files for butanol to this message.
Let me know if you find any errors.
P.P.S. If I get around to porting the class2 force fields (COMPASS,
PCFF, ...) into moltemplate, then we will have to use different tricks
to figure out the correct atom types to use when building a new
molecule.

Some programs (EMC) seem to be able to do attempt to do automatic atom
type selection for some force fields based on the context of where
each atom appears, but I'm not sure it supports the full OPLSAA force
field yet. Moltemplate doesn't, and it's currently not a high
priority to add that feature anytime soon.

ch3_group.lt (1.88 KB)

ch2_group.lt (1.69 KB)

ch2oh_group.lt (1.06 KB)

butanol.lt (1.78 KB)

Thank you for your reply! I just saw this. I have a better idea of how to do this now. The naming in the oplsaa.lt file is a little confusing though, for example @atom:99 description says Alcohol CH3OH & RCH2OH – here I am confused whether atom refers to carbon, hydrogen or oxygen? Is there documentation for this?

Thanks,
John