LCOV - code coverage report
Current view: top level - wannier - wann_gwf_write_mmnk.F (source / functions) Hit Total Coverage
Test: combined.info Lines: 0 24 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 write the  c
       3             : c  composite overlaps    c
       4             : c************************c
       5             :       module m_wann_gwf_write_mmnk
       6             :       contains
       7           0 :       subroutine wann_gwf_write_mmnk(mmnk_filename,
       8             :      >               nkpts,nntot,
       9           0 :      >               nbnd,bpt,gb,mmnk,l_unformat)
      10             : 
      11             :       implicit none
      12             :       character(len=*),intent(in) :: mmnk_filename
      13             :       integer, intent(in)    :: nkpts,nntot,nbnd
      14             :       integer, intent(in)    :: bpt(nntot,nkpts),gb(4,nntot,nkpts)
      15             :       complex, intent(inout) :: mmnk(nbnd,nbnd,nntot,nkpts)
      16             :       logical, intent(in)    :: l_unformat
      17             : 
      18             :       integer :: ikpt,i,j
      19             :       integer :: ikpt_b
      20             : 
      21           0 :       if(.not.l_unformat)then
      22             : 
      23           0 :        open (305,file=trim(mmnk_filename)//'.mmn')
      24           0 :        write (305,*) 'Overlaps at neighboring (k,q)-points'
      25           0 :        write (305,'(i5,i7,i5)') nbnd,nkpts,nntot
      26           0 :        do ikpt = 1,nkpts
      27           0 :         do ikpt_b = 1,nntot
      28           0 :          write (305,'(i7,i7,3x,4i4)') ikpt,bpt(ikpt_b,ikpt),
      29           0 :      &                                  gb(1:4,ikpt_b,ikpt)
      30           0 :          do i = 1,nbnd
      31           0 :           do j = 1,nbnd
      32             :            write (305,'(2f24.18)')
      33           0 :      &         real(mmnk(j,i,ikpt_b,ikpt)),-aimag(mmnk(j,i,ikpt_b,ikpt))
      34             :           enddo
      35             :          enddo
      36             :         enddo
      37             :        enddo !ikpt
      38           0 :        close (305)
      39             : 
      40             :       else
      41             : 
      42           0 :        open(305,file=trim(mmnk_filename)//'.mmn',form='unformatted')
      43           0 :        write(305) nbnd,nkpts,nntot
      44           0 :        do ikpt = 1,nkpts
      45           0 :         do ikpt_b = 1,nntot
      46           0 :          write (305) ikpt,bpt(ikpt_b,ikpt),
      47           0 :      &               gb(1:4,ikpt_b,ikpt)
      48           0 :          write (305) ((conjg(mmnk(j,i,ikpt_b,ikpt)),
      49           0 :      &                 j=1,nbnd),i=1,nbnd)
      50             :         enddo
      51             :        enddo !ikpt
      52           0 :        close (305)
      53             : 
      54             :       endif !l_unformat
      55             : 
      56             : 
      57           0 :       end subroutine wann_gwf_write_mmnk
      58             : 
      59             :       end module m_wann_gwf_write_mmnk

Generated by: LCOV version 1.13