L. D. Marks, November 2004
1. Introduction
Most of the more complicated structures have free internal structural parameters, which
can either be taken from experiment or optimized using the calculated forces on the
nuclei. An example of a minimization is provided in the User Guide for TiO2. The shell
script min_lapw is provided which, together with the program mini, automatically
determines the equilibrium position of all individual atoms (obeying the symmetry
constraints of the space group in the case.struct file).
To download the file click on the link below:
http://www.wien2k.at/reg_user/textbooks/Optimization-Notes.pdf
A typical sequence of commands for an optimization of the internal positions would look like:
* Generate struct file
* init lapw
* run lapw -fc 1 [other options] (this may take some time)
* Inspect the scf file whether you have significant forces (usually at least .gt. 5 mRy/bohr), otherwise you are more or less at the optimal positions
* min lapw [options] (this may take some time)
Without -NI switch min_lapw performs an initialization first:
* generates default case.inM (if not present);
* removes ”histories” (case.broyd*, case.tmpM) if present;
* copies .min_hess to .minrestart (if present from previous min).
......
4. Some suggestions about how to optimize a structure within your lifetime
a) Start with a calculation that is fast, but not necessarily that accurate. You can save a lot of CPU time by using a minimal RKMAX and a smaller number of k-points. How small depends a lot on your problem, often an RKMAX of 5 is good enough and for larger calculations (e.g. surfaces) only 5-10 unique k-points can be OK. Some approximate numbers for an approximate calculation are:
Elements H sp d f
RKMAX= 2.5-3.5 4.5-5 5.5-6 6.5-7
b) Don’t overdo the force convergence initially, perhaps only use –fc 5.0 if you are far from a minimum.
c) As you move closer to the minimum, increase your tolerance of the forces and also improve your calculation parameters. When you increase RKMAX or other parameters, copy .min_hess to .minrestart then delete the old case.tmpM and case.finM files since there is normally a change in the absolute energy. The Hessian estimate that you have previously calculated is probably better than the default.
d) The closer you want to converge the structure, the more care will be required in terms of the RKMAX that you are using, the number of k-points, as well as ensuring that you do not have leakage of core electrons out of the atomic spheres.
e) Be careful about using larger Gaussian or Temperature smearing. While these can improve the convergence within a single scf iteration, in some cases they might produce small inconsistencies between the energies and forces (at the 1-2 mRyd/bohr level).
f) min_lapw will copy .min_hess to .minrestart before it starts. In case you have troubles with the minimization and suspect that the previous approximate Hessian could be the reason, you may want to delete these two files (usually they will speed up similar minimization runs).
A typical sequence of commands for an optimization of the internal positions would look like:
* Generate struct file
* init lapw
* run lapw -fc 1 [other options] (this may take some time)
* Inspect the scf file whether you have significant forces (usually at least .gt. 5 mRy/bohr), otherwise you are more or less at the optimal positions
* min lapw [options] (this may take some time)
Without -NI switch min_lapw performs an initialization first:
* generates default case.inM (if not present);
* removes ”histories” (case.broyd*, case.tmpM) if present;
* copies .min_hess to .minrestart (if present from previous min).
......
4. Some suggestions about how to optimize a structure within your lifetime
a) Start with a calculation that is fast, but not necessarily that accurate. You can save a lot of CPU time by using a minimal RKMAX and a smaller number of k-points. How small depends a lot on your problem, often an RKMAX of 5 is good enough and for larger calculations (e.g. surfaces) only 5-10 unique k-points can be OK. Some approximate numbers for an approximate calculation are:
Elements H sp d f
RKMAX= 2.5-3.5 4.5-5 5.5-6 6.5-7
b) Don’t overdo the force convergence initially, perhaps only use –fc 5.0 if you are far from a minimum.
c) As you move closer to the minimum, increase your tolerance of the forces and also improve your calculation parameters. When you increase RKMAX or other parameters, copy .min_hess to .minrestart then delete the old case.tmpM and case.finM files since there is normally a change in the absolute energy. The Hessian estimate that you have previously calculated is probably better than the default.
d) The closer you want to converge the structure, the more care will be required in terms of the RKMAX that you are using, the number of k-points, as well as ensuring that you do not have leakage of core electrons out of the atomic spheres.
e) Be careful about using larger Gaussian or Temperature smearing. While these can improve the convergence within a single scf iteration, in some cases they might produce small inconsistencies between the energies and forces (at the 1-2 mRyd/bohr level).
f) min_lapw will copy .min_hess to .minrestart before it starts. In case you have troubles with the minimization and suspect that the previous approximate Hessian could be the reason, you may want to delete these two files (usually they will speed up similar minimization runs).
0 Comments