X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Funres%2Fsrc_MD%2Fgradient_p.F;h=a29f83a0965f408e04aef843e4de8f43cac5db3c;hb=1d656a815651f26cc5ccb9ccf24d66cbbae2a048;hp=7fec1e8a0a1f3d2b75c3c91e4cc2924d49c0e5c0;hpb=ba3b4257f01c3857bbae7927ed7815ab7f5419d6;p=unres.git diff --git a/source/unres/src_MD/gradient_p.F b/source/unres/src_MD/gradient_p.F index 7fec1e8..a29f83a 100644 --- a/source/unres/src_MD/gradient_p.F +++ b/source/unres/src_MD/gradient_p.F @@ -252,10 +252,15 @@ cd enddo C------------------------------------------------------------------------- subroutine cartgrad implicit real*8 (a-h,o-z) +c +c integer iistart,iiend +c include 'DIMENSIONS' + include 'COMMON.LOCAL' #ifdef MPI include 'mpif.h' #endif + include 'COMMON.CONTROL' include 'COMMON.CHAIN' include 'COMMON.DERIV' include 'COMMON.VAR' @@ -277,30 +282,66 @@ c enddo time00=MPI_Wtime() #endif icg=1 +#ifdef DEBUG +c write (iout,*) "in cartgrad before sum_: duscdiff and duscdiffx" + write (iout,*) "------ Before call sum_ in cargrad ------" + do i=1,nres + write (iout,*) i,(duscdiff(j,i),j=1,3) + write (iout,*) i,(duscdiffx(j,i),j=1,3) +c write (iout,*) "nphi+i",nphi+i," gloc",gloc(nphi+i,icg) +c write (iout,*) "i",i," gradc",(gradc(j,i,icg),j=1,3) +c write (iout,*) "i",i," gradx",(gradx(j,i,icg),j=1,3) + enddo +#endif call sum_gradient +c #ifdef TIMING #endif c do i=1,nres c write (iout,*) "checkgrad", gloc_sc(1,i,icg),gloc(i,icg) c enddo -cd write (iout,*) "After sum_gradient" -cd do i=1,nres-1 -cd write (iout,*) i," gradc ",(gradc(j,i,icg),j=1,3) -cd write (iout,*) i," gradx ",(gradx(j,i,icg),j=1,3) -cd enddo +#ifdef DEBUG + write (iout,*) "------ After sum_gradient in cartgrad ------" +c do i=1,nres-1 + do i=1,nres + write (iout,*) "nphi+i",nphi+i," gloc",gloc(nphi+i,icg) + write (iout,*) "i",i," gradc",(gradc(j,i,icg),j=1,3) + write (iout,*) "i",i," gradx",(gradx(j,i,icg),j=1,3) + enddo +#endif c If performing constraint dynamics, add the gradients of the constraint energy +#ifdef DEBUG + write (iout,*) "in cartgrad: dutheta, duscdiff and duscdiffx" + do i=1,nres + write (iout,*) i,dutheta(i) + write (iout,*) i,(duscdiff(j,i),j=1,3) + write (iout,*) i,(duscdiffx(j,i),j=1,3) + enddo +#endif if(usampl.and.totT.gt.eq_time) then +c if(usampl.and.totT.gt.eq_time .or. constr_homology.gt.0) then +c +c Setting suited bounds for HM restrs +c do i=1,nct do j=1,3 - gradc(j,i,icg)=gradc(j,i,icg)+dudconst(j,i)+duscdiff(j,i) - gradx(j,i,icg)=gradx(j,i,icg)+dudxconst(j,i)+duscdiffx(j,i) + gradc(j,i,icg)=gradc(j,i,icg)+dudconst(j,i) + gradx(j,i,icg)=gradx(j,i,icg)+dudxconst(j,i) enddo +#ifdef DEBUG + write (iout,*) "i",i," gradc",(gradc(j,i,icg),j=1,3) + write (iout,*) "i",i," gradx",(gradx(j,i,icg),j=1,3) +#endif enddo do i=1,nres-3 gloc(i,icg)=gloc(i,icg)+dugamma(i) enddo +c do i=1,nres-2 gloc(nphi+i,icg)=gloc(nphi+i,icg)+dutheta(i) +#ifdef DEBUG + write (iout,*) "nphi+i",nphi+i," gloc",gloc(nphi+i,icg) +#endif enddo endif #ifdef TIMING @@ -387,6 +428,23 @@ C do intertyp=1,3 gloc_sc(intertyp,i,icg)=0.0d0 enddo +#ifndef DFA + gdfad(j,i)=0.0d0 + gdfat(j,i)=0.0d0 + gdfan(j,i)=0.0d0 + gdfab(j,i)=0.0d0 +#endif + enddo + enddo +c +c Initialize the gradients of local restraints +c + do i=1,nres + dutheta(i)=0.0d0 + dugamma(i)=0.0d0 + do j=1,3 + duscdiff(j,i)=0.0d0 + duscdiffx(j,i)=0.0d0 enddo enddo C