From: Adam Sieradzan Date: Wed, 25 Mar 2015 08:51:15 +0000 (+0100) Subject: important change for single processor for multi-chain X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?p=unres.git;a=commitdiff_plain;h=cc8bbed784599574de0b4dc917e99ff438a6c6d5 important change for single processor for multi-chain --- diff --git a/bin/unres/MD/unres-mult_ifort_single_GAB.exe b/bin/unres/MD/unres-mult_ifort_single_GAB.exe index eefac4f..8266a3e 100755 Binary files a/bin/unres/MD/unres-mult_ifort_single_GAB.exe and b/bin/unres/MD/unres-mult_ifort_single_GAB.exe differ diff --git a/source/unres/src_MD-M/MREMD.F b/source/unres/src_MD-M/MREMD.F index a3ec5a7..5b0fc35 100644 --- a/source/unres/src_MD-M/MREMD.F +++ b/source/unres/src_MD-M/MREMD.F @@ -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 diff --git a/source/unres/src_MD-M/Makefile b/source/unres/src_MD-M/Makefile index ef18714..0875ee5 100644 --- a/source/unres/src_MD-M/Makefile +++ b/source/unres/src_MD-M/Makefile @@ -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 diff --git a/source/unres/src_MD-M/chainbuild.F b/source/unres/src_MD-M/chainbuild.F index 766e14a..3a1c47d 100644 --- a/source/unres/src_MD-M/chainbuild.F +++ b/source/unres/src_MD-M/chainbuild.F @@ -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 + diff --git a/source/unres/src_MD-M/cinfo.f b/source/unres/src_MD-M/cinfo.f index 213308f..46bea23 100644 --- a/source/unres/src_MD-M/cinfo.f +++ b/source/unres/src_MD-M/cinfo.f @@ -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 diff --git a/source/unres/src_MD-M/initialize_p.F b/source/unres/src_MD-M/initialize_p.F index 818abde..33b33a4 100644 --- a/source/unres/src_MD-M/initialize_p.F +++ b/source/unres/src_MD-M/initialize_p.F @@ -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 diff --git a/source/unres/src_MD-M/minimize_p.F b/source/unres/src_MD-M/minimize_p.F index 06c7a73..326c02d 100644 --- a/source/unres/src_MD-M/minimize_p.F +++ b/source/unres/src_MD-M/minimize_p.F @@ -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 diff --git a/source/unres/src_MD-M/unres.F b/source/unres/src_MD-M/unres.F index 0aa6efd..2a828f2 100644 --- a/source/unres/src_MD-M/unres.F +++ b/source/unres/src_MD-M/unres.F @@ -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)