Closed ybfu closed 3 years ago
This error occurs because the format of the XML file has changed in newer versions of QE. Can you try this example instead, which is tested with the 6.2 version?
Thank you very much for your reply. Yes, now the lattice parameters can be copied to nscf and pw2wan file. However, I met some new errors.
The default pseudopotential (Bi_MT_PBE.UPF) cannot be reachable by QE6.6. I changed the authority but it is not working. So I changed it to Bi_pbe_v1.uspp.F.UPF (from SSSP). It is working well. So my first question is that does the calculation sensitive to pseudopotential? I think it can run with any proper pseudopotential, correct?
Then the scf calculation is running well. I met the second error: /bin/bash: /sw/installed/Wannier90/2.1.0-intel-2019b/wannier90.x: No such file or directory Traceback (most recent call last): File "/home/yfu/.local/lib/python3.7/site-packages/z2pack/fp/_read_mmn.py", line 16, in get_m with open(mmn_file, "r") as f: FileNotFoundError: [Errno 2] No such file or directory: '/home/h5/yfu/Test1/build/bi.mmn' I checked the build folder and found that the nscf and pw2wan calculation went wrong. The error in pw.log is: Error in routine c_bands (1): too many bands are not converged And the error in pw2wan.log is: Error in routine pw2wannier90 (1): Could not find the file bi.nnkp So my question for this part is: does the nscf and pw2wan file runs simultaneously or separately? I think first the nscf file runs then the pw2wan, is it correct? For the error of nscf calculation I tried to decrease the conv_thr and it finished normally. But the error from the pw2wannier90 is still there and I'm not very familiar with Wannier90. Would you mind to give me some suggestion?
Thank you very much in advance.
/bin/bash: /sw/installed/Wannier90/2.1.0-intel-2019b/wannier90.x: No such file or directory
.
Since Wannier90 is needed to produce the .nnkp
file that pw2wannier90
uses, that would also explain the subsequent failure in pw2wannier90.Thank you very much for your reply. I checked the directory of wannier90.x and found it is in the /bin folder. Therefore I changed the wandir to "{0}/bin".format(os.getenv('EBROOTWANNIER90'))'. Now it is working. I can get results but I faced many errors. Also, I have some questions.
The first error is the kpoints for Wannier90. Here it is: Error in routine pw2wannier90 (512): Wrong number of k-points Then I added the keyword "nosym=.true." in nscf file and the error was solved. But the second error comes out: Error in routine c_bands (1): too many bands are not converged I decreased the conv_thr to 1e-5 and the error was solved. But I think such low convergence criteria are not appropriate for the following calculations, is it correct? For this problem, I think I should test the scf and nscf calculations first.
I also have some questions for the kpoints setting. I found that there are only 9 kpoints(along the Z-direction) in nscf and wannier calculation. So is there any special request(high-density kpoints, along with high symmetric directions) for the kpoints setting? In the future I will mainly calculate 1D system, is it OK to just set the kpoint from G to X direction?
Then the z2pack runs and finished normally, but there are some warnings:
WARNING: 'min_neighbour_dist' reached: cannot add line at t = 0.18125000000000002
WARNING: 'min_neighbour_dist' reached: cannot add line at t = 0.26875000000000004
WARNING: 'min_neighbour_dist' reached: cannot add line at t = 0.43125
WARNING: 'min_neighbour_dist' reached: cannot add line at t = 0.6062500000000001
WARNING: 'min_neighbour_dist' reached: cannot add line at t = 0.89375
Surface Convergence
GapCheck
PASSED: 23 of 25
FAILED: 2 of 25
MoveCheck
PASSED: 20 of 25
FAILED: 5 of 25
WARNING: Iterator stopped before the calculation could converge.
WARNING: 'min_neighbour_dist' reached: cannot add line at t = 0.09375
WARNING: 'min_neighbour_dist' reached: cannot add line at t = 0.23125
WARNING: 'min_neighbour_dist' reached: cannot add line at t = 0.34375
WARNING: 'min_neighbour_dist' reached: cannot add line at t = 0.51875
WARNING: 'min_neighbour_dist' reached: cannot add line at t = 0.53125
Line Convergence
PosCheck
PASSED: 23 of 24
FAILED: 1 of 24
Surface Convergence
GapCheck
PASSED: 19 of 23
FAILED: 4 of 23
MoveCheck
PASSED: 18 of 23
FAILED: 5 of 23
Does this warning case by the low qulity results of nscf and wannier calculations? The print results is no problem:
Z2 topological invariant at kx = 0: 0
Z2 topological invariant at kx = 0.5: 0
Will these warning affect the final results? Or I can ignore it? The plot result is a little strange.
My final question is about the 1D system. There is another disscussion related to this. I saw there is one modify methods(for tight binding). So for fp method, it is like this:
# Run the WCC calculations
result_0 = z2pack.line.run(
system=system,
line=lambda t: [t, 0, 0],
save_file='./results/res_0.json',
load=True
)
# Combining the two plots
fig, ax = plt.subplots(1, sharey=True, figsize=(9, 5))
z2pack.plot.wcc(result_0, axis=ax[0])
plt.savefig('plots/plot.pdf', bbox_inches='tight')
print( 'Z2 topological invariant at kx = 0: {0}'.format( z2pack.invariant.z2(result_0) ) )
Or the kx in 0 and 0.5 should be computed like the example?
Thank you very much in advance.
Just to clarify, are your questions 1. & 3. regarding the Bi example, or for a different system?
The questions 1&3 are regarding the Bi example. I checked the log file in the reference and found no such errors. So the only difference is the changed pseudopotential that causes the following errors. That is strange.
nosym = .true.
in the NSCF calculation should be ok. From the second error and the subsequent errors however, something does seem to be wrong with the calculation. Are there any obvious differences between the pseudo given in the example and the one you're using (different ZVAL, no spin-orbit correction, or something like that)?
I also didn't quite understand why the pseudopotential from the example doesn't work, is there a specific reason for that?iterator
and pos_tol
, see https://z2pack.greschd.ch/en/latest/reference/line.html#z2pack.line.runnum_lines
input parameters may need to be increased, min_neighbour_dist
decreased, and the upper limit of iterator
increased to reach convergence.lambda t: [t, 0.1, 0.2]
) should not change the result.Well, the pseudopotential in the example is definitely supposed to work with these QE versions, and tested with at least a few of them. I'm not sure what the exact reason for this issue is, but maybe it is in the wrong location, has the wrong file permissions, or some similar problem.
Note that since ZVAL is changed, you will have to adapt all related input variables, specifically nbnd
for SCF and NSCF, and exclude_bands
for Wannier90.
The errors you are seeing are easily explained by considering which bands are included in the calculation: The example considers the lowest 10 bands. When ZVAL is changed from 5 to 15, those are just some core states, probably without an energy gap to the next higher band. As such, their topological invariant are ill-defined and the calculation cannot converge.
Thank you very much for the important information. That is really helpful. For the Bi_MT_PBE.UPF pseudopotential I will test the example in the standalone QE.
Another small question: for an insulator system, to avoid the wrong setting of the nbnd one should carefully check the band structure of the nscf results and choose some considered bands located below and up the Fermi energy level? Or all the occupied bands and some valence bands should be considered? I think the former one is reasonable, correct?
For insulators, the occupied subspace is conventionally considered for calculating topological invariants [1]. As such, the nbnd
should be all occupied bands, plus a few unoccupied ones s.t. convergence in the occupied bands is ensured.
[1] That's not the only possible choice, but by far the most common. See Sec. III and IV of the Z2Pack paper for more information and other examples.
Thank you very much for answering so many questions. That's really helpful. I will read the related papers carefully.
sir i am also facing problem in execution z2 pack. I use 6.0 version of quantum espresso with 2.1.0 version of wannier90. SCF calculation execute without error but for to run the nscf, pw2wan and win input file . There is error during running nscf and pw2wan file . while .win file execute without any error. mmn file not found error occur in during running. please suggest, where i am wrong. Thanks in advance.
@poonamchauhan09, can you provide some more information about the error you are getting?
build
directory)? If so, that's the most likely place to find an explanation for what's going wrong.The wannier90.x
command is run before NSCF with the -pp
flag only -- this produces the .nnkp
file which determines which overlap matrices should be computed.
The "normal" Wannier90 run is not needed for Z2Pack, because we are only interested in the .mmn
files which are an input to this, produced by pw2wannier90.x
.
Yeah the error is occur in build folder during running nscf and pw2wan file.
What is the error message? Without it, it's impossible to tell what went wrong.
The number of input files is supposed to be 4: In the script, the { unit }
and { lattice }
in the tpl_Bi.win
file are replaced with their actual values, which produces the Bi.win
file.
This is because QE is picky with regards to the lattice vectors, and they need to be the same as reported in the SCF output (which can differ numerically from the SCF input).
every parameter in input files is same as you provided in your code except pseudopotential file
In case the Z valence of the pseudopotential is different, have you adapted the corresponding parameters (e.g. exclude_bands
in the .win
)?
check the corresponding log/errors files.
Again, this error file inside the build
folder is what should be checked to see the potential error. The error reported by Z2Pack directly isn't helpful, because all it can know is that there was some error during the calculation of .mmn
.
Can you post the corresponding log or error file where the problem occurs?
The no. of Z valance of the pseudopotential that i used is 15. I have no idea that how to choose exclude_bands parmeter value. pw.log
Program PWSCF v.6.0 starts on 20May2022 at 11:22:52
This program is part of the open-source Quantum ESPRESSO suite
for quantum simulation of materials; please cite
"P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009);
URL http://www.quantum-espresso.org",
in publications or presentations arising from this work. More details at
http://www.quantum-espresso.org/quote
Parallel version (MPI), running on 1 processors
Waiting for input...
Reading input from standard input
Warning: card &IONS ignored Warning: card / ignored
Current dimensions of program PWSCF are:
Max number of different atomic species (ntypx) = 10
Max number of k-points (npk) = 40000
Max angular momentum in pseudopotentials (lmaxx) = 3
Atomic positions and unit cell read from directory:
../scf/bi.save/
Message from routine setup:
At least one non s.o. pseudo
Subspace diagonalization in iterative solution of the eigenvalue problem:
a serial algorithm will be used
G-vector sticks info
--------------------
sticks: dense smooth PW G-vecs: dense smooth PW
Sum 1081 1081 329 22809 22809 3877
bravais-lattice index = 5
lattice parameter (alat) = 8.9683 a.u.
unit-cell volume = 477.5478 (a.u.)^3
number of atoms/cell = 2
number of atomic types = 1
number of electrons = 30.00
number of Kohn-Sham states= 16
kinetic-energy cutoff = 50.0000 Ry
charge density cutoff = 200.0000 Ry
Exchange-correlation = PBE ( 1 4 3 4 0 0)
Non magnetic calculation with spin-orbit
celldm(1)= 8.968262 celldm(2)= 0.000000 celldm(3)= 0.000000
celldm(4)= 0.541218 celldm(5)= 0.000000 celldm(6)= 0.000000
crystal axes: (cart. coord. in units of alat)
a(1) = ( 0.478948 -0.276521 0.833154 )
a(2) = ( 0.000000 0.553041 0.833154 )
a(3) = ( -0.478948 -0.276521 0.833154 )
reciprocal axes: (cart. coord. in units 2 pi/alat)
b(1) = ( 1.043955 -0.602728 0.400086 )
b(2) = ( 0.000000 1.205456 0.400086 )
b(3) = ( -1.043955 -0.602728 0.400086 )
PseudoPot. # 1 for Bi read from file:
/home/hp/Poonamphd/Pseudo/pseudo_nc_gga/Bi.upf
MD5 check sum: 200c63f77f1a5690b65e64056759e8a3
Pseudo is Norm-conserving + core correction, Zval = 15.0
Generated using ONCVPSP code by D. R. Hamann
Using radial grid of 1490 points, 6 beta functions with:
l(1) = 0
l(2) = 0
l(3) = 1
l(4) = 1
l(5) = 2
l(6) = 2
atomic species valence mass pseudopotential
Bi 15.00 208.98038 Bi( 1.00)
12 Sym. Ops., with inversion, found
s frac. trans.
isym = 1 identity
cryst. s( 1) = ( 1 0 0 ) ( 0 1 0 ) ( 0 0 1 )
cart. s( 1) = ( 1.0000000 0.0000000 0.0000000 ) ( 0.0000000 1.0000000 0.0000000 ) ( 0.0000000 0.0000000 1.0000000 )
isym = 2 180 deg rotation - cart. axis [1,0,0]
cryst. s( 2) = ( 0 0 -1 ) ( 0 -1 0 ) ( -1 0 0 )
cart. s( 2) = ( 1.0000000 0.0000000 0.0000000 ) ( 0.0000000 -1.0000000 0.0000000 ) ( 0.0000000 0.0000000 -1.0000000 )
isym = 3 120 deg rotation - cryst. axis [0,0,1]
cryst. s( 3) = ( 0 1 0 ) ( 0 0 1 ) ( 1 0 0 )
cart. s( 3) = ( -0.5000000 -0.8660254 -0.0000000 ) ( 0.8660254 -0.5000000 -0.0000000 ) ( 0.0000000 0.0000000 1.0000000 )
isym = 4 120 deg rotation - cryst. axis [0,0,-1]
cryst. s( 4) = ( 0 0 1 ) ( 1 0 0 ) ( 0 1 0 )
cart. s( 4) = ( -0.5000000 0.8660254 0.0000000 ) ( -0.8660254 -0.5000000 -0.0000000 ) ( 0.0000000 0.0000000 1.0000000 )
isym = 5 180 deg rotation - cryst. axis [0,1,0]
cryst. s( 5) = ( 0 -1 0 ) ( -1 0 0 ) ( 0 0 -1 )
cart. s( 5) = ( -0.5000000 -0.8660254 -0.0000000 ) ( -0.8660254 0.5000000 0.0000000 ) ( 0.0000000 0.0000000 -1.0000000 )
isym = 6 180 deg rotation - cryst. axis [1,1,0]
cryst. s( 6) = ( -1 0 0 ) ( 0 0 -1 ) ( 0 -1 0 )
cart. s( 6) = ( -0.5000000 0.8660254 0.0000000 ) ( 0.8660254 0.5000000 0.0000000 ) ( 0.0000000 0.0000000 -1.0000000 )
isym = 7 inversion
cryst. s( 7) = ( -1 0 0 ) ( 0 -1 0 ) ( 0 0 -1 )
cart. s( 7) = ( -1.0000000 0.0000000 0.0000000 ) ( 0.0000000 -1.0000000 0.0000000 ) ( 0.0000000 0.0000000 -1.0000000 )
isym = 8 inv. 180 deg rotation - cart. axis [1,0,0]
cryst. s( 8) = ( 0 0 1 ) ( 0 1 0 ) ( 1 0 0 )
cart. s( 8) = ( -1.0000000 0.0000000 0.0000000 ) ( 0.0000000 1.0000000 0.0000000 ) ( 0.0000000 0.0000000 1.0000000 )
isym = 9 inv. 120 deg rotation - cryst. axis [0,0,1]
cryst. s( 9) = ( 0 -1 0 ) ( 0 0 -1 ) ( -1 0 0 )
cart. s( 9) = ( 0.5000000 0.8660254 0.0000000 ) ( -0.8660254 0.5000000 0.0000000 ) ( 0.0000000 0.0000000 -1.0000000 )
isym = 10 inv. 120 deg rotation - cryst. axis [0,0,-1]
cryst. s(10) = ( 0 0 -1 ) ( -1 0 0 ) ( 0 -1 0 )
cart. s(10) = ( 0.5000000 -0.8660254 -0.0000000 ) ( 0.8660254 0.5000000 0.0000000 ) ( 0.0000000 0.0000000 -1.0000000 )
isym = 11 inv. 180 deg rotation - cryst. axis [0,1,0]
cryst. s(11) = ( 0 1 0 ) ( 1 0 0 ) ( 0 0 1 )
cart. s(11) = ( 0.5000000 0.8660254 0.0000000 ) ( 0.8660254 -0.5000000 -0.0000000 ) ( 0.0000000 0.0000000 1.0000000 )
isym = 12 inv. 180 deg rotation - cryst. axis [1,1,0]
cryst. s(12) = ( 1 0 0 ) ( 0 0 1 ) ( 0 1 0 )
cart. s(12) = ( 0.5000000 -0.8660254 -0.0000000 ) ( -0.8660254 -0.5000000 -0.0000000 ) ( 0.0000000 0.0000000 1.0000000 )
double point group D_3d (-3m)
there are 12 classes and 6 irreducible representations
the character table:
E -E 2C3 -2C3 3C2' -3C2' i -i 2S6 -2S6 3s_v -3s_v
G_4+ 2.00 -2.00 1.00 -1.00 0.00 0.00 2.00 -2.00 1.00 -1.00 0.00 0.00 G_5+ 1.00 -1.00 -1.00 1.00 0.00 0.00 1.00 -1.00 -1.00 1.00 0.00 0.00 G_6+ 1.00 -1.00 -1.00 1.00 0.00 0.00 1.00 -1.00 -1.00 1.00 0.00 0.00 G_4- 2.00 -2.00 1.00 -1.00 0.00 0.00 -2.00 2.00 -1.00 1.00 0.00 0.00 G_5- 1.00 -1.00 -1.00 1.00 0.00 0.00 -1.00 1.00 1.00 -1.00 0.00 0.00 G_6- 1.00 -1.00 -1.00 1.00 0.00 0.00 -1.00 1.00 1.00 -1.00 0.00 0.00
imaginary part
E -E 2C3 -2C3 3C2' -3C2' i -i 2S6 -2S6 3s_v -3s_v
G_4+ 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 G_5+ 0.00 0.00 0.00 0.00 1.00 -1.00 0.00 0.00 0.00 0.00 1.00 -1.00 G_6+ 0.00 0.00 0.00 0.00 -1.00 1.00 0.00 0.00 0.00 0.00 -1.00 1.00 G_4- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 G_5- 0.00 0.00 0.00 0.00 1.00 -1.00 0.00 0.00 0.00 0.00 -1.00 1.00 G_6- 0.00 0.00 0.00 0.00 -1.00 1.00 0.00 0.00 0.00 0.00 1.00 -1.00
the symmetry operations in each class and the name of the first element:
E 1
identity
-E -1
identity E
2C3 3 4
120 deg rotation - cryst. axis [0,0,1]
-2C3 -3 -4
120 deg rotation - cryst. axis [0,0,1] E
3C2' 2 5 -6
180 deg rotation - cart. axis [1,0,0]
3C2' 6 -5 -2
180 deg rotation - cryst. axis [1,1,0]
i 7
inversion
-i -7
inversion E
2S6 9 10
inv. 120 deg rotation - cryst. axis [0,0,1]
-2S6 -9 -10
inv. 120 deg rotation - cryst. axis [0,0,1] E
3s_v 8 11 -12
inv. 180 deg rotation - cart. axis [1,0,0]
3s_v 12 -11 -8
inv. 180 deg rotation - cryst. axis [1,1,0]
Cartesian axes
site n. atom positions (alat units)
1 Bi tau( 1) = ( 0.0000000 -0.0000000 0.5845991 )
2 Bi tau( 2) = ( 0.0000000 0.0000000 -0.5845991 )
Crystallographic axes
site n. atom positions (cryst. coord.)
1 Bi tau( 1) = ( 0.2338900 0.2338900 0.2338900 )
2 Bi tau( 2) = ( -0.2338900 -0.2338900 -0.2338900 )
number of k points= 7 gaussian smearing, width (Ry)= 0.0010
cart. coord. in units 2pi/alat
k( 1) = ( 0.0000000 0.0000000 0.0000000), wk = 0.1428571
k( 2) = ( -0.1491365 -0.0861040 0.0571552), wk = 0.1428571
k( 3) = ( -0.2982730 -0.1722080 0.1143103), wk = 0.1428571
k( 4) = ( -0.4474095 -0.2583120 0.1714655), wk = 0.1428571
k( 5) = ( -0.5965460 -0.3444160 0.2286206), wk = 0.1428571
k( 6) = ( -0.7456825 -0.4305200 0.2857758), wk = 0.1428571
k( 7) = ( -0.8948190 -0.5166240 0.3429310), wk = 0.1428571
cryst. coord.
k( 1) = ( 0.0000000 0.0000000 0.0000000), wk = 0.1428571
k( 2) = ( -0.0000000 0.0000000 0.1428571), wk = 0.1428571
k( 3) = ( -0.0000000 0.0000000 0.2857143), wk = 0.1428571
k( 4) = ( -0.0000000 0.0000000 0.4285714), wk = 0.1428571
k( 5) = ( -0.0000000 0.0000000 0.5714286), wk = 0.1428571
k( 6) = ( 0.0000000 0.0000000 0.7142857), wk = 0.1428571
k( 7) = ( -0.0000000 0.0000000 0.8571429), wk = 0.1428571
Dense grid: 22809 G-vectors FFT dimensions: ( 45, 45, 45)
Estimated max dynamical RAM per process > 28.93Mb
The potential is recalculated from file :
../scf/bi.save/charge-density.dat
Starting wfc are 36 randomized atomic wfcs
Band Structure Calculation
Davidson diagonalization with overlap
Computing kpt #: 1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Error in routine cdiaghg (122): S matrix not positive definite %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
stopping ...
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD with errorcode 1.
and the pw2wan.lof file is
Program PW2WANNIER v.6.0 starts on 20May2022 at 11:22:59
This program is part of the open-source Quantum ESPRESSO suite
for quantum simulation of materials; please cite
"P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009);
URL http://www.quantum-espresso.org",
in publications or presentations arising from this work. More details at
http://www.quantum-espresso.org/quote
Parallel version (MPI), running on 1 processors
Reading nscf_save data
Reading data from directory:
../scf/bi.save
Info: using nr1, nr2, nr3 values from input
Info: using nr1, nr2, nr3 values from input
IMPORTANT: XC functional enforced from input :
Exchange-correlation = PBE ( 1 4 3 4 0 0)
Any further DFT definition will be discarded
Please, verify this is what you really want
G-vector sticks info
--------------------
sticks: dense smooth PW G-vecs: dense smooth PW
Sum 1081 1081 329 22809 22809 3859
Spin CASE ( non-collinear )
Wannier mode is: standalone
Checking info from wannier.nnkp file
Reciprocal lattice is ok Something wrong! numk= 7 iknum= 32
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Error in routine pw2wannier90 (7): Wrong number of k-points %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD with errorcode 1.
The no. of Z valance of the pseudopotential that i used is 15. I have no idea that how to choose exclude_bands parmeter value.
The number of bands in SCF + NSCF needs to be more than the number of occupied bands per unit cell. Then, for the Wannier90 input, we need to exclude the unoccupied bands. So exclude_bands
is <index of first unoccupied band> - <total number of bands>
.
Not sure if that causes the "S matrix not positive definite", but I'd say it's at least a possibility.
See also the description here: https://z2pack.greschd.ch/en/latest/tutorial/system.html?highlight=exclude_bands#preparing-input-files
Sir what is the meaning of the index of first unoccupied bands. Is the no. of bands is included In scf calculation also? Last one is the how to overcome wrong no. Of kpoints error in pw2wan. log file.
The index of the first unoccupied band is the number of electrons per unit cell, plus one.
Since the "S matrix" error occurs before the k-point error, I would try and fix that first. It's possible the error occurs simply because the previous step didn't produce the correct output.
sir, Bi example that you provide is run successfully. Can you please explain the physical significance of the graph obtained in the last means which quantity is at x and which is at y. what is kx=0 and kx=0.5. how from figure we can say it is topological insulator. means which parameter shows that it is topological insulator . Does we can plot more surface plots using z2 pack. Next i am doing another example using Z2 Pack. in the valance of those material there are 38 electrons and i take total no. of bands 50. than i take exclude_bands 40-50 is it okey
For the explanation of the hybrid Wannier charge center plot, please refer to the Z2Pack book chapter or the paper -- those are more coherent explanations than what I can produce in a Github issue.
As for the exclude_bands with 38 electrons and 50 bands, I guess it should be 39-50
.
Thanks greschd for your generous reply. one more question can we use atomic positions in angstrom. if yes, than what parameters should i changes in script and tpl_case.win file. Can we use the same script (as for bi) for 2D materials.
The surface in z2pack.surface.run
are in reduced coordinates, so there's no need to change when the positions change. The atoms_frac
in the .win
file is also in fractional coordinates, so that should just be relative to the UC.
what us UC
unit cell
Thanks for reply...............greschd can you tell how we can say a particular 2D material is satisfied the necessary condition to be topological insulator. Means how we can say a particular 2D material is topological insulator. I am completely new to this field. I search about topological insulator, the thing only about topological insulator is that it occur in case of a material having direct band gap and have possess soc effect. Can u help me to understand this concept. Is zero bandgap is necessary condition for 2D topological insulator. I am totally confused.
For the Z2 topological phase, this is the paper introducing the concept: https://www.physics.upenn.edu/~kane/pubs/p49.pdf
Is zero bandgap is necessary condition for 2D topological insulator.
Not at all, if the band gap is zero it's no longer an insulator. What you may have read here is that the band gap needs to close and re-open to go from trivial to non-trivial state.
ok, i will check this paper.
sir, i want to share some graphs can you provide your gmail id ...... and how to calculate parity eigenvalue means parity of band at high symmetric points.
sir, i want to share some graphs can you provide your gmail id
That can be found on the main page of the z2pack documentation.
how to calculate parity eigenvalue means parity of band at high symmetric points.
I don't remember the detailed flags / commands, but the DFT codes should be able to print symmetry eigenvalues as an output.
....
Using backgnd knowledge of these paper i found my z2=0 for both the kx=0 and kx=0.5. it means this material is not topological material am i right
That's correct.
No, that graph doesn't represent a topological insulator.
Can these wrong graphs may be due to the wrong input values. Although there is no error during running z2 pack.
Can these wrong graphs may be due to the wrong input values.
Well, if the inputs are incorrect there can be no expectation for the outputs to be correct...
okk can we use soc parameters in z2 pack. The material on which i working shows dirac cone when i include soc effect with it. I perform above graph without including soc effect in z2 pack. I read somewhere the initial condition to be a topological insulator is
I read somewhere the initial condition to be a topological insulator is
* atomic weight >=65 * bandgap<1.5 eV
Is this supposed to be a general statement, or specific to the material you're looking at? In general, I don't see why this should be true.
shows dirac cone when i include soc effect with it
If it has a Dirac cone, it's gapless, no? In that case, it would be a semimetal, not an insulator.
can we use soc parameters in z2 pack
yes
This is general statement. mostly topological insulator materials have heavy atomic mass with less value of band gap. you also do z2 pack examples by taking heavy atomic mass material i.e. Bi(atomicc mass =83). Yes, out of two material one have dirac cone so, for that particular materials i supposed to calculate weyl no. can you please mention which parameters should i include in input file to mention soc effect, meanwhile i rerun the calculation for the same material only by changing the relativistic pseudopotentials.....
less value of band gap
This makes sense to me, because the TI state has a split band crossing, so it can't[1] have a very large "natural" band gap.
mostly topological insulator materials have heavy atomic mass
That's right, but I have no idea if this is by accident or if there's some logic to this. Absent an argument as to why it must be that way, I would tend to ignore this.
In fact, since you're also interested in 2D materials, see this database entry (just a computational prediction, but still): https://www.materialscloud.org/discover/2dtopo/details/AsCuLi2
can you please mention which parameters should i include in input file to mention soc effect
I'm sorry, I don't have the capacity to teach about the parameters used in Quantum ESPRESSO and other codes. Since I'm no longer working actively working with these things, I would have to look that up myself. From the point of view of Z2Pack, there's nothing special about it. The aforementioned database contains an archive with the full history of the calculations, maybe you can find the correct parameters there.
[1] Still, I wouldn't put an exact number on this.
i already check this computational database, its only contains 25 materials. I still confused how to choose 2D topological insulator material.
only contains 25 materials
I have no reference to say if 25 is "only", or "a lot". In general, finding 25 materials of an exotic kind seems like a decent number.
confused how to choose 2D topological insulator material
I'm not sure what you mean by that statement. There's isn't some rule you can apply to predict 2D TIs directly from chemical composition, without computing it. Some people have a finely tuned chemical intuition to speed up the process; I'm not one of them.
Since I maintain Z2Pack in my spare time, I do not want to keep answering these general physics questions. Unless you have questions that are specific to the implementation and use of Z2Pack, I will stop responding to them now. It seems you may want to seek a mentor / advisor that you can ask these questions to; I am not that person.
A final piece of advice: When asking questions (whether in person or online), it pays off in my experience to spend some effort trying to answer the question yourself first. Crucially, this should also be apparent in the question: explain what you have tried, what did and didn't work, where exactly you got stuck, etc.
Thanks gresch you help me alot.
gresch does the z2 pack is applicable to all type of systems like 1D,2D & 3D [image: Mailtrack] https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11& Sender notified by Mailtrack https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11& 06/13/22, 12:39:23 AM
In principle yes, as long as you can either get the Hamiltonian directly, or have a first-principles code calculate the overlap matrices. For 1D, there's no built-in way (other than total polarisation) to compute topological invariants.
Recently I am learning to use Z2pack to investigate 1D GNRs. But I have some problems when I start the example of Bismuth by using QE6.6 with Wannier90 on HPC.
The error is: AttributeError: 'NoneType' object has no attribute 'find'. I checked it from the Internet, it seems there are many different reasons. I checked the position of 'find'. It is in this part:
Copying the lattice parameters from bi.save/data-file.xml into bi.win
cell = ET.parse('scf/bi.save/data-file-schema.xml').find('CELL').find('DIRECT_LATTICE_VECTORS') unit = cell[0].attrib['UNITS'] lattice = '\n '.join([line.text.strip('\n ') for line in cell[1:]])
I checked the data-file.xml and found the 'cell' part but no 'DIRECT_LATTICE_VECTORS' part. So it is because of the absence of 'DIRECT_LATTICE_VECTORS' part that causes the error? Or somebody has better suggestions?
I also checked the example of the folder in z2pack and found that the Quantum Espresso version is 5.1.1, which is an older version compared with version 6.6. Therefore, the data-file.xml should be the data-file-schema.xml file (I just changed). Also, the content of the .xml file in version 5.1.1 is quite different from version 6.6. I cannot find the keyword 'DIRECT_LATTICE_VECTORS'. Also, I'm not sure the following unit and lattice data will be correct.
Here is the part of 'cell' from the data-file-schema.xml file:
No "LATTICE" information was found.