The Elk Code
writedos.f90
Go to the documentation of this file.
1 
2 ! Copyright (C) 2015 J. K. Dewhurst, S. Sharma and E. K. U. Gross.
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 writedos
7 use modmain
8 implicit none
9 ! initialise universal variables
10 call init0
11 call init1
12 ! read density and potentials from file
13 call readstate
14 ! find the new linearisation energies
15 call linengy
16 ! generate the APW radial functions
17 call genapwfr
18 ! generate the local-orbital radial functions
19 call genlofr
20 ! get the eigenvalues and occupation numbers from file
21 call readevalsv
22 if (dosocc) call readoccsv
23 ! generate the partial and total DOS and write to file
24 call dos('.OUT',dosocc,occsv)
25 write(*,*)
26 write(*,'("Info(writedos):")')
27 write(*,'(" Total density of states written to TDOS.OUT")')
28 if (tpdos) then
29  write(*,*)
30  write(*,'(" Partial density of states written to PDOS_Sss_Aaaaa.OUT")')
31  write(*,'(" for all species and atoms")')
32  if (dosmsum) then
33  write(*,'(" PDOS summed over m")')
34  end if
35  if (dosssum) then
36  write(*,'(" PDOS summed over spin")')
37  end if
38  write(*,*)
39  write(*,'(" Spin-quantisation axis : ",3G18.10)') sqaxis(:)
40  if (lmirep) then
41  write(*,*)
42  write(*,'(" Eigenvalues of a random matrix symmetrised with the site")')
43  write(*,'(" symmetries in the Yₗₘ basis written to ELMIREP.OUT for all")')
44  write(*,'(" species and atoms. Degenerate eigenvalues correspond to")')
45  write(*,'(" irreducible representations of each site symmetry group")')
46  end if
47  write(*,*)
48  write(*,'(" Interstitial density of states written to IDOS.OUT")')
49 end if
50 write(*,*)
51 write(*,'(" Fermi energy is at zero in plots")')
52 write(*,*)
53 write(*,'(" DOS units are states/Hartree/unit cell")')
54 end subroutine
55 
subroutine genlofr
Definition: genlofr.f90:10
subroutine readoccsv
Definition: readoccsv.f90:7
logical dosmsum
Definition: modmain.f90:1087
subroutine linengy
Definition: linengy.f90:10
logical lmirep
Definition: modmain.f90:1098
real(8), dimension(3) sqaxis
Definition: modmain.f90:1101
real(8), dimension(:,:), allocatable occsv
Definition: modmain.f90:905
subroutine dos(fext, tocc, occsvp)
Definition: dos.f90:10
logical tpdos
Definition: modmain.f90:1085
subroutine init1
Definition: init1.f90:10
subroutine genapwfr
Definition: genapwfr.f90:10
logical dosssum
Definition: modmain.f90:1089
subroutine readstate
Definition: readstate.f90:10
subroutine init0
Definition: init0.f90:10
subroutine writedos
Definition: writedos.f90:7
subroutine readevalsv
Definition: readevalsv.f90:7
logical dosocc
Definition: modmain.f90:1083