X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Funres%2Fsrc-HCD-5D%2Fstochfric.F;h=946fb58805ffe4b16d57c875e7b09b42a2a3dccf;hb=43dfdc33f5b338546258b5a882326f97a76b5bd4;hp=c83e9ce3897ab6e1ef41259d4610f1d2479c26da;hpb=68aa1d135805a14583695611acfcf637748b4466;p=unres.git diff --git a/source/unres/src-HCD-5D/stochfric.F b/source/unres/src-HCD-5D/stochfric.F index c83e9ce..946fb58 100644 --- a/source/unres/src-HCD-5D/stochfric.F +++ b/source/unres/src-HCD-5D/stochfric.F @@ -1,5 +1,8 @@ subroutine friction_force implicit none +#ifdef MPI + include 'mpif.h' +#endif include 'DIMENSIONS' include 'COMMON.VAR' include 'COMMON.CHAIN' @@ -37,8 +40,12 @@ logical lprn /.false./, checkmode /.false./ #ifdef FIVEDIAG +#ifdef TIMING + include 'COMMON.TIME1' + double precision time01 +#endif c Here accelerations due to friction forces are computed right after forces. - d_t_work=0.0d0 + d_t_work(:6*nres)=0.0d0 do j=1,3 v_work(j,1)=d_t(j,0) v_work(j,nnt)=d_t(j,0) @@ -86,8 +93,14 @@ c inct=chain_border(2,1) write (iout,'(f10.5)') (vvec(i),i=iposc,ind) #endif c write (iout,*) "chain",i," ind",ind," n",n +#ifdef TIMING + time01=MPI_Wtime() +#endif call fivediagmult(n,DMfric(iposc),DU1fric(iposc), & DU2fric(iposc),vvec(iposc),rs) +#ifdef TIMING + time_fricmatmult=time_fricmatmult+MPI_Wtime()-time01 +#endif #ifdef DEBUG write (iout,*) "rs" write (iout,'(f10.5)') (rs(i),i=1,n) @@ -104,7 +117,7 @@ c & "index",3*(i-1)+j,"rs",rs(i-iposc+1) write (iout,'(3f10.5)') (fric_work(j),j=1,dimen3) #endif #else - do i=0,MAXRES2 + do i=0,2*nres do j=1,3 friction(j,i)=0.0d0 enddo @@ -277,7 +290,7 @@ c----------------------------------------------------- integer ichain,innt,inct,iposc #endif - do i=0,MAXRES2 + do i=0,2*nres do j=1,3 stochforc(j,i)=0.0d0 enddo @@ -567,9 +580,9 @@ C gamsc(ntyp1)=1.0d0 enddo endif #ifdef FIVEDIAG - DMfric=0.0d0 - DU1fric=0.0d0 - DU2fric=0.0d0 + DMfric(:2*nres)=0.0d0 + DU1fric(:2*nres)=0.0d0 + DU2fric(:2*nres)=0.0d0 ind=1 do ichain=1,nchain innt=chain_border(1,ichain)