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

class OEInterAdaptor : public OEMolAdaptor

The OEInterAdaptor class provides the ability to optimize a molecule or conformation with the use of internal coordinates (bond lengths, bond angle bonds and dihedral angles) defined by the internal Z-matrix.

The following methods are publicly inherited from OEAdaptor:
The following methods are publicly inherited from OEFunc0:
The following methods are publicly inherited from OEFunc1:
The following methods are publicly inherited from OEMolFunc:
The following methods are publicly inherited from OEMolAdaptor:
The OEInterAdaptor class defines the following public methods:


OEInterAdaptor(OEMolFunc1 &, bool dihedrals=true, bool own=false)

The molecule function used for function evaluation must be provided as the first argument to the constructor. The second argument allows to fix all dihedral angles. By default all dihedral angles are optimized. The third argument specifies whether the OEInterAdaptor object takes ownership of the memory of the molecule function instance. By default the OEInterAdaptor instance does not take ownership of the molecule function, so the OEInterAdaptor destructor does not delete the molecule function instance. If ownership of the molecule function is transferred to the OEInterAdaptor instance, the molecule function’s delete operator will be called in the OEInterAdaptor destructor.

Default and copy constructors.


bool AdaptGrad(double *ga, const double *g) const

Transforms the set of Cartesian gradients passed as a second argument to the method, into a set of internal coordinates gradients and copies them into the array passed as a first argument.


bool Set(const OESystem::OEUnaryPredicate<OEChem::OEAtomBase>&)

This method assigns an atom predicate which is used to specify atoms which are to be held fixed in their starting positions during an optimization. The Set method must be called before the Setup for it to be effective.