This API is currently available in C++ and Python.

class OESmirnoffParams : public OEMolPotential::OEFFParams

The OESmirnoffParams class provides the ability to retrieve parameters necessary to perform energy and gradient calculations using the SMIRNOFF force field (see SMIRNOFF). By default OESmirnoffParams loads the Smirnoff99Frost force field.


The inherited methods, GetAtomTypeIndex, GetAtomTypeName and GetStretchBendParams, have no meaning in the SMIRNOFF force field and SHOULD NOT be used. When these methods are called, they return 0, none, and false, respectively.

The following methods are publicly inherited from OEFFParams:


OESmirnoffParams(const OESmirnoffParams&)

Default and copy constructors.


OESmirnoffParams& operator=(const OESmirnoffParams&)

The assignment operator.


bool Load(const unsigned int fftype)
bool Load(const std::string& xml_file_name)
bool Load(const OEPlatform::oeisstream& ifs)

Methods which load force field parameters. First method is used to load available build-in parameter set. Currently available parameters are: OESmirnoffType::SMIRNOFF, OESmirnoffType::OPENFF100 and OESmirnoffType::OPENFF110. Second method takes the name of the parameter file in XML format. This file might contain user custom parameters. Third method takes a stream object oeisstream which contains Smirnoff parameters. It is a convenience method which might be used in user code when the parameters XML file is converted a stream.