saxs fgproc>1 Adam's correction
authorCezary Czaplewski <czarek@chem.univ.gda.pl>
Fri, 6 Jul 2018 13:00:54 +0000 (15:00 +0200)
committerCezary Czaplewski <czarek@chem.univ.gda.pl>
Fri, 6 Jul 2018 13:00:54 +0000 (15:00 +0200)
source/unres/src_MD-M/energy_p_new_barrier.F

index 8932003..badacd2 100644 (file)
@@ -11328,46 +11328,46 @@ c CA CA
       enddo ! i
 #ifdef MPI
       if (nfgtasks.gt.1) then 
-        call MPI_Reduce(Pcalc(1),Pcalc_(1),nsaxs,MPI_DOUBLE_PRECISION,
-     &    MPI_SUM,king,FG_COMM,IERR)
-        if (fg_rank.eq.king) then
+       call MPI_AllReduce(Pcalc(1),Pcalc_(1),nsaxs,MPI_DOUBLE_PRECISION,
+     &    MPI_SUM,FG_COMM,IERR)
+c        if (fg_rank.eq.king) then
           do k=1,nsaxs
             Pcalc(k) = Pcalc_(k)
           enddo
-        endif
-        call MPI_Reduce(PgradC(k,1,1),PgradC_(k,1,1),3*maxsaxs*nres,
-     &    MPI_DOUBLE_PRECISION,MPI_SUM,king,FG_COMM,IERR)
-        if (fg_rank.eq.king) then
-          do i=1,nres
-            do l=1,3
-              do k=1,nsaxs
-                PgradC(k,l,i) = PgradC_(k,l,i)
-              enddo
-            enddo
-          enddo
-        endif
+c        endif
+c        call MPI_AllReduce(PgradC(k,1,1),PgradC_(k,1,1),3*maxsaxs*nres,
+c     &    MPI_DOUBLE_PRECISION,MPI_SUM,FG_COMM,IERR)
+c        if (fg_rank.eq.king) then
+c          do i=1,nres
+c            do l=1,3
+c              do k=1,nsaxs
+c                PgradC(k,l,i) = PgradC_(k,l,i)
+c              enddo
+c            enddo
+c          enddo
+c        endif
 #ifdef ALLSAXS
-        call MPI_Reduce(PgradX(k,1,1),PgradX_(k,1,1),3*maxsaxs*nres,
-     &    MPI_DOUBLE_PRECISION,MPI_SUM,king,FG_COMM,IERR)
-        if (fg_rank.eq.king) then
-          do i=1,nres
-            do l=1,3
-              do k=1,nsaxs
-                PgradX(k,l,i) = PgradX_(k,l,i)
-              enddo
-            enddo
-          enddo
-        endif
+c        call MPI_AllReduce(PgradX(k,1,1),PgradX_(k,1,1),3*maxsaxs*nres,
+c     &    MPI_DOUBLE_PRECISION,MPI_SUM,FG_COMM,IERR)
+c        if (fg_rank.eq.king) then
+c          do i=1,nres
+c            do l=1,3
+c              do k=1,nsaxs
+c                PgradX(k,l,i) = PgradX_(k,l,i)
+c              enddo
+c            enddo
+c          enddo
+c        endif
 #endif
       endif
 #endif
-#ifdef MPI
-      if (fg_rank.eq.king) then
-#endif
       Cnorm = 0.0d0
       do k=1,nsaxs
         Cnorm = Cnorm + Pcalc(k)
       enddo
+#ifdef MPI
+      if (fg_rank.eq.king) then
+#endif
       Esaxs_constr = dlog(Cnorm)-wsaxs0
       do k=1,nsaxs
         if (Pcalc(k).gt.0.0d0) 
@@ -11379,6 +11379,11 @@ c CA CA
 #ifdef DEBUG
       write (iout,*) "Cnorm",Cnorm," Esaxs_constr",Esaxs_constr
 #endif
+#ifdef MPI
+      endif
+#endif
+      gsaxsC=0.0d0
+      gsaxsX=0.0d0
       do i=nnt,nct
         do l=1,3
           auxC=0.0d0
@@ -11403,7 +11408,7 @@ c     *     " gradX",wsaxs*(auxX - auxX1/Cnorm)
         enddo
       enddo
 #ifdef MPI
-      endif
+c      endif
 #endif
       return
       end