This API is currently available in C++ and Python.
class OEForceField : public OEMolFunc1
The OEForceField is an abstract base class. This class defines an interface for the collection of force field components. The OEForceField extends the OEMolFunc1 class to allow this being a collection of multiple components. The collection of components into a force field needs to be done concomitant with one or more OEFFParams derived classes.
bool PrepMol(OEChem::OEMolBase &mol, bool sweep=true, bool warnOK=true) const
Defines interface to prepare a molecule to be used for force field setup (OEMolFunc.Setup). This method internally calls for all contained OEFFParams instances in the OEForceField derived class to perform necessary preparation to enable using those parameters.
The second argument to the method specifies whether a call to OEMolBase.Sweep is allowed during the preparation. By default, sweeping a molecule is allowed by the method. Methods that override OEFFParams.PrepMol may alter the contents of the passed molecule.
Method returns true if preparation is successful, and false otherwise.
bool Set(const OESystem::OEUnaryPredicate<OEChem::OEBondBase> &pred, unsigned int functype) bool Set(const OESystem::OEUnaryPredicate<OEChem::OEAtomBase> &pred, unsigned int functype) bool Set(const OESystem::OEBinaryPredicate<OEChem::OEAtomBase, OEChem::OEAtomBase> &pred, unsigned int functype) bool Set(const OESystem::OEBinaryPredicate<OEChem::OEBondBase, OEChem::OEBondBase> &pred, unsigned int functype)
These methods assigns interaction-control predicates. The first argument is the predicate type to be passed to the interaction component. The second argument is a value or a set of binary OR’ed values taken from the OEFuncType namespace which specifies the intended target for the predicate assignment.
The set method passed on the interaction-control predicates to the appropriate force field components contained. Method returns false if predicate was not set to any of the components contained by the force field.