double precision VSolvSphere,VSolvSphere_div,long_r_sidechain,
& short_r_sidechain,fac_shield,grad_shield_side,grad_shield,
- & buff_shield,wshield,grad_shield_loc
+ & buff_shield,wshield,grad_shield_loc,lipscale,sslipi,sslipj,
+ & ssgradlipi,ssgradlipj
integer ishield_list,shield_list,ees0plist
common /shield/ VSolvSphere,VSolvSphere_div,buff_shield,
& long_r_sidechain(ntyp),
& short_r_sidechain(ntyp),fac_shield(maxres),wshield,
+ & sslipi,sslipj,lipscale,
+ & ssgradlipi,ssgradlipj,
& grad_shield_side(3,maxcont,-1:maxres),grad_shield(3,-1:maxres),
& grad_shield_loc(3,maxcont,-1:maxres),
& ishield_list(maxres),shield_list(maxcont,maxres),
el1=el1*fac_shield(i)**2*fac_shield(j)**2
el2=el2*fac_shield(i)**2*fac_shield(j)**2
eesij=(el1+el2)
+ &*((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
ees=ees+eesij
else
fac_shield(i)=1.0
endif
C ees=ees+eesij
evdw1=evdw1+evdwij*sss
+ &*((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
cd write(iout,'(2(2i3,2x),7(1pd12.4)/2(3(1pd12.4),5x)/)')
cd & iteli,i,itelj,j,aaa,bbb,ael6i,ael3i,
cd & 1.0D0/dsqrt(rrmij),evdwij,eesij,
endif
eel_loc_ij=eel_loc_ij
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale+1.0d0)
+
eel_loc=eel_loc+eel_loc_ij
C Partial derivatives in virtual-bond dihedral angles gamma
if (calc_grad) then
C Derivatives of eello in DC(i+1) thru DC(j-1) or DC(nres-2)
do l=1,3
- ggg(l)=agg(l,1)*muij(1)+
- & agg(l,2)*muij(2)+agg(l,3)*muij(3)+agg(l,4)*muij(4)
+ ggg(l)=(agg(l,1)*muij(1)+
+ & agg(l,2)*muij(2)+agg(l,3)*muij(3)+agg(l,4)*muij(4))
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale+1.0d0)
enddo
do k=i+2,j2
gel_loc(l,i)=gel_loc(l,i)+aggi(l,1)*muij(1)+
& aggi(l,2)*muij(2)+aggi(l,3)*muij(3)+aggi(l,4)*muij(4)
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale+1.0d0)
gel_loc(l,i+1)=gel_loc(l,i+1)+aggi1(l,1)*muij(1)+
& aggi1(l,2)*muij(2)+aggi1(l,3)*muij(3)+aggi1(l,4)*muij(4)
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale+1.0d0)
gel_loc(l,j)=gel_loc(l,j)+aggj(l,1)*muij(1)+
& aggj(l,2)*muij(2)+aggj(l,3)*muij(3)+aggj(l,4)*muij(4)
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale+1.0d0)
gel_loc(l,j1)=gel_loc(l,j1)+aggj1(l,1)*muij(1)+
& aggj1(l,2)*muij(2)+aggj1(l,3)*muij(3)+aggj1(l,4)*muij(4)
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale+1.0d0)
enddo
endif
endif
eello_turn3=eello_turn3+0.5d0*(pizda(1,1)+pizda(2,2))
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
+
eello_t3=0.5d0*(pizda(1,1)+pizda(2,2))
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
cd write (2,*) 'i,',i,' j',j,'eello_turn3',
cd & 0.5d0*(pizda(1,1)+pizda(2,2)),
gcorr3_turn(l,i)=gcorr3_turn(l,i)
& +0.5d0*(pizda(1,1)+pizda(2,2))
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
a_temp(1,1)=aggi1(l,1)
a_temp(1,2)=aggi1(l,2)
gcorr3_turn(l,i+1)=gcorr3_turn(l,i+1)
& +0.5d0*(pizda(1,1)+pizda(2,2))
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
a_temp(1,1)=aggj(l,1)
a_temp(1,2)=aggj(l,2)
gcorr3_turn(l,j)=gcorr3_turn(l,j)
& +0.5d0*(pizda(1,1)+pizda(2,2))
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
a_temp(1,1)=aggj1(l,1)
a_temp(1,2)=aggj1(l,2)
gcorr3_turn(l,j1)=gcorr3_turn(l,j1)
& +0.5d0*(pizda(1,1)+pizda(2,2))
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
enddo
endif
endif
eello_turn4=eello_turn4-(s1+s2+s3)
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
+
eello_t4=-(s1+s2+s3)
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
cd write (2,*) 'i,',i,' j',j,'eello_turn4',-(s1+s2+s3),
cd & ' eello_turn4_num',8*eello_turn4_num
s3=0.5d0*(pizda(1,1)+pizda(2,2))
gel_loc_turn4(i)=gel_loc_turn4(i)-(s1+s3)
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
C Derivatives in gamma(i+1)
call transpose2(EUgder(1,1,i+2),e2tder(1,1))
s3=0.5d0*(pizda(1,1)+pizda(2,2))
gel_loc_turn4(i+1)=gel_loc_turn4(i+1)-(s2+s3)
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
C Derivatives in gamma(i+2)
call transpose2(EUgder(1,1,i+3),e3tder(1,1))
s3=0.5d0*(pizda(1,1)+pizda(2,2))
gel_loc_turn4(i+2)=gel_loc_turn4(i+2)-(s1+s2+s3)
& *fac_shield(i)*fac_shield(j)
-
+ &*((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
+
C Cartesian derivatives
C Derivatives of this turn contributions in DC(i+2)
if (j.lt.nres-1) then
ggg(l)=-(s1+s2+s3)
gcorr4_turn(l,i+2)=gcorr4_turn(l,i+2)-(s1+s2+s3)
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
enddo
endif
s3=0.5d0*(pizda(1,1)+pizda(2,2))
gcorr4_turn(l,i)=gcorr4_turn(l,i)-(s1+s2+s3)
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
a_temp(1,1)=aggi1(l,1)
a_temp(1,2)=aggi1(l,2)
s3=0.5d0*(pizda(1,1)+pizda(2,2))
gcorr4_turn(l,i+1)=gcorr4_turn(l,i+1)-(s1+s2+s3)
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
a_temp(1,1)=aggj(l,1)
a_temp(1,2)=aggj(l,2)
s3=0.5d0*(pizda(1,1)+pizda(2,2))
gcorr4_turn(l,j)=gcorr4_turn(l,j)-(s1+s2+s3)
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
a_temp(1,1)=aggj1(l,1)
a_temp(1,2)=aggj1(l,2)
s3=0.5d0*(pizda(1,1)+pizda(2,2))
gcorr4_turn(l,j1)=gcorr4_turn(l,j1)-(s1+s2+s3)
& *fac_shield(i)*fac_shield(j)
+ &*((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
enddo
endif
c & (zmedi.lt.((-0.5d0)*boxzsize))) then
c go to 196
c endif
- xmedi=mod(xmedi,boxxsize)
+ xmedi=dmod(xmedi,boxxsize)
if (xmedi.lt.0) xmedi=xmedi+boxxsize
- ymedi=mod(ymedi,boxysize)
+ ymedi=dmod(ymedi,boxysize)
if (ymedi.lt.0) ymedi=ymedi+boxysize
- zmedi=mod(zmedi,boxzsize)
+ zmedi=dmod(zmedi,boxzsize)
if (zmedi.lt.0) zmedi=zmedi+boxzsize
- zmedi2=mod(zmedi,boxzsize)
+ zmedi2=dmod(zmedi,boxzsize)
if (zmedi2.lt.0) zmedi2=zmedi2+boxzsize
if ((zmedi2.gt.bordlipbot)
&.and.(zmedi2.lt.bordliptop)) then
xmedi=c(1,i)+0.5d0*dxi
ymedi=c(2,i)+0.5d0*dyi
zmedi=c(3,i)+0.5d0*dzi
- xmedi=mod(xmedi,boxxsize)
+ xmedi=dmod(xmedi,boxxsize)
if (xmedi.lt.0) xmedi=xmedi+boxxsize
- ymedi=mod(ymedi,boxysize)
+ ymedi=dmod(ymedi,boxysize)
if (ymedi.lt.0) ymedi=ymedi+boxysize
- zmedi=mod(zmedi,boxzsize)
+ zmedi=dmod(zmedi,boxzsize)
if (zmedi.lt.0) zmedi=zmedi+boxzsize
if ((zmedi.gt.bordlipbot)
&.and.(zmedi.lt.bordliptop)) then
enddo
enddo
if (isubchap.eq.1) then
+C print *,i,j
xj=xj_temp-xmedi
yj=yj_temp-ymedi
zj=zj_temp-zmedi
C Lipidic part for lipscale
gelc_long(3,j)=gelc_long(3,j)+
& ssgradlipj*eesij/2.0d0*lipscale**2
-
+C if ((ssgradlipj*eesij/2.0d0*lipscale**2).ne.0.0 )
+C & write(iout,*) "WTF",j
gelc_long(3,i)=gelc_long(3,i)+
& ssgradlipi*eesij/2.0d0*lipscale**2
+C if ((ssgradlipi*eesij/2.0d0*lipscale**2).ne.0.0 )
+C & write(iout,*) "WTF",i
+
*
* Loop over residues i+1 thru j-1.
*