LCOV - code coverage report
Current view: top level - vgen - vacp5_z.f (source / functions) Hit Total Coverage
Test: combined.info Lines: 0 20 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_vacp5_z
       8             :       CONTAINS
       9           0 :       SUBROUTINE vacp5_z(
      10           0 :      >     nmzxyd,nmzxy,z1,delz,fpi,II,KK,rxy,m,
      11           0 :      <     pvac)
      12             : 
      13             : c     calculates a part of a vacuum potential caused 
      14             : c     by the vacuum charge density for the g_z.ne.0 component
      15             : c     based on the using of the Green function
      16             : c                      Y. Mokrousov
      17             :       
      18             :       USE m_modcyli
      19             :       USE m_modcylk
      20             :       USE m_qsf
      21             :       IMPLICIT NONE
      22             : 
      23             :       INTEGER, INTENT (IN) :: nmzxy,nmzxyd,m
      24             :       REAL,    INTENT (IN) :: z1,delz,fpi
      25             :       REAL,    INTENT (IN) :: II(nmzxyd),KK(nmzxyd)
      26             :       COMPLEX, INTENT (IN) :: rxy(nmzxyd)
      27             :       COMPLEX, INTENT (OUT):: pvac(nmzxyd)
      28             : 
      29             :       INTEGER imz,imz1
      30           0 :       REAL    z,zp,vr(nmzxyd),vi(nmzxyd)
      31           0 :       REAL    grfr(nmzxyd),grfi(nmzxyd)
      32             : 
      33           0 :       DO 200 imz = 1,nmzxy
      34             :          
      35           0 :          z = z1 + delz*(imz-1)
      36             :          
      37           0 :          DO 300 imz1 = 1,nmzxy
      38             :             
      39           0 :             zp = z1 + delz*(imz1-1)
      40             : 
      41             : 
      42           0 :             IF (imz1.LE.imz) THEN
      43             : 
      44             :                grfr(imz1) = fpi*II(imz1)*KK(imz)*zp*
      45           0 :      *              real(rxy(imz1))
      46             :                grfi(imz1) = fpi*II(imz1)*KK(imz)*zp*
      47           0 :      *              aimag(rxy(imz1))
      48             :             
      49             :             ELSE
      50             :                
      51             :                grfr(imz1) = fpi*II(imz)*KK(imz1)*zp*
      52           0 :      *              real(rxy(imz1))
      53             :                grfi(imz1) = fpi*II(imz)*KK(imz1)*zp*
      54           0 :      *              aimag(rxy(imz1))
      55             : 
      56             :             END IF
      57             : 
      58           0 :  300     CONTINUE               ! imz1
      59             :          
      60           0 :          CALL qsf(delz,grfr(1),vr,nmzxy,0)
      61           0 :          CALL qsf(delz,grfi(1),vi,nmzxy,0)
      62             : 
      63           0 :          pvac(imz) = cmplx(vr(1),vi(1))
      64             :       
      65           0 :  200  CONTINUE                  ! imz
      66             : 
      67           0 :       END SUBROUTINE vacp5_z
      68             :       END MODULE m_vacp5_z

Generated by: LCOV version 1.13