The Elk Code
writeevaluv.f90
Go to the documentation of this file.
1 
2 ! Copyright (C) 2019 J. K. Dewhurst and S. Sharma.
3 ! This file is distributed under the terms of the GNU General Public License.
4 ! See the file COPYING for license details.
5 
6 subroutine writeevaluv
7 use modmain
8 use modbog
9 implicit none
10 ! local variables
11 integer ik,ist
12 real(8) e
13 ! write out the fermionic eigenvalues
14 open(50,file='EIGVALUV.OUT',form='FORMATTED',action='WRITE')
15 write(50,'(I6," : nkpt")') nkpt
16 write(50,'(I6," : nstsv")') nstsv
17 do ik=1,nkpt
18  write(50,*)
19  write(50,'(I6,3G18.10," : k-point, vkl")') ik,vkl(:,ik)
20  write(50,'(" (state, eigenvalue, V-norm below)")')
21  do ist=1,nstsv
22  e=evaluv(ist,ik)
23  if (vnorm(ist,ik) > 0.5d0) e=-e
24  write(50,'(I6,2G18.10)') ist,e,vnorm(ist,ik)
25  end do
26  write(50,*)
27 end do
28 close(50)
29 end subroutine
30 
integer nkpt
Definition: modmain.f90:461
real(8), dimension(:,:), allocatable evaluv
Definition: modbog.f90:15
integer nstsv
Definition: modmain.f90:889
Definition: modbog.f90:6
real(8), dimension(:,:), allocatable vkl
Definition: modmain.f90:471
subroutine writeevaluv
Definition: writeevaluv.f90:7
real(8), dimension(:,:), allocatable vnorm
Definition: modbog.f90:17