LCOV - code coverage report
Current view: top level - io - cdn_read.F (source / functions) Hit Total Coverage
Test: combined.info Lines: 0 14 0.0 %
Date: 2019-09-08 04:53:50 Functions: 0 2 0.0 %

          Line data    Source code
       1             : !--------------------------------------------------------------------------------
       2             : ! Copyright (c) 2016 Peter Grünberg Institut, Forschungszentrum Jülich, Germany
       3             : ! This file is part of FLEUR and available as free software under the conditions
       4             : ! of the MIT license as expressed in the LICENSE file in more detail.
       5             : !--------------------------------------------------------------------------------
       6             : 
       7             :       MODULE m_cdnread
       8             :       use m_juDFT
       9             : !------------------------------------------------------------------------
      10             : !     Two subroutines to read in the information stored on the 'eig'-file
      11             : !     cdn_read0: reads energy-parameters and number of bands stored/pe
      12             : !     cdn_read : reads finally the eigenvalues and vectors
      13             : !                                                          gb`04
      14             : !------------------------------------------------------------------------
      15             :       CONTAINS
      16           0 :       SUBROUTINE cdn_read0(
      17             :      >                     eig_id,
      18             :      >                     irank,isize,jspin,jspins,
      19             :      >                     l_noco,
      20           0 :      <                     n_bands,n_size)
      21             :       USE m_eig66_io, ONLY : read_eig
      22             :       IMPLICIT NONE
      23             : 
      24             : ! Arguments ...
      25             :       INTEGER, INTENT (IN) :: eig_id,irank,isize
      26             :       INTEGER, INTENT (IN) :: jspin,jspins
      27             :       LOGICAL, INTENT (IN) :: l_noco
      28             : 
      29             : 
      30             :       INTEGER, INTENT (OUT) :: n_size
      31             :  
      32             :       INTEGER, INTENT (OUT) :: n_bands(0:) !n_bands(0:neigd)
      33             :  
      34             :       INTEGER isp
      35             : 
      36           0 :       isp = MERGE(1,jspin,l_noco)
      37             : 
      38           0 :       CALL read_eig(eig_id,1,isp,neig=n_bands(1))
      39             : 
      40             : c n_size is the number of records per k-point,
      41             : c n_bands(i) the number of ev's processed on n_rank=0...i-1
      42             : 
      43           0 :       n_size = 1
      44             : 
      45           0 :       n_bands(0) = 0
      46             : 
      47           0 :       END SUBROUTINE cdn_read0
      48             : !
      49             : !--------------------------------------------------------------------
      50             : !--------------------------------------------------------------------
      51             : !
      52           0 :       SUBROUTINE cdn_read(
      53             :      >                    eig_id,nvd,jspd,irank,isize,
      54             :      >                    ikpt,jspin,nbasfcn,l_ss,l_noco,
      55             :      >                    noccbd,n_start,n_end,
      56           0 :      <                    nbands,eig,zmat)
      57             : 
      58             :       USE m_eig66_io, ONLY : read_eig
      59             :       USE m_types
      60             :  
      61             :       IMPLICIT NONE
      62             : !
      63             : ! Arguments ...
      64             : !
      65             :       INTEGER, INTENT (IN) :: eig_id,irank,isize,ikpt,nbasfcn
      66             :       INTEGER, INTENT (IN) :: nvd,jspd,jspin
      67             :       INTEGER, INTENT (IN) :: noccbd,n_start,n_end
      68             :       LOGICAL, INTENT (IN) :: l_ss,l_noco
      69             :       INTEGER, INTENT (OUT) :: nbands
      70             :    
      71             :       REAL,    INTENT (OUT) :: eig(:) !bkpt(3),eig(neigd)
      72             :    
      73             :       TYPE(t_mat), INTENT (INOUT) :: zmat !z(nbasfcn,noccbd) !can be real/complex
      74             : 
      75             : ! Local variables ...
      76             :       INTEGER :: isp,i
      77             : #ifdef CPP_MPI
      78             :       INCLUDE 'mpif.h'
      79             :       INTEGER mpiierr
      80             : #endif
      81             : 
      82           0 :       isp = MERGE(1,jspin,l_noco)
      83             : 
      84           0 :       CALL timestart("cdn_read")
      85             : 
      86             :       CALL read_eig(eig_id,ikpt,isp,list=[(i,i=n_start,n_end)],
      87           0 :      <              neig=nbands,eig=eig,zmat=zmat)
      88             : 
      89           0 :       CALL timestop("cdn_read")
      90             :       
      91             : !      IF (nbands>neigd)   CALL juDFT_error("nbands.GT.neigd",calledby
      92             : !     +     ="cdn_read")
      93             :     
      94           0 :       END SUBROUTINE cdn_read
      95             :       END MODULE m_cdnread

Generated by: LCOV version 1.13