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.
