The Elk Code
finddlefe.f90
Go to the documentation of this file.
1 
2 ! Copyright (C) 2025 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 finddlefe
7 use modmain
8 implicit none
9 ! arguments
10 integer ik,ist,n
11 real(8) e,de
12 ! determine the first energy moment of eigenvalues below the Fermi energy
13 de=0.d0
14 n=0
15 do ik=1,nkpt
16  do ist=1,nstsv
17  e=evalsv(ist,ik)-efermi
18  if ((e <= 0.d0).and.(e > esccut)) then
19  de=de+e
20  n=n+1
21  end if
22  end do
23 end do
24 ! set difference between fixed linearisation and Fermi energies
25 if (n > 0) dlefe=de/dble(n)
26 end subroutine
27 
real(8) efermi
Definition: modmain.f90:907
subroutine finddlefe
Definition: finddlefe.f90:7
real(8), dimension(:,:), allocatable evalsv
Definition: modmain.f90:921
integer nkpt
Definition: modmain.f90:461
integer nstsv
Definition: modmain.f90:889
real(8) esccut
Definition: modmain.f90:119
real(8) dlefe
Definition: modmain.f90:830