Partial bond orders and benzene

This notebook applies a SMIRNOFF FFXML involving partial bond orders (reducing the number of parameters) to assign bond parameters for benzene.


In [1]:
# Import stuff we need
from openforcefield.typing.engines.smirnoff import *
import openeye.oechem as oechem
import openeye.oeiupac as oeiupac
import openeye.oeomega as oeomega

In [2]:
# NBVAL_SKIP
# Load our forcefield from this directory. Use of partial bond orders here means there is only one [#6X3]~[#6X3] 
# bond parameter line rather than three which otherwise would be required
ffxml = 'Frosst_AlkEthOH_extracarbons.offxml'
ff = ForceField(ffxml)

In [3]:
# Initialize benzene as a test molecule
mol = oechem.OEMol()
oeiupac.OEParseIUPACName(mol, 'benzene')
omega = oeomega.OEOmega()
omega(mol)
oechem.OETriposAtomNames(mol)

In [4]:
# NBVAL_SKIP
topology = generateTopologyFromOEMol(mol)
system = ff.createSystem(topology, [mol], chargeMethod = 'OECharges_AM1BCCSym', verbose = True)


Applying oechem.oequacpac.OEAssignPartialCharges with specified charge method "OECharges_AM1BCCSym".

HarmonicBondGenerator:

                                               [#6X4:1]-[#6X4:2] :        0 matches
                                                 [#6X4:1]-[#1:2] :        0 matches
                                                   [#8:1]~[#1:2] :        0 matches
                                            [#6X4:1]-[O&X2&H1:2] :        0 matches
                                            [#6X4:1]-[O&X2&H0:2] :        0 matches
                                                 [#8X2:1]-[#1:2] :        0 matches
                                              [#6X3:1]!#[#6X3:2] :       12 matches
                                                 [#6X3:1]-[#1:2] :        6 matches

12 bonds added (0 skipped due to constraints)

HarmonicAngleGenerator:

                                        [a,A:1]-[#6X4:2]-[a,A:3] :        0 matches
                                          [#1:1]-[#6X4:2]-[#1:3] :        0 matches
                                      [#6X4:1]-[#6X4:2]-[#6X4:3] :        0 matches
                                      [#8X2:1]-[#6X4:2]-[#8X2:3] :        0 matches
                                        [#6X4:1]-[#8X2:2]-[#1:3] :        0 matches
                                      [#6X4:1]-[#8X2:2]-[#6X4:3] :        0 matches
                                            [*:1]~[#6X3:2]~[*:3] :       36 matches
                                           [#1:1]-[#6X3:2]~[*:3] :       12 matches
                                          [#1:1]-[#6X3:2]-[#1:3] :        0 matches

18 angles added (0 skipped due to constraints)

PeriodicTorsionGenerator Propers:

                               [a,A:1]-[#6X4:2]-[#6X4:3]-[a,A:4] :        0 matches
                                [a,A:1]-[#6X4:2]-[#8X2:3]-[#1:4] :        0 matches
                               [a,A:1]-[#6X4:2]-[#8X2:3]-[!#1:4] :        0 matches
                                 [#1:1]-[#6X4:2]-[#6X4:3]-[#1:4] :        0 matches
                               [#1:1]-[#6X4:2]-[#6X4:3]-[#6X4:4] :        0 matches
                               [#6X4:1]-[#6X4:2]-[#8X2:3]-[#1:4] :        0 matches
                             [#6X4:1]-[#6X4:2]-[#6X4:3]-[#6X4:4] :        0 matches
                             [#6X4:1]-[#6X4:2]-[#8X2:3]-[#6X4:4] :        0 matches
                          [#6X4:1]-[#8X2:2]-[#6X4:3]-[O&X2&H0:4] :        0 matches
                             [#8X2:1]-[#6X4:2]-[#6X4:3]-[#8X2:4] :        0 matches
                               [#8X2:1]-[#6X4:2]-[#6X4:3]-[#1:4] :        0 matches
                                [#1:1]-[#6X4:2]-[#6X4:3]-[OX2:4] :        0 matches
                                   [*:1]~[#6X3:2]-[#6X4:3]~[*:4] :        0 matches
                               [#1:1]-[#6X4:2]-[#6X3:3]=[#6X3:4] :        0 matches
                                   [*:1]~[#6X3:2]-[#6X3:3]~[*:4] :        0 matches
                                   [*:1]~[#6X3:2]:[#6X3:3]~[*:4] :       48 matches
                                   [*:1]-[#6X3:2]=[#6X3:3]-[*:4] :        0 matches

PeriodicTorsionGenerator Impropers:

                               [a,A:1]~[#6X3:2]([a,A:3])~[OX1:4] :        0 matches

24 torsions added
0 impropers added, each applied in a six-fold manner

NonbondedForceGenerator:

                                                          [#1:1] :        6 matches
                                                   [$([#1]-C):1] :        0 matches
                               [$([#1]-C-[#7,#8,F,#16,Cl,Br]):1] :        0 matches
         [$([#1]-C(-[#7,#8,F,#16,Cl,Br])-[#7,#8,F,#16,Cl,Br]):1] :        0 matches
[$([#1]-C(-[#7,#8,F,#16,Cl,Br])(-[#7,#8,F,#16,Cl,Br])-[#7,#8,F,#16,Cl,Br]):1] :        0 matches
                                                 [#1$(*-[#8]):1] :        0 matches
                                                          [#6:1] :        6 matches
                                                        [#6X4:1] :        0 matches
                                                          [#8:1] :        0 matches
                                                        [#8X2:1] :        0 matches
                                             [#8X2+0$(*-[#1]):1] :        0 matches


In [ ]: