SUBROUTINE fft_test(ik0) USE kinds, ONLY : DP USE gwsigma, ONLY : ngmsco, sigma, sigma_g, nrsco, nlsco, fft6_g2r, ecutsco, ngmsig USE wvfct, ONLY : nbnd, npw, npwx, igk, g2kin, et USE eqv, ONLY : evq, eprec USE gvect, ONLY : g, ngm, ecutwfc, nl USE cell_base, ONLY : tpiba2, tpiba USE qpoint, ONLY : xq, npwq, igkq, nksq, ikks, ikqs USE disp, ONLY : nqs, nq1, nq2, nq3, wq, x_q USE control_gw, ONLY : lgamma, eta USE units_gw, ONLY : iuncoul, iungreen, iunsigma, lrsigma, lrcoul, lrgrn, iuwfc, lrwfc USE freq_gw, ONLY : fpol, fiu, nfs, nfsmax,& nwcoul, nwgreen, nwalloc, nwsigma, wtmp, wcoul,& wgreen, wsigma, wsigmamin, wsigmamax,& deltaw, wcoulmax, ind_w0mw, ind_w0pw IMPLICIT NONE INTEGER :: ig, igp, npe, irr, icounter, ir, irp INTEGER :: igstart, igstop, igpert INTEGER :: iq, ipol INTEGER :: ikmq, ik0, ik INTEGER :: rec0, ios INTEGER :: counter !G arrays: COMPLEX(DP), ALLOCATABLE :: greenf_g(:,:), greenfp(:,:), greenfm(:,:) INTEGER :: iwim, iw INTEGER :: iw0, iwp, iw0mw, iw0pw REAL(DP) :: w_ryd(nwcoul) !For running PWSCF need some variables LOGICAL :: do_band, do_iq, setup_pw, exst ALLOCATE (igkq ( npwx)) ALLOCATE (g2kin ( npwx)) ALLOCATE ( greenf_g (ngmsco, ngmsco) ) ALLOCATE ( greenfp (nrsco, nrsco) ) ALLOCATE ( greenfm (nrsco, nrsco) ) igkq(:) = 0 CALL allocate_fft() CALL ggen() write(6,*) write(6,*)nlsco write(6,*) do iq = 1, nqs CALL prepare_kmq(do_band, do_iq, setup_pw, iq, ik0) CALL gk_sort(xq(1), ngm, g, (4*ecutsco)/tpiba2, npwq, igkq, g2kin) counter = 0 do ig = 1, npwx if((igkq(ig).lt.ngmsco).and.((igkq(ig)).gt.0)) then !if((g2kin(ig).le.(4*ecutsco/tpiba2)).and.((igkq(ig)).gt.0)) then counter = counter + 1 igkq(counter) = igkq(ig) endif enddo write(6,'("igkq")') write(6,*) igkq write(6,*) write(6,'("nlsco(igkq)")') write(6,*) counter do ig = 1, counter, 6 !write(6,*) nlsco(igkq(ig)) write(6,'(6i)') nlsco(igkq(ig:ig+5)) enddo write(6,*) !do iw = 1, nwgreen !DO iw0 = 1, nwsigma iw = 1 iw0 = 1 iw0mw = ind_w0mw (iw0,iw) iw0pw = ind_w0pw (iw0,iw) !rec0 = (iw0mw-1) * 1 * nqs + (ik0-1) * nqs + (iq-1) + 1 !CALL davcio( greenf_g, lrgrn, iungreen, rec0, -1 ) !CALL fft6_g2r (counter, nrsco, nlsco, greenf_g, greenfm, 1, 1) !write(6,*) greenfm !ENDDO !on iw0 enddo END SUBROUTINE fft_test