Merge branch 'prerelease-3.2.1' of mmka.chem.univ.gda.pl:unres into prerelease-3.2.1
[unres.git] / source / unres / src_MD / lagrangian_lesyng.F
index eb08eb7..775142b 100644 (file)
@@ -217,7 +217,7 @@ c  Diagonal elements of the dX part of A and the respective friction coefficient
       do i=nnt,nct
         ind=ind+1
         ii = ind+m
-        iti=iabs(itype(i))
+        iti=itype(i)
         massvec(ii)=msc(iti)
         if (iti.ne.10) then
           ind1=ind1+1
@@ -230,7 +230,7 @@ c  Off-diagonal elements of the dX part of A
       ind=0
       k=nct-nnt
       do i=nnt,nct
-        iti=iabs(itype(i))
+        iti=itype(i)
         ind=ind+1
         do j=nnt,i
           ii = ind
@@ -499,7 +499,7 @@ c---------------------------------------------------------------------------
       include 'COMMON.TIME1'
       include 'COMMON.MD'
       double precision z(dimen3),d_a_tmp(dimen3),temp(maxres6),time00
-     &time01
+     &,time01,zcopy(dimen3)
 #ifdef MPI
       if (nfgtasks.gt.1) then
         if (fg_rank.eq.0) then
@@ -520,7 +520,10 @@ c        call MPI_Barrier(FG_COMM,IERROR)
         time00=MPI_Wtime()
         call MPI_Scatterv(z,ng_counts(0),ng_start(0),
      &    MPI_DOUBLE_PRECISION,
-     &    z,3*my_ng_count,MPI_DOUBLE_PRECISION,king,FG_COMM,IERR)
+     &    zcopy,3*my_ng_count,MPI_DOUBLE_PRECISION,king,FG_COMM,IERR)
+         do i=1,3*my_ng_count
+           z(i)=zcopy(i)
+         enddo
 c        write (2,*) "My chunk of z"
 c        do i=1,3*my_ng_count
 c          write (2,*) i,z(i)
@@ -651,7 +654,7 @@ c---------------------------------------------------------------------------
       include 'COMMON.LANGEVIN.lang0'
 #endif
       double precision z(dimen3),d_a_tmp(dimen3),temp(maxres6),time00
-     &time01
+     &,time01,zcopy(dimen3)
 #ifdef MPI
       if (nfgtasks.gt.1) then
         if (fg_rank.eq.0) then
@@ -665,7 +668,11 @@ c        call MPI_Barrier(FG_COMM,IERROR)
         time00=MPI_Wtime()
         call MPI_Scatterv(z,ng_counts(0),ng_start(0),
      &    MPI_DOUBLE_PRECISION,
-     &    z,3*my_ng_count,MPI_DOUBLE_PRECISION,king,FG_COMM,IERR)
+     &    zcopy,3*my_ng_count,MPI_DOUBLE_PRECISION,king,FG_COMM,IERR)
+
+         do i=1,3*my_ng_count
+          z(i)=zcopy(i)
+         enddo
 c        write (2,*) "My chunk of z"
 c        do i=1,3*my_ng_count
 c          write (2,*) i,z(i)