Force field typing tools

Chemical environments

Tools for representing and operating on chemical environments

Force field 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

ForceField

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 OpenMM 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.

Parameter Handlers

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

Parameter I/O Handlers

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

Parameter Attributes

ParameterAttribute and IndexedParameterAttribute provide a standard backend for ParameterHandler and Parameter attributes, while also enforcing validation of types and units.