Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature request] Input tag to allow user specified list of k-points for band structure #460

Open
npaulish opened this issue Dec 11, 2023 · 0 comments
Assignees
Milestone

Comments

@npaulish
Copy link
Collaborator

Currently in kpoint_path block it is only possible to specify the start and the end points of k-point path segments, and the intermediate points are generated later using constant density. These generation rule may be different from other codes (e.g. Quantum ESPRESSO) and thus direct comparison of band structures is difficult. Maybe it would be useful to add a tag allowing the user to specify an explicit list of k-points coordinates?

E.g. this was implemented in qiaojunfeng@bbead1f by specifying explicit_kpath and explicit_kpath_labels blocks in the input file and still using the same output bands data format (band.dat, band.kpt and band.labelinfo.dat). Here are two examples of the input file with and without explicit_kpath flag:

auto_projections = .true.
bands_plot = .true.
conv_tol =   7.0000000000d-07
conv_window = 3
dis_conv_tol =   7.0000000000d-07
dis_froz_max =   1.3907379242d+01
dis_num_iter = 4000
dis_proj_max =   9.9000000000d-01
dis_proj_min =   2.0000000000d-02
exclude_bands = 1-33
fermi_energy =   1.1905300000d+01
mp_grid = 7, 7, 5
num_bands = 97
num_wann = 32
restart = plot

begin atoms_cart
ang
La         0.0000000000       0.0000000000       0.0000000000 
In         0.0000000000       2.3721125575       5.3341607869 
In         0.0000000000       2.3721125575       2.3653251145 
In         2.3721125575       0.0000000000       5.3341607869 
In         2.3721125575       0.0000000000       2.3653251145 
In         2.3721125575       2.3721125575       0.0000000000 
Rh         0.0000000000       0.0000000000       3.8497429507 
end atoms_cart

begin explicit_kpath
      0.5000000000       0.5000000000       0.3666666667
      0.5000000000       0.5000000000       0.4000000000
      ...
      0.5000000000       0.5000000000       0.4666666667
      0.5000000000       0.5000000000       0.5000000000
end explicit_kpath

begin explicit_kpath_labels
GAMMA       0.0000000000       0.0000000000       0.0000000000
X       0.0000000000       0.5000000000       0.0000000000
M       0.5000000000       0.5000000000       0.0000000000
GAMMA       0.0000000000       0.0000000000       0.0000000000
Z       0.0000000000       0.0000000000       0.5000000000
R       0.0000000000       0.5000000000       0.5000000000
A       0.5000000000       0.5000000000       0.5000000000
Z       0.0000000000       0.0000000000       0.5000000000
X       0.0000000000       0.5000000000       0.0000000000
R       0.0000000000       0.5000000000       0.5000000000
M       0.5000000000       0.5000000000       0.0000000000
A       0.5000000000       0.5000000000       0.5000000000
end explicit_kpath_labels

begin kpoints
      0.0000000000       0.0000000000       0.0000000000
      0.0000000000       0.0000000000       0.2000000000
      ...
      0.8571428571       0.8571428571       0.6000000000
      0.8571428571       0.8571428571       0.8000000000
end kpoints

begin projections
end projections

begin unit_cell_cart
ang
      4.7442251150       0.0000000000       0.0000000000
      0.0000000000       4.7442251150       0.0000000000
      0.0000000000       0.0000000000       7.6994859014
end unit_cell_cart
auto_projections = .true.
bands_plot = .true.
conv_tol =   7.0000000000d-07
conv_window = 3
dis_conv_tol =   7.0000000000d-07
dis_froz_max =   1.3915752985d+01
dis_num_iter = 4000
dis_proj_max =   9.5000000000d-01
dis_proj_min =   1.0000000000d-02
exclude_bands = 1-33
fermi_energy =   1.1902600000d+01
mp_grid = 7, 7, 5
num_bands = 97
num_wann = 32

begin atoms_cart
ang
La         0.0000000000       0.0000000000       0.0000000000 
In         0.0000000000       2.3721125575       5.3341607869 
In         0.0000000000       2.3721125575       2.3653251145 
In         2.3721125575       0.0000000000       5.3341607869 
In         2.3721125575       0.0000000000       2.3653251145 
In         2.3721125575       2.3721125575       0.0000000000 
Rh         0.0000000000       0.0000000000       3.8497429507 
end atoms_cart

begin kpoint_path
GAMMA 0.0 0.0 0.0  X 0.0 0.5 0.0
X 0.0 0.5 0.0  M 0.5 0.5 0.0
M 0.5 0.5 0.0  GAMMA 0.0 0.0 0.0
GAMMA 0.0 0.0 0.0  Z 0.0 0.0 0.5
Z 0.0 0.0 0.5  R 0.0 0.5 0.5
R 0.0 0.5 0.5  A 0.5 0.5 0.5
A 0.5 0.5 0.5  Z 0.0 0.0 0.5
X 0.0 0.5 0.0  R 0.0 0.5 0.5
M 0.5 0.5 0.0  A 0.5 0.5 0.5
end kpoint_path

begin kpoints
      0.0000000000       0.0000000000       0.0000000000
      0.0000000000       0.0000000000       0.2000000000
      ...
      0.8571428571       0.8571428571       0.6000000000
      0.8571428571       0.8571428571       0.8000000000
end kpoints

begin projections
end projections

begin unit_cell_cart
ang
      4.7442251150       0.0000000000       0.0000000000
      0.0000000000       4.7442251150       0.0000000000
      0.0000000000       0.0000000000       7.6994859014
end unit_cell_cart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants