OESmirnoffParams

Attention

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.

Note

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:
The OESmirnoffParams class contains the following methods:

Constructors

OESmirnoffParams()
OESmirnoffParams(const OESmirnoffParams&)

Default and copy constructors.

operator=

OESmirnoffParams& operator=(const OESmirnoffParams&)

The assignment operator.

AddBendData

bool AddBendData(const OESmirnoffBendData& data)

Adds new bending parameters based on provided OESmirnoffBendData.

AddImproperData

bool AddImproperData(const OESmirnoffImproperData& data)

Adds new improper torsion parameters based on provided OESmirnoffImproperData.

AddStretchData

bool AddStretchData(const OESmirnoffStretchData& data)

Adds new bond stretching parameters based on provided OESmirnoffStretchData.

AddTorsionData

bool AddTorsionData(const OESmirnoffTorsionData& data)

Adds new torsion parameters based on provided OESmirnoffTorsionData.

AddVdWData

bool AddVdWData(const OESmirnoffVdWData& data)

Adds new Van der Waals parameters based on provided OESmirnoffVdWData.

GetBendData

const std::vector<OESmirnoffBendData>& GetBendData() const
bool GetBendData(OESmirnoffBendData& data, const OEChem::OEAtomBase*,
     const OEChem::OEAtomBase*, const OEChem::OEAtomBase*) const

The first overload provides all of the OESmirnoffBendData corresponding to the bending parameters in the forcefield. The second overload can be used to access parameters for the angle specified by the three atoms.

GetImproperData

const std::vector<OESmirnoffImproperData>& GetImproperData() const
bool GetImproperData(OESmirnoffImproperData& data, const OEChem::OEAtomBase*,
     const OEChem::OEAtomBase*, const OEChem::OEAtomBase*, const OEChem::OEAtomBase*) const

The first overload provides all of the OESmirnoffImproperData corresponding to the improper torsion parameters in the forcefield. The second overload can be used to access parameters for the plane specified by the four atoms. The first atom must be the central atom of an improper torsion.

GetStretchData

const std::vector<OESmirnoffStretchData>& GetStretchData() const
bool GetStretchData(OESmirnoffStretchData& data, const OEChem::OEBondBase*) const

The first overload provides all of the OESmirnoffStretchData corresponding to the bond stretching parameters in the forcefield. The second overload can be used to access parameters for the specified bond.

GetTorsionData

const std::vector<OESmirnoffTorsionData>& GetTorsionData() const
bool GetTorsionData(OESmirnoffTorsionData& data, const OEChem::OEAtomBase*,
     const OEChem::OEAtomBase*, const OEChem::OEAtomBase*, const OEChem::OEAtomBase*) const;

The first overload provides all of the OESmirnoffTorsionData corresponding to the torsion parameters in the forcefield. The second overload can be used to access parameters for the torsion specified by the four atoms.

GetVdWData

const std::vector<OESmirnoffVdWData>& GetVdWData() const;
bool GetVdWData(OESmirnoffVdWData& data, const OEChem::OEAtomBase*) const;

The first overload provides all of the OESmirnoffVdWData corresponding to the VdW parameters in the forcefield. The second overload can be used to access parameters for the specified atom.

Load

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. The first method is used to load available build-in parameter set, defined in the OESmirnoffType namespace. The second method takes the name of the parameter file in XML format. This file might contain user custom parameters. The 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.

SetBendData

bool SetBendData(const OESmirnoffBendData& data)

Sets the OESmirnoffBendData replacing existing parameters with same ID and Smarts.

SetImproperData

bool SetImproperData(const OESmirnoffImproperData& data)

Sets the OESmirnoffImproperData replacing existing parameters with same ID and Smarts.

SetStretchData

bool SetStretchData(const OESmirnoffStretchData& data)

Sets the OESmirnoffStretchData replacing existing parameters with same ID and Smarts.

SetTorsionData

bool SetTorsionData(const OESmirnoffTorsionData& data)

Sets the OESmirnoffTorsionData replacing existing parameters with same ID and Smarts.

SetVdWData

bool SetVdWData(const OESmirnoffVdWData& data)

Sets the OESmirnoffVdWData replacing existing parameters with same ID and Smarts.