! dscj_inv=dsc_inv(itypj)
dscj_inv=vbld_inv(j+nres)
! write (iout,*) "j",j,dsc_inv(itypj),dscj_inv,&
! dscj_inv=dsc_inv(itypj)
dscj_inv=vbld_inv(j+nres)
! write (iout,*) "j",j,dsc_inv(itypj),dscj_inv,&
!d do i=1,nloctyp
!d write(iout,*) 'Type',i
!d write(iout,*) 'B1',B1(:,i)
!d do i=1,nloctyp
!d write(iout,*) 'Type',i
!d write(iout,*) 'B1',B1(:,i)
do i=iturn3_start,iturn3_end
if (itype(i).eq.ntyp1 .or. itype(i+1).eq.ntyp1 &
.or. itype(i+2).eq.ntyp1 .or. itype(i+3).eq.ntyp1) cycle
do i=iturn3_start,iturn3_end
if (itype(i).eq.ntyp1 .or. itype(i+1).eq.ntyp1 &
.or. itype(i+2).eq.ntyp1 .or. itype(i+3).eq.ntyp1) cycle
- print *,i,sslipi,ssgradlipi
+! print *,i,sslipi,ssgradlipi
call eelecij(i,i+2,ees,evdw1,eel_loc)
if (wturn3.gt.0.0d0) call eturn3(i,eello_turn3)
num_cont_hb(i)=num_conti
call eelecij(i,i+2,ees,evdw1,eel_loc)
if (wturn3.gt.0.0d0) call eturn3(i,eello_turn3)
num_cont_hb(i)=num_conti
- ggg(1)=facel*xj+sss_ele_grad*rmij*eesij*xj
- ggg(2)=facel*yj+sss_ele_grad*rmij*eesij*yj
- ggg(3)=facel*zj+sss_ele_grad*rmij*eesij*zj
+ ggg(1)=facel*xj+sss_ele_grad*rmij*eesij*xj* &
+ ((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
+ ggg(2)=facel*yj+sss_ele_grad*rmij*eesij*yj* &
+ ((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
+ ggg(3)=facel*zj+sss_ele_grad*rmij*eesij*zj* &
+ ((sslipi+sslipj)/2.0d0*lipscale**2+1.0d0)
ggg(l)=(agg(l,1)*muij(1)+ &
agg(l,2)*muij(2)+agg(l,3)*muij(3)+agg(l,4)*muij(4))&
*sss_ele_cut &
ggg(l)=(agg(l,1)*muij(1)+ &
agg(l,2)*muij(2)+agg(l,3)*muij(3)+agg(l,4)*muij(4))&
*sss_ele_cut &
gel_loc_long(l,j)=gel_loc_long(l,j)+ggg(l)
gel_loc_long(l,i)=gel_loc_long(l,i)-ggg(l)
gel_loc_long(l,j)=gel_loc_long(l,j)+ggg(l)
gel_loc_long(l,i)=gel_loc_long(l,i)-ggg(l)
enddo
gel_loc_long(3,j)=gel_loc_long(3,j)+ &
ssgradlipj*eel_loc_ij/2.0d0*lipscale/ &
enddo
gel_loc_long(3,j)=gel_loc_long(3,j)+ &
ssgradlipj*eel_loc_ij/2.0d0*lipscale/ &
gel_loc_long(3,i)=gel_loc_long(3,i)+ &
ssgradlipi*eel_loc_ij/2.0d0*lipscale/ &
gel_loc_long(3,i)=gel_loc_long(3,i)+ &
ssgradlipi*eel_loc_ij/2.0d0*lipscale/ &
do l=1,3
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))&
do l=1,3
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))&
!+eel_loc_ij*sss_ele_grad*rmij*xtemp(l)
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))&
!+eel_loc_ij*sss_ele_grad*rmij*xtemp(l)
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))&
!+eel_loc_ij*sss_ele_grad*rmij*xtemp(l)
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))&
!+eel_loc_ij*sss_ele_grad*rmij*xtemp(l)
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))&
!+eel_loc_ij*sss_ele_grad*rmij*xtemp(l)
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))&
!+eel_loc_ij*sss_ele_grad*rmij*xtemp(l)
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))&
call matmat2(EUgder(1,1,i+1),EUg(1,1,i+2),auxmat2(1,1))
call transpose2(auxmat2(1,1),auxmat3(1,1))
call matmat2(a_temp(1,1),auxmat3(1,1),pizda(1,1))
call matmat2(EUgder(1,1,i+1),EUg(1,1,i+2),auxmat2(1,1))
call transpose2(auxmat2(1,1),auxmat3(1,1))
call matmat2(a_temp(1,1),auxmat3(1,1),pizda(1,1))
- gel_loc_turn3(i)=gel_loc_turn3(i)+0.5d0*(pizda(1,1)+pizda(2,2))
+ gel_loc_turn3(i)=gel_loc_turn3(i)+0.5d0*(pizda(1,1)+pizda(2,2))&
+ *fac_shield(i)*fac_shield(j) &
+ *((sslipi+sslipj)/2.0d0*lipscale+1.0d0)
! Derivatives in gamma(i+1)
call matmat2(EUg(1,1,i+1),EUgder(1,1,i+2),auxmat2(1,1))
call transpose2(auxmat2(1,1),auxmat3(1,1))
! Derivatives in gamma(i+1)
call matmat2(EUg(1,1,i+1),EUgder(1,1,i+2),auxmat2(1,1))
call transpose2(auxmat2(1,1),auxmat3(1,1))
call matmat2(ae3e2(1,1),e1t(1,1),pizda(1,1))
s3=0.5d0*(pizda(1,1)+pizda(2,2))
ggg(l)=-(s1+s2+s3)
call matmat2(ae3e2(1,1),e1t(1,1),pizda(1,1))
s3=0.5d0*(pizda(1,1)+pizda(2,2))
ggg(l)=-(s1+s2+s3)
- gcorr4_turn(l,i+2)=gcorr4_turn(l,i+2)-(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+1.0d0)
+
call MPI_Barrier(FG_COMM,IERR)
time_barrier_g=time_barrier_g+MPI_Wtime()-time00
time00=MPI_Wtime()
call MPI_Barrier(FG_COMM,IERR)
time_barrier_g=time_barrier_g+MPI_Wtime()-time00
time00=MPI_Wtime()
- call MPI_Reduce(gradbufc(1,1),gradc(1,1,icg),3*nres,&
+ call MPI_Reduce(gradbufc(1,0),gradc(1,0,icg),3*nres+3,&
MPI_DOUBLE_PRECISION,MPI_SUM,king,FG_COMM,IERR)
call MPI_Reduce(gradbufx(1,1),gradx(1,1,icg),3*nres,&
MPI_DOUBLE_PRECISION,MPI_SUM,king,FG_COMM,IERR)
MPI_DOUBLE_PRECISION,MPI_SUM,king,FG_COMM,IERR)
call MPI_Reduce(gradbufx(1,1),gradx(1,1,icg),3*nres,&
MPI_DOUBLE_PRECISION,MPI_SUM,king,FG_COMM,IERR)
! write (iout,*) "gg",(gg(k),k=1,3)
do k=1,3
gvdwx(k,i)=gvdwx(k,i)-gg(k) +gg_lipi(k)&
! write (iout,*) "gg",(gg(k),k=1,3)
do k=1,3
gvdwx(k,i)=gvdwx(k,i)-gg(k) +gg_lipi(k)&
#ifdef DEBUG
write (iout,*) "gcart, gxcart, gloc before int_to_cart"
#endif
#ifdef DEBUG
write (iout,*) "gcart, gxcart, gloc before int_to_cart"
#endif
do j=1,3
gcart(j,i)=gradc(j,i,icg)
gxcart(j,i)=gradx(j,i,icg)
do j=1,3
gcart(j,i)=gradc(j,i,icg)
gxcart(j,i)=gradx(j,i,icg)
do j=1,3
gcart(j,i)=-gcart(j,i)+gcart(j,i-1)-gxcart(j,i)
! gcart_new(j,i)=-gcart(j,i)+gcart(j,i-1)-gxcart(j,i)
do j=1,3
gcart(j,i)=-gcart(j,i)+gcart(j,i-1)-gxcart(j,i)
! gcart_new(j,i)=-gcart(j,i)+gcart(j,i-1)-gxcart(j,i)
- write(2,*) "TOTAL VOLUME",i,itype(i),fac_shield(i)
+!C write(2,*) "TOTAL VOLUME",i,itype(i),fac_shield(i)