X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Funres%2Fsrc_MD-M%2Fcheckder_p.F;h=80dd2136b78b21f7e5c30ee0f8b305966ae928b6;hb=00ff2d632b212c4d4a388e8f7f5394763b65e3bb;hp=32d2366da95bc8580883c764e20d2e97843380d1;hpb=0bb81c1c3180a2079d70af7dd534295e1e0b1e4c;p=unres.git diff --git a/source/unres/src_MD-M/checkder_p.F b/source/unres/src_MD-M/checkder_p.F index 32d2366..80dd213 100644 --- a/source/unres/src_MD-M/checkder_p.F +++ b/source/unres/src_MD-M/checkder_p.F @@ -2,6 +2,7 @@ C Check the gradient of Cartesian coordinates in internal coordinates. implicit real*8 (a-h,o-z) include 'DIMENSIONS' + include 'COMMON.CONTROL' include 'COMMON.IOUNITS' include 'COMMON.VAR' include 'COMMON.CHAIN' @@ -14,8 +15,9 @@ C Check the gradient of Cartesian coordinates in internal coordinates. * Check the gradient of the virtual-bond and SC vectors in the internal * coordinates. * - aincr=1.0d-7 - aincr2=5.0d-8 + print '("Calling CHECK_ECART",1pd12.3)',aincr + write (iout,'("Calling CHECK_ECART",1pd12.3)') aincr + aincr2=0.5d0*aincr call cartder write (iout,'(a)') '**************** dx/dalpha' write (iout,'(a)') @@ -175,6 +177,7 @@ C---------------------------------------------------------------------------- C Check the gradient of the energy in Cartesian coordinates. implicit real*8 (a-h,o-z) include 'DIMENSIONS' + include 'COMMON.CONTROL' include 'COMMON.CHAIN' include 'COMMON.DERIV' include 'COMMON.IOUNITS' @@ -191,8 +194,8 @@ C Check the gradient of the energy in Cartesian coordinates. nf=0 nfl=0 call zerograd - aincr=1.0D-7 - print '(a)','CG processor',me,' calling CHECK_CART.' + print '("Calling CHECK_ECART",1pd12.3)',aincr + write (iout,'("Calling CHECK_ECART",1pd12.3)') aincr nf=0 icall=0 call geom_to_var(nvar,x) @@ -277,12 +280,15 @@ c rlambd=0.3d0 icg=1 nf=0 nfl=0 + print *,"ATU 3" call intout c call intcartderiv c call checkintcartgrad call zerograd - aincr=1.0D-5 - write(iout,*) 'Calling CHECK_ECARTINT.' +c aincr=8.0D-7 +c aincr=1.0D-7 + print '("Calling CHECK_ECARTINT",1pd12.3)',aincr + write (iout,'("Calling CHECK_ECARTINT",1pd12.3)') aincr nf=0 icall=0 call geom_to_var(nvar,x) @@ -297,8 +303,10 @@ c call checkintcartgrad write (iout,*) "exit cartgrad" call flush(iout) icall =1 + write (iout,*) "gcard and gxcart" do i=1,nres - write (iout,'(i5,3f10.5)') i,(gradxorr(j,i),j=1,3) + write (iout,'(i5,3f10.5,5x,3f10.5)') i,(gcart(j,i),j=1,3), + & (gxcart(j,i),j=1,3) enddo do j=1,3 grad_s(j,0)=gcart(j,0) @@ -362,6 +370,7 @@ c call checkintcartgrad endif write (iout,'(/a/)') 'Gradient in virtual-bond and SC vectors' do i=0,nres + print *,i do j=1,3 xx(j)=c(j,i+nres) ddc(j)=dc(j,i) @@ -395,6 +404,7 @@ c write (iout,*) "etot11",etot11," etot12",etot12 c write(iout,'(2i5,2(a,f15.10))')i,j," etot",etot," etot1",etot1 dc(j,i)=ddc(j)-aincr call chainbuild_cart +C print *,c(j,i) c call int_from_cart1(.false.) if (.not.split_ene) then call etotal(energia1(0)) @@ -506,8 +516,10 @@ c------------------------------------------------------------------------- #else do i=2,nres #endif +C print *,i dnorm1=dist(i-1,i) - dnorm2=dist(i,i+1) + dnorm2=dist(i,i+1) +C print *,i,dnorm1,dnorm2 do j=1,3 c(j,maxres2)=0.5D0*(2*c(j,i)+(c(j,i-1)-c(j,i))/dnorm1 & +(c(j,i+1)-c(j,i))/dnorm2) @@ -528,11 +540,16 @@ c------------------------------------------------------------------------- endif endif omeg(i)=beta(nres+i,i,maxres2,i+1) +C print *,omeg(i) alph(i)=alpha(nres+i,i,maxres2) +C print *,alph(i) theta(i+1)=alpha(i-1,i,i+1) vbld(i)=dist(i-1,i) +C print *,vbld(i) vbld_inv(i)=1.0d0/vbld(i) vbld(nres+i)=dist(nres+i,i) +C print *,vbld(i+nres) + if (itype(i).ne.10) then vbld_inv(nres+i)=1.0d0/vbld(nres+i) else @@ -618,6 +635,7 @@ c---------------------------------------------------------------------------- C Check the gradient of energy in internal coordinates. implicit real*8 (a-h,o-z) include 'DIMENSIONS' + include 'COMMON.CONTROL' include 'COMMON.CHAIN' include 'COMMON.DERIV' include 'COMMON.IOUNITS' @@ -632,8 +650,9 @@ C Check the gradient of energy in internal coordinates. character*6 key external fdum call zerograd - aincr=1.0D-7 - print '(a)','Calling CHECK_INT.' +c aincr=1.0D-7 + print '("Calling CHECK_INT",1pd12.3)',aincr + write (iout,'("Calling CHECK_INT",1pd12.3)') aincr nf=0 nfl=0 icg=1 @@ -664,12 +683,12 @@ cd write (iout,'(i3,1pe14.4)') (i,gana(i),i=1,nvar) xi=x(i) x(i)=xi-0.5D0*aincr call var_to_geom(nvar,x) - call chainbuild + call chainbuild_extconf call etotal(energia1(0)) etot1=energia1(0) x(i)=xi+0.5D0*aincr call var_to_geom(nvar,x) - call chainbuild + call chainbuild_extconf call etotal(energia2(0)) etot2=energia2(0) gg(i)=(etot2-etot1)/aincr