LCOV - code coverage report
Current view: top level - wannier - wann_plot_symm.f (source / functions) Hit Total Coverage
Test: combined.info Lines: 0 35 0.0 %
Date: 2019-09-08 04:53:50 Functions: 0 1 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_wann_plot_symm
       8             :       CONTAINS
       9           0 :       SUBROUTINE wann_plot_symm(jspin,mrot,ikpt,kplot,l_conjugate)
      10             : 
      11             :       implicit none
      12             :       integer,intent(in)::jspin,ikpt,kplot
      13             :       logical,intent(in)::l_conjugate
      14             :       integer,intent(in)::mrot(3,3)
      15             :       character(len=10)::vandernameold
      16             :       character(len=10)::vandernamenew
      17             :       integer::grid(3),nslibd,ikpt_copy,nbnd
      18             :       integer::ix,iy,iz,ixx,iyy,izz
      19             :       complex::xdnout
      20           0 :       real,allocatable::xdnreal(:,:,:,:),xdnimag(:,:,:,:)
      21             :       real::point(3)
      22             :       real::rotpoint(3)
      23             :       integer::opoint1,opoint2,opoint3
      24             : 
      25           0 :       WRITE (vandernameold,201) ikpt,jspin
      26           0 :       write (vandernamenew,201) kplot,jspin
      27             :  201  FORMAT ('UNK',i5.5,'.',i1)      
      28           0 :       open(55,file=vandernameold)
      29           0 :       read(55,*)grid(1),grid(2),grid(3),ikpt_copy,nslibd
      30           0 :       allocate(xdnreal(0:grid(1)-1,0:grid(2)-1,0:grid(3)-1,nslibd))
      31           0 :       allocate(xdnimag(0:grid(1)-1,0:grid(2)-1,0:grid(3)-1,nslibd))
      32           0 :       do nbnd=1,nslibd
      33           0 :        do iz=0,grid(3)-1
      34           0 :         do iy=0,grid(2)-1
      35           0 :          do ix=0,grid(1)-1
      36           0 :             read(55,*)xdnreal(ix,iy,iz,nbnd),xdnimag(ix,iy,iz,nbnd)
      37             :          enddo
      38             :         enddo
      39             :        enddo
      40             :       enddo
      41           0 :       close(55)
      42           0 :       open(666,file=vandernamenew,form='formatted')
      43           0 :       write(666,'(5i4)')grid(1),grid(2),grid(3),kplot,nslibd
      44           0 :       do nbnd=1,nslibd
      45           0 :        do iz=0,grid(3)-1
      46           0 :         do iy=0,grid(2)-1
      47           0 :          do ix=0,grid(1)-1
      48           0 :           point(1)=real(ix)/grid(1)
      49           0 :           point(2)=real(iy)/grid(2)
      50           0 :           point(3)=real(iz)/grid(3)
      51           0 :           rotpoint(:)=matmul(point(1:3),1.0*mrot(1:3,1:3))
      52           0 :           where(rotpoint.lt.0)
      53             :              rotpoint=rotpoint+1.0
      54             :           endwhere
      55           0 :           opoint1=int(grid(1)*rotpoint(1)+0.01)
      56           0 :           opoint2=int(grid(2)*rotpoint(2)+0.01)
      57           0 :           opoint3=int(grid(3)*rotpoint(3)+0.01)
      58           0 :           if(l_conjugate)then
      59           0 :             write(666,*)xdnreal(opoint1,opoint2,opoint3,nbnd),
      60           0 :      &               -xdnimag(opoint1,opoint2,opoint3,nbnd)
      61             :           else
      62           0 :             write(666,*)xdnreal(opoint1,opoint2,opoint3,nbnd),
      63           0 :      &               xdnimag(opoint1,opoint2,opoint3,nbnd)
      64             :           endif
      65             :          enddo
      66             :         enddo
      67             :        enddo
      68             :       enddo
      69           0 :       close(666)
      70             : 
      71           0 :       END SUBROUTINE wann_plot_symm
      72             :       END MODULE m_wann_plot_symm

Generated by: LCOV version 1.13