bug fix, sticks and serial Gamma code. The do_fft_x and do_fft_y

vectors was built only from half of G-space.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@201 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
cavazzon 2003-05-03 15:10:42 +00:00
parent 90d14d64ca
commit 7ec278895a
2 changed files with 9 additions and 3 deletions

View File

@ -44,8 +44,8 @@ subroutine data_structure_scal
nrx3s = nr3s
nrxxs = nrx1s * nrx2s * nrx3s
CALL fft_dlay_allocate( dfftp, nproc_pool, MAX(nrx1, nrx3), nrx2 )
CALL fft_dlay_allocate( dffts, nproc_pool, MAX(nrx1s, nrx3s) , nrx2s )
CALL fft_dlay_allocate( dfftp, nproc_pool, MAX(nrx1, nrx3), nrx3 )
CALL fft_dlay_allocate( dffts, nproc_pool, MAX(nrx1s, nrx3s) , nrx3s )
!
! compute the number of g necessary to the calculation
@ -85,6 +85,7 @@ subroutine data_structure_scal
if (amod.le.gcutms) ngms = ngms + 1
if ( amod <= gkcut ) then
stw( i2, i3 ) = 1
stw( -i2, -i3 ) = 1
end if
20 continue
enddo

View File

@ -1072,10 +1072,15 @@ subroutine cfft3ds (f, nr1, nr2, nr3, nrx1, nrx2, nrx3, sign, do_fft_x, do_fft_y
tscale = 1.d0
isign = - sign ! here we follow ESSL convention
!
! ESSL sign convention for fft's is the opposite of the "usual" one
!
! write(6, fmt="('DEBUG cfft3ds :',6I6)") nr1, nr2, nr3, nrx1, nrx2, nrx3
! write(6, fmt="('DEBUG cfft3ds :',24I2)") do_fft_x
! write(6, fmt="('DEBUG cfft3ds :',24I2)") do_fft_y
IF( nr2 /= nrx2 ) &
CALL errore(' cfft3ds ', ' wrong dimensions: nr2 /= nrx2 ', 1 )
@ -1253,7 +1258,7 @@ subroutine cfft3ds (f, nr1, nr2, nr3, nrx1, nrx2, nrx3, sign, do_fft_x, do_fft_y
enddo
#if defined __AIX || defined __FFTW
call dscal (2 * nrx1 * nrx2 * nr3, 1d0 / (nr1 * nr2 * nr3), f( 1 ), 1)
call DSCAL (2 * nrx1 * nrx2 * nr3, 1.0d0 / (nr1 * nr2 * nr3), f( 1 ), 1)
#endif
END IF