ishield_list(i)=ishield_list(i)+1
C ishield_list is a list of non 0 side-chain that contribute to factor gradient
C this list is essential otherwise problem would be O3
- shield_list(ishield_list)=k
+ shield_list(ishield_list(i))=k
C Lets have the sscale value
if (sh_frac_dist.gt.1.0) then
scale_fac_dist=1.0d0
long=long_r_sidechain(itype(k))
costhet=1.0d0/dsqrt(1+short**2/dist_pep_side**2)
C now costhet_grad
- costhet_fac=costhet**3*short**2*(-0.5)/dist_pep_side
+ costhet_fac=costhet**3*short**2*(-0.5)/dist_pep_side**3
do j=1,3
costhet_grad(j)=costhet_fac*pep_side(j)
enddo
cosphi=1.0d0/dsqrt(1+rkprim**2/dist_pep_side**2)
VofOverlap=VSolvSphere/2.0d0*(1.0-costhet)*(1.0-cosphi)
& /VSolvSphere_div
+C now the gradient...
+C grad_shield is gradient of Calfa for peptide groups
+ do j=1,3
+ grad_shield(j,i)=grad_shield(j,i)
+C gradient po skalowaniu
+ & +sh_frac_dist_grad(j)*VofOverlap
+C gradient po costhet
+ &+scale_fac_dist*costhet_grad(j)
+C grad_shield_side is Cbeta sidechain gradient
+ grad_shield_side(j,ishield_list(i),i)=
+ & sh_frac_dist_grad(j)*VofOverlap*2.0d0
+ & +scale_fac_dist*costhet_grad(j)*2.0d0
+C grad_shield_side_ca is Calfa sidechain gradient
+ grad_shield_side_ca(j,ishield_list(i),i)=
+ enddo
VolumeTotal=VolumeTotal+VofOverlap*scale_fac_dist
C if ((cosphi.le.0.0).or.(costhet.le.0.0)) write(iout,*) "ERROR",
C & cosphi,costhet
gliptranc(j,i)=0.0d0
gliptranx(j,i)=0.0d0
gradafm(j,i)=0.0d0
+ grad_shield(j,i)=0.0d0
+C grad_shield_side is Cbeta sidechain gradient
+ do kk=1,maxshieldlist
+ grad_shield_side(j,kk,i)=0.0d0
+C grad_shield_side_ca is Calfa sidechain gradient
+ grad_shield_side_ca(j,kk,i)=0.0d0
+ enddo
do intertyp=1,3
gloc_sc(intertyp,i,icg)=0.0d0
enddo