potfit wiki

open source force-matching

User Tools

Site Tools


potfiles:main

This is an old revision of the document!


Potential files


The interactions supported by potfit are defined in terms of tabulated functions, given by analytic parameters or with the KIM model name. Typical functions are central pair potentials, which depend on the distance of two atoms and the two atom types involved. Support for three-body potential has been added to potfit to support a wider range of interatomic potentials.

Each potential file consists of a header and a body, just like the configurations. While the header format is the same for all supported potentials the body format is fundamentally different for tabulated, analytic and KIM potentials.

For potentials implemented in potfit the number of potentials and parameters required for each interaction is given on the bottom of each interaction page. For KIM potentials please see the KIM format page for details.

Potential File Header

The header format is very similar to headers in IMD. It specifies the format of the potential file and some other properties which are shared between the different potential representations. It has the following format:

#F <format> <count>
#T <interaction name>
#C <element 0> <element 1> ...
#I 0 1 ... n entries
#G 2 3 ... n entries
#E

Header lines have to start with the number sign #. Comments start with two number signs.

The second character can be any of the following specifiers. Lines with unknown specifiers will be treated like comments, but it is recommended that such lines start with two # characters.

Not all specifiers all mandatory, some of them are optional.

#F

The mandatory format specifier #F needs to be the first non-comment line in the potential file. It requires two arguments, the format itself and the number of potential functions present in the file. Valid formats are:

  • Format 0 - analytic potentials
  • Format 3 - tabulated potentials with fixed spacing
  • Format 4 - tabulated potentials with variable spacing
  • Format 5 - KIM potentials

The value for the number of potential functions needs to be the correct value for the selected potential type. If the number of atom types in the parameter file is 2 and the potential is pair, this value needs to be 3 because pair potentials require $n*(n+1) / 2$ potential functions. (KIM potentials do ignore this number)

#T

The optional interaction type specifier #T has one argument, the capitalized interaction name. This is helpful when dealing with multiple potential files for the same system. If the value is not present in the starting potential, potfit will add it to all potential files which are output.

Even though this line is optional, a mismatch in the string and the compiled potfit binary will lead to a runtime error. A potfit binary compiled for PAIR potentials will only accept potential files which don't have a #T line or the interaction type set to PAIR.

#C

The line #C specifies the chemical elements the potentials belong to. Currently this line is not read for potentials, it is only given in the output to facilitate the handling of potential files. In addition there will also be a comment on how the potentials are ordered, for the ternary system AlPdMn a header for an EAM-potential could look like the following:

#F 0 12
#C Al Pd Mn
## Al-Al Al-Pd Al-Mn Pd-Pd Pd-Mn Mn-Mn Al Pd Mn Al Pd Mn
#I 0 0 0 0 0 0 0 0 0 0 0 0
#E
#I

The line #I defines whether a whole potential function should be kept constant during a force matching run. Each digit corresponds to one function table, so there should be n digits in total. A value of 0 allows potfit to change the corresponding potential function, a value of 1 keeps it fixed. This is useful for example if a third component is to be added to a binary system and only the additional potentials are to be allowed to change.

#G

The line #G specifies whether the gradient of the interpolation splines should be treated as fixed or as an additional degree of freedom. Each digit corresponds to one function table, so there should be n digits in total. The information is bit-coded, 0 declares both lower and upper gradient fixed, 1 allows adjusting the gradient at the upper end, 2 at the lower end, and 3 at both ends. This does not apply to analytic potentials.

#E

The very last header line must have a character E at the second position.


The order of the different potential functions for a specific potential can be found on the corresponding potential page.

potfiles/main.1537619390.txt.gz ยท Last modified: 2018/09/22 14:29 by daniel