Molecular Mechanics
For Molecular Mechanics (MM) engines to fit the AtomicInput/Result schema the following convention is used:
- Method: The force field used such as MMFF94, GAFF, OpenFF-1.0.0. 
- Basis: The typing engine used to find the required paramters. 
For all MM computations the input Molecule object must have connectivity and this will not be automatically assigned for you.
Example
>>> mol = qcel.models.Molecule(
>>>     symbols=["O", "H", "H"],
>>>     geometry=[[0, 0, 0], [0, 0, 2], [0, 2, 0]],
>>>     connectivity=[[0, 1, 1], [0, 2, 1]],
>>> )
>>> model = qcel.models.AtomicInput(
>>>     molecule=mol,
>>>     driver="energy",
>>>     model={"method": "openff-1.0.0", "basis": "smirnoff"},
>>> )
>>> ret = qcng.compute(model, "openmm")
>>> ret.return_result
0.011185654397410195
OpenMM
Currently OpenMM only supports the smirnoff typing engine from the
openff-toolkit. Currently available force fields are the following:
| Method | Basis | 
|---|---|
| smirnoff99Frosst-1.1.0 | smirnoff | 
| openff-1.0.0 | smirnoff | 
| openff_unconstrained-1.0.0 | smirnoff | 
Other forcefields may be available depending on your version of the openff-toolkit, see their docs for more information.
RDKit
RDKit force fields currently do not require a typing engine and the basis is omitted in all computations. Currently available force fields are the following:
| Method | Basis | 
|---|---|
| UFF | None | 
| MMFF94 | None | 
| MMFF94s | None | 
xtb
Experimental access to force fields are available with the xtb engine.
Note that the xtb engine will not require nor use a topology information provided in the input schema.
| Method | Basis | Reference | 
|---|---|---|
| GFN-FF | None | 10.1002/anie.202004239 |