LCOV - code coverage report
Current view: top level - wannier - wann_lapw_int_plot.f (source / functions) Hit Total Coverage
Test: combined.info Lines: 0 11 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_lapw_int_plot
       8             : 
       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 :       tpi=2*pimach()
      33           0 :       xiiu=matmul(bmat,point)/tpi_const
      34             : 
      35             : 
      36             : 
      37           0 :       xdnout=cmplx(0.0,0.0)
      38             : 
      39             :       if(.false.)then
      40             : 
      41             :       arg=(tpi*xiiu(1))/unigrid(1)
      42             :       factor1=cmplx(cos(arg),sin(arg))
      43             :       arg=(tpi*xiiu(2))/unigrid(2)
      44             :       factor2=cmplx(cos(arg),sin(arg))
      45             :       arg=(tpi*xiiu(3))/unigrid(3)
      46             :       factor3=cmplx(cos(arg),sin(arg))
      47             : 
      48             :       do pw3=-unigrid(4),unigrid(4)
      49             :        factor3p=(factor3)**pw3
      50             :        do pw2=-unigrid(4),unigrid(4)
      51             :         factor2p=(factor2)**pw2
      52             :         do pw1=-unigrid(4),unigrid(4)
      53             :          factor1p=(factor1)**pw1
      54             : 
      55             :           factor=factor1p*factor2p*factor3p
      56             :           xdnout=xdnout+factor*wannint(pw1,pw2,pw3)
      57             : 
      58             :         enddo
      59             :        enddo
      60             :       enddo 
      61             : 
      62             :       else
      63             : 
      64           0 :       do pw3=-unigrid(4),unigrid(4)
      65           0 :        do pw2=-unigrid(4),unigrid(4)
      66           0 :         do pw1=-unigrid(4),unigrid(4)
      67             :           arg=tpi*(pw1*xiiu(1)/unigrid(1)+pw2*xiiu(2)/unigrid(2)+
      68           0 :      +                  pw3*xiiu(3)/unigrid(3)) 
      69           0 :           factor=cmplx(cos(arg),sin(arg))
      70           0 :           xdnout=xdnout+factor*wannint(pw1,pw2,pw3)
      71             : 
      72             :         enddo
      73             :        enddo
      74             :       enddo 
      75             : 
      76             : 
      77             :       endif   
      78           0 :       END SUBROUTINE wann_lapw_int_plot
      79             :       END MODULE m_wann_lapw_int_plot

Generated by: LCOV version 1.13