~~NOTOC~~ ====== Potential File Format 0 ====== ----- ===== 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: type identifier cutoff value param_1 value min max param_2 value min max ... === type === The ''type'' keyword has to be followed by the [[models:analytic_functions|unique identifier]] for the analytic function. To 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!). Examples: # 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 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. cutoff 7.0 # rmin 2.2 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 that parameter. The order of these parameters is fixed, for the implemented analytic functions the order can be found [[models:analytic_functions|here]]. 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. ---- ===== 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 '' 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 a global parameter in a potential, use the name of the global parameter and add an exclamation mark. #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! ==== 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. type lj_sc cutoff 7 epsilon 0.1 0 1 sigma 2.5 1 4 h 1 0 2 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 ===== #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 Many more examples are available in the [[examples:potentials|potential examples]] section.