LCOV - code coverage report
Current view: top level - wannier - wann_get_qpts.f (source / functions) Hit Total Coverage
Test: FLEUR test coverage Lines: 0 39 0.0 %
Date: 2024-04-19 04:21:58 Functions: 0 1 0.0 %

          Line data    Source code
       1             :       module m_wann_get_qpts
       2             :       USE m_juDFT
       3             :       contains
       4           0 :       subroutine wann_get_qpts(
       5             :      >               l_bzsym,film,l_readqpts,
       6           0 :      <               nqpts,qpoints,param_file)
       7             : c********************************************************
       8             : c     Read in the q-points from qpts file.
       9             : c 
      10             : c   
      11             : c********************************************************
      12             : 
      13             :       USE m_constants
      14             : 
      15             :       implicit none
      16             : 
      17             :       logical,intent(in)  :: l_bzsym,film
      18             :       logical,intent(in)  :: l_readqpts
      19             :       integer,intent(out) :: nqpts
      20             :       real,intent(inout)  :: qpoints(:,:)
      21             :       character(len=20),intent(in) :: param_file
      22             : 
      23             :       real             :: scale
      24             :       !integer          :: at,j
      25             :       integer          :: iter!,len,num_wann,num_bands,nn,i
      26             :       logical          :: l_file
      27             : 
      28           0 :       call timestart("wann_get_qpts")
      29             : 
      30           0 :       if(l_bzsym)then
      31           0 :          inquire(file='w90qpts',exist=l_file)
      32           0 :          IF(.NOT.l_file) CALL juDFT_error("where is w90qpts?",calledby
      33           0 :      +        ="wann_get_qpts")
      34           0 :          open(987,file='w90qpts',status='old',form='formatted')
      35           0 :          read(987,*)nqpts, scale
      36           0 :          write(oUnit,*)"wann_get_qpts: nqpts=",nqpts
      37           0 :          if(l_readqpts)then
      38           0 :             IF(SIZE(qpoints,1)/=3) CALL juDFT_error("wann_get_qpts: 1"
      39           0 :      +           ,calledby ="wann_get_qpts")
      40           0 :             IF(SIZE(qpoints,2)/=nqpts) 
      41             :      +         CALL juDFT_error("wann_get_qpts: 2",
      42           0 :      +                          calledby ="wann_get_qpts")
      43           0 :             do iter=1,nqpts
      44           0 :                read(987,*)qpoints(:,iter)
      45             :             enddo
      46             :          endif   
      47             :       else
      48           0 :          inquire(file=param_file,exist=l_file)
      49           0 :          IF(.NOT.l_file) CALL juDFT_error(
      50             :      >         "where is "//trim(param_file)//"?",calledby
      51           0 :      +        ="wann_get_qpts")
      52           0 :          open(987,file=param_file,status='old',form='formatted')
      53           0 :          read(987,*)nqpts,scale
      54           0 :          write(oUnit,*)"wann_get_qpts: nqpts=",nqpts
      55           0 :          if(l_readqpts)then
      56           0 :             IF(SIZE(qpoints,1)/=3) CALL juDFT_error("wann_get_qpts: 1"
      57           0 :      +           ,calledby ="wann_get_qpts")
      58           0 :             IF(SIZE(qpoints,2)/=nqpts) 
      59             :      +         CALL juDFT_error("wann_get_qpts: 2",
      60           0 :      +                          calledby ="wann_get_qpts")
      61           0 :             do iter=1,nqpts
      62           0 :                read(987,*)qpoints(:,iter)
      63             :             enddo
      64             :          endif   
      65             :       endif
      66             : 
      67           0 :       close(987)
      68             : 
      69           0 :       if(l_readqpts)then
      70           0 :          qpoints=qpoints/scale !* 2.0 !2xBZ
      71           0 :          if(film)then 
      72           0 :             qpoints(3,:)=0.0
      73             :          endif   
      74           0 :          do iter=1,nqpts
      75           0 :             write(oUnit,*)qpoints(:,iter)
      76             :          enddo
      77             :       endif
      78             : 
      79           0 :       call timestop("wann_get_qpts")
      80           0 :       end subroutine wann_get_qpts
      81             :       end module m_wann_get_qpts

Generated by: LCOV version 1.14