-
Notifications
You must be signed in to change notification settings - Fork 60
Description
Dear Dr. Tadano,
I'm running a simple test calculation on PbTe (no LO/TO splitting included here).
A calculation of the harmonic bands (2x2x2 supercell) gives the following dispersion, when BCONNECT = 1 is used:
There is a path break between U and K. As can be seen, the band-ordering algorithm swaps the order of bands at the U/K break; I have separately done a harmonic calculation with Quantum Espresso and also CASTEP, and both suggest that the bands should be connected across the U/K break. Note that within each path segment (notably along the X-U line), band crossings are indeed correctly detected. The &kpoint field for this calculation was:
&kpoint
1 # KPMODE = 1: line mode
G 0.000 0.000 0.000 X 0.500 0.000 0.500 200
X 0.500 0.000 0.500 U 0.625 0.250 0.625 71
K 0.375 0.375 0.750 G 0.000 0.000 0.000 212
G 0.000 0.000 0.000 L 0.500 0.500 0.500 173
L 0.500 0.500 0.500 W 0.500 0.250 0.750 141
W 0.500 0.250 0.750 X 0.500 0.000 0.500 100
/
Now, if I repeat the calculation with the exact same input, but instead of a break, create a very short path between U and K (so no longer a true break), like:
&kpoint
1 # KPMODE = 1: line mode
G 0.000 0.000 0.000 X 0.500 0.000 0.500 200
X 0.500 0.000 0.500 U 0.625 0.250 0.625 71
U 0.625 0.250 0.625 K 0.375 0.375 0.750 3
K 0.375 0.375 0.750 G 0.000 0.000 0.000 212
G 0.000 0.000 0.000 L 0.500 0.500 0.500 173
L 0.500 0.500 0.500 W 0.500 0.250 0.750 141
W 0.500 0.250 0.750 X 0.500 0.000 0.500 100
/
I get:
(the U and K labels are now overlapping, as there is no longer a true break there)
This perfectly matches the band-connected dispersions I get from Quantum Espresso and CASTEP.
If I set BCONNECT = 2 for the first case, I can see at the U and K points in the .connection file:
# G X U K G L W X
# 0.000000 0.505969 0.684856 0.684856 1.221517 1.659699 2.017473 2.270458
# k-axis, mapping
...
...
0.684856 2 3 1 6 5 4
0.684856 1 2 3 4 6 5
...
...
(where I've omitted irrelevant lines). As can be seen, the algorithm seems to be incorrectly reordering the bands across the break.