9 subroutine ggamt_sp_1(is,np,rhoup,rhodn,grho,gup,gdn,g2up,g2dn,g3rho,g3up,g3dn)
43 integer,
intent(in) :: is,np
44 real(8),
intent(in) :: rhoup(np),rhodn(np)
45 real(8),
intent(out) :: grho(np),gup(np),gdn(np)
46 real(8),
intent(out) :: g2up(np),g2dn(np)
47 real(8),
intent(out) :: g3rho(np),g3up(np),g3dn(np)
51 real(8) grfmt(np,3),gvup(np,3),gvdn(np,3)
52 real(8) rfmt1(np),rfmt2(np)
59 call rfsht(nr,nri,rhoup,rfmt1)
61 call gradrfmt(nr,nri,
rlmt(:,-1,is),
wcrmt(:,:,is),rfmt1,np,grfmt)
63 call rbsht(nr,nri,grfmt(:,i),gvup(:,i))
66 gup(1:np)=sqrt(gvup(1:np,1)**2+gvup(1:np,2)**2+gvup(1:np,3)**2)
68 call grad2rfmt(nr,nri,
rlmt(:,-1,is),
rlmt(:,-2,is),
wcrmt(:,:,is),rfmt1,rfmt2)
69 call rbsht(nr,nri,rfmt2,g2up)
71 call rfsht(nr,nri,gup,rfmt1)
72 call gradrfmt(nr,nri,
rlmt(:,-1,is),
wcrmt(:,:,is),rfmt1,np,grfmt)
75 call rbsht(nr,nri,grfmt(:,i),rfmt1)
76 g3up(1:np)=g3up(1:np)+gvup(1:np,i)*rfmt1(1:np)
82 call rfsht(nr,nri,rhodn,rfmt1)
84 call gradrfmt(nr,nri,
rlmt(:,-1,is),
wcrmt(:,:,is),rfmt1,np,grfmt)
86 call rbsht(nr,nri,grfmt(:,i),gvdn(:,i))
88 gdn(1:np)=sqrt(gvdn(1:np,1)**2+gvdn(1:np,2)**2+gvdn(1:np,3)**2)
90 call grad2rfmt(nr,nri,
rlmt(:,-1,is),
rlmt(:,-2,is),
wcrmt(:,:,is),rfmt1,rfmt2)
91 call rbsht(nr,nri,rfmt2,g2dn)
93 call rfsht(nr,nri,gdn,rfmt1)
94 call gradrfmt(nr,nri,
rlmt(:,-1,is),
wcrmt(:,:,is),rfmt1,np,grfmt)
97 call rbsht(nr,nri,grfmt(:,i),rfmt1)
98 g3dn(1:np)=g3dn(1:np)+gvdn(1:np,i)*rfmt1(1:np)
104 grho(1:np)=sqrt((gvup(1:np,1)+gvdn(1:np,1))**2 &
105 +(gvup(1:np,2)+gvdn(1:np,2))**2 &
106 +(gvup(1:np,3)+gvdn(1:np,3))**2)
108 call rfsht(nr,nri,grho,rfmt1)
109 call gradrfmt(nr,nri,
rlmt(:,-1,is),
wcrmt(:,:,is),rfmt1,np,grfmt)
112 call rbsht(nr,nri,grfmt(:,i),rfmt1)
113 g3rho(1:np)=g3rho(1:np)+(gvup(1:np,i)+gvdn(1:np,i))*rfmt1(1:np)
real(8), dimension(:,:,:), allocatable rlmt
subroutine rbsht(nr, nri, rfmt1, rfmt2)
subroutine ggamt_sp_1(is, np, rhoup, rhodn, grho, gup, gdn, g2up, g2dn, g3rho, g3up, g3dn)
subroutine gradrfmt(nr, nri, ri, wcr, rfmt, ld, grfmt)
subroutine rfsht(nr, nri, rfmt1, rfmt2)
subroutine grad2rfmt(nr, nri, ri, ri2, wcr, rfmt, g2rfmt)
real(8), dimension(:,:,:), allocatable wcrmt
integer, dimension(maxspecies) nrmti
integer, dimension(maxspecies) nrmt