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:38] – ↷ Links adapted because of a move operation 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 toCurrently this line is not  +The mandatory format specifier ''#F'' needs to be the first non-comment line in the potential file
-read for potentialsit is only given in the output to facilitate the handling of potential filesIn  +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
  
-<code potfit> +The value for the number of potential functions needs to be the correct value for the selected potential type. 
-#F 0 12 +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)
-#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 +
-</code>+
  
-The order of the different potential functions for a specific potential can be found on the  +== #T ==
-corresponding potential page.+
  
-====  Format 0  ====+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.
  
-The potential format ''0'' is used for analytical potentials exclusively. All of the above apply here,  +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''.
-except for the ''#G'' line.+
  
-Every analytic potential has to be specified as follows:+== #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>
-type identifier +#C Al Pd Mn 
-cutoff value +## Al-Al Al-Pd Al-Mn Pd-Pd Pd-Mn Mn-Mn Al Pd Mn Al Pd Mn
-rmin 1.0 +
-p_1 value min max +
-p_2 value min max +
-...+
 </code> </code>
  
-The type keyword has to be followed by the [[:analytic_functions|unique identifier]] for  +== #I ==
-your potential. You can also enable the smooth cutoff option by adding a ''_sc'' at the end. After  +
-the ''cutoff'' keyword the cutoff radius for this potential has to be given. This is independent for  +
-every potential and can thus be different for different potentials. The next line starting with is  +
-a comment which is written by //potfit//. It indicates the minimum neighbor distance for this interaction.  +
-Following these lines, the values for the analytic parameters have to be specified. Each line starts  +
-with an identifier for that parameter followed by the starting value, the minimum and maximum value for  +
-that parameter. The order of these parameters is fixed, for the implemented analytic functions the order  +
-can be found [[:analytic_functions|here]].+
  
-sample format 0 potential file for a binary system with an EAM potential is available  +The optional line ''#I'' defines whether a whole potential function should be kept constant during a force  
-{{:format_0.pot.txt|here}}.+matching run. Each argument corresponds to one function, so there need to be as much digits as there are potential functions. 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 changeIf this line is omitted all potential functions will be optimized.
  
-====  Format 3  ====+== #G ==
  
-In a potential file in format 3, each data column has its own range and spacing. Sampling points are  +The optional line ''#G'' specifies whether the gradient of the interpolation splines should be treated as fixed  
-equidistant in the atomic distance r or (when using EAM-type interactions) electron density nIf we  +or as an additional degree of freedomEach argument corresponds to one potential function, so there should be  
-have data columns, the file starts with n lines of the form+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.
  
-<code>x_begin x_end steps</code>+== #E ==
  
-specifying the start, end, and the number of function values in each data set. n data columns. The  +The last line of the header must have the ''#E'' specifierwhich indicates the end of the header part.
-argument x is either the atom distance, or the host electron density. These n lines are then followed  +
-by n blocks with the function valuesone for each atom type pair or atom type. The spacing of function  +
-values is computed from the begin, end, and number of function values of the corresponding table and  +
-can be different for the different data columns.+
  
-If the ''#G'' header line is specified, each data block must be preceded by two values specifying the  +----
-gradient of the function at the lower and upper boundaries. A value of 10^30 or higher triggers the  +
-usage of natural splines (curvature 0 at boundaries). You should not make the gradient variable at  +
-boundaries where natural splines are specified. This will lead to undesired results.+
  
-For potential functions that are a function of distance (e.g. pair potentials, EAM transfer functions), a smooth cutoff at the final sampling value is assumed and the value is not varied. +The order of the different potential functions for a specific potential can be found on the  
- +corresponding potential page.
-A sample format 3 potential file for a binary system for an EAM potential is available  +
-{{:format_3g.pot.txt|with}} or {{:format_3.pot.txt|without}} the ''#G'' header line. +
- +
-====  Format 4  ==== +
- +
-As with potential files in format 3 each data column has its own spacing. But with potential format  +
-4 the requirement that the sampling points be equidistant is dropped. Arbitrarily spaced sampling  +
-points are possible, but the sampling points have to be given in order. +
- +
-Preceding the data columns is a header with one line per column, containing the number of sampling  +
-points in the corresponding column. Seperated by blank lines then the data columns follow. Each of  +
-the columns has the form +
- +
-<code> +
-r_0     f(r_0) +
-r_1     f(r_1) +
-... +
-r_steps f(r_steps) +
-</code> +
- +
-Please note that $r_0 < r_1 < \ldots < r_{steps}$ is required. The order of the columns is the same  +
-as with format 3. +
- +
-Similarly as for format 3, for potential functions that are a function of distance (e.g. pair potentials, EAM transfer functions), a smooth cutoff at the final sampling value is assumed and the value is not varied.+
  
  
-A sample format 4 potential file for a binary system (EAM potential) is available  
-{{:format_4g.pot.txt|here}} (with the ''#G'' header line). 
  
potfiles/main.1537616286.txt.gz · Last modified: 2018/09/22 13:38 by daniel