First trial to introduce steered MD non successful
[unres.git] / source / unres / src_MD-M / stochfric.F
index b239a67..10531b4 100644 (file)
@@ -39,7 +39,7 @@
         ind=ind+3
       enddo
       do i=nnt,nct
-        if (itype(i).ne.10 .and. itype(i).ne.21) then
+        if ((itype(i).ne.10).and.(itype(i).ne.ntyp1)) then
           do j=1,3
             d_t_work(ind+j)=d_t(j,i+nres)
           enddo
@@ -68,7 +68,7 @@
         ind=ind+3
       enddo
       do i=nnt,nct
-        if (itype(i).ne.10 .and. itype(i).ne.21) then
+        if ((itype(i).ne.10).and.(itype(i).ne.ntyp1)) then
           do j=1,3
             friction(j,i+nres)=fric_work(ind+j)
           enddo
@@ -223,7 +223,7 @@ c Compute the stochastic forces acting on virtual-bond vectors.
         do j=1,3
           ff(j)=ff(j)+force(j,i)
         enddo
-        if (itype(i+1).ne.21) then
+        if (itype(i+1).ne.ntyp1) then
           do j=1,3
             stochforc(j,i)=stochforc(j,i)+force(j,i+nres+1)
             ff(j)=ff(j)+force(j,i+nres+1)
@@ -234,7 +234,7 @@ c Compute the stochastic forces acting on virtual-bond vectors.
         stochforc(j,0)=ff(j)+force(j,nnt+nres)
       enddo
       do i=nnt,nct
-        if (itype(i).ne.10 .and. itype(i).ne.21) then
+        if ((itype(i).ne.10).and.(itype(i).ne.ntyp1)) then
           do j=1,3
             stochforc(j,i+nres)=force(j,i+nres)
           enddo
@@ -252,7 +252,7 @@ c Compute the stochastic forces acting on virtual-bond vectors.
         ind=ind+3
       enddo
       do i=nnt,nct
-        if (itype(i).ne.10 .and. itype(i).ne.21) then
+        if ((itype(i).ne.10).and.(itype(i).ne.ntyp1)) then
           do j=1,3
             stochforcvec(ind+j)=stochforc(j,i+nres)
           enddo
@@ -365,12 +365,12 @@ c  Load the friction coefficients corresponding to peptide groups
 c  Load the friction coefficients corresponding to side chains
       m=nct-nnt
       ind=0
-      gamsc(ntyp1)=1.0d0
+C      gamsc(ntyp1)=1.0d0
       do i=nnt,nct
         ind=ind+1
         ii = ind+m
         iti=itype(i)
-        gamvec(ii)=gamsc(iti)
+        gamvec(ii)=gamsc(iabs(iti))
       enddo
       if (surfarea) call sdarea(gamvec)
 c      if (lprn) then
@@ -494,22 +494,31 @@ c The matching BROADCAST for fg processors is called in ERGASTULUM
           time00=tcpu()
 #endif
           call MPI_Bcast(10,1,MPI_INTEGER,king,FG_COMM,IERROR)
+#ifdef MPI
           time_Bcast=time_Bcast+MPI_Wtime()-time00
+#else
+          time_Bcast=time_Bcast+tcpu()-time00
+#endif
 c          print *,"Processor",myrank,
 c     &       " BROADCAST iorder in SETUP_FRICMAT"
         endif
 c      licznik=licznik+1
 c        write (iout,*) "setup_fricmat licznik",licznik
+#ifdef MPI
         time00=MPI_Wtime()
+#else
+        time00=tcpu()
+#endif
 c Scatter the friction matrix
         call MPI_Scatterv(fricmat(1,1),nginv_counts(0),
      &    nginv_start(0),MPI_DOUBLE_PRECISION,fcopy(1,1),
      &    myginv_ng_count,MPI_DOUBLE_PRECISION,king,FG_COMM,IERROR)
-        time_scatter=time_scatter+MPI_Wtime()-time00
 #ifdef TIMING
 #ifdef MPI
+        time_scatter=time_scatter+MPI_Wtime()-time00
         time_scatter_fmat=time_scatter_fmat+MPI_Wtime()-time00
 #else
+        time_scatter=time_scatter+tcpu()-time00
         time_scatter_fmat=time_scatter_fmat+tcpu()-time00
 #endif
 #endif
@@ -550,7 +559,7 @@ c
       include 'COMMON.NAMES'
       double precision radius(maxres2),gamvec(maxres2)
       parameter (twosix=1.122462048309372981d0)
-      logical lprn /.true./
+      logical lprn /.false./
 c
 c     determine new friction coefficients every few SD steps
 c