! include 'COMMON.INTERACT'
! include 'COMMON.MD'
! include 'COMMON.IOUNITS'
- real(kind=8) :: KE_total
+ real(kind=8) :: KE_total,mscab
integer :: i,j,k,iti,mnum
real(kind=8) :: KEt_p,KEt_sc,KEr_p,KEr_sc,incr(3),&
enddo
do i=nnt,nct-1
mnum=molnum(i)
+ if (mnum.eq.5) mp(mnum)=msc(itype(i,mnum),mnum)
! write (iout,*) "Kinetic trp:",i,(incr(j),j=1,3)
do j=1,3
v(j)=incr(j)+0.5d0*d_t(j,i)
do i=nnt,nct
mnum=molnum(i)
iti=iabs(itype(i,mnum))
+ if (mnum.eq.5) then
+ mscab=0.0d0
+ else
+ mscab=msc(iti,mnum)
+ endif
! if (itype(i,1).ne.10 .and. itype(i,1).ne.ntyp1) then
if (itype(i,1).eq.10 .or. itype(i,mnum).eq.ntyp1_molec(mnum)&
.or.(mnum.eq.5)) then
endif
! write (iout,*) "Kinetic trsc:",i,(incr(j),j=1,3)
! write (iout,*) "i",i," msc",msc(iti)," v",(v(j),j=1,3)
- KEt_sc=KEt_sc+msc(iti,mnum)*(v(1)*v(1)+v(2)*v(2)+v(3)*v(3))
+ KEt_sc=KEt_sc+mscab*(v(1)*v(1)+v(2)*v(2)+v(3)*v(3))
vtot(i+nres)=v(1)*v(1)+v(2)*v(2)+v(3)*v(3)
do j=1,3
incr(j)=incr(j)+d_t(j,i)
enddo
enddo
do i=nnt,nct
- if (itype(i,1).ne.10 .and. itype(i,1).ne.ntyp1) then
+ mnum=molnum(i)
+ if (itype(i,1).ne.10 .and. itype(i,1).ne.ntyp1.and.mnum.ne.5) then
do j=1,3
ind=ind+1
v_work(ind)=d_t(j,i+nres)
enddo
endif
! Side chains
- if (itype(i,1).ne.10 .and. itype(i,1).ne.ntyp1) then
+ if (itype(i,1).ne.10 .and. itype(i,1).ne.ntyp1.and.&
+ molnum(i).ne.5) then
do j=1,3
epdriftij= &
dabs((d_a(j,i+nres)-d_a_old(j,i+nres))*gxcart(j,i))
do i=nnt,nct
! if (itype(i,1).eq.10) then
mnum=molnum(i)
+ if (mnum.eq.5) mp(mnum)=msc(itype(i,mnum),mnum)
iti=iabs(itype(i,mnum))
! if (itype(i,1).ne.10 .and. itype(i,1).ne.ntyp1) then
if (itype(i,1).eq.10 .or. itype(i,mnum).eq.ntyp1_molec(mnum)&
M_PEP=0.0d0
do i=nnt,nct-1
mnum=molnum(i)
+ if (mnum.eq.5) mp(mnum)=msc(itype(i,mnum),mnum)
if (itype(i,mnum).eq.ntyp1_molec(mnum)) cycle
M_PEP=M_PEP+mp(mnum)
do j=1,3
M_SC=0.0d0
do i=nnt,nct
mnum=molnum(i)
+ if (mnum.eq.5) cycle
iti=iabs(itype(i,mnum))
M_SC=M_SC+msc(iabs(iti),mnum)
inres=i+nres
do i=nnt,nct-1
mnum=molnum(i)
+ if (mnum.eq.5) mp(mnum)=msc(itype(i,mnum),mnum)
do j=1,3
pr(j)=c(j,i)+0.5d0*dc(j,i)-cm(j)
enddo
do i=nnt,nct
mnum=molnum(i)
iti=iabs(itype(i,mnum))
+ if (mnum.eq.5) cycle
inres=i+nres
do j=1,3
pr(j)=c(j,inres)-cm(j)
! include 'COMMON.INTERACT'
! include 'COMMON.IOUNITS'
! include 'COMMON.NAMES'
-
+ real(kind=8) :: mscab
real(kind=8),dimension(3) :: L,cm,pr,vp,vrot,incr,v,pp
integer :: iti,inres,i,j,mnum
! Calculate the angular momentum
enddo
do i=nnt,nct-1
mnum=molnum(i)
+ if (mnum.eq.5) mp(mnum)=msc(itype(i,mnum),mnum)
do j=1,3
pr(j)=c(j,i)+0.5d0*dc(j,i)-cm(j)
enddo
mnum=molnum(i)
iti=iabs(itype(i,mnum))
inres=i+nres
+ if (mnum.eq.5) then
+ mscab=0.0d0
+ else
+ mscab=msc(iti,mnum)
+ endif
do j=1,3
pr(j)=c(j,inres)-cm(j)
enddo
! write (iout,*) "i",i," iti",iti," pr",(pr(j),j=1,3),
! & " v",(v(j),j=1,3)," vp",(vp(j),j=1,3)
do j=1,3
- L(j)=L(j)+msc(iabs(iti),mnum)*vp(j)
+ L(j)=L(j)+mscab*vp(j)
enddo
! write (iout,*) "L",(l(j),j=1,3)
if (itype(i,mnum).ne.10 .and. itype(i,mnum).ne.ntyp1_molec(mnum)&
summas=0.0d0
do i=nnt,nct
mnum=molnum(i)
+ if (mnum.eq.5) mp(mnum)=msc(itype(i,mnum),mnum)
if (i.lt.nct) then
summas=summas+mp(mnum)
do j=1,3
vcm(j)=vcm(j)+mp(mnum)*(vv(j)+0.5d0*d_t(j,i))
enddo
endif
+ if (mnum.ne.5) then
amas=msc(iabs(itype(i,mnum)),mnum)
+ else
+ amas=0.0d0
+ endif
summas=summas+amas
if (itype(i,mnum).ne.10 .and. itype(i,mnum).ne.ntyp1_molec(mnum)&
.and.(mnum.ne.5)) then
! Load the friction coefficients corresponding to side chains
m=nct-nnt
ind=0
- do j=1,5
+ do j=1,2
gamsc(ntyp1_molec(j),j)=1.0d0
enddo
do i=nnt,nct