-
Notifications
You must be signed in to change notification settings - Fork 142
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
prepare one version for Wannier90 tutorial 2022
- Loading branch information
1 parent
8eafb6e
commit 1526a0c
Showing
3 changed files
with
217 additions
and
0 deletions.
There are no files selected for viewing
32 changes: 32 additions & 0 deletions
32
examples/electron-hole-compensated/Free_compensate_model_hr.dat
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
2-band electron-hole compensated model | ||
2 | ||
7 | ||
1 1 1 1 1 1 1 | ||
0 0 0 1 1 5.00000000 0.00000000 | ||
0 0 0 1 2 0.00000000 0.00000000 | ||
0 0 0 2 1 0.00000000 0.00000000 | ||
0 0 0 2 2 -5.00000000 0.00000000 | ||
1 0 0 1 1 -1.00000000 0.00000000 | ||
1 0 0 1 2 0.00000000 0.00000000 | ||
1 0 0 2 1 0.00000000 0.00000000 | ||
1 0 0 2 2 -1.00000000 0.00000000 | ||
-1 0 0 1 1 -1.00000000 0.00000000 | ||
-1 0 0 1 2 0.00000000 0.00000000 | ||
-1 0 0 2 1 0.00000000 0.00000000 | ||
-1 0 0 2 2 -1.00000000 0.00000000 | ||
0 1 0 1 1 -1.00000000 0.00000000 | ||
0 1 0 1 2 0.00000000 0.00000000 | ||
0 1 0 2 1 0.00000000 0.00000000 | ||
0 1 0 2 2 1.00000000 0.00000000 | ||
0 -1 0 1 1 -1.00000000 0.00000000 | ||
0 -1 0 1 2 0.00000000 0.00000000 | ||
0 -1 0 2 1 0.00000000 0.00000000 | ||
0 -1 0 2 2 1.00000000 0.00000000 | ||
0 0 1 1 1 -1.00000000 0.00000000 | ||
0 0 1 1 2 0.00000000 0.00000000 | ||
0 0 1 2 1 0.00000000 0.00000000 | ||
0 0 1 2 2 1.00000000 0.00000000 | ||
0 0 -1 1 1 -1.00000000 0.00000000 | ||
0 0 -1 1 2 0.00000000 0.00000000 | ||
0 0 -1 2 1 0.00000000 0.00000000 | ||
0 0 -1 2 2 1.00000000 0.00000000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
program writeHmnR | ||
|
||
!> two band model | ||
!> H11(k)= -1 +2(mx+my+mz)- 2mx*cos(kx)- 2*my*cos(ky)- 2*mz*cos(kz) | ||
!> H22(k)= 1 -2(mx+my+mz)- 2mx*cos(kx)+ 2*my*cos(ky)+ 2*mz*cos(kz) | ||
implicit none | ||
|
||
integer, parameter :: dp=kind(1d0) | ||
complex(dp), parameter :: zi= (0d0, 1d0) | ||
complex(dp), parameter :: zzero= (0d0, 0d0) | ||
|
||
integer :: i, j | ||
integer :: ir | ||
integer :: nwann | ||
|
||
!> arrays for hamiltonian storage | ||
integer :: nrpts | ||
integer, allocatable :: ndegen(:) | ||
integer, allocatable :: irvec(:, :) | ||
complex(dp), allocatable :: hmnr(:, :, :) | ||
|
||
!> three lattice constants | ||
real(dp) :: mx, my, mz | ||
|
||
|
||
mx=1d0 | ||
my=1d0 | ||
mz=1d0 | ||
|
||
nwann= 2 | ||
nrpts=17 | ||
allocate(irvec(3, nrpts)) | ||
allocate(ndegen(nrpts)) | ||
allocate(hmnr(nwann, nwann, nrpts)) | ||
irvec=0 | ||
ndegen=1 | ||
hmnr= zzero | ||
|
||
|
||
! 0 0 0 | ||
ir= 1 | ||
irvec(1, ir)= 0 | ||
irvec(2, ir)= 0 | ||
irvec(3, ir)= 0 | ||
hmnr(1, 1, ir)= -1.d0+ 2d0*(mx+my+mz) | ||
hmnr(2, 2, ir)= 1.d0- 2d0*(mx+my+mz) | ||
|
||
!1 0 0 | ||
ir= ir+ 1 | ||
irvec(1, ir)= 1 | ||
irvec(2, ir)= 0 | ||
irvec(3, ir)= 0 | ||
hmnr(1, 1, ir)=-mx | ||
hmnr(2, 2, ir)=-mx | ||
|
||
!-1 0 0 | ||
ir= ir+ 1 | ||
irvec(1, ir)=-1 | ||
irvec(2, ir)= 0 | ||
irvec(3, ir)= 0 | ||
hmnr(1, 1, ir)=-mx | ||
hmnr(2, 2, ir)=-mx | ||
|
||
! 0 1 0 | ||
ir= ir+ 1 | ||
irvec(1, ir)= 0 | ||
irvec(2, ir)= 1 | ||
irvec(3, ir)= 0 | ||
hmnr(1, 1, ir)=-my | ||
hmnr(2, 2, ir)= my | ||
|
||
!0 -1 0 | ||
ir= ir+ 1 | ||
irvec(1, ir)= 0 | ||
irvec(2, ir)=-1 | ||
irvec(3, ir)= 0 | ||
hmnr(1, 1, ir)=-my | ||
hmnr(2, 2, ir)= my | ||
|
||
! 0 0 1 | ||
ir= ir+ 1 | ||
irvec(1, ir)= 0 | ||
irvec(2, ir)= 0 | ||
irvec(3, ir)= 1 | ||
hmnr(1, 1, ir)=-mz | ||
hmnr(2, 2, ir)= mz | ||
|
||
! 0 0 -1 | ||
ir= ir+ 1 | ||
irvec(1, ir)= 0 | ||
irvec(2, ir)= 0 | ||
irvec(3, ir)=-1 | ||
hmnr(1, 1, ir)=-mz | ||
hmnr(2, 2, ir)= mz | ||
|
||
nrpts = ir | ||
|
||
!> write to new_hr.dat | ||
open(unit=105, file='Free_compensate_model_hr.dat') | ||
write(105, *)'2-band electron-hole compensated model' | ||
write(105, *)nwann | ||
write(105, *)nrpts | ||
write(105, '(15I5)')(ndegen(i), i=1, nrpts) | ||
do ir=1, nrpts | ||
do i=1, nwann | ||
do j=1, nwann | ||
write(105, '(5I5, 2f16.8)')irvec(:, ir), i, j, HmnR(i, j, ir) | ||
enddo | ||
enddo | ||
enddo | ||
close(105) | ||
|
||
end ! end of program |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
&TB_FILE | ||
Hrfile = 'Free_compensate_model_hr.dat' | ||
/ | ||
|
||
|
||
&CONTROL | ||
BulkBand_calc = T ! band structure calculation | ||
BulkFS_calc = T ! Fermi surface calculation | ||
Boltz_OHE_calc = T ! ordinary magnetoresistance | ||
Symmetry_Import_calc = F ! impose the symmetry. please set it to be true for magnetoresistance calculation | ||
/ | ||
|
||
&SYSTEM | ||
NumOccupied = 1 ! Number of Occupied bands, set it even not used | ||
SOC = 0 ! without soc : SOC=0; with soc : SOC=1 | ||
E_FERMI = 0.0000 ! e-fermi | ||
Btheta=0, Bphi= 90 ! magnetic field direction, Btheta is the angle with z axial, Bphi is the angle with respect to x axial in the x-y plane | ||
/ | ||
|
||
&PARAMETERS | ||
OmegaNum = 1 ! omega number | ||
OmegaMin = 0.00 ! energy interval | ||
OmegaMax = 0.00 ! energy interval | ||
Nk1 = 68 ! number k points | ||
Nk2 = 68 ! number k points | ||
Nk3 = 68 ! number k points | ||
BTauNum= 100 ! Number of B*tau we calculate | ||
BTauMax = 40.0 ! The maximum B*tau, starting from Btau=0. | ||
Tmin = 30 ! Temperature in Kelvin | ||
Tmax = 330 ! Temperature in Kelvin | ||
NumT = 11 ! number temperature we calculate. T=Tmin+(Tmax-Tmin)/(NumT-1) | ||
/ | ||
|
||
LATTICE | ||
Angstrom | ||
2 0 0 | ||
0 2 0 | ||
0 0 2 | ||
|
||
ATOM_POSITIONS | ||
1 ! number of atoms for projectors | ||
Direct ! Direct or Cartisen coordinate | ||
X 0 0 0 | ||
|
||
PROJECTORS | ||
2 ! number of projectors | ||
X s s | ||
|
||
SURFACE ! TaAs2 conventional (010) surface | ||
1 0 0 | ||
0 1 0 | ||
0 0 1 | ||
|
||
KPATH_BULK ! k point path | ||
5 ! number of k line only for bulk band | ||
X 0.50000 0.00000 0.00000 G 0.00000 0.00000 0.00000 | ||
G 0.00000 0.00000 0.00000 Z 0.00000 0.00000 0.50000 | ||
Z 0.00000 0.00000 0.50000 L 0.50000 0.50000 0.50000 | ||
L 0.50000 0.50000 0.50000 Y 0. 0000 0.50000 0.00000 | ||
Y 0.00000 0.50000 0.00000 G 0.00000 0.00000 0.00000 | ||
|
||
KPLANE_BULK | ||
-0.50 -0.50 -0.00 ! Original point for 3D k plane | ||
1.00 0.00 0.00 ! The first vector to define 3d k space plane | ||
0.00 1.00 0.00 ! The second vector to define 3d k space plane | ||
|
||
KCUBE_BULK | ||
-0.50 -0.50 -0.50 ! Original point for 3D k plane | ||
1.00 0.00 0.00 ! The first vector to define 3d k space plane | ||
0.00 1.00 0.00 ! The second vector to define 3d k space plane | ||
0.00 0.00 1.00 ! The third vector to define 3d k cube | ||
|