+++ /dev/null
-#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
-
-FFLAGS = -c ${OPT} -I$(INSTALL_DIR)/include
-FFLAGS1 = -c -w -g -d2 -CA -CB -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
-
-ARCH = LINUX
-PP = /lib/cpp -P
-
-
-all: GAB
-
-.SUFFIXES: .F
-.F.o:
- ${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 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 \
- 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 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:
-
-GAB: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DUNRES -DISNAN -DMP -DMPI -DAMD64 \
- -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC\
- -DSCCORPDB
-GAB: BIN = ../../../bin/unres/MD-M/unres_ifort_MPICH_GAB.exe
-GAB: ${object} ../../lib/xdrf_em64/libxdrf.a
- cc -o compinfo compinfo.c
- ./compinfo | true
- ${FC} ${FFLAGS} cinfo.f
- ${FC} ${OPT} ${object} cinfo.o ${LIBS} -o ${BIN}
-
-E0LL2Y: CPPFLAGS = -DPROCOR -DLINUX -DPGI -DUNRES -DISNAN -DMP -DMPI -DAMD64 \
- -DSPLITELE -DLANG0
-E0LL2Y: BIN = ../../../bin/unres/MD-M/unres_ifort_MPICH_E0LL2Y.exe
-E0LL2Y: ${object} ../../lib/xdrf_em64/libxdrf.a
- cc -o compinfo compinfo.c
- ./compinfo | true
- ${FC} ${FFLAGS} cinfo.f
- ${FC} ${OPT} ${object} cinfo.o ${LIBS} -o ${BIN}
-
-../../lib/xdrf_em64/libxdrf.a:
- cd ../../lib/xdrf_em64 && make
-
-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}
-
-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}
-
-xdrf/libxdrf.a:
- cd xdrf && make
-
-clean:
- /bin/rm -f *.o && /bin/rm -f compinfo && cd xdrf && make clean
-
-test.o: test.F
- ${FC} ${FFLAGS} ${CPPFLAGS} test.F
-
-chainbuild.o: chainbuild.F
- ${FC} ${FFLAGS} ${CPPFLAGS} chainbuild.F
-
-matmult.o: matmult.f
- ${FC} ${FFLAGS} ${CPPFLAGS} matmult.f
-
-parmread.o : parmread.F
- ${FC} ${FFLAGS} ${CPPFLAGS} parmread.F
-
-intcor.o : intcor.f
- ${FC} ${FFLAGS} ${CPPFLAGS} intcor.f
-
-cartder.o : cartder.F
- ${FC} ${FFLAGS} ${CPPFLAGS} cartder.F
-
-readpdb.o : readpdb.F
- ${FC} ${FFLAGS2} ${CPPFLAGS} readpdb.F
-
-sumsld.o : sumsld.f
- ${FC} ${FFLAGS} ${CPPFLAGS} sumsld.f
-
-cored.o : cored.f
- ${FC} ${FFLAGS1} ${CPPFLAGS} cored.f
-
-rmdd.o : rmdd.f
- ${FC} ${FFLAGS} ${CPPFLAGS} rmdd.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
-
-MD_A-MTS.o : MD_A-MTS.F
- ${FC} ${FFLAGSE} ${CPPFLAGS} MD_A-MTS.F
-
-blas.o : blas.f
- ${FC} ${FFLAGS1} blas.f
-
-add.o : add.f
- ${FC} ${FFLAGS1} add.f
-
-eigen.o : eigen.f
- ${FC} ${FFLAGS2} eigen.f
-
-proc_proc.o: proc_proc.c
- ${CC} ${CFLAGS} proc_proc.c
C
do iint=1,nint_gr(i)
do j=istart(i,iint),iend(i,iint)
+c write (iout,*) "i",i," j", j," itype",itype(i),itype(j)
+c call flush(iout)
ind=ind+1
itypj=itype(j)
if (itypj.eq.ntyp1) cycle
c dscj_inv=dsc_inv(itypj)
dscj_inv=vbld_inv(j+nres)
-c write (iout,*) "j",j,dsc_inv(itypj),dscj_inv,
+c write (iout,*) "j",j,itypi,itypj,dsc_inv(itypj),dscj_inv,
c & 1.0d0/vbld(j+nres)
-c write (iout,*) "i",i," j", j," itype",itype(i),itype(j)
+c call flush(iout)
sig0ij=sigma(itypi,itypj)
chi1=chi(itypi,itypj)
chi2=chi(itypj,itypi)
yj=mod(yj,boxysize)
if (yj.lt.0) yj=yj+boxysize
zj=mod(zj,boxzsize)
+c write (iout,*) "After box"
+c call flush(iout)
if (zj.lt.0) zj=zj+boxzsize
if ((zj.gt.bordlipbot)
&.and.(zj.lt.bordliptop)) then
sslipj=0.0d0
ssgradlipj=0.0
endif
+c write (iout,*) "After lipid"
+c call flush(iout)
aa=aa_lip(itypi,itypj)*(sslipi+sslipj)/2.0d0
& +aa_aq(itypi,itypj)*(2.0d0-sslipi+sslipj)/2.0d0
bb=bb_lip(itypi,itypj)*(sslipi+sslipj)/2.0d0
C Calculate angle-dependent terms of energy and contributions to their
C derivatives.
call sc_angular
+c write (iout,*) "After sc_angular"
+c call flush(iout)
sigsq=1.0D0/sigsq
sig=sig0ij*dsqrt(sigsq)
rij_shift=1.0D0/rij-sig+sig0ij
C I hate to put IF's in the loops, but here don't have another choice!!!!
if (rij_shift.le.0.0D0) then
evdw=1.0D20
-cd write (iout,'(2(a3,i3,2x),17(0pf7.3))')
-cd & restyp(itypi),i,restyp(itypj),j,
-cd & rij_shift,1.0D0/rij,sig,sig0ij,sigsq,1-dsqrt(sigsq)
+c write (iout,'(2(a3,i3,2x),17(0pf7.3))')
+c & restyp(itypi),i,restyp(itypj),j,
+c & rij_shift,1.0D0/rij,sig,sig0ij,sigsq,1-dsqrt(sigsq)
return
endif
sigder=-sig*sigsq
eps3der=evdwij*eps2rt
c write (iout,*) "sigsq",sigsq," sig",sig," eps2rt",eps2rt,
c & " eps3rt",eps3rt," eps1",eps1," e1",e1," e2",e2
+c call flush(iout)
evdwij=evdwij*eps2rt*eps3rt
evdw=evdw+evdwij*sss
if (lprn) then
& eps1,eps2rt**2,eps3rt**2,sig,sig0ij,
& om1,om2,om12,1.0D0/rij,1.0D0/rij_shift,
& evdwij
+ call flush(iout)
endif
- if (energy_dec) write (iout,'(a6,2i5,0pf7.3)')
- & 'evdw',i,j,evdwij
+ if (energy_dec) then
+ write (iout,'(a6,2i5,0pf7.3)') 'evdw',i,j,evdwij
+ call flush(iout)
+ endif
C Calculate gradient components.
e1=e1*eps1*eps2rt**2*eps3rt**2
gg(3)=zj*fac
gg_lipi(3)=ssgradlipi*evdwij
gg_lipj(3)=ssgradlipj*evdwij
+c write (iout,*) "Calling sc_grad_scale"
+c call flush(iout)
C Calculate angular part of the gradient.
call sc_grad_scale(sss)
+c write (iout,*) "After sc_grad_scale"
+c call flush(iout)
endif
enddo ! j
enddo ! iint
include 'COMMON.IOUNITS'
double precision dcosom1(3),dcosom2(3)
double precision scalfac
+c write (iout,*) "sc_grad_scale",i,j,k,l
+c call flush(iout)
eom1=eps2der*eps2rt_om1-2.0D0*alf1*eps3der+sigder*sigsq_om1
eom2=eps2der*eps2rt_om2+2.0D0*alf2*eps3der+sigder*sigsq_om2
eom12=evdwij*eps1_om12+eps2der*eps2rt_om12
C Calculate the components of the gradient in DC and X
C
do l=1,3
- gvdwc(l,i)=gvdwc(l,i)-gg(l)+gg_lipi(k)
- gvdwc(l,j)=gvdwc(l,j)+gg(l)+gg_lipj(k)
+ gvdwc(l,i)=gvdwc(l,i)-gg(l)+gg_lipi(l)
+ gvdwc(l,j)=gvdwc(l,j)+gg(l)+gg_lipj(l)
enddo
return
end
c if (dyn_ss) call dyn_set_nss
c print *,"Processor",myrank," computed USCSC"
+c write (iout,*) "SCSC computed OK"
+c call flush_(iout)
#ifdef TIMING
time01=MPI_Wtime()
#endif
c call eelec_soft_sphere(ees,evdw1,eel_loc,eello_turn3,
c & eello_turn4)
endif
+c write (iout,*) "eelec computed OK"
+c call flush_(iout)
c print *,"Processor",myrank," computed UELEC"
C
C Calculate excluded-volume interaction energy between peptide groups
c write (iout,*) "Soft-sphere SCP potential"
call escp_soft_sphere(evdw2,evdw2_14)
endif
+c write (iout,*) "escp computed OK"
+c call flush_(iout)
c
c Calculate the bond-stretching energy
c
call ebond(estr)
+c write (iout,*) "ebond computed OK"
+c call flush_(iout)
C
C Calculate the disulfide-bridge and other energy and the contributions
C from other distance constraints.
ebe=0
ethetacnstr=0
endif
+c write (iout,*) "ebend computed OK"
+c call flush_(iout)
c print *,"Processor",myrank," computed UB"
C
C Calculate the SC local energy.
C
C print *,"TU DOCHODZE?"
call esc(escloc)
+c write (iout,*) "esc computed OK"
+c call flush_(iout)
c print *,"Processor",myrank," computed USC"
C
C Calculate the virtual-bond torsional energy.
etors=0
edihcnstr=0
endif
+c write (iout,*) "etor computed OK"
+c call flush_(iout)
c print *,"Processor",myrank," computed Utor"
C
C 6/23/01 Calculate double-torsional energy
else
etors_d=0
endif
+c write (iout,*) "etor_d computed OK"
+c call flush_(iout)
c print *,"Processor",myrank," computed Utord"
C
C 21/5/07 Calculate local sicdechain correlation energy
else
esccor=0.0d0
endif
+c write (iout,*) "eback_sc_corr computed OK"
+c call flush_(iout)
C print *,"PRZED MULIt"
c print *,"Processor",myrank," computed Usccorr"
C
n_corr1=0
if ((wcorr4.gt.0.0d0 .or. wcorr5.gt.0.0d0 .or. wcorr6.gt.0.0d0
& .or. wturn6.gt.0.0d0) .and. ipot.lt.6) then
+c write (iout,*) "Calling multibody_eello"
+c call flush_(iout)
call multibody_eello(ecorr,ecorr5,ecorr6,eturn6,n_corr,n_corr1)
-cd write(2,*)'multibody_eello n_corr=',n_corr,' n_corr1=',n_corr1,
-cd &" ecorr",ecorr," ecorr5",ecorr5," ecorr6",ecorr6," eturn6",eturn6
+c write(iout,*)
+c & 'multibody_eello n_corr=',n_corr,' n_corr1=',n_corr1,
+c & " ecorr",ecorr," ecorr5",ecorr5," ecorr6",ecorr6," eturn6",eturn6
+c call flush_(iout)
else
ecorr=0.0d0
ecorr5=0.0d0
eturn6=0.0d0
endif
if ((wcorr4.eq.0.0d0 .and. wcorr.gt.0.0d0) .and. ipot.lt.6) then
+c write (iout,*) "Calling multibody_gb_ecorr"
+c call flush_(iout)
call multibody_hb(ecorr,ecorr5,ecorr6,n_corr,n_corr1)
-cd write (iout,*) "multibody_hb ecorr",ecorr
+c write (iout,*) "Exited multibody_hb ecorr",ecorr
+c call flush_(iout)
endif
+c write (iout,*) "multibody computed OK"
+c call flush_(iout)
c print *,"Processor",myrank," computed Ucorr"
C
C If performing constraint dynamics, call the constraint energy
if (wliptran.gt.0) then
call Eliptransfer(eliptran)
endif
-C print *,"za lipidami"
+c write (iout,*) "lipid energy computed OK"
+c call flush_(iout)
if (AFMlog.gt.0) then
call AFMforce(Eafmforce)
else if (selfguide.gt.0) then
call AFMvel(Eafmforce)
endif
+c write (iout,*) "AFMforce computed OK"
+c call flush_(iout)
#ifdef TIMING
time_enecalc=time_enecalc+MPI_Wtime()-time00
#endif
c per molecule then we sum it up in sum_energy subroutine
c print *," Processor",myrank," calls SUM_ENERGY"
call sum_energy(energia,.true.)
+c write (iout,*) "sum energy OK"
+c call flush_(iout)
if (dyn_ss) call dyn_set_nss
+c write (iout,*) "Exiting energy"
+c call flush_(iout)
c print *," Processor",myrank," left SUM_ENERGY"
#ifdef TIMING
time_sumene=time_sumene+MPI_Wtime()-time00
etheta=0.0D0
c write (*,'(a,i2)') 'EBEND ICG=',icg
do i=ithet_start,ithet_end
+c write (iout,*) "ebend: i=",i
+c call flush_(iout)
if ((itype(i-1).eq.ntyp1).or.itype(i-2).eq.ntyp1
& .or.itype(i).eq.ntyp1) cycle
C Zero the energy function and its derivative at 0 or pi.
if (i.lt.nres) gloc(i-2,icg)=gloc(i-2,icg)+wang*E_tc*dthetg2
gloc(nphi+i-2,icg)=wang*(E_theta+E_tc*dthett)+gloc(nphi+i-2,icg)
enddo
+c write (iout,*) "Exit loop"
+c call flush_(iout)
ethetacnstr=0.0d0
-C print *,ithetaconstr_start,ithetaconstr_end,"TU"
- do i=ithetaconstr_start,ithetaconstr_end
+c write (iout,*) ithetaconstr_start,ithetaconstr_end,"TU"
+c call flush_(iout)
+ do i=max0(ithetaconstr_start,1),ithetaconstr_end
itheta=itheta_constr(i)
thetiii=theta(itheta)
difi=pinorm(thetiii-theta_constr0(i))
& gloc(itheta+nphi-2,icg)
endif
enddo
+c write (iout,*) "Exit ebend"
+c call flush_(iout)
C Ufff.... We've done all this!!!
return
C now constrains
ethetacnstr=0.0d0
C print *,ithetaconstr_start,ithetaconstr_end,"TU"
- do i=ithetaconstr_start,ithetaconstr_end
+ do i=max0(ithetaconstr_start,1),ithetaconstr_end
itheta=itheta_constr(i)
thetiii=theta(itheta)
difi=pinorm(thetiii-theta_constr0(i))
logical lprn
C Set lprn=.true. for debugging
lprn=.false.
-c lprn=.true.
+c lprn=.true.
etors=0.0D0
do i=iphi_start,iphi_end
C ANY TWO ARE DUMMY ATOMS in row CYCLE
if (lprn) then
write (iout,'(a)') 'Contact function values before RECEIVE:'
do i=nnt,nct-2
- write (iout,'(2i3,50(1x,i2,f5.2))')
+ write (iout,'(2i3,50(1x,i3,f5.2))')
& i,num_cont_hb(i),(jcont_hb(j,i),facont_hb(j,i),
& j=1,num_cont_hb(i))
enddo
jp1=iabs(j1)
c write (iout,*) 'i=',i,' j=',j,' i1=',i1,' j1=',j1,
c & ' jj=',jj,' kk=',kk
+c call flush(iout)
if ((j.gt.0 .and. j1.gt.0 .or. j.gt.0 .and. j1.lt.0
& .or. j.lt.0 .and. j1.gt.0) .and.
& (jp1.eq.jp+1 .or. jp1.eq.jp-1)) then
enddo ! kk
do kk=1,num_conti
j1=jcont_hb(kk,i)
-c write (iout,*) 'i=',i,' j=',j,' i1=',i1,' j1=',j1,
-c & ' jj=',jj,' kk=',kk
+c write (iout,*) 'i=',i,' j=',j,' i1=',i1,' j1=',j1,
+c & ' jj=',jj,' kk=',kk
+c call flush(iout)
if (j1.eq.j+1) then
C Contacts I-J and (I+1)-J occur simultaneously.
C The system loses extra energy.
include 'COMMON.CONTACTS'
include 'COMMON.CHAIN'
include 'COMMON.CONTROL'
+ include 'COMMON.TORSION'
double precision gx(3),gx1(3)
integer num_cont_hb_old(maxres)
logical lprn,ldone
C Set lprn=.true. for debugging
lprn=.false.
eturn6=0.0d0
+c write (iout,*) "MULTIBODY_EELLO"
+c call flush(iout)
#ifdef MPI
do i=1,nres
num_cont_hb_old(i)=num_cont_hb(i)
if (lprn) then
write (iout,'(a)') 'Contact function values before RECEIVE:'
do i=nnt,nct-2
- write (iout,'(2i3,50(1x,i2,f5.2))')
+ write (iout,'(2i3,50(1x,i3,f5.2))')
& i,num_cont_hb(i),(jcont_hb(j,i),facont_hb(j,i),
& j=1,num_cont_hb(i))
enddo
+ call flush(iout)
endif
- call flush(iout)
do i=1,ntask_cont_from
ncont_recv(i)=0
enddo
if (lprn) then
write (iout,'(a)') 'Contact function values:'
do i=nnt,nct-2
- write (iout,'(2i3,50(1x,i2,5f6.3))')
+ write (iout,'(2i3,50(1x,i3,5f6.3))')
& i,num_cont_hb(i),(jcont_hb(j,i),d_cont(j,i),
& ((a_chuj(ll,kk,j,i),ll=1,2),kk=1,2),j=1,num_cont_hb(i))
enddo
+ write (iout,*) "itortyp"
+ do i=1,nres
+ write (iout,*) i,itype(i),itortyp(itype(i))
+ enddo
+ call flush(iout)
endif
ecorr=0.0D0
ecorr5=0.0d0
do kk=1,num_conti1
j1=jcont_hb(kk,i1)
jp1=iabs(j1)
-c write (iout,*) 'i=',i,' j=',j,' i1=',i1,' j1=',j1,
-c & ' jj=',jj,' kk=',kk
+ if (lprn) then
+ write (iout,*) 'i=',i,' j=',j,' i1=',i1,' j1=',j1,
+ & ' jj=',jj,' kk=',kk
+ call flush(iout)
+ endif
c if (j1.eq.j+1 .or. j1.eq.j-1) then
if ((j.gt.0 .and. j1.gt.0 .or. j.gt.0 .and. j1.lt.0
& .or. j.lt.0 .and. j1.gt.0) .and.
c write (iout,'(i5,3f10.5)')
c & iii,(gradcorr5(jjj,iii),jjj=1,3)
c enddo
+c write (iout,*) "ecorr4"
+c call flush(iout)
+c write (iout,*) "eello5:",i,jp,i+1,jp1,jj,kk,
+c & itype(jp),itype(i+1),itype(jp1),
+c & itortyp(itype(jp)),itortyp(itype(i+1)),itortyp(itype(jp1))
+c call flush(iout)
if (wcorr5.gt.0.0d0)
& ecorr5=ecorr5+eello5(i,jp,i+1,jp1,jj,kk)
c write (iout,*) "gradcorr5 after eello5"
2 'ecorr5',i,j,i+1,j1,eello5(i,jp,i+1,jp1,jj,kk)
cd write(2,*)'wcorr6',wcorr6,' wturn6',wturn6
cd write(2,*)'ijkl',i,jp,i+1,jp1
+c write (iout,*) "ecorr5"
+c call flush(iout)
if (wcorr6.gt.0.0d0 .and. (jp.ne.i+4 .or. jp1.ne.i+3
& .or. wturn6.eq.0.0d0))then
cd write (iout,*) '******ecorr6: i,j,i+1,j1',i,j,i+1,j1
ecorr6=ecorr6+eello6(i,jp,i+1,jp1,jj,kk)
if (energy_dec) write (iout,'(a6,4i5,0pf7.3)')
1 'ecorr6',i,j,i+1,j1,eello6(i,jp,i+1,jp1,jj,kk)
+c write (iout,*) "ecorr6"
+c call flush(iout)
cd write (iout,*) 'ecorr',ecorr,' ecorr5=',ecorr5,
cd & 'ecorr6=',ecorr6
cd write (iout,'(4e15.5)') sred_geom,
if (energy_dec) write (iout,'(a6,4i5,0pf7.3)')
1 'eturn6',i,j,i+1,j1,eello_turn6(i,jj,kk)
cd write (2,*) 'multibody_eello:eturn6',eturn6
+c write (iout,*) "ecorr4"
+c call flush(iout)
endif
ENDIF
1111 continue
endif
+ if (energy_dec) call flush(iout)
enddo ! kk
enddo ! jj
enddo ! i
cd write (iout,*)
cd & 'EELLO5: Contacts have occurred for peptide groups',i,j,
cd & ' and',k,l
- itk=itortyp(itype(k))
- itl=itortyp(itype(l))
- itj=itortyp(itype(j))
+c itk=itortyp(itype(k))
+c itl=itortyp(itype(l))
+c itj=itortyp(itype(j))
eello5_1=0.0d0
eello5_2=0.0d0
eello5_3=0.0d0
c goto 1112
c1111 continue
C Contribution from graph II
- call transpose2(EE(1,1,itk),auxmat(1,1))
+ call transpose2(EE(1,1,k),auxmat(1,1))
call matmat2(auxmat(1,1),AEA(1,1,1),pizda(1,1))
vv(1)=pizda(1,1)+pizda(2,2)
vv(2)=pizda(2,1)-pizda(1,2)
cd goto 1112
C Contribution from graph IV
cd1110 continue
- call transpose2(EE(1,1,itl),auxmat(1,1))
+ call transpose2(EE(1,1,l),auxmat(1,1))
call matmat2(auxmat(1,1),AEA(1,1,2),pizda(1,1))
vv(1)=pizda(1,1)+pizda(2,2)
vv(2)=pizda(2,1)-pizda(1,2)
cd goto 1112
C Contribution from graph IV
1110 continue
- call transpose2(EE(1,1,itj),auxmat(1,1))
+ call transpose2(EE(1,1,j),auxmat(1,1))
call matmat2(auxmat(1,1),AEA(1,1,2),pizda(1,1))
vv(1)=pizda(1,1)+pizda(2,2)
vv(2)=pizda(2,1)-pizda(1,2)
C i i C
C C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
- itk=itortyp(itype(k))
+c itk=itortyp(itype(k))
s1= scalar2(AEAb1(1,2,imat),CUgb2(1,i))
s2=-scalar2(AEAb2(1,1,imat),Ug2Db1t(1,k))
s3= scalar2(AEAb2(1,1,imat),CUgb2(1,k))
C
C 4/7/01 AL Component s1 was removed, because it pertains to the respective
C energy moment and not to the cluster cumulant.
- iti=itortyp(itype(i))
- if (j.lt.nres-1) then
- itj1=itortyp(itype(j+1))
- else
- itj1=ntortyp
- endif
- itk=itortyp(itype(k))
- itk1=itortyp(itype(k+1))
- if (l.lt.nres-1) then
- itl1=itortyp(itype(l+1))
- else
- itl1=ntortyp
- endif
+c iti=itortyp(itype(i))
+c if (j.lt.nres-1) then
+c itj1=itortyp(itype(j+1))
+c else
+c itj1=ntortyp
+c endif
+c itk=itortyp(itype(k))
+c itk1=itortyp(itype(k+1))
+c if (l.lt.nres-1) then
+c itl1=itortyp(itype(l+1))
+c else
+c itl1=ntortyp
+c endif
#ifdef MOMENT
s1=dip(4,jj,i)*dip(4,kk,k)
#endif
s2=0.5d0*scalar2(b1(1,k),auxvec(1))
call matvec2(AECA(1,1,2),b1(1,l+1),auxvec(1))
s3=0.5d0*scalar2(b1(1,j+1),auxvec(1))
- call transpose2(EE(1,1,itk),auxmat(1,1))
+ call transpose2(EE(1,1,k),auxmat(1,1))
call matmat2(auxmat(1,1),AECA(1,1,1),pizda(1,1))
vv(1)=pizda(1,1)+pizda(2,2)
vv(2)=pizda(2,1)-pizda(1,2)
C 4/7/01 AL Component s1 was removed, because it pertains to the respective
C energy moment and not to the cluster cumulant.
cd write (2,*) 'eello_graph4: wturn6',wturn6
- iti=itortyp(itype(i))
- itj=itortyp(itype(j))
- if (j.lt.nres-1) then
- itj1=itortyp(itype(j+1))
- else
- itj1=ntortyp
- endif
- itk=itortyp(itype(k))
- if (k.lt.nres-1) then
- itk1=itortyp(itype(k+1))
- else
- itk1=ntortyp
- endif
- itl=itortyp(itype(l))
- if (l.lt.nres-1) then
- itl1=itortyp(itype(l+1))
- else
- itl1=ntortyp
- endif
+c iti=itortyp(itype(i))
+c itj=itortyp(itype(j))
+c if (j.lt.nres-1) then
+c itj1=itortyp(itype(j+1))
+c else
+c itj1=ntortyp
+c endif
+c itk=itortyp(itype(k))
+c if (k.lt.nres-1) then
+c itk1=itortyp(itype(k+1))
+c else
+c itk1=ntortyp
+c endif
+c itl=itortyp(itype(l))
+c if (l.lt.nres-1) then
+c itl1=itortyp(itype(l+1))
+c else
+c itl1=ntortyp
+c endif
cd write (2,*) 'eello6_graph4:','i',i,' j',j,' k',k,' l',l
cd write (2,*) 'iti',iti,' itj',itj,' itj1',itj1,' itk',itk,
cd & ' itl',itl,' itl1',itl1
&*VofOverlap
C grad_shield_side is Cbeta sidechain gradient
grad_shield_side(j,ishield_list(i),i)=
- & (sh_frac_dist_grad(j)*-2.0d0
+ & (sh_frac_dist_grad(j)*(-2.0d0)
& +scale_fac_dist*costhet_grad(j)*2.0d0/(1.0-costhet)
& +scale_fac_dist*(cosphi_grad_long(j))
& *2.0d0/(1.0-cosphi))
vblinv2=vblinv*vblinv
c
c Read the virtual-bond parameters, masses, and moments of inertia
-c and Stokes' radii of the peptide group and side chains
+c and Stokes radii of the peptide group and side chains
c
#ifdef CRYST_BOND
read (ibond,*) vbldp0,vbldpdum,akp,mp,ip,pstok
& vbldsc0(j,i),aksc(j,i),abond0(j,i)
enddo
enddo
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
endif
C reading lipid parameters
- read(iliptranpar,*) pepliptran
+ read(iliptranpar,*,end=120,err=120) pepliptran
do i=1,ntyp
- read(iliptranpar,*) liptranene(i)
+ read(iliptranpar,*,end=120,err=120) liptranene(i)
enddo
close(iliptranpar)
+ if (lprint) then
+ write (iout,*) "Lipid transfer parameters"
+ write (iout,'(a5,f10.5)') "pept",pepliptran
+ do i=1,ntyp
+ write (iout,'(a5,f10.5)') restyp(i),liptranene(i)
+ enddo
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
+ endif
#ifdef CRYST_THETA
C
C Read the parameters of the probability distribution/energy expression
write (iout,'(a3,i4,2x,5(1pe14.5))') restyp(i),i,theta0(i),
& sig0(i),(gthet(j,i),j=1,3)
enddo
+ call flush(iout)
else
write (iout,'(a)')
& 'Parameters of the virtual-bond valence angles:'
write (iout,'(a3,1h&,2x,5(f8.3,1h&))') restyp(i),theta0(i),
& 100*sig0(i),gthet(1,i)*0.1D0,gthet(2,i),gthet(3,i)*10.0D0
enddo
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
endif
endif
#else
enddo
enddo
enddo
- call flush(iout)
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
endif
- write (2,*) "Start reading THETA_PDB",ithep_pdb
+ write (iout,*) "Start reading THETA_PDB",ithep_pdb
do i=1,ntyp
c write (2,*) 'i=',i
read (ithep_pdb,*,err=111,end=111)
gthet(j,i)=gthet(j,-i)
enddo
enddo
- write (2,*) "End reading THETA_PDB"
+ write (iout,*) "End reading THETA_PDB"
close (ithep_pdb)
#endif
close(ithep)
endif
endif
enddo
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
endif
#else
C
C Read the parameters of the probability distribution/energy expression
C of the side chains.
C
- write (2,*) "Start reading ROTAM_PDB"
+ write (iout,*) "Start reading ROTAM_PDB"
do i=1,ntyp
read (irotam_pdb,'(3x,i3,f8.3)',end=112,err=112) nlob(i),dsc(i)
if (i.eq.10) then
endif
enddo
close (irotam_pdb)
- write (2,*) "End reading ROTAM_PDB"
+c write (iout,*) "End reading ROTAM_PDB"
+c#ifdef AIX
+c call flush_(iout)
+c#else
+c call flush(iout)
+c#endif
#endif
close(irotam)
write (iout,'(6x,6f10.5)') (v2(k,i,j),k=1,nterm_old)
enddo
enddo
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
endif
#else
C
enddo
enddo
close (itorp)
+c write (iout,*) "End reading torsional parameters"
+c#ifdef AIX
+c call flush_(iout)
+c#else
+c call flush(iout)
+c#endif
if (lprint) then
write (iout,'(/a/)') 'Torsional constants:'
+ do iblock=1,2
+ write (iout,*) "IBLOCK",iblock
do i=1,ntortyp
do j=1,ntortyp
write (iout,*) 'ityp',i,' jtyp',j
enddo
enddo
enddo
+ enddo
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
endif
C
enddo
enddo
enddo
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
endif
#endif
C Read of Side-chain backbone correlation parameters
CCC
C
read (isccor,*,end=119,err=119) nsccortyp
+c write (iout,*) "Reading sccor parameters",nsccortyp
+c#ifdef AIX
+c call flush_(iout)
+c#else
+c call flush(iout)
+c#endif
#ifdef SCCORPDB
read (isccor,*,end=119,err=119) (isccortyp(i),i=1,ntyp)
do i=-ntyp,-1
v0ijsccor=v0ijsccor+vlor1sccor(k,i,j)/
&(1+vlor3sccor(k,i,j)**2)
enddo
- v0sccor(i,j,iblock)=v0ijsccor
+ v0sccor(l,i,j)=v0ijsccor
enddo
enddo
enddo
close (isccor)
#endif
+c write (iout,*) "sccor parameters read"
+c#ifdef AIX
+c call flush_(iout)
+c#else
+c call flush(iout)
+c#endif
if (lprint) then
- write (iout,'(/a/)') 'Torsional constants:'
+ write (iout,'(/a/)') 'SC-torsional constants:'
+ do l=1,maxinter
+ write (iout,*) "Torsional type",l
do i=1,nsccortyp
do j=1,nsccortyp
write (iout,*) 'ityp',i,' jtyp',j
enddo
enddo
enddo
+ enddo
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
endif
C
write (iout,'(2f10.5)') EEold(j,1,i),EEold(j,2,i)
enddo
enddo
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
endif
c lprint=.false.
c lprint=.false.
enddo
enddo
+#ifdef AIX
+ if (lprint) call flush_(iout)
+#else
+ if (lprint) call flush(iout)
+#endif
C
C Read side-chain interaction parameters.
C
endif
enddo
enddo
+#ifdef AIX
+ if (lprint) call flush_(iout)
+#else
+ if (lprint) call flush(iout)
+#endif
#ifdef OLDSCP
C
C Define the SC-p interaction constants (hard-coded; old style)
write (iout,'(4f8.3,4e12.4)') eps_scp(i,1),rscp(i,1),
& eps_scp(i,2),rscp(i,2),aad(i,1),bad(i,1),aad(i,2),bad(i,2)
enddo
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
endif
c lprint=.false.
#endif
C endif
return
111 write (iout,*) "Error reading bending energy parameters."
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
goto 999
112 write (iout,*) "Error reading rotamer energy parameters."
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
goto 999
113 write (iout,*) "Error reading torsional energy parameters."
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
goto 999
114 write (iout,*) "Error reading double torsional energy parameters."
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
goto 999
115 write (iout,*)
& "Error reading cumulant (multibody energy) parameters."
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
goto 999
116 write (iout,*) "Error reading electrostatic energy parameters."
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
goto 999
1161 write (iout,*) "Error reading electrostatic energy parameters.Lip"
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
goto 999
117 write (iout,*) "Error reading side chain interaction parameters."
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
goto 999
118 write (iout,*) "Error reading SCp interaction parameters."
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
goto 999
119 write (iout,*) "Error reading SCCOR parameters"
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
+ goto 999
+ 120 write (iout,*) "Error reading lipid parameters"
+#ifdef AIX
+ call flush_(iout)
+#else
+ call flush(iout)
+#endif
999 continue
#ifdef MPI
call MPI_Finalize(Ierror)