LCOV - code coverage report
Current view: top level - dos - dos_bin.f (source / functions) Hit Total Coverage
Test: combined.info Lines: 13 13 100.0 %
Date: 2019-09-08 04:53:50 Functions: 1 1 100.0 %

          Line data    Source code
       1             :       MODULE m_dosbin
       2             : c*********************************************************
       3             : c    this subroutine generate the idos, the ldos, the partial
       4             : c    ldos in the spheres and the z-dependent dos for the
       5             : c    vacuum.
       6             : c
       7             : c*********************************************************
       8             :       CONTAINS
       9           5 :       SUBROUTINE dos_bin(
      10             :      >                   jspins,ndos,ne,emin,emax,neigd,
      11           5 :      >                   nkpt,neig,wtkpt,eig,qal,
      12           5 :      <                   g)
      13             : c
      14             :       IMPLICIT NONE
      15             : c
      16             :       INTEGER,INTENT (IN) :: jspins,ndos,ne,nkpt,neigd,neig(nkpt)
      17             :       REAL,   INTENT (IN) :: emin,emax,wtkpt(nkpt)
      18             :       REAL,   INTENT (IN) :: eig(neigd,nkpt),qal(ndos,neigd,nkpt)
      19             :       REAL,   INTENT (OUT):: g(ne,ndos)
      20             : 
      21             : c------> local variables
      22             : c
      23             :       INTEGER  nl,k,j, i
      24             :       REAL  de,wk
      25             : c     ..
      26           5 :       de=(emax-emin)/real(ne-1)
      27         158 :       g=0.0
      28             : c
      29             : c----> put weights in the right bins
      30             : c
      31         165 :       DO k = 1 , nkpt
      32          80 :          wk = 2.*wtkpt(k)/real(jspins)/de
      33        3165 :          DO j = 1 , neig(k)
      34        3080 :             i = NINT((eig(j,k)-emin)/de) + 1
      35        3160 :             IF ( (i.LE.ne) .AND. (i.GE.1) ) THEN
      36       69248 :                   DO nl = 1 , ndos
      37       35192 :                      g(i,nl) = g(i,nl) + wk*qal(nl,j,k)
      38             :                   ENDDO
      39             :             ENDIF
      40             :          ENDDO
      41             :       ENDDO
      42             : 
      43           5 :       END SUBROUTINE dos_bin
      44             :       END MODULE m_dosbin

Generated by: LCOV version 1.13