potfit wiki

open source force-matching

User Tools

Site Tools


potfiles:format0

Differences

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

Link to this comparison view

Next revision
Previous revision
potfiles:format0 [2018/09/22 13:39] – created danielpotfiles:format0 [2021/03/29 21:08] (current) daniel
Line 1: Line 1:
 ~~NOTOC~~ ~~NOTOC~~
-====  Format 0  ====+======  Potential File Format 0  ======
  
-The potential format ''0'' is used for analytical potentials exclusively. All of the above apply here,  +-----
-except for the ''#G'' line.+
  
-Every analytic potential has to be specified as follows:+===== Format specification ===== 
 + 
 +The potential format ''0'' is used for analytical potentials exclusively.  
 +All header tokens are supported except for the ''#G'' line. 
 + 
 +Each analytic potential function has to be specified as follows:
  
 <code potfit> <code potfit>
 type identifier type identifier
 cutoff value cutoff value
-# rmin 1.0 +param_1 value min max 
-p_1 value min max +param_2 value min max
-p_2 value min max+
 ... ...
 </code> </code>
  
-The type keyword has to be followed by the [[:analytic_functions|unique identifier]] for  +=== type === 
-your potentialYou 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  +The ''type'' keyword has to be followed by the [[models:analytic_functions|unique identifier]] for  
-every potential and can thus be different for different potentials. The next line starting with # is  +the analytic functionTo enable the smooth cutoff option ''_sc'' can be added at the end of the identifer (this also adds another parameter to the end potential function!)
-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 +Examples: 
 + 
 +<code> 
 +# plain Lennard-Jones potential 
 +type lj 
 +epsilon 1 0 2 
 +sigma 1 0 2 
 + 
 +# Lennard-Jones with smooth cutoff option enabled 
 +type lj_sc 
 +epsilon 1 0 2 
 +sigma 1 0 2 
 +h 1 0 2 
 +</code>  
 + 
 +All list of all supported analytic potential functions is available [[models:analytic_functions|here]]. 
 + 
 +=== cutoff === 
 + 
 +The ''cutoff'' keyword is required to specify the cutoff radius, which may be different for each potential function The minimal distance for each potential function is calculated by //potfit// from the configuration file and will be present in the output potential as a comment after the ''cutoff'' line. 
 + 
 +<code> 
 +cutoff 7.0 
 +# rmin 2.2 
 +</code> 
 + 
 +This indicates the minimum neighbor distance for this interaction is 2.2 units of distance
 + 
 +=== parameter values === 
 + 
 +After the keywords 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  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  that parameter. The order of these parameters is fixed, for the implemented analytic functions the order 
-can be found [[:analytic_functions|here]].+can be found [[models:analytic_functions|here]].
  
-A sample format 0 potential file for a binary system with an EAM potential is available  +Giving three times the same value will remove this parameter from the optimization table and use exactly that value when calculating forces/energies. This is usually called a fixed parameter. 
-{{:format_0.pot.txt|here}}.+ 
 +---- 
 + 
 +===== Additional features ===== 
 + 
 +====  Global parameters  ==== 
 + 
 +//potfit// supports global parameters, which can occur in different potentials. With this feature it is possible for any potential to "share" parameters with each other.  
 +To use them, you need a section starting with ''global <n>'' after the header in your potential file, where ''n'' is the number of global parameters.  
 +The format for the parameters is the same as for normal parameters: ''name value min max''
 +If you want to use global parameter in a potential, use the name of the global parameter and add an exclamation mark. 
 + 
 +<code potfit> 
 +#F 0 3 
 +#C Mg Zn 
 +#I 0 0 0 
 +#E 
 + 
 +global 2 
 +glob1 1 0 2 
 +glob2 2 0 5 
 + 
 +type lj 
 +cutoff 8 
 +glob1! 
 +glob2! 
 + 
 +type lj 
 +cutoff 8 
 +glob2! 
 +glob1! 
 +</code> 
 + 
 +====  Smooth Cutoff  ==== 
 + 
 +The smooth cutoff function is very important for analytic potentials since it ensures that the  
 +potential and its gradient vanish at the desired cutoff radius. 
 +Therefore the potential is multiplied with a cutoff function $\Psi$. 
 + 
 +$$V_{SC}(r)=\Psi\left(\frac{r-r_c}{h}\right)V(r)\qquad\text{where}\qquad\Psi(x)=\frac{x^4}{1+x^4}$$ 
 + 
 +To enable the smooth cutoff for a potential, ''_sc'' has to be added to the potential identifier. 
 + 
 +<code potfit> 
 +type lj_sc 
 +cutoff 7 
 +epsilon 0.1 0 1 
 +sigma 2.5 1 4 
 +h 1 0 2 
 +</code> 
 + 
 +Potentials fitted with the ''_sc'' option will have an additional parameter ''h'' at the end.  
 +If you omit it, it will be kept fixed at a value of 1. 
 + 
 +---- 
 + 
 +===== Examples ===== 
 + 
 +<code potfit format_0_example.txt
 +#F 0 1 
 +#C Al 
 +## Al-Al 
 +#E 
 + 
 +type lj_sc 
 +cutoff 7.000000 
 +# rmin 2.159655 
 +epsilon 2100.0633799282 0.500000 10000.000000 
 +sigma 10.3066290006 1.000000 20.000000 
 +h 1 0.5 2 
 +</code>
  
 +Many more examples are available in the [[examples:potentials|potential examples]] section.
  
potfiles/format0.1537616394.txt.gz · Last modified: 2018/09/22 13:39 by daniel