update new files
[unres.git] / source / unres / src-HCD-5D / a
1 c Restraints from contact prediction
2           dd=dist(ii,jj)
3           if (constr_dist.eq.11) then
4             ehpb=ehpb+fordepth(i)!**4.0d0
5      &          *rlornmr1(dd,dhpb(i),dhpb1(i),forcon(i))
6             fac=fordepth(i)!**4.0d0
7      &          *rlornmr1prim(dd,dhpb(i),dhpb1(i),forcon(i))/dd
8             if(energy_dec) write (iout,'(a6,2i5,6f10.3)') "edisl",ii,jj,
9      &        dd,dhpb(i),dhpb1(i),forcon(i),fordepth(i),ehpb
10           else if (constr_dist.eq.10) then
11 c AL 6//19/2018 cross-link restraints
12             xdis = (dd/forcon(i))**2
13             expon = dexp(-xx)
14             aux=(dhpb(i)+dhpb1(i)*xx)*expon+fordepth(i)
15             ehpb=ehpb-wboltzd*dlog(aux)
16             fac=-wboltzd*dhpb1(i)*(1.0d0-xx)*dxpon/(aux*forcon(i)**2)
17             if (energy_dec)write (iout,'(a6,2i5,6f10.3)')"edisl",ii,jj,
18      &      dd,dhpb(i),dhpb1(i),forcon(i),fordepth(i),ehpb
19           else
20             if (dhpb1(i).gt.0.0d0) then
21               ehpb=ehpb+2*forcon(i)*gnmr1(dd,dhpb(i),dhpb1(i))
22               fac=forcon(i)*gnmr1prim(dd,dhpb(i),dhpb1(i))/dd
23 c             write (iout,*) "beta nmr",
24 c     &       dd,2*forcon(i)*gnmr1(dd,dhpb(i),dhpb1(i))
25             else
26               dd=dist(ii,jj)
27               rdis=dd-dhpb(i)
28 C Get the force constant corresponding to this distance.
29               waga=forcon(i)
30 C Calculate the contribution to energy.
31               ehpb=ehpb+waga*rdis*rdis
32 c             write (iout,*) "beta reg",dd,waga*rdis*rdis
33 C
34 C Evaluate gradient.
35 C
36               fac=waga*rdis/dd
37             endif
38           endif
39           do j=1,3
40             ggg(j)=fac*(c(j,jj)-c(j,ii))
41           enddo
42           do j=1,3
43             ghpbx(j,iii)=ghpbx(j,iii)-ggg(j)
44             ghpbx(j,jjj)=ghpbx(j,jjj)+ggg(j)
45           enddo
46           do k=1,3
47             ghpbc(k,jjj)=ghpbc(k,jjj)+ggg(k)
48             ghpbc(k,iii)=ghpbc(k,iii)-ggg(k)
49           enddo
50