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

Generated by: LCOV version 2.0-1