if (shield_mode.gt.0) then
C fac_shield(i)=0.4
C fac_shield(j)=0.6
- el1=el1*fac_shield(i)*fac_shield(j)
- el2=el2*fac_shield(i)*fac_shield(j)
+ el1=el1*fac_shield(i)**2*fac_shield(j)**2
+ el2=el2*fac_shield(i)**2*fac_shield(j)**2
eesij=(el1+el2)
ees=ees+eesij
else
iresshield=shield_list(ilist,i)
do k=1,3
rlocshield=grad_shield_side(k,ilist,i)*eesij/fac_shield(i)
+ & *2.0
gshieldx(k,iresshield)=gshieldx(k,iresshield)+
& rlocshield
- & +grad_shield_loc(k,ilist,i)*eesij/fac_shield(i)
+ & +grad_shield_loc(k,ilist,i)*eesij/fac_shield(i)*2.0
gshieldc(k,iresshield-1)=gshieldc(k,iresshield-1)+rlocshield
C gshieldc_loc(k,iresshield)=gshieldc_loc(k,iresshield)
C & +grad_shield_loc(k,ilist,i)*eesij/fac_shield(i)
iresshield=shield_list(ilist,j)
do k=1,3
rlocshield=grad_shield_side(k,ilist,j)*eesij/fac_shield(j)
+ & *2.0
gshieldx(k,iresshield)=gshieldx(k,iresshield)+
& rlocshield
- & +grad_shield_loc(k,ilist,j)*eesij/fac_shield(j)
+ & +grad_shield_loc(k,ilist,j)*eesij/fac_shield(j)*2.0
gshieldc(k,iresshield-1)=gshieldc(k,iresshield-1)+rlocshield
C & +grad_shield_loc(k,ilist,j)*eesij/fac_shield(j)
do k=1,3
gshieldc(k,i)=gshieldc(k,i)+
- & grad_shield(k,i)*eesij/fac_shield(i)
+ & grad_shield(k,i)*eesij/fac_shield(i)*2.0
gshieldc(k,j)=gshieldc(k,j)+
- & grad_shield(k,j)*eesij/fac_shield(j)
+ & grad_shield(k,j)*eesij/fac_shield(j)*2.0
gshieldc(k,i-1)=gshieldc(k,i-1)+
- & grad_shield(k,i)*eesij/fac_shield(i)
+ & grad_shield(k,i)*eesij/fac_shield(i)*2.0
gshieldc(k,j-1)=gshieldc(k,j-1)+
- & grad_shield(k,j)*eesij/fac_shield(j)
+ & grad_shield(k,j)*eesij/fac_shield(j)*2.0
enddo
endif
cd & (dcosg(k),k=1,3)
do k=1,3
ggg(k)=(ecosb*dcosb(k)+ecosg*dcosg(k))*
- & fac_shield(i)*fac_shield(j)
+ & fac_shield(i)**2*fac_shield(j)**2
enddo
c do k=1,3
c ghalf=0.5D0*ggg(k)
gelc(k,i)=gelc(k,i)
& +((ecosa*(dc_norm(k,j)-cosa*dc_norm(k,i))
& + ecosb*(erij(k)-cosb*dc_norm(k,i)))*vbld_inv(i+1))
- & *fac_shield(i)*fac_shield(j)
+ & *fac_shield(i)**2*fac_shield(j)**2
gelc(k,j)=gelc(k,j)
& +((ecosa*(dc_norm(k,i)-cosa*dc_norm(k,j))
& + ecosg*(erij(k)-cosg*dc_norm(k,j)))*vbld_inv(j+1))
- & *fac_shield(i)*fac_shield(j)
+ & *fac_shield(i)**2*fac_shield(j)**2
gelc_long(k,j)=gelc_long(k,j)+ggg(k)
gelc_long(k,i)=gelc_long(k,i)-ggg(k)
enddo
include 'COMMON.DERIV'
include 'COMMON.INTERACT'
include 'COMMON.CONTACTS'
+ include 'COMMON.SHIELD'
double precision gx(3),gx1(3)
logical lprn
lprn=.false.
include 'COMMON.CONTACTS'
include 'COMMON.CHAIN'
include 'COMMON.CONTROL'
+ include 'COMMON.SHIELD'
double precision gx(3),gx1(3)
integer num_cont_hb_old(maxres)
logical lprn,ldone
call calc_eello(i,jp,i+1,jp1,jj,kk)
if (wcorr4.gt.0.0d0)
& ecorr=ecorr+eello4(i,jp,i+1,jp1,jj,kk)
+CC & *fac_shield(i)**2*fac_shield(j)**2
if (energy_dec.and.wcorr4.gt.0.0d0)
1 write (iout,'(a6,4i5,0pf7.3)')
2 'ecorr4',i,j,i+1,j1,eello4(i,jp,i+1,jp1,jj,kk)
include 'COMMON.DERIV'
include 'COMMON.INTERACT'
include 'COMMON.CONTACTS'
+ include 'COMMON.SHIELD'
double precision gx(3),gx1(3)
logical lprn
lprn=.false.
ees0mij=ees0m(jj,i)
ees0mkl=ees0m(kk,k)
ekont=eij*ekl
- ees=-(coeffp*ees0pij*ees0pkl+coeffm*ees0mij*ees0mkl)
+ ees=-(coeffp*ees0pij*ees0pkl+coeffm*ees0mij*ees0mkl)*
+ & fac_shield(i)**2*fac_shield(j)**2
cd ees=-(coeffp*ees0pkl+coeffm*ees0mkl)
C Following 4 lines for diagnostics.
cd ees0pkl=0.0D0