potfit wiki

open source force-matching

User Tools

Site Tools


potfiles:main

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
potfiles:main [2018/09/22 13:43] danielpotfiles:main [2018/09/24 17:29] (current) daniel
Line 2: Line 2:
 ====== Potential files ====== ====== Potential files ======
 ---- ----
-The interactions currently supported by //potfit// are either defined in terms of tabulated functions or  +The interactions supported by //potfit// are defined in terms of tabulated functionsgiven 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.
-given by analytic parameters. Typical functions are central pair potentials, which depend on the distance  +
-of two atoms and the two atom types involved. For tabulated potentials such functions are given with steps  +
-which are equidistant in the distance, which is the fundamental difference to  +
-[[http://imd.itap.physik.uni-stuttgart.de/|IMD]], where those functions are tabulated with steps equidistant  +
-in the square of the distance. Each potential file consists of a header and a body, which are fundamentally  +
-different for tabulated and analytic potentials. +
  
-The number of potentials required for a specific interaction is given on the bottom of each interaction page.+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 [[potfiles:format5|KIM format]] page for details.
  
 ====  Potential File Header  ==== ====  Potential File Header  ====
  
-The header is comparable to headers in [[http://imd.itap.physik.uni-stuttgart.de/|IMD]]. It specifies in  +The header format is very similar to headers in [[http://imd.itap.physik.uni-stuttgart.de/|IMD]]. It specifies the format of the potential file and some other properties which are shared between the different potential representationsIt has the following format:
-which format the current file is, and how many data columns the tabulated function has for each argument.  +
-The number of data columns depends on the potential model usedThe header has the following format:+
  
 <code potfit> <code potfit>
-## this is just a comment line +#F <format> <count> 
-#F 3 n +#T <interaction name
-#T <TYPE+#C <element 0> <element 1> ... 
-#C Mg Zn +#I 0 1 ... n entries 
-#I 0 1 .... n entries (this line is optional) +#G 2 3 ... n entries 
-#G 2 3 .... n entries (this line is optional) +#E
-## this is another comment line +
-#E this is the very last header line+
 </code> </code>
  
-Header lines start with the hash character ''#''If the second character is ''F'', then the format  +Header lines have to start with the number sign ''#''Comments start with two number signs.
-specifier 0, 3 or 4 (to distinguish from IMD potential files, format types 1 or 2) and the number n of  +
-data columns of the  functions are read from the rest of the line. The very last header line must have  +
-a character ''E'' at the second position. Header lines with a second character different from ''C'',  +
-''F'', ''E'', ''T'' or ''G'' are treated as comments, but it is recommended that such lines start with  +
-two ''#'' characters.+
  
-The line starting with ''#T'' specifies the type of potential this file containsThis is very helpful  +The second character can be any of the following specifiersLines with unknown specifiers will be treated like commentsbut it is recommended that such lines start with two ''#'' characters.
-if you are dealing with different potentials. ''<TYPE>'' can be ''PAIR'', ''EAM'', ''ADP'' or ''ELSTAT''.+
  
-The line ''#I'' defines whether a whole potential function should be kept constant during a force  +Not all specifiers all mandatorysome of them are optional.
-matching run. Each digit corresponds to one function tableso 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.+
  
-The line ''#G'' specifies whether the gradient of the interpolation splines should be treated as fixed  +== #F ==
-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.+
  
-The line ''#C'' specifies the chemical elements the potentials belong to. Currently this line is not  +The mandatory format specifier ''#F'' needs to be the first non-comment line in the potential file. 
-read for potentials, it is only given in the output to facilitate the handling of potential files. In  +It requires two arguments, the format itself and the number of potential functions present in the file. 
-addition there will also be a comment on how the potentials are ordered, for the ternary system AlPdMn  +Valid formats are: 
-a header for an EAM-potential could look like the following:+  * [[potfiles:format0|Format 0]] - analytic potentials 
 +  * [[potfiles:format3|Format 3]] - tabulated potentials with fixed spacing 
 +  * [[potfiles:format4|Format 4]] - tabulated potentials with variable spacing 
 +  * [[potfiles:format5|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 optional line ''#C'' specifies the chemical elements the potentials belong to. This needs to match the 
 +order of chemical elements in the configuration file. In output files //potfit// will write a comment on how the potentials are ordered. For the ternary system AlPdMn this looks like this:
  
 <code potfit> <code potfit>
-#F 0 12 
 #C Al Pd Mn #C Al Pd Mn
 ## Al-Al Al-Pd Al-Mn Pd-Pd Pd-Mn Mn-Mn Al Pd Mn 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 
 </code> </code>
 +
 +== #I ==
 +
 +The optional line ''#I'' defines whether a whole potential function should be kept constant during a force 
 +matching run. Each argument corresponds to one function, so there need to be as much digits as there are potential functions. 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. If this line is omitted all potential functions will be optimized.
 +
 +== #G ==
 +
 +The optional line ''#G'' specifies whether the gradient of the interpolation splines should be treated as fixed 
 +or as an additional degree of freedom. Each argument corresponds to one potential function, so there should be 
 +n arguments 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 last line of the header must have the ''#E'' specifier, which indicates the end of the header part.
 +
 +----
  
 The order of the different potential functions for a specific potential can be found on the  The order of the different potential functions for a specific potential can be found on the 
 corresponding potential page. corresponding potential page.
 +
 +
  
potfiles/main.1537616597.txt.gz · Last modified: 2018/09/22 13:43 by daniel