The output during optimization steps is printed to standard output.
To monitor the optimization progress, the following method may be helpful.
For convenient, we assume the standard output is stored in a file
'stdout.std'. The following example is for Si.dat which can be found in
openmx*.*/work/wf_example, and each user can trace the same calculation.
DISE
Monitor the self-consistent loops for disentangling progress (the first step of optimization):
% grep "DISE" stdout.std
| Iter | Omega_I (Angs^2) | Delta_I (Angs^2) | ---> DISE
| 1 | 18.371525257652| 18.371525257652| ---> DISE
| 2 | 17.955767336391| -0.415757921261| ---> DISE
| 3 | 17.659503060694| -0.296264275698| ---> DISE
| 4 | 17.454033576174| -0.205469484520| ---> DISE
| 5 | 17.311180447271| -0.142853128902| ---> DISE
| 6 | 17.210945408916| -0.100235038355| ---> DISE
| 7 | 17.139778800398| -0.071166608519| ---> DISE
| 8 | 17.088603102826| -0.051175697572| ---> DISE
| 9 | 17.051329329614| -0.037273773211| ---> DISE
| 10 | 17.023842837298| -0.027486492316| ---> DISE
........
.....
...
.
where 'Iter', 'Omega_I', and 'Delta_I' mean the iteration number,
the gauge invariant part of the spread function, and its difference
between two neighboring steps.
The criterion given by
the keyword 'Wannier.Dis.Conv.Criterion'
is applied to 'Delta_I'.
CONV
Monitor the optimization of the gauge dependent part of the spread function (the second step of optimization):
% grep "CONV" stdout.std
Opt Step |Mode of Gradient|d_Omega_in_steps| d_Omega | (in Angs^2) ---> CONV
| SD 1 | 6.52434844E-01 | 5.41612774E-04 |-5.41340331E-04| ---> CONV
| SD 2 | 6.51123660E-01 | 5.40524307E-04 |-5.40253165E-04| ---> CONV
.....
.....
| SD 200 | 4.77499752E-01 | 3.96392019E-04 |-3.96271308E-04| ---> CONV
|Opt Step |Mode of Gradient| d_Omega | (Angs^2) ---> CONV
| CG 1 | 8.61043764E-01 | -3.24716990E-01| ---> CONV
.....
.....
| CG 58 | 1.67083857E-12 | -5.37225101E-13| ---> CONV
| CG 59 | 5.44431651E-13 | -1.98972260E-13| ---> CONV
************************************************************* ---> CONV
CONVERGENCE ACHIEVED ! ---> CONV
************************************************************* ---> CONV
CONVERGENCE ACHIEVED ! ---> SPRD
where 'Opt Step' and 'Modu.of Gradient' are the optimization step
in either 'SD' or 'CG' method and the modulus of gradient of the
spread function.
The difference between two neighboring steps in the gauge dependent spread
functions is calculated in two different way in the SD method, giving
'd_Omega_in_steps' and 'd_Omega'.
'd_Omega_in_steps'
is given by
![]() |
SPRD
Monitor the variation of spread of the Wannier functions:
% grep "SPRD" stdout.std
|Opt Step | Omega_I | Omega_D | Omega_OD | Tot_Omega | (in Angs^2) ---> SPRD
| SD 1 | 16.93053479 | 0.13727387 | 6.57748455 | 23.64529321 | ---> SPRD
| SD 2 | 16.93053479 | 0.13724827 | 6.57696989 | 23.64475295 | ---> SPRD
| SD 3 | 16.93053479 | 0.13722279 | 6.57645620 | 23.64421378 | ---> SPRD
| SD 4 | 16.93053479 | 0.13719743 | 6.57594347 | 23.64367569 | ---> SPRD
.....
.....
| SD 199 | 16.93053479 | 0.13399285 | 6.48989479 | 23.55442243 | ---> SPRD
| SD 200 | 16.93053479 | 0.13398326 | 6.48950811 | 23.55402616 | ---> SPRD
|Opt Step | Omega_I | Omega_D | Omega_OD | Tot_Omega | (Angs^2) ---> SPRD
| CG 1 | 16.93053479 | 0.15480701 | 6.14396737 | 23.22930917 | ---> SPRD
| CG 2 | 16.93053479 | 0.17172507 | 5.87830203 | 22.98056189 | ---> SPRD
| CG 3 | 16.93053479 | 0.17012089 | 5.78940789 | 22.89006357 | ---> SPRD
.....
.....
| CG 57 | 16.93053479 | 0.16557875 | 5.73752928 | 22.83364282 | ---> SPRD
| CG 58 | 16.93053479 | 0.16557876 | 5.73752928 | 22.83364282 | ---> SPRD
| CG 59 | 16.93053479 | 0.16557876 | 5.73752928 | 22.83364282 | ---> SPRD
************************************************************* ---> SPRD
CONVERGENCE ACHIEVED ! ---> SPRD
************************************************************* ---> SPRD
where 'Opt Step' is the optimization step in either 'SD' or 'CG' method.
'Omega_I' is the gauge invariant part of spread function.
'Omega_D' and 'Omega_OD' are the gauge dependent diagonal and off-diagonal
contribution, respectively. 'Tot_Omega' is the sum up of all the above three
components of the spread function.
CENT
Monitor the variation of Wannier function center:
% grep "CENT" stdout.std
WF 1 ( 1.14164289, 1.14164298, 1.14164266) | 2.95573380 --->CENT
WF 2 ( 1.55716251, 1.55716342, 1.14164203) | 2.95572597 --->CENT
WF 3 ( 1.55716191, 1.14164295, 1.55716190) | 2.95572978 --->CENT
WF 4 ( 1.14164389, 1.55716087, 1.55716055) | 2.95572957 --->CENT
WF 5 ( 0.20775982, 0.20775967, 0.20775893) | 2.95572677 --->CENT
WF 6 ( 0.20776045,-0.20775959,-0.20775914) | 2.95572605 --->CENT
WF 7 (-0.20775851, 0.20775981,-0.20775888) | 2.95572925 --->CENT
WF 8 (-0.20775787,-0.20775767, 0.20775933) | 2.95573335 --->CENT
Total Center ( 5.39761509, 5.39761243, 5.39760738) sum_spread 23.64583455 --->CENT
SD 1 ------------------------------------------------------------------------> CENT
WF 1 ( 1.14164582, 1.14164592, 1.14164559) | 2.95566613 --->CENT
WF 2 ( 1.55715957, 1.55716049, 1.14164497) | 2.95565831 --->CENT
WF 3 ( 1.55715897, 1.14164588, 1.55715897) | 2.95566211 --->CENT
WF 4 ( 1.14164683, 1.55715794, 1.55715761) | 2.95566190 --->CENT
WF 5 ( 0.20775689, 0.20775673, 0.20775599) | 2.95565910 --->CENT
WF 6 ( 0.20775752,-0.20775666,-0.20775620) | 2.95565838 --->CENT
WF 7 (-0.20775558, 0.20775687,-0.20775594) | 2.95566158 --->CENT
WF 8 (-0.20775493,-0.20775474, 0.20775639) | 2.95566569 --->CENT
Total Center ( 5.39761509, 5.39761243, 5.39760738) sum_spread 23.64529321 --->CENT
SD 2 ------------------------------------------------------------------------> CENT
.....
.....
CG 59 ------------------------------------------------------------------------> CENT
WF 1 ( 1.14585349, 1.14584696, 1.14584386) | 2.85421846 --->CENT
WF 2 ( 1.55295615, 1.55294970, 1.14584792) | 2.85422167 --->CENT
WF 3 ( 1.55296133, 1.14584610, 1.55295139) | 2.85421070 --->CENT
WF 4 ( 1.14584053, 1.55296761, 1.55296391) | 2.85417080 --->CENT
WF 5 ( 0.20356211, 0.20355857, 0.20355600) | 2.85418933 --->CENT
WF 6 ( 0.20355119,-0.20355008,-0.20355192) | 2.85422458 --->CENT
WF 7 (-0.20355306, 0.20355395,-0.20355905) | 2.85420611 --->CENT
WF 8 (-0.20355603,-0.20356000, 0.20355520) | 2.85420117 --->CENT
Total Center ( 5.39761571, 5.39761281, 5.39760730) sum_spread 22.83364282 --->CENT
where the optimization method and step is indicated by starting with 'SD' or 'CG'.
Lines starting with 'WF' show the center of each Wannier function with (x, y, z)
coordinates in