LCOV - code coverage report
Current view: top level - wannier - wann_gwf_anglmom.f (source / functions) Hit Total Coverage
Test: combined.info Lines: 0 38 0.0 %
Date: 2019-09-08 04:53:50 Functions: 0 1 0.0 %

          Line data    Source code
       1             : c*************************c
       2             : c  routine to set up the  c
       3             : c  composite matrix anglmom c
       4             : c*************************c
       5             :       module m_wann_gwf_anglmom
       6             : 
       7             :       implicit none
       8             :       contains
       9             : 
      10           0 :       subroutine wann_gwf_anglmom(nkpts,nqpts,l_unformatted)
      11             :       use m_wann_gwf_tools
      12             : 
      13             :       implicit none
      14             :       
      15             :       ! input parameters
      16             :       logical,intent(in) :: l_unformatted
      17             :       integer,intent(in) :: nkpts,nqpts
      18             : 
      19             :       integer :: nwfs,nbnd,nkqpts
      20             :       integer :: d,i,j,k,q,kq,t1,t2,t3,t4
      21             :       real :: tempr,tempi 
      22             : 
      23           0 :       complex,allocatable :: anglmom(:,:,:,:)
      24             :       character(len=12) :: fending
      25             : 
      26           0 :       nkqpts = nkpts*nqpts
      27             : 
      28             :       ! get number of bands and wfs from proj
      29           0 :       open(405,file='proj',status='old')
      30           0 :       read(405,*)nwfs,nbnd
      31           0 :       close(405)
      32           0 :       write(*,*)'nbnd=',nbnd
      33           0 :       write(*,*)'nwfs=',nwfs
      34             : 
      35           0 :       allocate(anglmom(3,nbnd,nbnd,nkqpts))
      36             : 
      37             :       ! read in separate files
      38           0 :       do q=1,nqpts
      39           0 :        WRITE(fending,'("_",i4.4)')q
      40           0 :        open(405,file='WF1'//trim(fending)//'.anglmom')
      41           0 :        read(405,*) !header
      42           0 :        read(405,*) !nbnd and nkpts
      43           0 :        do k=1,nkpts
      44           0 :         kq=get_index_kq(k,q,nkpts)
      45           0 :         do i=1,nbnd
      46           0 :          do j=1,nbnd
      47           0 :           do d=1,3
      48           0 :            read(405,*)t1,t2,t3,t4,tempr,tempi
      49           0 :            anglmom(d,j,i,kq) = cmplx(tempr,tempi)
      50             :           enddo
      51             :          enddo
      52             :         enddo
      53             :        enddo
      54           0 :        close(405,status='delete')    
      55             :       enddo 
      56             : 
      57             :       ! write file either unformatted or formatted
      58           0 :       if(l_unformatted) then
      59           0 :        open(405,file='WF1_gwf.anglmom',form='unformatted')
      60           0 :        write(405)anglmom
      61           0 :        close(405)
      62             :       else
      63           0 :        open(405,file='WF1_gwf.anglmom')
      64           0 :        write(405,*)'Matrix elements of angular momentum'
      65           0 :        write(405,'(3i5)')nbnd,nbnd,nkqpts
      66           0 :        do kq=1,nkqpts
      67           0 :         do i=1,nbnd
      68           0 :          do j=1,nbnd
      69           0 :           do d=1,3
      70           0 :            write(405,'(4i5,3x,2f18.12)')d,j,i,kq,
      71           0 :      >                                  anglmom(d,j,i,kq)
      72             :           enddo
      73             :          enddo
      74             :         enddo
      75             :        enddo
      76           0 :        close(405)
      77             :       endif
      78             : 
      79           0 :       deallocate(anglmom)
      80             : 
      81           0 :       end subroutine wann_gwf_anglmom
      82             :       end module m_wann_gwf_anglmom

Generated by: LCOV version 1.13