Open shahid-sattar opened 7 months ago
The following parameter seems a bit suspicious to me
exclude_bands : 1-24
as this means only bands 25-44 are considered in the calculation. Usually, this setting is used in the Z2Pack context to exclude unoccupied bands.
Looking at the WannierTools example
NumOccupied = 36 ! Number of occupied Wannier bands
I'd guess (if the system is set up with the same pseudopotentials) the input should be
exclude_bands : 37-44
Hi, thanks for the response. I have checked very carefully that the number of bands are correct. Because I have total 68 bands in DFT run, 1-24 form an energy window which is much below my range of interest, and therefore, I took 44 wannier projections (2 Mo atoms< 20, 4 S atoms < 24, total 44) and 44 upper bands after excluding 1-24 bands much below in energy. Despite these band numbers are different from the example, my wannier spread is atomic-like and I reproduced all listed topological features for 1T'-MoS2.
Again, I am not so clear where is the issue. Perhaps I can put this case as an example of a 2D system, if resolved, because 1T'-MoS2 is a well-defined system.
Unlike a general Wannier90 calculation, for Z2Pack you will additionally need to exclude the unoccupied bands. This is because Z2Pack calculates the hybrid WCC for all bands considered in the Wannier90 input [1]. If all bands (occupied and unoccupied) are considered, the result will always be trivial since their topologies cancel out.
[1] It is not running a real Wannier90 calculation, just its pre-processor for the purpose of generating the MMN matrices.
Alright. So, then I have 68 bands in total, 52 are occupied bands, and 16 are unoccupied. I should take 1-52 bands, and exclude 53-68, right? and in this situtation, should I adjust num_wann=44 and num_bands=52?
Here is the outcome when I consider only occupied region, take all bands in my case (num_bands=52) and take projections (num_wann=44), I got the right result. Z2=1 for both kz=0 and kz=0.5 planes. One last thing to clarify, can I specify in the input file that I want to take projections on Mo d and S p orbitals? If so, can it expedite the outcome?
can I specify in the input file that I want to take projections on Mo d and S p orbitals
If memory serves me well, the initial projections don't affect the MMN matrix (which is the only input to Z2Pack) at all. You may want to double-check that, though. It's definitely not required to pick a good initial projection for the Z2Pack calculation directly from DFT to work.
What you might want to consider from this output is that the GapCheck
and MoveCheck
convergence criteria have failed. These are implemented to guard against fast changes in the hybrid Wannier charge center evolution. In the absence of these checks, the computed invariants are unreliable.
To fix this, you should reduce the min_neighbour_dist
parameter.
The cause for this is probably that the system has a quite narrow direct band gap. From experience, this correlates with sharp peaks in the Berry flux / fast-changing hybrid Wannier charge centers. Generally, I'd also advise increasing the initial num_lines
parameter (e.g. to 100), since the convergence checks can only work if the initial lines are close to the direct band gap minimum.
I am trying to reproduce results for 2D 1T'-MoS2 using Z2pack, an example is given here using wanniertools package, so there is a reference available
The system is periodic in xy-direction and vacuum in z-direction (a 0 0, 0 b 0, 0 0 c=30.0). Since I did wannierzation already using wannier90, I know which orbitals to consider. Nevertheless, since I don't know how can I add this in my input/wannier90.win file in z2pack, I take the following as wannier90.win file:
num_wann = 44 num_bands = 44 spinors : true num_iter 0 shell_list 1 exclude_bands : 1-24 skip_b1_tests = true
I use following settings in run.py file,
However, I don't get a non-zero Z2 number as the output from Z2pack, as it is given here
May I ask what is wrong that I am doing here?