Limitations of the current implemetation:
At the moment, potfit takes its tabulated potential functions through values at sampling points and spline interpolation in between. While this allows considerable flexibility, it also has some disadvantages. Especially for distance ranges with rapid changes in function values, the spline polynomials might produce overswings. Users need to keep an eye on the interpolated functions to check if they suffer from potential artefacts.
For analytic potentials this is not a problem, because the functions are sampled very densely. (This is defined by APOT_STEPS in ''defines.h'')
Force-matched potentials only know what they were trained to. If possible, all local environments that might occur in simulations should also be present in the set of reference configurations. Otherwise the results may not be reliable. Giving up some transferability may lead to higher precision in certain situations, however: By carefully constraining the variety of reference structures (and thus reducing the contradictions in the reference data) one may generate a potential that is much more precise in one specific situation than a general purpose potential, which was trained on a broader set of referenece structures. The latter potential, on the other hand, will be more versatile, but less accurate on average.
As mentioned above, all possible local environments should be included in the reference structures. This might be a problem in some systems, if there are not many periodic structures approximating a complex phase. It should be kept in mind that to generate a potential that can describe the interaction between two atoms at every interatomic distance between inner and outer cutoff, rmin and rcut, all those distances need to appear also in the set of reference structures. If changing one of the parameters of the potential functions does not effect any of the calculated forces, then force matching will of course not yield any information on the value of this parameter.
The complexity of determining an effective potential increases in two ways with the number of species in the systems: Firstly, the number of parameters to adjust usually grows faster than linear, and secondly, it gets more and more difficult to provide all required interatomic distances between the various atom species. This is especially true when one of the atom types is a minority constituent. Here, it might help to fix the interaction between certain species during minimization or ensure that they are always far enough apart to not interact. Another solution is using nonlocal functions like a superposition of broad gaussians or an analytic function. Changing one parameter can then affect the function over a broad range of arguments, making it again possible to fit a function on which only sparse information is provided in the reference data.
potfit does not use experimental data during force matching, the potentials are adapted exclusively to ab-initio data, which means they cannot exceed the first principles calculations in physical correctness. While in principle implementing the comparison to experimental values is straightforward, we decided against such an addition. For once, in quasicrystals there are no experimental values that can be calculated directly from the potentials, so determining them would considerably slow down the target function evaluation. Secondly, most of the experimental values depend on the exact structure of the system, which in most cases is not known beforehand due to fractional occupancies in the structure model. A better way to use experimental data is to test whether the newly generated potentials lead to structures that under MD simulation show the behavior known from experiment.