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.