37 integer :: fo = 20, ibnd, ik
38 real(8) :: xk(nk), dkvec(3), dxk
40 write(*,*)
" Output band.dat"
41 open(fo, file=
"band.dat")
45 dkvec(1:3) =
kvec(1:3,ik) -
kvec(1:3,ik-1)
46 dxk = sqrt(dot_product(dkvec(1:3), dkvec(1:3)))
47 xk(ik) = xk(ik-1) + dxk
50 write(fo,*)
"# k energy[eV]"
72 integer :: ik, ibnd, fo = 20, ii, ipw
73 real(8) :: kgv(g_wf%npw,3), avf(nbnd,nk), vf(3)
77 kgv(ipw,1:3) =
kvec(1:3,ik) + matmul(
bvec(1:3,1:3), dble(g_wf%mill(1:3,g_wf%map(ipw))))
81 vf(ii) = dble(sum(conjg(
evec(1:g_wf%npw,ibnd,ik)) &
82 & *
evec(1:g_wf%npw,ibnd,ik) &
83 & * kgv(1:g_wf%npw,ii ) ))
85 avf(ibnd,ik) = sqrt(dot_product(vf(1:3),vf(1:3)))
89 write(*,*)
" Output vf.frmsf"
90 open(fo, file =
"vf.frmsf")
94 write(fo,*) real(
bvec(1:3,3))
95 write(fo,*) real(
bvec(1:3,2))
96 write(fo,*) real(
bvec(1:3,1))
104 write(fo,*) real(avf(ibnd,ik))