Dear All,<br><br>in the file plot.F90 of Wannier i see a piece:<br><br><br> do loop_kpt=1,total_pts<br> ham_kprm=cmplx_0<br> if (index(bands_plot_mode,'s-k').ne.0) then<br> do loop_rpt=1,nrpts<br>
rdotk=twopi*dot_product(plot_kpoint(:,loop_kpt),irvec(:,loop_rpt))<br> fac=exp(cmplx_i*rdotk)/real(ndegen(loop_rpt),dp)<br> ham_kprm=ham_kprm+fac*ham_r(:,:,loop_rpt)<br> end do<br>
elseif (index(bands_plot_mode,'cut').ne.0) then<br> do loop_rpt=1,nrpts_cut<br> rdotk=twopi*dot_product(plot_kpoint(:,loop_kpt),irvec_cut(:,loop_rpt))<br>!!$[aam] check divide by ndegen?<br>
fac=exp(cmplx_i*rdotk)<br> ham_kprm=ham_kprm+fac*ham_r_cut(:,:,loop_rpt)<br> end do<br> else<br><br><br>what it is "ndegen" variable?<br><br>Once i get the H(n,m,R) in the file _hr.dat (in which are printed irvec(:,loop_rpt) and ham_r(:,:,loop_rpt) as coded in hamiltonian.F90) i usually work postprocessing it and i can get the correct Fourier Trasform (i can check the bands structure for example) only if i use ndegen as above (the values of this variable can be printed out with "iprint =3").<br>
<br>this variable ndegen is updated in hamiltonian.F90 at the subroutine hamiltonian_wigner_seitz(count_pts) but i have problem to understand what it is.<br>could you give me some more details?<br><br>thank you.<br><br>
Gianluca<br><br><br><br>