AMMP uses several tricks to efficiently calculate long range terms.
The first of these is the use of amortization. In amortization algorithms the
results of a single calculation are used over several calls of a function.
AMMP amortizes the long range forces by using a local power series to update the
distal terms of the force for small deviations in atomic positions. This is
more accurate than a simple multiple cutoff algorithm The parameter mxdq, set
with the command setf, defines the maximum any atom can shift before
recalculation. Typical values are 0.5 to 0.75 A.
The second trick is the fast multipole algorithm. AMMP uses a cubic expansion
without shuffle version of the FMM. This is as accurate as the 5th order
expansion with the shuffle for the potential and the 7th order with the shuffle for
the amortization. This is directly coupled to the local power series used for
amortization. It is turned on by setting the parameter mmbox to a value
greater than zero. Using 10 Angstroms is the optimal compromise between accuracy
and speed. The FMM is not worth using unless the system is larger than 1000
atoms or greater in size than 30 Angstroms.
If you are really desperate you can set a cutoff radius by defining a cutoff
radius greater than zero. This is done with the parameter cutoff (i.e. setf
cutoff 8.;). AMMP is faster without cutoffs than with them. Cutoffs are also
physically incorrect and should not be used except as a bad example.