enddo
C print *,'przed returnbox'
call returnbox
+C call enerprint(remd_ene(0,i))
do i=1,nres*2
do j=1,3
c_cache(j,i,ntwx_cache)=c(j,i)
call rescale_weights(remd_t_bath(iex))
c write (iout,*) "0,i",remd_t_bath(iex)
-c call enerprint(remd_ene(0,i))
+ call enerprint(remd_ene(0,i))
call sum_energy(remd_ene(0,i),.false.)
c write (iout,*) "ene_i_iex",remd_ene(0,i)
nojumpval=0
endif
endif
- c(j,k)=c(j,k)+nojumpval*boxxsize
- c(j,k+nres)=c(j,k+nres)+nojumpval*boxxsize
+ 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
nojumpval=0
endif
endif
- c(j,k)=c(j,k)+nojumpval*boxxsize
- c(j,k+nres)=c(j,k+nres)+nojumpval*boxxsize
+ c(j,i)=c(j,i)+nojumpval*boxxsize
+ c(j,i+nres)=c(j,i+nres)+nojumpval*boxxsize
enddo
- do i=1,nres
- write(*,*) 'after no jump', i,j,c(j,i)
- enddo
+C do i=1,nres
+C write(*,*) 'after no jump', i,j,c(j,i)
+C enddo
C NOW Y dimension
j=2
nojumpval=0
endif
endif
- c(j,k)=c(j,k)+nojumpval*boxysize
- c(j,k+nres)=c(j,k+nres)+nojumpval*boxysize
+ 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
nojumpval=0
endif
endif
- c(j,k)=c(j,k)+nojumpval*boxysize
- c(j,k+nres)=c(j,k+nres)+nojumpval*boxysize
+ c(j,i)=c(j,i)+nojumpval*boxysize
+ c(j,i+nres)=c(j,i+nres)+nojumpval*boxysize
enddo
j=3
nojumpval=0
endif
endif
- c(j,k)=c(j,k)+nojumpval*boxzsize
- c(j,k+nres)=c(j,k+nres)+nojumpval*boxzsize
+ 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
nojumpval=0
endif
endif
- c(j,k)=c(j,k)+nojumpval*boxzsize
- c(j,k+nres)=c(j,k+nres)+nojumpval*boxzsize
+ c(j,i)=c(j,i)+nojumpval*boxzsize
+ c(j,i+nres)=c(j,i+nres)+nojumpval*boxzsize
enddo
return
C NO vbldp0 is the equlibrium lenght of spring for peptide group
diff = vbld(i)-vbldp0
endif
- if (energy_dec) write (iout,'(a7,i5,4f7.3)')
+ if (energy_dec) write (iout,'(a7,i5,4f7.3)')
& "estr bb",i,vbld(i),vbldp0,diff,AKP*diff*diff
estr=estr+diff*diff
do j=1,3
nbi=nbondterm(iti)
if (nbi.eq.1) then
diff=vbld(i+nres)-vbldsc0(1,iti)
- if (energy_dec) write (iout,*)
+ if (energy_dec) write (iout,*)
& "estr sc",i,iti,vbld(i+nres),vbldsc0(1,iti),diff,
& AKSC(1,iti),AKSC(1,iti)*diff*diff
estr=estr+0.5d0*AKSC(1,iti)*diff*diff
character*80 card
dimension sccor(3,20)
double precision e1(3),e2(3),e3(3)
- integer rescode
+ integer rescode,iterter(maxres)
logical fail
+ do i=1,maxres
+ iterter(i)=0
+ enddo
ibeg=1
lsecondary=.false.
nhfrag=0
C End current chain
ires_old=ires+2
itype(ires_old-1)=ntyp1
+ iterter(ires_old-1)=1
itype(ires_old)=ntyp1
+ iterter(ires_old)=1
ibeg=2
write (iout,*) "Chain ended",ires,ishift,ires_old
if (unres_pdb) then
nres=ires
do i=2,nres-1
write (iout,*) i,itype(i),itype(i+1)
- if (itype(i).eq.ntyp1) then
- if (itype(i+1).eq.ntyp1) then
+ if (itype(i).eq.ntyp1.and.iterter(i).eq.1) then
+ if (itype(i+1).eq.ntyp1.and.iterter(i+1).eq.1 ) then
C 16/01/2014 by Adasko: Adding to dummy atoms in the chain
C first is connected prevous chain (itype(i+1).eq.ntyp1)=true
C second dummy atom is conected to next chain itype(i+1).eq.ntyp1=false
gcorr_loc(i)=0.0d0
enddo
do i=iatel_s,iatel_e
- if (i.eq.1) cycle
+ if (i.eq.1) then
+ if (itype(i).eq.ntyp1.or. itype(i+1).eq.ntyp1
+ & .or. itype(i+2).eq.ntyp1) cycle
+ else
if (itype(i).eq.ntyp1 .or. itype(i+1).eq.ntyp1
& .or. itype(i+2).eq.ntyp1
& .or. itype(i-1).eq.ntyp1
&) cycle
+ endif
if (itel(i).eq.0) goto 1215
dxi=dc(1,i)
dyi=dc(2,i)
num_conti=0
C write (iout,*) 'i',i,' ielstart',ielstart(i),' ielend',ielend(i)
do j=ielstart(i),ielend(i)
- if (j.eq.1) cycle
+ if (j.eq.1) then
+ if (itype(j).eq.ntyp1 .or. itype(j+1).eq.ntyp1
+ & .or.itype(j+2).eq.ntyp1
+ &) cycle
+ else
if (itype(j).eq.ntyp1 .or. itype(j+1).eq.ntyp1
& .or.itype(j+2).eq.ntyp1
& .or.itype(j-1).eq.ntyp1
&) cycle
+ endif
C
C) cycle
if (itel(j).eq.0) goto 1216
c &'evdw1',i,j,evdwij
c &,iteli,itelj,aaa,evdw1
- write (iout,'(a6,2i5,0pf7.3)') 'ees',i,j,eesij
+C write (iout,'(a6,2i5,0pf7.3)') 'ees',i,j,eesij
c write(iout,'(2(2i3,2x),7(1pd12.4)/2(3(1pd12.4),5x)/)')
c & iteli,i,itelj,j,aaa,bbb,ael6i,ael3i,
c & 1.0D0/dsqrt(rrmij),evdwij,eesij,
else
diff = vbld(i)-vbldp0
c write (iout,*) i,vbld(i),vbldp0,diff,AKP*diff*diff
+ endif
estr=estr+diff*diff
do j=1,3
gradb(j,i-1)=AKP*diff*dc(j,i-1)/vbld(i)
enddo
- endif
- write (iout,'(a7,i5,4f7.3)')
- & "estr bb",i,vbld(i),vbldp0,diff,AKP*diff*diff
+C endif
+C write (iout,'(a7,i5,4f7.3)')
+C & "estr bb",i,vbld(i),vbldp0,diff,AKP*diff*diff
enddo
estr=0.5d0*AKP*estr+estr1
c
nbi=nbondterm(iti)
if (nbi.eq.1) then
diff=vbld(i+nres)-vbldsc0(1,iti)
-c write (iout,*) i,iti,vbld(i+nres),vbldsc0(1,iti),diff,
-c & AKSC(1,iti),AKSC(1,iti)*diff*diff
+C write (iout,*) i,iti,vbld(i+nres),vbldsc0(1,iti),diff,
+C & AKSC(1,iti),AKSC(1,iti)*diff*diff
estr=estr+0.5d0*AKSC(1,iti)*diff*diff
do j=1,3
gradbx(j,i)=AKSC(1,iti)*diff*dc(j,i+nres)/vbld(i+nres)
usum=usum+uprod1
usumsqder=usumsqder+ud(j)*uprod2
enddo
-c write (iout,*) i,iti,vbld(i+nres),(vbldsc0(j,iti),
-c & AKSC(j,iti),abond0(j,iti),u(j),j=1,nbi)
+ write (iout,*) i,iti,vbld(i+nres),(vbldsc0(j,iti),
+ & AKSC(j,iti),abond0(j,iti),u(j),j=1,nbi)
estr=estr+uprod/usum
do j=1,3
gradbx(j,i)=usumsqder/(usum*usum)*dc(j,i+nres)/vbld(i+nres)