LCOV - code coverage report
Current view: top level - xc-pot - potl0.f90 (source / functions) Hit Total Coverage
Test: combined.info Lines: 14 14 100.0 %
Date: 2019-09-08 04:53:50 Functions: 1 1 100.0 %

          Line data    Source code
       1             : MODULE m_potl0
       2             : ! ******************************************************************
       3             : ! evaluate the xc-potential vxc for charge density and its
       4             : ! gradients,dens,... only for nonmagnetic.
       5             : ! ******************************************************************
       6             : CONTAINS
       7        1408 :    SUBROUTINE potl0(xcpot,jspins,dx,rad,dens, &
       8         704 :                     vxc)
       9             : 
      10             :       USE m_grdchlh
      11             :       USE m_mkgl0
      12             :       USE m_types
      13             :       IMPLICIT NONE
      14             : 
      15             :       CLASS(t_xcpot),intent(in)::xcpot
      16             :       INTEGER, INTENT (IN) :: jspins
      17             :       REAL,    INTENT (IN) :: dx
      18             :       REAL,    INTENT (IN) :: rad(:),dens(:,:)
      19             :       REAL,    INTENT (OUT):: vxc(:,:)
      20             : 
      21             : !     .. previously untyped names ..
      22             :       INTEGER,PARAMETER :: ndvgrd=6
      23             : 
      24         704 :       TYPE(t_gradients)::grad
      25             : 
      26             :       INTEGER i,ispin,msh
      27         704 :       REAL, ALLOCATABLE :: drr(:,:),ddrr(:,:)
      28             : 
      29        1408 :       REAL              :: vx(size(vxc,1),jspins)
      30             : 
      31         704 :       msh = size(rad)
      32         704 :       ALLOCATE ( drr(msh,jspins),ddrr(msh,jspins))
      33             : !
      34             : !-->  evaluate gradients of dens.
      35             : !
      36         704 :       CALL xcpot%alloc_gradients(msh,jspins,grad)
      37        1731 :       DO ispin = 1, jspins
      38             :          CALL grdchlh(1,1,msh,dx,rad,dens(1:1,ispin),ndvgrd,&
      39        1731 :                      drr(1:1,ispin),ddrr(1:1,ispin))
      40             :       ENDDO
      41             : 
      42             :       CALL mkgl0(jspins,rad,dens,drr,ddrr,&
      43         704 :                  grad)
      44             : !
      45             : ! --> calculate the potential.
      46             : !
      47         704 :       CALL xcpot%get_vxc(jspins, dens(:msh,:), vxc, vx, grad)
      48             : 
      49         704 :       DEALLOCATE ( drr,ddrr )
      50         704 :    END SUBROUTINE potl0
      51             : END MODULE m_potl0

Generated by: LCOV version 1.13