potfit wiki

open source force-matching

User Tools

Site Tools


algorithms:main

Differences

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

Link to this comparison view

Next revision
Previous revision
algorithms [2013/02/28 13:28] – created danielalgorithms:main [2018/01/10 18:01] (current) daniel
Line 1: Line 1:
-__NOTOC__+~~NOTOC~~ 
 +====== Algorithms ====== 
 +---- 
 +This page is a quote from the [[http://elib.uni-stuttgart.de/opus/volltexte/2008/3410/|PhD Thesis of P. Brommer]]. 
 +----
  
-{{Infobox +=== Force Matching ===
-|bodystyle   width:20em; +
-|titlestyle  =  +
-|headerstyle =  +
-|labelstyle  = width:33px +
-|datastyle   =  +
-|image        = [[File:Quote.png|link=|64px|alt=Quoted text]] +
-|imagestyle   =  +
-|headerstyle  = background:#ccf; +
- +
-|datastyle    =  +
-|header1 = This page is a quote. +
-|header2 =  +
-|data2 = [http://elib.uni-stuttgart.de/opus/volltexte/2008/3410/ PhD Thesis P. Brommer] +
-}} +
-{{Infobox +
-|bodystyle   = width:20em; +
-|titlestyle  =  +
-|headerstyle =  +
-|labelstyle  = width:100% +
-|datastyle   =  +
-|image        = [[File:CC-BY-SA.png|link=http://creativecommons.org/licenses/by-sa/3.0/|64px|alt=Quoted text]] +
-|header1 =  +
-|data1 = This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. +
-}} +
- +
-== Force Matching ==+
  
 As described above, classical MD calculations require effective potentials, As described above, classical MD calculations require effective potentials,
Line 47: Line 25:
 approach, where only few parameters can be determined reliably.  approach, where only few parameters can be determined reliably. 
  
-The method of including forces from ab-initio calculations in the +The method of including forces from ab-initio calculations in the potential generation  
-potential generation is called '''Force Matching''' and was first described by Ercolessi and +is called **Force Matching** and was first described by Ercolessi and Adams 
-Adams<ref>Ercolessi, F. and Adams, J. B.: Interatomic Potentials from First-Principles Calculations: the Force-Matching Method. ''Europhys. Lett.'''''26''' (8), 583–588, 1994.</ref>, where it was used to determine a glue +((Ercolessi, F. and Adams, J. B.: Interatomic Potentials from First-Principles Calculations: the Force-Matching Method. //Europhys. Lett.//**26** (8), 583–588, 1994.)), 
-potential for Aluminium. In the following section, this method is described in +where it was used to determine a glue potential for Aluminium. In the following section,  
-detail. +this method is described in detail. 
  
 To determine a potential with force matching one needs first a potential To determine a potential with force matching one needs first a potential
-model, where the potential is given by a set of ''n'' parameters <math>\xi_{i}\,</math>.+model, where the potential is given by a set of $nparameters $\xi_{i}$.
 These parameters might be the values of the potential functions at sampling These parameters might be the values of the potential functions at sampling
-points or parameters of an analytic potential. This set <math>\boldsymbol\xi</math> is then+points or parameters of an analytic potential. This set $\boldsymbol\xiis then
 adjusted to optimally reproduce quantities calculated from DFT in a number of adjusted to optimally reproduce quantities calculated from DFT in a number of
 reference calculations. This optimisation is realised by minimising the sum of reference calculations. This optimisation is realised by minimising the sum of
Line 63: Line 41:
  
 The function to be minimised is the so-called target The function to be minimised is the so-called target
-function <math>Z(\boldsymbol\xi)</math> defined as<br /> +function $Z(\boldsymbol\xi)defined as 
-<center><math>Z(\boldsymbol\xi)=Z_{F}(\boldsymbol\xi)+Z_{C},</math></center>+$$Z(\boldsymbol\xi)=Z_{F}(\boldsymbol\xi)+Z_{C},$$
 where where
-<center><math>Z_{F}(\boldsymbol\xi)=\sum_{k=1}^{m}u_{k}(F_{k}(\boldsymbol\xi)-F^{0}_{k})^{2},</math><br /> +$$Z_{F}(\boldsymbol\xi)=\sum_{k=1}^{m}u_{k}(F_{k}(\boldsymbol\xi)-F^{0}_{k})^{2},$$ 
-<math>Z_{C}(\boldsymbol\xi)=\sum_{r=1}^{N_{c}}w_{r}(A_{r}(\boldsymbol\xi)-A^{0}_{r})^{2}.</math></center>+$$Z_{C}(\boldsymbol\xi)=\sum_{r=1}^{N_{c}}w_{r}(A_{r}(\boldsymbol\xi)-A^{0}_{r})^{2}.$$
  
-Here, the index ''k'' in <math>Z_{F}\,</math>, the sum of reference contributions to the+Here, the index $kin $Z_{F}$, the sum of reference contributions to the
 target function, runs over all reference information, be it target function, runs over all reference information, be it
 cohesive energies, force vector components or entries of the stress tensor. cohesive energies, force vector components or entries of the stress tensor.
-<math>F^{0}_{k}\,</math> are the reference values and <math>F_{k}(\boldsymbol\xi)</math> the +$F^{0}_{k}are the reference values and $F_{k}(\boldsymbol\xi)the 
-corresponding values calculated from the potential, and the <math>u_{k}\,</math> are the +corresponding values calculated from the potential, and the $u_{k}are the 
-weights attached to each contribution to <math>Z_{F}\,</math>. Additional minimisation +weights attached to each contribution to $Z_{F}$. Additional minimisation 
-criteria are accounted for in <math>Z_{C}\,</math>, where <math>A_{r}(\boldsymbol\xi)</math> is the actual and +criteria are accounted for in $Z_{C}$, where $A_{r}(\boldsymbol\xi)is the actual and 
-<math>A^{0}_{r}\,</math> the nominal value of a quantity, the importance of which is +$A^{0}_{r}the nominal value of a quantity, the importance of which is 
-controlled by the weights <math>w_{r}\,</math>. These additional contributions can be used+controlled by the weights $w_{r}$. These additional contributions can be used
 to implement constraints on the potential functions, like for example fixing to implement constraints on the potential functions, like for example fixing
 the gauge degrees of freedom of glue potentials (see Sec. 2.2.2, Eq. (2.38)).  the gauge degrees of freedom of glue potentials (see Sec. 2.2.2, Eq. (2.38)). 
  
-The target function <math>Z(\boldsymbol\xi)</math> is then optimised. As the+The target function $Z(\boldsymbol\xi)is then optimised. As the
 evaluation of the target function is quite costly, the algorithms used must be evaluation of the target function is quite costly, the algorithms used must be
 efficient to reduce computing time. A selection of suitable algorithms is efficient to reduce computing time. A selection of suitable algorithms is
Line 92: Line 70:
 2.3.3 elaborates on this topic. 2.3.3 elaborates on this topic.
  
-== Optimisation ==+=== Optimisation ==
 Few mathematical topics have such a widespread effect on many subjects in Few mathematical topics have such a widespread effect on many subjects in
 science and engineering like optimisation. Finding the optimal science and engineering like optimisation. Finding the optimal
Line 102: Line 81:
  
 For quantitative treatment of an optimisation problem one defines a target For quantitative treatment of an optimisation problem one defines a target
-function <math>Z\,</math>, which is a function of the parameters <math>\xi_{i}\,</math> (reaction +function $Z$, which is a function of the parameters $\xi_{i}(reaction 
-conditions, function parameters, <math>\ldots</math>) of the problem. Without loss of+conditions, function parameters, $\ldots$) of the problem. Without loss of
 generality, the minimum of the target function solves the optimisation generality, the minimum of the target function solves the optimisation
 problem, thereby reducing it to minimising a function of several variables -- problem, thereby reducing it to minimising a function of several variables --
 a well-known task with many well-documented algorithms. a well-known task with many well-documented algorithms.
  
-== <tt>compat</tt>-mode ==+----
  
-In older versions of ''potfit'' the error sum has been calculated as +=== compat-mode ===
  
-<center><math>Z_{F}(\boldsymbol\xi)=\sum_{k=1}^{m}[u_{k}(F_{k}(\boldsymbol\xi)-F^{0}_{k})]^2.</math></center>+In older versions of //potfit// the error sum has been calculated as 
  
-This behaviour can still be enabled by setting the <tt>compat</tt> compilation target.+$$Z_{F}(\boldsymbol\xi)=\sum_{k=1}^{m}[u_{k}(F_{k}(\boldsymbol\xi)-F^{0}_{k})]^2.$$
  
-= Algorithms available in ''potfit'' =+This behaviour is no longer supported. The ''compat'' mode was removed with version 0.6.0. 
 + 
 +==== Algorithms available in potfit ====
  
 Currently there are three optimization algorithms available: Currently there are three optimization algorithms available:
-[[Simulated Annealing]] +  - [[algorithms:simann|Simulated Annealing]] 
-[[Differential Evolution]] +  [[algorithms:diffevo|Differential Evolution]] 
-[[Method of Least Squares]] (conjugate gradients)+  [[algorithms:lsq|Method of least squares]] (conjugate gradients)
  
 Usually two of them are run subsequently, with the choice between 1 and 2, while 3 is always run. Simulatead Annealing can be used for both tabulated and analytic potentials, Usually two of them are run subsequently, with the choice between 1 and 2, while 3 is always run. Simulatead Annealing can be used for both tabulated and analytic potentials,
 Differential Evolution may run into troubles with tabulated potentials but works fine for analytic ones.  Differential Evolution may run into troubles with tabulated potentials but works fine for analytic ones. 
- 
------ 
- 
-<references /> 
- 
algorithms/main.1362054491.txt.gz · Last modified: 2013/02/28 13:28 by daniel