fix error in atom assignment to mpi ranks

This commit is contained in:
Alberto Otero de la Roza 2019-08-05 01:34:59 +02:00
parent 15dd69c9bd
commit cd5f3cac63
1 changed files with 7 additions and 7 deletions

View File

@ -97,11 +97,11 @@ SUBROUTINE d2ionq_xdm(alat,nat,at,tau,q,der2xdm)
resto = MOD(nat,nproc_image)
divid = nat/nproc_image
IF (me_image+1 <= resto) THEN
first = (divid + 1) * me_image + 1
last = (divid + 1) * (me_image + 1)
first = (divid+1) * me_image + 1
last = (divid+1) * (me_image+1)
ELSE
first = (divid + 1) * resto + divid * me_image-resto + 1
last = (divid + 1) * resto + divid * (me_image-resto+1)
first = ((divid+1) * resto) + divid * (me_image-resto) + 1
last = (divid+1) * resto + divid * (me_image-resto+1)
ENDIF
#else
first = 1
@ -115,7 +115,7 @@ SUBROUTINE d2ionq_xdm(alat,nat,at,tau,q,der2xdm)
dtau = tau(:,k) - tau(:,l)
#if defined(__INTEL_COMPILER) && (__INTEL_COMPILER < 1600)
!$omp parallel do private(r,d2,dd,g,gp,h,hp,eiqr,auxr) default(shared), reduction(+:aux), reduction(+:aux2), reduction(-:ene)
!$omp parallel do private(r,d2,dd,g,gp,h,hp,eiqr,auxr) default(shared), reduction(+:aux), reduction(+:aux2), reduction(+:ene)
#endif
DO nr = 1, nvec
r = lvec(1,nr) * at(:,1) + lvec(2,nr) * at(:,2) + lvec(3,nr) * at(:,3) - dtau
@ -158,8 +158,8 @@ SUBROUTINE d2ionq_xdm(alat,nat,at,tau,q,der2xdm)
ENDDO ! l
ENDDO ! k
CALL mp_sum(ene ,intra_image_comm)
CALL mp_sum(der2xdm ,intra_image_comm)
CALL mp_sum(ene, intra_image_comm)
CALL mp_sum(der2xdm, intra_image_comm)
IF (ionode) THEN
WRITE (stdout,'(5X,"XDM energy = ",F17.8," Ry")') ene