Overview

The GFN-FF AMS engine is a generic force-field which can be used for elements up to radon (Z=86). It does not require any external force-field file because all parameters are built into the engine.

The main publication for GFN-FF can be found here: Angew. Chemie Int. Edit. 59, 15665-15673 (2020).

The version GFN-FF included in AMS is derived from the Jun 29 2021 version of the master branch of https://github.com/grimme-lab/xtb.git.

Atom typing

Connectivity, atom typing and atomic charges are automatically determined by the GFN-FF engine based on the geometry of the system (if you provide input bonds, they will not be used by GFN-FF).

Note

Since connectivity, atom typing and atomic charges are automatically deduced from the geometry, it is important for the input geometry to be “reasonable”. If your initial geometry is a heavily distorted molecule, the automatic atom typing procedure might produce unreasonable atom types, which will lead to poor results.

Parallelization

The current implementation runs on a single processor core only and it should be able to treat systems up to several thousand atoms. For tasks that can take advantage of the AMS driver-level parallelism, you may want to run AMS in parallel.

Tip

The stress tensor is currently calculated numerically with the GFN-FF engine. Therefore you should definitely run in parallel (ideally with NSCM=12) for tasks that require its repeated calculated, such as lattice optimizations or MD calculations with a barostat.

Minimal input

You can set up GFN-FF calculations from AMSInput (see the GUI tutorials for more info) or you can create a run script:

#!/bin/sh

# Since GFN-FF runs on a single CPU only, here we set
# the number of cores used by AMS to 1.
# For tasks that can take advantage of driver-level
# parallelism, you may want to run AMS in parallel.

export NSCM=1


"$AMSBIN/ams" << eor

Task GeometryOptimization

System
    Atoms
        O 0.0  0.0      0.0
        H 0.0 -0.783836 0.554256
        H 0.0  0.783836 0.554256
    End
End

Engine GFNFF
    # Options for the GFN-FF engine can be specified here.
    # No options are required if you want to use the standard settings.
EndEngine
eor

A list of all available input options for GFN-FF can be found here.