Merge branch 'devel' into AFM
[unres.git] / source / unres / src_MD-M / unres.F
index ee926b3..f51b2d7 100644 (file)
@@ -102,7 +102,12 @@ C Fine-grain slaves just do energy and gradient components.
       else if (modecalc.eq.12) then
         call exec_MD
       else if (modecalc.eq.14) then
+#ifdef MPI
         call exec_MREMD
+#else
+        write (iout,*) "Need a parallel version to run MREMD."
+        stop
+#endif
       else
         write (iout,'(a)') 'This calculation type is not supported',
      &   ModeCalc
@@ -144,6 +149,7 @@ c      endif
       return
       end
 c---------------------------------------------------------------------------
+#ifdef MPI
       subroutine exec_MREMD
       include 'DIMENSIONS'
 #ifdef MPI
@@ -168,6 +174,7 @@ c---------------------------------------------------------------------------
       endif
       return
       end
+#endif
 c---------------------------------------------------------------------------
       subroutine exec_eeval_or_minim
       implicit real*8 (a-h,o-z)
@@ -194,9 +201,20 @@ c---------------------------------------------------------------------------
       double precision energy(0:n_ene)
       double precision energy_long(0:n_ene),energy_short(0:n_ene)
       double precision varia(maxvar)
-      if (indpdb.eq.0) call chainbuild
+      if (indpdb.eq.0)     call chainbuild
+      print *,'dc',c(1,1)
+      if (indpdb.ne.0) then
+      dc(1,0)=c(1,1)
+      dc(2,0)=c(2,1)
+      dc(3,0)=c(3,1)
+      endif
+#ifdef MPI
       time00=MPI_Wtime()
+#else
+      time00=tcpu()
+#endif
       call chainbuild_cart
+      print *,'dc',dc(1,0),dc(2,0),dc(3,0)
       if (split_ene) then
        print *,"Processor",myrank," after chainbuild"
        icall=1
@@ -214,14 +232,20 @@ c---------------------------------------------------------------------------
        call enerprint(energy(0))
       endif
       call etotal(energy(0))
+#ifdef MPI
       time_ene=MPI_Wtime()-time00
+#else 
+      time_ene=tcpu()-time00
+#endif
       write (iout,*) "Time for energy evaluation",time_ene
       print *,"after etotal"
       etota = energy(0)
       etot =etota
       call enerprint(energy(0))
       call hairpin(.true.,nharp,iharp)
+        print *,'after hairpin'
       call secondary2(.true.)
+        print *,'after secondary'
       if (minim) then
 crc overlap test
         if (overlapsc) then 
@@ -237,7 +261,11 @@ crc overlap test
 
         if (dccart) then
           print *, 'Calling MINIM_DC'
+#ifdef MPI
           time1=MPI_WTIME()
+#else
+          time1=tcpu()
+#endif
           call minim_dc(etot,iretcode,nfun)
         else
           if (indpdb.ne.0) then 
@@ -246,15 +274,25 @@ crc overlap test
           endif
           call geom_to_var(nvar,varia)
           print *,'Calling MINIMIZE.'
+#ifdef MPI
           time1=MPI_WTIME()
+#else
+          time1=tcpu()
+#endif
           call minimize(etot,varia,iretcode,nfun)
         endif
         print *,'SUMSL return code is',iretcode,' eval ',nfun
+#ifdef MPI
         evals=nfun/(MPI_WTIME()-time1)
+#else
+        evals=nfun/(tcpu()-time1)
+#endif
         print *,'# eval/s',evals
         print *,'refstr=',refstr
-        call hairpin(.true.,nharp,iharp)
+        call hairpin(.false.,nharp,iharp)
+        print *,'after hairpin'
         call secondary2(.true.)
+        print *,'after secondary'
         call etotal(energy(0))
         etot = energy(0)
         call enerprint(energy(0))
@@ -616,7 +654,7 @@ c Broadcast the order to compute internal coordinates to the slaves.
       endif
       do while (.not. eof)
           if (read_cart) then
-            read (intin,'(e15.10,e15.5)',end=1100,err=1100) time,ene
+            read (intin,'(e15.10,e15.5)',end=11,err=11) time,ene
             call read_x(intin,*11)
 #ifdef MPI
 c Broadcast the order to compute internal coordinates to the slaves.
@@ -625,7 +663,7 @@ c Broadcast the order to compute internal coordinates to the slaves.
 #endif
             call int_from_cart1(.false.)
           else
-            read (intin,'(i5)',end=1100,err=1100) iconf
+            read (intin,'(i5)',end=11,err=11) iconf
             call read_angles(intin,*11)
             call geom_to_var(nvar,varia)
             call chainbuild