X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Funres%2Fsrc_MD-M%2Flagrangian_lesyng.F;h=024c6d15f437cf3e1e9e67f70d639f58d55274ea;hb=89741d30725d96845588dc574e368e037634f7e7;hp=9611f904fbbdf1e138cb26b56f32cd896b179710;hpb=3dbe5ceeea4b858bc25fa1469237e697c0bf293f;p=unres.git diff --git a/source/unres/src_MD-M/lagrangian_lesyng.F b/source/unres/src_MD-M/lagrangian_lesyng.F index 9611f90..024c6d1 100644 --- a/source/unres/src_MD-M/lagrangian_lesyng.F +++ b/source/unres/src_MD-M/lagrangian_lesyng.F @@ -217,12 +217,12 @@ c Diagonal elements of the dX part of A and the respective friction coefficient ind=ind+1 ii = ind+m iti=itype(i) - massvec(ii)=msc(iti) + massvec(ii)=msc(iabs(iti)) if (iti.ne.10 .and. iti.ne.ntyp1) then ind1=ind1+1 ii1= ind1+m1 A(ii,ii1)=1.0d0 - Gmat(ii1,ii1)=ISC(iti) + Gmat(ii1,ii1)=ISC(iabs(iti)) endif enddo c Off-diagonal elements of the dX part of A @@ -476,7 +476,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 @@ -497,11 +497,12 @@ 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) c write (2,*) "My chunk of z" -c do i=1,3*my_ng_count + do i=1,3*my_ng_count + z(i)=zcopy(i) c write (2,*) i,z(i) -c enddo + enddo c write (2,*) "After SCATTERV" c call flush(2) c write (2,*) "MPI_Wtime",MPI_Wtime() @@ -628,7 +629,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 @@ -642,11 +643,12 @@ 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) c write (2,*) "My chunk of z" -c do i=1,3*my_ng_count + do i=1,3*my_ng_count + z(i)=zcopy(i) c write (2,*) i,z(i) -c enddo + enddo time_scatter=time_scatter+MPI_Wtime()-time00 #ifdef TIMING time_scatter_fmatmult=time_scatter_fmatmult+MPI_Wtime()-time00