important change for single processor for multi-chain
authorAdam Sieradzan <adasko@piasek4.chem.univ.gda.pl>
Wed, 25 Mar 2015 08:51:15 +0000 (09:51 +0100)
committerAdam Sieradzan <adasko@piasek4.chem.univ.gda.pl>
Wed, 25 Mar 2015 08:51:15 +0000 (09:51 +0100)
bin/unres/MD/unres-mult_ifort_single_GAB.exe
source/unres/src_MD-M/MREMD.F
source/unres/src_MD-M/Makefile
source/unres/src_MD-M/chainbuild.F
source/unres/src_MD-M/cinfo.f
source/unres/src_MD-M/initialize_p.F
source/unres/src_MD-M/minimize_p.F
source/unres/src_MD-M/unres.F

index eefac4f..8266a3e 100755 (executable)
Binary files a/bin/unres/MD/unres-mult_ifort_single_GAB.exe and b/bin/unres/MD/unres-mult_ifort_single_GAB.exe differ
index a3ec5a7..5b0fc35 100644 (file)
@@ -1873,228 +1873,3 @@ c     &                (d_restart1(j,i+2*nres*il),j=1,3)
         if(me.eq.king) close(irest2)
         return
         end
-c------------------------------------------
-      subroutine returnbox
-      include 'DIMENSIONS'
-      include 'mpif.h'
-      include 'COMMON.CONTROL'
-      include 'COMMON.VAR'
-      include 'COMMON.MD'
-#ifndef LANG0
-      include 'COMMON.LANGEVIN'
-#else
-      include 'COMMON.LANGEVIN.lang0'
-#endif
-      include 'COMMON.CHAIN'
-      include 'COMMON.DERIV'
-      include 'COMMON.GEO'
-      include 'COMMON.LOCAL'
-      include 'COMMON.INTERACT'
-      include 'COMMON.IOUNITS'
-      include 'COMMON.NAMES'
-      include 'COMMON.TIME1'
-      include 'COMMON.REMD'
-      include 'COMMON.SETUP'
-      include 'COMMON.MUCA'
-      include 'COMMON.HAIRPIN'
-        j=1
-        chain_beg=1
-C        do i=1,nres
-C       write(*,*) 'initial', i,j,c(j,i)
-C        enddo
-        do i=1,nres-1
-         if ((itype(i).eq.ntyp1).and.(itype(i+1).eq.ntyp1)) then
-          chain_end=i
-          if (allareout.eq.1) then
-            ireturnval=int(c(j,i)/boxxsize)
-            if (c(j,i).le.0) ireturnval=ireturnval-1
-            do k=chain_beg,chain_end
-              c(j,k)=c(j,k)-ireturnval*boxxsize
-              c(j,k+nres)=c(j,k+nres)-ireturnval*boxxsize
-            enddo
-           endif
-           chain_beg=i+1
-           allareout=1
-         else
-          if (int(c(j,i)/boxxsize).eq.0) allareout=0
-         endif
-        enddo
-         if (allareout.eq.1) then
-            ireturnval=int(c(j,i)/boxxsize)
-            if (c(j,i).le.0) ireturnval=ireturnval-1
-            do k=chain_beg,nres
-              c(j,k)=c(j,k)-ireturnval*boxxsize
-              c(j,k+nres)=c(j,k+nres)-ireturnval*boxxsize
-            enddo
-          endif
-C NO JUMP 
-C        do i=1,nres
-C        write(*,*) 'befor no jump', i,j,c(j,i)
-C        enddo
-        nojumpval=0
-        do i=2,nres
-           if (itype(i).eq.ntyp1 .and. itype(i-1).eq.ntyp1) then
-             difference=abs(c(j,i-1)-c(j,i))
-C             print *,'diff', difference
-             if (difference.gt.boxxsize/2.0) then
-                if (c(j,i-1).gt.c(j,i)) then
-                  nojumpval=1
-                 else
-                   nojumpval=-1
-                 endif
-              else
-              nojumpval=0
-              endif
-              endif
-              c(j,i)=c(j,i)+nojumpval*boxxsize
-              c(j,i+nres)=c(j,i+nres)+nojumpval*boxxsize
-         enddo
-       nojumpval=0
-        do i=2,nres
-           if (itype(i).eq.ntyp1 .and. itype(i-1).eq.ntyp1) then
-             difference=abs(c(j,i-1)-c(j,i))
-             if (difference.gt.boxxsize/2.0) then
-                if (c(j,i-1).gt.c(j,i)) then
-                  nojumpval=1
-                 else
-                   nojumpval=-1
-                 endif
-              else
-              nojumpval=0
-              endif
-             endif
-              c(j,i)=c(j,i)+nojumpval*boxxsize
-              c(j,i+nres)=c(j,i+nres)+nojumpval*boxxsize
-         enddo
-
-C        do i=1,nres
-C        write(*,*) 'after no jump', i,j,c(j,i)
-C        enddo
-
-C NOW Y dimension
-        j=2
-        chain_beg=1
-        do i=1,nres-1
-         if ((itype(i).eq.ntyp1).and.(itype(i+1).eq.ntyp1)) then
-          chain_end=i
-          if (allareout.eq.1) then
-            ireturnval=int(c(j,i)/boxysize)
-            if (c(j,i).le.0) ireturnval=ireturnval-1
-            do k=chain_beg,chain_end
-              c(j,k)=c(j,k)-ireturnval*boxysize
-              c(j,k+nres)=c(j,k+nres)-ireturnval*boxysize
-            enddo
-           endif
-           chain_beg=i+1
-           allareout=1
-         else
-          if (int(c(j,i)/boxysize).eq.0) allareout=0
-         endif
-        enddo
-         if (allareout.eq.1) then
-            ireturnval=int(c(j,i)/boxysize)
-            if (c(j,i).le.0) ireturnval=ireturnval-1
-            do k=chain_beg,nres
-              c(j,k)=c(j,k)-ireturnval*boxysize
-              c(j,k+nres)=c(j,k+nres)-ireturnval*boxysize
-            enddo
-          endif
-        nojumpval=0
-        do i=2,nres
-           if (itype(i).eq.ntyp1 .and. itype(i-1).eq.ntyp1) then
-             difference=abs(c(j,i-1)-c(j,i))
-             if (difference.gt.boxysize/2.0) then
-                if (c(j,i-1).gt.c(j,i)) then
-                  nojumpval=1
-                 else
-                   nojumpval=-1
-                 endif
-              else
-              nojumpval=0
-              endif
-           endif
-              c(j,i)=c(j,i)+nojumpval*boxysize
-              c(j,i+nres)=c(j,i+nres)+nojumpval*boxysize
-         enddo
-      nojumpval=0
-        do i=2,nres
-           if (itype(i).eq.ntyp1 .and. itype(i-1).eq.ntyp1) then
-             difference=abs(c(j,i-1)-c(j,i))
-             if (difference.gt.boxysize/2.0) then
-                if (c(j,i-1).gt.c(j,i)) then
-                  nojumpval=1
-                 else
-                   nojumpval=-1
-                 endif
-              else
-              nojumpval=0
-              endif
-            endif
-              c(j,i)=c(j,i)+nojumpval*boxysize
-              c(j,i+nres)=c(j,i+nres)+nojumpval*boxysize
-         enddo
-
-        j=3
-        chain_beg=1
-        do i=1,nres-1
-         if ((itype(i).eq.ntyp1).and.(itype(i+1).eq.ntyp1)) then
-          chain_end=i
-          if (allareout.eq.1) then
-            ireturnval=int(c(j,i)/boxysize)
-            if (c(j,i).le.0) ireturnval=ireturnval-1
-            do k=chain_beg,chain_end
-              c(j,k)=c(j,k)-ireturnval*boxzsize
-              c(j,k+nres)=c(j,k+nres)-ireturnval*boxzsize
-            enddo
-           endif
-           chain_beg=i+1
-           allareout=1
-         else
-          if (int(c(j,i)/boxzsize).eq.0) allareout=0
-         endif
-        enddo
-         if (allareout.eq.1) then
-            ireturnval=int(c(j,i)/boxzsize)
-            if (c(j,i).le.0) ireturnval=ireturnval-1
-            do k=chain_beg,nres
-              c(j,k)=c(j,k)-ireturnval*boxzsize
-              c(j,k+nres)=c(j,k+nres)-ireturnval*boxzsize
-            enddo
-          endif
-        nojumpval=0
-        do i=2,nres
-           if (itype(i).eq.ntyp1 .and. itype(i-1).eq.ntyp1) then
-             difference=abs(c(j,i-1)-c(j,i))
-             if (difference.gt.(boxzsize/2.0)) then
-                if (c(j,i-1).gt.c(j,i)) then
-                  nojumpval=1
-                 else
-                   nojumpval=-1
-                 endif
-              else
-              nojumpval=0
-              endif
-            endif
-              c(j,i)=c(j,i)+nojumpval*boxzsize
-              c(j,i+nres)=c(j,i+nres)+nojumpval*boxzsize
-         enddo
-       nojumpval=0
-        do i=2,nres
-           if (itype(i).eq.ntyp1 .and. itype(i-1).eq.ntyp1) then
-             difference=abs(c(j,i-1)-c(j,i))
-             if (difference.gt.boxzsize/2.0) then
-                if (c(j,i-1).gt.c(j,i)) then
-                  nojumpval=1
-                 else
-                   nojumpval=-1
-                 endif
-              else
-              nojumpval=0
-              endif
-            endif
-              c(j,i)=c(j,i)+nojumpval*boxzsize
-              c(j,i+nres)=c(j,i+nres)+nojumpval*boxzsize
-         enddo
-
-        return
-        end
index ef18714..0875ee5 100644 (file)
@@ -1,95 +1,84 @@
-CPPFLAGS = -DLINUX -DUNRES -DMP -DMPI \
-           -DPGI -DSPLITELE -DISNAN -DAMD64 \
-           -DPROCOR -DLANG0 \
-           -DSCCORPDB  
-#          -DCRYST_BOND -DCRYST_THETA -DCRYST_SC 
-#      -DSCCORPDB 
-## -DPROCOR
-## -DMOMENT
-#-DCO_BIAS
-#-DCRYST_TOR
-#-DDEBUG
-
-#INSTALL_DIR = /usr/local/mpich-1.2.0
-INSTALL_DIR = /users/software/mpich-1.2.7p1_intel-10.1_em64_ssh
-#
-#FC= /usr/local/opt/intel/compiler60/ia32/bin/ifc
-FC= ifort
-
-#OPT =  -O3 -ip -w
-OPT = -g -CB
-#OPT = -g
-CFLAGS = -DSGI -c
-
+FC = ifort
 FFLAGS = -c ${OPT} -I$(INSTALL_DIR)/include
 FFLAGS1 = -c -w -g -d2 -CA -CB -I$(INSTALL_DIR)/include
-FFLAGS2 = -c -w -O0 -I$(INSTALL_DIR)/include
+FFLAGS2 = -c -w -g -O0 -I$(INSTALL_DIR)/include
 FFLAGSE = -c -w -O3 -ipo -ipo_obj  -opt_report -I$(INSTALL_DIR)/include
 
-BIN = ../../../bin/unres/MD-M/unres_Tc_procor_newparm_em64-D-symetr.exe
-#LIBS = -L$(INSTALL_DIR)/lib_pgi -lmpich xdrf/libxdrf.a
-#LIBS = -L$(INSTALL_DIR)/lib_ifort -lmpich xdrf/libxdrf.a
-LIBS = -L$(INSTALL_DIR)/lib -lmpich ../../lib/xdrf_em64/libxdrf.a -g -d2 -CA -CB
+CC = cc
+
+CFLAGS = -DLINUX -DPGI -c
+
+OPT =  -O3 -ip -w
+
+# -Mvect <---slows down
+#        -Minline=name:matmat2 <---false convergence
+
+LIBS = -Lxdrf -lxdrf
+#-DMOMENT
+#-DCO_BIAS
+#-DCRYST_TOR
+#-DDEBUG
 
 ARCH = LINUX
 PP = /lib/cpp -P
 
-
-all: unres
+all: 
+       @echo "Specify force field: GAB, 4P or E0LL2Y"
 
 .SUFFIXES: .F
 .F.o:
-       ${FC} ${FFLAGS}  ${CPPFLAGS} $*.F
-
+       ${FC} ${FFLAGS} ${CPPFLAGS} $*.F
 
 object = unres.o arcos.o cartprint.o chainbuild.o convert.o initialize_p.o \
         matmult.o readrtns_CSA.o parmread.o gen_rand_conf.o printmat.o map.o \
         pinorm.o randgens.o rescode.o intcor.o timing.o misc.o intlocal.o \
         cartder.o checkder_p.o econstr_local.o energy_p_new_barrier.o \
        energy_p_new-sep_barrier.o gradient_p.o minimize_p.o sumsld.o \
-        cored.o rmdd.o geomout.o readpdb.o permut.o regularize.o thread.o fitsq.o mcm.o \
+        cored.o rmdd.o geomout.o readpdb.o regularize.o thread.o fitsq.o mcm.o \
         mc.o bond_move.o refsys.o check_sc_distr.o check_bond.o contact.o djacob.o \
-        eigen.o blas.o add.o entmcm.o minim_mcmf.o \
-        together.o csa.o minim_jlee.o shift.o diff12.o bank.o newconf.o ran.o \
-        indexx.o MP.o compare_s1.o prng_32.o \
-        test.o banach.o distfit.o rmsd.o elecont.o dihed_cons.o \
+        eigen.o blas.o add.o entmcm.o \
+        MP.o compare_s1.o \
+        banach.o rmsd.o elecont.o dihed_cons.o \
         sc_move.o local_move.o \
         intcartderiv.o lagrangian_lesyng.o\
        stochfric.o kinetic_lesyng.o MD_A-MTS.o moments.o int_to_cart.o \
-        surfatom.o sort.o muca_md.o MREMD.o rattle.o gauss.o energy_split-sep.o \
-       q_measure.o gnmr1.o
+        surfatom.o sort.o muca_md.o rattle.o gauss.o energy_split-sep.o \
+        q_measure.o gnmr1.o test.o ssMD.o permut.o distfit.o checkvar.o
+
+no_option:
 
-unres: ${object} proc_proc.o
-       cc -o compinfo compinfo.c 
+GAB: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN \
+       -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC
+GAB: BIN = ../../../bin/unres/MD/unres-mult_ifort_single_GAB.exe
+GAB: ${object} xdrf/libxdrf.a
+       cc -o compinfo compinfo.c
        ./compinfo | true
        ${FC} ${FFLAGS} cinfo.f
-       ${FC} ${OPT} ${object} proc_proc.o cinfo.o ${LIBS}  -o ${BIN}
-#${FC} ${OPT} -Wl,-M ${object} proc_proc.o cinfo.o ${LIBS}  -o ${BIN}
+       ${FC} ${OPT} ${object} cinfo.o ${LIBS}  -o ${BIN}
 
+4P: CPPFLAGS = -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN \
+       -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC
+4P: BIN = ../../../bin/unres/MD/unres-mult_ifort_single_4P.exe
+4P: ${object} xdrf/libxdrf.a
+       cc -o compinfo compinfo.c
+       ./compinfo | true
+       ${FC} ${FFLAGS} cinfo.f
+       ${FC} ${OPT} ${object} cinfo.o ${LIBS}  -o ${BIN}
 
-clean:
-       /bin/rm *.o
-
-newconf.o: newconf.f
-       ${FC} ${FFLAGS} ${CPPFLAGS} newconf.f
-
-bank.o: bank.F
-       ${FC} ${FFLAGS} ${CPPFLAGS} bank.F
-
-diff12.o: diff12.f
-       ${FC} ${FFLAGS} ${CPPFLAGS} diff12.f
-
-csa.o: csa.f
-       ${FC} ${FFLAGS} ${CPPFLAGS} csa.f
-
-shift.o: shift.F
-       ${FC} ${FFLAGS} ${CPPFLAGS} shift.F
+E0LL2Y: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 -DUNRES -DISNAN \
+       -DSPLITELE -DLANG0
+E0LL2Y: BIN = ../../../bin/unres/MD/unres-mult_ifort_single_E0LL2Y.exe
+E0LL2Y: ${object} xdrf/libxdrf.a
+       cc -o compinfo compinfo.c
+       ./compinfo | true
+       ${FC} ${FFLAGS} cinfo.f
+       ${FC} ${OPT} ${object} cinfo.o ${LIBS}  -o ${BIN}
 
-ran.o: ran.f
-       ${FC} ${FFLAGS} ${CPPFLAGS} ran.f
+xdrf/libxdrf.a:
+       cd xdrf && make
 
-together.o: together.F
-       ${FC} ${FFLAGS} ${CPPFLAGS} together.F
+clean:
+       /bin/rm -f *.o && /bin/rm -f compinfo && cd xdrf && make clean
 
 test.o: test.F
        ${FC} ${FFLAGS} ${CPPFLAGS} test.F
@@ -112,9 +101,6 @@ cartder.o : cartder.F
 readpdb.o : readpdb.F
        ${FC} ${FFLAGS2} ${CPPFLAGS} readpdb.F
 
-permut.o : permut.F
-       ${FC} ${FFLAGS2} ${CPPFLAGS} permut.F
-
 sumsld.o : sumsld.f
        ${FC} ${FFLAGS} ${CPPFLAGS} sumsld.f
         
@@ -124,20 +110,29 @@ cored.o : cored.f
 rmdd.o : rmdd.f
        ${FC} ${FFLAGS} ${CPPFLAGS} rmdd.f
 
-energy_p_new.o : energy_p_new.F
-       ${FC} ${FFLAGSE} ${CPPFLAGS} energy_p_new.F
+energy_p_new_barrier.o : energy_p_new_barrier.F
+       ${FC} ${FFLAGSE} ${CPPFLAGS} energy_p_new_barrier.F
+
+gradient_p.o : gradient_p.F
+       ${FC} ${FFLAGSE} ${CPPFLAGS} gradient_p.F
+
+energy_p_new-sep_barrier.o : energy_p_new-sep_barrier.F
+       ${FC} ${FFLAGSE} ${CPPFLAGS} energy_p_new-sep_barrier.F
 
 lagrangian_lesyng.o : lagrangian_lesyng.F
        ${FC} ${FFLAGSE} ${CPPFLAGS} lagrangian_lesyng.F
 
-proc_proc.o: proc_proc.c
-       ${CC} ${CFLAGS} proc_proc.c
+MD_A-MTS.o : MD_A-MTS.F
+       ${FC} ${FFLAGSE} ${CPPFLAGS} MD_A-MTS.F
 
-add.o: add.f
-       ${FC} ${FFLAGS2} add.f
+blas.o : blas.f
+       ${FC} ${FFLAGS1} blas.f
 
-blas.o: blas.f
-       ${FC} ${FFLAGS2} blas.f
+add.o : add.f
+       ${FC} ${FFLAGS1} add.f
 
-eigen.o: eigen.f
+eigen.o : eigen.f
        ${FC} ${FFLAGS2} eigen.f
+
+proc_proc.o: proc_proc.c
+       ${CC} ${CFLAGS} proc_proc.c
index 766e14a..3a1c47d 100644 (file)
@@ -385,3 +385,230 @@ cd   &   xp,yp,zp,(xx(k),k=1,3)
       enddo
       return
       end
+c------------------------------------------
+      subroutine returnbox
+      include 'DIMENSIONS'
+#ifdef MPI
+      include 'mpif.h'
+#endif
+      include 'COMMON.CONTROL'
+      include 'COMMON.VAR'
+      include 'COMMON.MD'
+#ifndef LANG0
+      include 'COMMON.LANGEVIN'
+#else
+      include 'COMMON.LANGEVIN.lang0'
+#endif
+      include 'COMMON.CHAIN'
+      include 'COMMON.DERIV'
+      include 'COMMON.GEO'
+      include 'COMMON.LOCAL'
+      include 'COMMON.INTERACT'
+      include 'COMMON.IOUNITS'
+      include 'COMMON.NAMES'
+      include 'COMMON.TIME1'
+      include 'COMMON.REMD'
+      include 'COMMON.SETUP'
+      include 'COMMON.MUCA'
+      include 'COMMON.HAIRPIN'
+        j=1
+        chain_beg=1
+C        do i=1,nres
+C       write(*,*) 'initial', i,j,c(j,i)
+C        enddo
+        do i=1,nres-1
+         if ((itype(i).eq.ntyp1).and.(itype(i+1).eq.ntyp1)) then
+          chain_end=i
+          if (allareout.eq.1) then
+            ireturnval=int(c(j,i)/boxxsize)
+            if (c(j,i).le.0) ireturnval=ireturnval-1
+            do k=chain_beg,chain_end
+              c(j,k)=c(j,k)-ireturnval*boxxsize
+              c(j,k+nres)=c(j,k+nres)-ireturnval*boxxsize
+            enddo
+           endif
+           chain_beg=i+1
+           allareout=1
+         else
+          if (int(c(j,i)/boxxsize).eq.0) allareout=0
+         endif
+        enddo
+         if (allareout.eq.1) then
+            ireturnval=int(c(j,i)/boxxsize)
+            if (c(j,i).le.0) ireturnval=ireturnval-1
+            do k=chain_beg,nres
+              c(j,k)=c(j,k)-ireturnval*boxxsize
+              c(j,k+nres)=c(j,k+nres)-ireturnval*boxxsize
+            enddo
+          endif
+C NO JUMP 
+C        do i=1,nres
+C        write(*,*) 'befor no jump', i,j,c(j,i)
+C        enddo
+        nojumpval=0
+        do i=2,nres
+           if (itype(i).eq.ntyp1 .and. itype(i-1).eq.ntyp1) then
+             difference=abs(c(j,i-1)-c(j,i))
+C             print *,'diff', difference
+             if (difference.gt.boxxsize/2.0) then
+                if (c(j,i-1).gt.c(j,i)) then
+                  nojumpval=1
+                 else
+                   nojumpval=-1
+                 endif
+              else
+              nojumpval=0
+              endif
+              endif
+              c(j,i)=c(j,i)+nojumpval*boxxsize
+              c(j,i+nres)=c(j,i+nres)+nojumpval*boxxsize
+         enddo
+       nojumpval=0
+        do i=2,nres
+           if (itype(i).eq.ntyp1 .and. itype(i-1).eq.ntyp1) then
+             difference=abs(c(j,i-1)-c(j,i))
+             if (difference.gt.boxxsize/2.0) then
+                if (c(j,i-1).gt.c(j,i)) then
+                  nojumpval=1
+                 else
+                   nojumpval=-1
+                 endif
+              else
+              nojumpval=0
+              endif
+             endif
+              c(j,i)=c(j,i)+nojumpval*boxxsize
+              c(j,i+nres)=c(j,i+nres)+nojumpval*boxxsize
+         enddo
+
+C        do i=1,nres
+C        write(*,*) 'after no jump', i,j,c(j,i)
+C        enddo
+
+C NOW Y dimension
+        j=2
+        chain_beg=1
+        do i=1,nres-1
+         if ((itype(i).eq.ntyp1).and.(itype(i+1).eq.ntyp1)) then
+          chain_end=i
+          if (allareout.eq.1) then
+            ireturnval=int(c(j,i)/boxysize)
+            if (c(j,i).le.0) ireturnval=ireturnval-1
+            do k=chain_beg,chain_end
+              c(j,k)=c(j,k)-ireturnval*boxysize
+             c(j,k+nres)=c(j,k+nres)-ireturnval*boxysize
+            enddo
+           endif
+           chain_beg=i+1
+           allareout=1
+         else
+          if (int(c(j,i)/boxysize).eq.0) allareout=0
+         endif
+        enddo
+         if (allareout.eq.1) then
+            ireturnval=int(c(j,i)/boxysize)
+            if (c(j,i).le.0) ireturnval=ireturnval-1
+            do k=chain_beg,nres
+              c(j,k)=c(j,k)-ireturnval*boxysize
+              c(j,k+nres)=c(j,k+nres)-ireturnval*boxysize
+            enddo
+          endif
+        nojumpval=0
+        do i=2,nres
+           if (itype(i).eq.ntyp1 .and. itype(i-1).eq.ntyp1) then
+             difference=abs(c(j,i-1)-c(j,i))
+             if (difference.gt.boxysize/2.0) then
+                if (c(j,i-1).gt.c(j,i)) then
+                  nojumpval=1
+                 else
+                   nojumpval=-1
+                 endif
+             else
+              nojumpval=0
+              endif
+           endif
+              c(j,i)=c(j,i)+nojumpval*boxysize
+              c(j,i+nres)=c(j,i+nres)+nojumpval*boxysize
+         enddo
+      nojumpval=0
+        do i=2,nres
+           if (itype(i).eq.ntyp1 .and. itype(i-1).eq.ntyp1) then
+             difference=abs(c(j,i-1)-c(j,i))
+             if (difference.gt.boxysize/2.0) then
+                if (c(j,i-1).gt.c(j,i)) then
+                  nojumpval=1
+                 else
+                   nojumpval=-1
+                 endif
+              else
+              nojumpval=0
+              endif
+            endif
+              c(j,i)=c(j,i)+nojumpval*boxysize
+              c(j,i+nres)=c(j,i+nres)+nojumpval*boxysize
+         enddo
+       j=3
+        chain_beg=1
+        do i=1,nres-1
+         if ((itype(i).eq.ntyp1).and.(itype(i+1).eq.ntyp1)) then
+          chain_end=i
+          if (allareout.eq.1) then
+            ireturnval=int(c(j,i)/boxysize)
+            if (c(j,i).le.0) ireturnval=ireturnval-1
+            do k=chain_beg,chain_end
+              c(j,k)=c(j,k)-ireturnval*boxzsize
+              c(j,k+nres)=c(j,k+nres)-ireturnval*boxzsize
+            enddo
+           endif
+           chain_beg=i+1
+           allareout=1
+         else
+          if (int(c(j,i)/boxzsize).eq.0) allareout=0
+         endif
+        enddo
+         if (allareout.eq.1) then
+            ireturnval=int(c(j,i)/boxzsize)
+            if (c(j,i).le.0) ireturnval=ireturnval-1
+            do k=chain_beg,nres
+              c(j,k)=c(j,k)-ireturnval*boxzsize
+              c(j,k+nres)=c(j,k+nres)-ireturnval*boxzsize
+            enddo
+          endif
+        nojumpval=0
+        do i=2,nres
+           if (itype(i).eq.ntyp1 .and. itype(i-1).eq.ntyp1) then
+             difference=abs(c(j,i-1)-c(j,i))
+             if (difference.gt.(boxzsize/2.0)) then
+                if (c(j,i-1).gt.c(j,i)) then
+                  nojumpval=1
+                 else
+                   nojumpval=-1
+                 endif
+              else
+              nojumpval=0
+              endif
+            endif
+              c(j,i)=c(j,i)+nojumpval*boxzsize
+              c(j,i+nres)=c(j,i+nres)+nojumpval*boxzsize
+         enddo
+       nojumpval=0
+        do i=2,nres
+           if (itype(i).eq.ntyp1 .and. itype(i-1).eq.ntyp1) then
+             difference=abs(c(j,i-1)-c(j,i))
+             if (difference.gt.boxzsize/2.0) then
+                if (c(j,i-1).gt.c(j,i)) then
+                  nojumpval=1
+                 else
+                   nojumpval=-1
+                 endif
+              else
+              nojumpval=0
+              endif
+            endif
+             c(j,i)=c(j,i)+nojumpval*boxzsize
+              c(j,i+nres)=c(j,i+nres)+nojumpval*boxzsize
+         enddo
+
+        return
+        end
+
index 213308f..46bea23 100644 (file)
@@ -1,33 +1,34 @@
 C DO NOT EDIT THIS FILE - IT HAS BEEN GENERATED BY COMPINFO.C
-C 2 3 3491
+C 2 3 3496
       subroutine cinfo
       include 'COMMON.IOUNITS'
       write(iout,*)'++++ Compile info ++++'
-      write(iout,*)'Version 2.3 build 3491'
-      write(iout,*)'compiled Wed Dec 12 07:17:09 2012'
-      write(iout,*)'compiled by aks255@matrix.chem.cornell.edu'
+      write(iout,*)'Version 2.3 build 3496'
+      write(iout,*)'compiled Wed Mar 25 09:36:58 2015'
+      write(iout,*)'compiled by adasko@piasek4'
       write(iout,*)'OS name:    Linux '
-      write(iout,*)'OS release: 2.6.34.9-69.fc13.x86_64 '
+      write(iout,*)'OS release: 3.2.0-70-generic '
       write(iout,*)'OS version:',
-     & ' #1 SMP Tue May 3 09:23:03 UTC 2011 '
+     & ' #105-Ubuntu SMP Wed Sep 24 19:49:16 UTC 2014 '
       write(iout,*)'flags:'
-      write(iout,*)'CPPFLAGS = -DLINUX -DUNRES -DMP -DMPI \\'
-      write(iout,*)'           -DPGI -DSPLITELE -DISNAN -DAMD64 \\'
-      write(iout,*)'           -DPROCOR -DLANG0 \\'
-      write(iout,*)'           -DSCCORPDB      '
-      write(iout,*)'INSTALL_DIR = /users/software/mpich-1.2.7p1_int...'
-      write(iout,*)'FC= ifort'
-      write(iout,*)'OPT = -g -CB'
-      write(iout,*)'CFLAGS = -DSGI -c'
+      write(iout,*)'FC = ifort'
       write(iout,*)'FFLAGS = -c ${OPT} -I$(INSTALL_DIR)/include'
       write(iout,*)'FFLAGS1 = -c -w -g -d2 -CA -CB -I$(INSTALL_DIR)...'
-      write(iout,*)'FFLAGS2 = -c -w -O0 -I$(INSTALL_DIR)/include'
+      write(iout,*)'FFLAGS2 = -c -w -g -O0 -I$(INSTALL_DIR)/include'
       write(iout,*)'FFLAGSE = -c -w -O3 -ipo -ipo_obj  -opt_report ...'
-      write(iout,*)'BIN = ../../../bin/unres/MD-M/unres_Tc_procor_n...'
-      write(iout,*)'LIBS = -L$(INSTALL_DIR)/lib -lmpich ../../lib/x...'
+      write(iout,*)'CC = cc'
+      write(iout,*)'CFLAGS = -DLINUX -DPGI -c'
+      write(iout,*)'OPT =  -O3 -ip -w'
+      write(iout,*)'LIBS = -Lxdrf -lxdrf'
       write(iout,*)'ARCH = LINUX'
       write(iout,*)'PP = /lib/cpp -P'
       write(iout,*)'object = unres.o arcos.o cartprint.o chainbuild...'
+      write(iout,*)'GAB: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD64 ...'
+      write(iout,*)'GAB: BIN = ../../../bin/unres/MD/unres-mult_ifo...'
+      write(iout,*)'4P: CPPFLAGS = -DLINUX -DPGI -DAMD64 -DUNRES -D...'
+      write(iout,*)'4P: BIN = ../../../bin/unres/MD/unres-mult_ifor...'
+      write(iout,*)'E0LL2Y: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DAMD...'
+      write(iout,*)'E0LL2Y: BIN = ../../../bin/unres/MD/unres-mult_...'
       write(iout,*)'++++ End of compile info ++++'
       return
       end
index 818abde..33b33a4 100644 (file)
@@ -1149,7 +1149,8 @@ c        write (iout,*) "MPI_ROTAT2",MPI_ROTAT2
       ibond_start=2
       ibond_end=nres-1
       ibondp_start=nnt
-      ibondp_end=nct-1
+C      ibondp_end=nct-1
+      ibondp_end=nct
       ivec_start=1
       ivec_end=nres-1
       iset_start=3
index 06c7a73..326c02d 100644 (file)
@@ -141,11 +141,13 @@ C Workers wait for variables and NF, and NFL from the boss
       do while (iorder.ge.0)
 c      write (*,*) 'Processor',fg_rank,' CG group',kolor,
 c     & ' receives order from Master'
+#ifdef MPI
         time00=MPI_Wtime()
         call MPI_Bcast(iorder,1,MPI_INTEGER,king,FG_COMM,IERR)
         time_Bcast=time_Bcast+MPI_Wtime()-time00
         if (icall.gt.4 .and. iorder.ge.0) 
      &   time_order(iorder)=time_order(iorder)+MPI_Wtime()-time00
+#endif
        icall=icall+1
 c      write (*,*) 
 c     & 'Processor',fg_rank,' completed receive MPI_BCAST order',iorder
index 0aa6efd..2a828f2 100644 (file)
@@ -197,7 +197,6 @@ c---------------------------------------------------------------------------
       double precision energy_long(0:n_ene),energy_short(0:n_ene)
       double precision varia(maxvar)
       if (indpdb.eq.0)     call chainbuild
-      time00=MPI_Wtime()
       print *,'dc',c(1,1)
       if (indpdb.ne.0) then
       dc(1,0)=c(1,1)