Forcefield typing tools

Chemical environments

Tools for representing and operating on chemical environments


This class is largely redundant with the same one in the Chemper package, and will likely be removed.

ChemicalEnvironment Chemical environment abstract base class that matches an atom, bond, angle, etc.

Forcefield typing engines

Engines for applying parameters to chemical systems

The SMIRks-Native Open Force Field (SMIRNOFF)

A reference implementation of the SMIRNOFF specification for parameterizing biomolecular systems


The ForceField class is a primary part of the top-level toolkit API. ForceField objects are initialized from SMIRNOFF data sources (e.g. an OFFXML file). For a basic example of system creation using a ForceField, see examples/SMIRNOFF_simulation.


Parameter Type

ParameterType objects are representations of individual SMIRKS-based SMIRNOFF parameters. These are usually initialized during ForceField creation, and can be inspected and modified by users via the Python API. For more information, see examples/forcefield_modification.

ParameterType Base class for SMIRNOFF parameter types.
BondHandler.BondType A SMIRNOFF bond type
AngleHandler.AngleType A SMIRNOFF angle type.
ProperTorsionHandler.ProperTorsionType A SMIRNOFF torsion type for proper torsions.
ImproperTorsionHandler.ImproperTorsionType A SMIRNOFF torsion type for improper torsions.
vdWHandler.vdWType A SMIRNOFF vdWForce type.

Parameter Handlers

Each ForceField primarily consists of several ParameterHandler objects, which each contain the machinery to add one energy component to a system. During system creation, each ParameterHandler registered to a ForceField has its assign_parameters() function called..

ParameterList Parameter list that also supports accessing items by SMARTS string.
ParameterHandler Base class for parameter handlers.
BondHandler Handle SMIRNOFF <Bonds> tags
AngleHandler Handle SMIRNOFF <AngleForce> tags
ProperTorsionHandler Handle SMIRNOFF <ProperTorsionForce> tags
ImproperTorsionHandler Handle SMIRNOFF <ImproperTorsionForce> tags
vdWHandler Handle SMIRNOFF <vdW> tags
ElectrostaticsHandler Handles SMIRNOFF <Electrostatics> tags.
ToolkitAM1BCCHandler Handle SMIRNOFF <ToolkitAM1BCC> tags

Parameter I/O Handlers

ParameterIOHandler objects handle reading and writing of serialzied SMIRNOFF data sources.