The Elk Code
zvcldisp.f90
Go to the documentation of this file.
1 
2 ! Copyright (C) 2020 J. K. Dewhurst and S. Sharma.
3 ! This file is distributed under the terms of the GNU General Public License.
4 ! See the file COPYING for license details.
5 
6 subroutine zvcldisp(zvclmt)
7 use modmain
8 use modtddft
9 implicit none
10 ! arguments
11 complex(8), intent(inout) :: zvclmt(npmtmax,natmtot)
12 ! local variables
13 integer is,ia,ias,np,i
14 real(8) t1
15 do is=1,nspecies
16  np=npmt(is)
17  do ia=1,natoms(is)
18  ias=idxas(ia,is)
19  do i=1,3
20  t1=-atdvc(i,0,ia,is)
21 ! add the gradient of the Coulomb potential of the nucleus plus static density
22  zvclmt(1:np,ias)=zvclmt(1:np,ias)+t1*gvnsmt(1:np,i,ias)
23  end do
24  end do
25 end do
26 end subroutine
27 
integer, dimension(maxatoms, maxspecies) idxas
Definition: modmain.f90:42
complex(8), dimension(:,:,:), allocatable gvnsmt
Definition: modtddft.f90:88
integer, dimension(maxspecies) npmt
Definition: modmain.f90:213
subroutine zvcldisp(zvclmt)
Definition: zvcldisp.f90:7
real(8), dimension(3, 0:1, maxatoms, maxspecies) atdvc
Definition: modmain.f90:64
integer, dimension(maxspecies) natoms
Definition: modmain.f90:36
integer nspecies
Definition: modmain.f90:34