Closed giovannipizzi closed 5 years ago
Maybe for debugging it can be useful to use this commit https://github.com/giovannipizzi/wannier90/commit/e8a9dc69707826f76e9095f9e5b2ae022cc7efad where I generalized a bit the parameters of the algorithm
The issue seems to arise from the fact that when unit cells are very anisotropic (e.g. very stretched in one direction, as in this case) the original range of points among which the code searches for points inside the Wigner-Seitz cell was insufficient.
The range is now larger to comply with these cases and it's no longer hard coded, so that in case of need it can be further enlarged by changing the variable search_size in hamiltonian_wigner_seitz (see #216).
Concerning the problem that this issue arises also when use_ws_distance=.false.: this is due to the fact that hamiltonian_wigner_seitz is called always at the beginning to initialise the variable nrpts and thus allocate a few arrays. I think this can be avoided, and I will work on it.
Fixed in #216
We (@AntimoMarrazzo and me) have a problem with a specific input.
The code prints
ERROR in hamiltonian_wigner_seitz: error in finding Wigner-Seitz points
.There are two issues here:
use_ws_distance
is False. Maybe we should skip that part, so that if an error occurs, at least the code does not stop when settinguse_ws_distance=.false.
..txt
if you want to run again). There are many kpoints so it is hard to check "by eye". (it findstot = 3524.00000000000
, while the number of points in themp_grid
is3528
). We even tried to increase from a 2x2x2 supercell to a larger one and to change a bit one of the thresholds, but apparently this didn't work in the sense that tot is always equal to 3524 (but we should re-check to be sure).Note: to reproduce without running the DFT calculation, you can just do the following changes:
hamiltonian.F90
, addpublic :: hamiltonian_wigner_seitz
at the top and declareham_k
as public:complex(kind=dp), save, allocatable, public :: ham_k(:, :, :)
wannier_prog.F90
:integer :: ierr
at the topif (postproc_setup)
:and then run
wannier90 -pp tmp
.@paulatz maybe you could help?