Page 1 of 1

bug fix help in paral_kgb case

Posted: Thu Jun 04, 2015 8:09 pm
by jzwanzig
Hi,
my routine make_efg_el.F90 fails in the fft parallel case. The idea in this routine is to FFT the converged ground state density rhor to reciprocal space, and do some sums involving the G vectors and the density. In the non-parallel case I knew the size of rhor and its transform based on elements of nfft(18) but in the parallel case apparently I don't anymore. Can someone direct me to the right documentation to understand how the parallel fft case works?

thanks,
Joe

Re: bug fix help in paral_kgb case  [SOLVED]

Posted: Tue Jun 09, 2015 5:21 pm
by torrent
Hi Joe,

You should have a look in routines doing a similar job, for instance hartre.F90.

I see several modifications to perform:
- eliminate mpi_enreg_seq and replace it by the true mpi_enreg (passed as argument)
- call the ptabs_fourdp routine to inialize (if necessary) the parallel fft tabs
- add a line "if (fftn2_distrib(i2) == me_fft) then" in the igfft2 loop
- call xmpi_reduce on efg(:,:,:) after the loops to merge the computation of the procs

This done, you'll see if debug is necessary or not...

A bientôt,
Marc

Re: bug fix help in paral_kgb case

Posted: Wed Jun 10, 2015 5:49 pm
by jzwanzig
thanks, Marc, this is really helpful--I figured I could understand what's going on if I had an example to compare to.

By way did you see my question posted in the response function section about DDK eigenvalues? I'd be grateful to get your take on that--

thanks
Joe