14integer l1,l2,l3,m1,m2,m3
18real(8),
external :: gaunt
23if (any(
task == [135,170,171,172,173]))
then
27 if (
allocated(
nhk))
deallocate(
nhk)
31 if (
allocated(
vhkl))
deallocate(
vhkl)
33 if (
allocated(
vhkc))
deallocate(
vhkc)
35 if (
allocated(
hkc))
deallocate(
hkc)
47 vl(:)=vl(:)+0.5d0*
vqlss(:)
48 vc(:)=vc(:)+0.5d0*
vqcss(:)
50 vl(:)=vl(:)-0.5d0*
vqlss(:)
51 vc(:)=vc(:)-0.5d0*
vqcss(:)
56 ihkig(:,jspn,ik),
vhkl(:,:,jspn,ik),
vhkc(:,:,jspn,ik),
hkc(:,jspn,ik))
58 call gensfacgp(
nhk(jspn,ik),
vhkc(:,:,jspn,ik),
nhkmax,
sfachk(:,:,jspn,ik))
78 if (
allocated(
vkql))
deallocate(
vkql)
80 if (
allocated(
vkqc))
deallocate(
vkqc)
82 if (
allocated(
ngkq))
deallocate(
ngkq)
90 if (
allocated(
gkqc))
deallocate(
gkqc)
100 if (
allocated(
vgqc))
deallocate(
vgqc)
102 if (
allocated(
gqc))
deallocate(
gqc)
163 if (
allocated(
dhaa))
deallocate(
dhaa)
pure subroutine findngkmax(nkpt, vkc, nspnfv, vqcss, ngv, vgc, gkmax, ngkmax)
real(8) function gaunt(l1, l2, l3, m1, m2, m3)
pure subroutine gengkvec(ngv, ivg, vgc, vkl, vkc, gkmax, ngkmax, ngk, igkig, vgkl, vgkc, gkc)
pure subroutine gensfacgp(ngp, vgpc, ld, sfacgp)
real(8), dimension(3) vqcss
integer, dimension(:,:), allocatable ivg
real(8), dimension(:,:), allocatable vkl
real(8), dimension(:,:), allocatable vgc
real(8), dimension(3) vqlss
real(8), dimension(:,:), allocatable vkc
real(8), dimension(:,:), allocatable vkql
integer, dimension(:,:), allocatable ngkq
complex(8), dimension(:,:,:,:), allocatable sfacgkq
real(8), dimension(:,:), allocatable doccsv
real(8), dimension(:,:,:,:), allocatable vgkqc
complex(8), dimension(:,:), allocatable ylmgq
complex(8), dimension(:), allocatable dcfunir
real(8), dimension(:), allocatable gclgq
real(8), dimension(:,:,:), allocatable jlgqrmt
real(8), dimension(:), allocatable gqc
complex(8), dimension(:), allocatable dvsir
complex(8), dimension(:,:,:,:), allocatable dhlolo
complex(8), dimension(:,:), pointer, contiguous dvsmt
complex(8), dimension(:,:,:), allocatable dmagmt
complex(8), dimension(:,:,:,:,:), allocatable dhloa
complex(8), dimension(:,:), pointer, contiguous dbsir
complex(8), dimension(:,:), allocatable dsocfr
real(8), dimension(:,:), allocatable ffacgq
complex(8), dimension(:), allocatable dcfunig
complex(8), dimension(:,:,:,:,:,:), allocatable dhaa
real(8), dimension(:,:), allocatable devalsv
complex(8), dimension(:,:), allocatable dmagir
complex(8), dimension(:), allocatable drhoir
real(8), dimension(:,:,:,:), allocatable vgkql
real(8), dimension(:,:,:), allocatable gntyyy
complex(8), dimension(:,:), allocatable drhomt
real(8), dimension(:,:,:), allocatable devalfv
real(8), dimension(:,:,:), allocatable gkqc
real(8), dimension(:,:), allocatable vgqc
real(8), dimension(:,:), allocatable vkqc
integer, dimension(:,:,:), allocatable igkqig
complex(8), dimension(:,:), allocatable sfacgq
complex(8), dimension(:), allocatable, target dvsbs
complex(8), dimension(:), allocatable gvsmt
complex(8), dimension(:,:), allocatable dvclmt
complex(8), dimension(:), allocatable dvclir
complex(8), dimension(:,:,:), pointer, contiguous dbsmt
complex(8), dimension(:), pointer, contiguous dvsig
integer, dimension(:,:,:), allocatable ihkig
real(8), dimension(:,:,:), allocatable hkc
real(8), dimension(:,:,:,:), allocatable vhkc
integer, dimension(:,:), allocatable nhk
complex(8), dimension(:,:,:,:), allocatable sfachk
real(8), dimension(:,:,:,:), allocatable vhkl
subroutine writevars(vname, n1, n2, n3, n4, n5, n6, nv, iv, iva, rv, rva, zv, zva, sv, sva)