46 COMPLEX(KIND=dp),
ALLOCATABLE,
DIMENSION(:) :: cc
47 INTEGER :: group_size, ig1, ig2, ip, jg2, me, ng1, &
49 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: ngr
50 INTEGER,
ALLOCATABLE,
DIMENSION(:, :) :: g_hat
51 INTEGER,
DIMENSION(3) :: k1, k2
61 group = pg1%para%group
62 group_size = pg1%para%group%num_pe
63 me = pg1%para%group%mepos
64 ALLOCATE (ngr(group_size))
66 ngr(me + 1) = pg1%ngpts_cut_local
70 cc(1:ng1) = pw1%array(1:ng1)
73 ALLOCATE (g_hat(3, ngm))
75 g_hat(1:3, 1:ng1) = pg1%g_hat(1:3, 1:ng1)
79 IF (penow < 0) penow = penow + group_size
81 DO ig1 = 1, ngr(penow + 1)
82 k1(1:3) = g_hat(1:3, ig1)
85 k2(1:3) = pg2%g_hat(1:3, ig2)
86 IF (sum(abs(k1 - k2)) == 0)
THEN
91 IF (jg2 /= 0) pw2%array(jg2) = cc(ig1)
93 IF (ip /= group_size)
THEN
95 CALL group%shift(g_hat)
100 DEALLOCATE (ngr, cc, g_hat)