potfit wiki

open source force-matching

User Tools

Site Tools



This page is a quote from the PhD Thesis of P. Brommer.

Force Matching

As described above, classical MD calculations require effective potentials, which for many simple materials are matched to well-known experimental values. For structurally or chemically complex materials, there are generally more potential parameters to be determined, and the number of usable experimental measurements does not cover the increased need for data. In some cases, the exact structure and composition of the samples is not even known reliably, thus making it difficult to infer the potentials from the measurements.

Here, ab-initio calculations open the door to a modified approach. The experimental data a potential is matched against is supplemented or replaced by values from first-principles DFT calculations. By including information like cohesive energies and forces from a set of reference configurations, potentials for both simple and complex materials can be put on a solid physical base. The vastly increased number of reference information additionally allows more flexible potentials compared to the experimental approach, where only few parameters can be determined reliably.

The method of including forces from ab-initio calculations in the potential generation is called Force Matching and was first described by Ercolessi and Adams 1), where it was used to determine a glue potential for Aluminium. In the following section, this method is described in detail.

To determine a potential with force matching one needs first a potential model, where the potential is given by a set of $n$ parameters $\xi_{i}$. These parameters might be the values of the potential functions at sampling points or parameters of an analytic potential. This set $\boldsymbol\xi$ is then adjusted to optimally reproduce quantities calculated from DFT in a number of reference calculations. This optimisation is realised by minimising the sum of squares of the deviations between reference values and those calculated from the potential.

The function to be minimised is the so-called target function $Z(\boldsymbol\xi)$ defined as $$Z(\boldsymbol\xi)=Z_{F}(\boldsymbol\xi)+Z_{C},$$ where $$Z_{F}(\boldsymbol\xi)=\sum_{k=1}^{m}u_{k}(F_{k}(\boldsymbol\xi)-F^{0}_{k})^{2},$$ $$Z_{C}(\boldsymbol\xi)=\sum_{r=1}^{N_{c}}w_{r}(A_{r}(\boldsymbol\xi)-A^{0}_{r})^{2}.$$

Here, the index $k$ in $Z_{F}$, the sum of reference contributions to the target function, runs over all reference information, be it cohesive energies, force vector components or entries of the stress tensor. $F^{0}_{k}$ are the reference values and $F_{k}(\boldsymbol\xi)$ the corresponding values calculated from the potential, and the $u_{k}$ are the weights attached to each contribution to $Z_{F}$. Additional minimisation criteria are accounted for in $Z_{C}$, where $A_{r}(\boldsymbol\xi)$ is the actual and $A^{0}_{r}$ the nominal value of a quantity, the importance of which is controlled by the weights $w_{r}$. These additional contributions can be used to implement constraints on the potential functions, like for example fixing the gauge degrees of freedom of glue potentials (see Sec. 2.2.2, Eq. (2.38)).

The target function $Z(\boldsymbol\xi)$ is then optimised. As the evaluation of the target function is quite costly, the algorithms used must be efficient to reduce computing time. A selection of suitable algorithms is described in section 2.3.1.

Crucial for the quality of force matched potentials is the selection of reference configurations. Methods to generate and pick these configurations sensibly are covered in section 2.3.2. The third ingredient of successful force matching is a suitable potential model and representation; section 2.3.3 elaborates on this topic.


Few mathematical topics have such a widespread effect on many subjects in science and engineering like optimisation. Finding the optimal order of conductors on a chip, the optimal reaction conditions in a chemical plant or the optimal curve to represent a series of measurements: One always searches for the best solution. This is of course also the case for finding the optimal potential that yields the correct forces, stresses and energies in molecular dynamics simulation.

For quantitative treatment of an optimisation problem one defines a target function $Z$, which is a function of the parameters $\xi_{i}$ (reaction conditions, function parameters, $\ldots$) of the problem. Without loss of generality, the minimum of the target function solves the optimisation problem, thereby reducing it to minimising a function of several variables – a well-known task with many well-documented algorithms.


In older versions of potfit the error sum has been calculated as


This behaviour is no longer supported. The compat mode was removed with version 0.6.0.

Algorithms available in potfit

Currently there are three optimization algorithms available:

  1. Method of least squares (conjugate gradients)

Usually two of them are run subsequently, with the choice between 1 and 2, while 3 is always run. Simulatead Annealing can be used for both tabulated and analytic potentials, Differential Evolution may run into troubles with tabulated potentials but works fine for analytic ones.

Ercolessi, F. and Adams, J. B.: Interatomic Potentials from First-Principles Calculations: the Force-Matching Method. Europhys. Lett., 26 (8), 583–588, 1994.
algorithms/main.txt · Last modified: 2018/01/10 18:01 by daniel