LCOV - code coverage report
Current view: top level - wannier - wann_lapw_int_plot.f (source / functions) Hit Total Coverage
Test: FLEUR test coverage Lines: 0 13 0.0 %
Date: 2024-04-26 04:44:34 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_lapw_int_plot
       8             :         use m_juDFT
       9             : c***************************************************************
      10             : c         plot wannierfunction in interstitial
      11             : c         Frank Freimuth, November 2006
      12             : c***************************************************************
      13             : 
      14             :       CONTAINS
      15           0 :       SUBROUTINE wann_lapw_int_plot(point,bmat,unigrid,wannint,
      16             :      <                              xdnout)
      17             :       use m_constants
      18             :       implicit none
      19             :       real,intent(in)::point(3)
      20             :       real,intent(in)::bmat(3,3)
      21             :       integer,intent(in)::unigrid(4)
      22             :       complex,intent(in)::wannint(-unigrid(4):unigrid(4),
      23             :      ,                            -unigrid(4):unigrid(4),
      24             :      ,                            -unigrid(4):unigrid(4))
      25             :       complex,intent(out)::xdnout
      26             : 
      27             :       real xiiu(3),tpi,arg
      28             :       complex factor1,factor2,factor3
      29             :       complex factor1p,factor2p,factor3p,factor
      30             :       integer pw1,pw2,pw3
      31             : 
      32           0 :       call timestart("wann_lapw_int_plot")
      33             : 
      34           0 :       tpi=2*pimach()
      35           0 :       xiiu=matmul(bmat,point)/tpi_const
      36             : 
      37             : 
      38             : 
      39           0 :       xdnout=cmplx(0.0,0.0)
      40             : 
      41             :       if(.false.)then
      42             : 
      43             :       arg=(tpi*xiiu(1))/unigrid(1)
      44             :       factor1=cmplx(cos(arg),sin(arg))
      45             :       arg=(tpi*xiiu(2))/unigrid(2)
      46             :       factor2=cmplx(cos(arg),sin(arg))
      47             :       arg=(tpi*xiiu(3))/unigrid(3)
      48             :       factor3=cmplx(cos(arg),sin(arg))
      49             : 
      50             :       do pw3=-unigrid(4),unigrid(4)
      51             :        factor3p=(factor3)**pw3
      52             :        do pw2=-unigrid(4),unigrid(4)
      53             :         factor2p=(factor2)**pw2
      54             :         do pw1=-unigrid(4),unigrid(4)
      55             :          factor1p=(factor1)**pw1
      56             : 
      57             :           factor=factor1p*factor2p*factor3p
      58             :           xdnout=xdnout+factor*wannint(pw1,pw2,pw3)
      59             : 
      60             :         enddo
      61             :        enddo
      62             :       enddo 
      63             : 
      64             :       else
      65             : 
      66           0 :       do pw3=-unigrid(4),unigrid(4)
      67           0 :        do pw2=-unigrid(4),unigrid(4)
      68           0 :         do pw1=-unigrid(4),unigrid(4)
      69             :           arg=tpi*(pw1*xiiu(1)/unigrid(1)+pw2*xiiu(2)/unigrid(2)+
      70           0 :      +                  pw3*xiiu(3)/unigrid(3)) 
      71           0 :           factor=cmplx(cos(arg),sin(arg))
      72           0 :           xdnout=xdnout+factor*wannint(pw1,pw2,pw3)
      73             : 
      74             :         enddo
      75             :        enddo
      76             :       enddo 
      77             : 
      78             : 
      79             :       endif  
      80           0 :       call timestop("wann_lapw_int_plot") 
      81           0 :       END SUBROUTINE wann_lapw_int_plot
      82             :       END MODULE m_wann_lapw_int_plot

Generated by: LCOV version 1.14