C---*----1----*----2----*----3----*----4----*----5----*----6----*----7
SUBROUTINE CHGAVR(KOPR,NOPR,KIMG)
IMPLICIT REAL(A-H,O-Y)
IMPLICIT COMPLEX(Z)
INCLUDE 'PACVPP'
DIMENSION NPPP(KNG,KO)
DIMENSION TAA(3,KO)
!XOCL SUBPROCESSOR PT(IPARA)=PQ(1:IPARA)
!XOCL INDEX PARTITION IQ=(PT,INDEX=1:KO,PART=BAND)
!XOCL LOCAL NPPP(:,/IQ),TAA(:,/IQ)
EQUIVALENCE (NGPT,NPPP),(TAU,TAA)
FI = 1.D0/DFLOAT(NOPR)
ZI = CMPLX(0.0D0,1.0D0)
C--*-- CASE FOR REAL CHARGE
DO 200 NG = 1,KG
ZXXX(NG) = CMPLX(0.D0,0.0D0)
200 CONTINUE
!XOCL SPREAD DO /IQ
DO 210 NO = 1,NOPR
TX = TAA(1,NO)
TY = TAA(2,NO)
TZ = TAA(3,NO)
DO 220 NG = 1,KG
NGP= NPPP(NG,NO)
FX = GX(NGP)
FY = GY(NGP)
FZ = GZ(NGP)
FP = FX*TX + FY*TY + FZ*TZ
FC = EXP(ZI*FP)
ZCR= ZCHG(NGP)
ZXXX(NG) = ZXXX(NG) + FC*ZCR
220 CONTINUE
210 CONTINUE
!XOCL END SPREAD SUM(ZXXX)
DO 230 NG = 1,KG
ZCHG(NG) = ZXXX(NG) *FI
230 CONTINUE
RETURN
END