LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Mailing List Archives
Re: [lammps-users] OPLSAA for lammps input using moltemplate
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lammps-users] OPLSAA for lammps input using moltemplate


From: Andrew Jewett <jewett@...1937...>
Date: Wed, 26 Jul 2017 19:29:29 -0700

On Fri, Jul 21, 2017 at 6:31 PM, John Smith <johnson21smith@...24...> wrote:
> 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.

Attachment: ch3_group.lt
Description: Binary data

Attachment: ch2_group.lt
Description: Binary data

Attachment: ch2oh_group.lt
Description: Binary data

Attachment: butanol.lt
Description: Binary data