X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;ds=sidebyside;f=source%2Fwham%2Fsrc-M%2Fenergy_p_new.F;h=2c40d287b060a928c69452908b30c6b190f9f43a;hb=5571adbf2704f5c3a4a9eee84b7e43c6bb51e41c;hp=a98fe50583fa123e3a076fab9461c7fee92ea520;hpb=dc8aad4b659fef3940a18037dc98775344242ce3;p=unres.git diff --git a/source/wham/src-M/energy_p_new.F b/source/wham/src-M/energy_p_new.F index a98fe50..2c40d28 100644 --- a/source/wham/src-M/energy_p_new.F +++ b/source/wham/src-M/energy_p_new.F @@ -189,11 +189,9 @@ c detecting NaNQ #ifdef MPL c endif #endif -#define DEBUG #ifdef DEBUG call enerprint(energia,fact) #endif -#undef DEBUG if (calc_grad) then C C Sum up the components of the Cartesian gradient. @@ -2019,12 +2017,12 @@ cd write (iout,*) 'iatel_s=',iatel_s,' iatel_e=',iatel_e gcorr_loc(i)=0.0d0 enddo do i=iatel_s,iatel_e - if (i.le.1) cycle +cAna if (i.le.1) cycle if (itype(i).eq.ntyp1.or. itype(i+1).eq.ntyp1 - & .or. ((i+2).gt.nres) - & .or. ((i-1).le.0) - & .or. itype(i+2).eq.ntyp1 - & .or. itype(i-1).eq.ntyp1 +cAna & .or. ((i+2).gt.nres) +cAna & .or. ((i-1).le.0) +cAna & .or. itype(i+2).eq.ntyp1 +cAna & .or. itype(i-1).eq.ntyp1 &) cycle C endif if (itel(i).eq.0) goto 1215 @@ -2046,12 +2044,12 @@ C endif num_conti=0 C write (iout,*) 'i',i,' ielstart',ielstart(i),' ielend',ielend(i) do j=ielstart(i),ielend(i) - if (j.le.1) cycle +cAna if (j.le.1) cycle if (itype(j).eq.ntyp1 .or. itype(j+1).eq.ntyp1 - & .or.((j+2).gt.nres) - & .or.((j-1).le.0) - & .or.itype(j+2).eq.ntyp1 - & .or.itype(j-1).eq.ntyp1 +cAna & .or.((j+2).gt.nres) +cAna & .or.((j-1).le.0) +cAna & .or.itype(j+2).eq.ntyp1 +cAna & .or.itype(j-1).eq.ntyp1 &) cycle if (itel(j).eq.0) goto 1216 ind=ind+1 @@ -4172,7 +4170,7 @@ c write (*,'(a,i2)') 'EBEND ICG=',icg c write (iout,*) ithet_start,ithet_end do i=ithet_start,ithet_end C if (itype(i-1).eq.ntyp1) cycle - if (i.le.2) cycle +c if (i.le.2) cycle if ((itype(i-1).eq.ntyp1).or.itype(i-2).eq.ntyp1 & .or.itype(i).eq.ntyp1) cycle C Zero the energy function and its derivative at 0 or pi. @@ -4195,7 +4193,7 @@ C Zero the energy function and its derivative at 0 or pi. y(2)=0.0D0 else - if (i.gt.3 .and. itype(i-3).ne.ntyp1) then + if (i.gt.3 .and. itype(max0(i-3,1)).ne.ntyp1) then #ifdef OSF phii=phi(i) c icrc=0 @@ -4456,7 +4454,7 @@ C etheta=0.0D0 c write (iout,*) "ithetyp",(ithetyp(i),i=1,ntyp1) do i=ithet_start,ithet_end - if (i.eq.2) cycle +c if (i.eq.2) cycle c print *,i,itype(i-1),itype(i),itype(i-2) if ((itype(i-1).eq.ntyp1).or.(itype(i-2).eq.ntyp1) & .or.(itype(i).eq.ntyp1)) cycle @@ -4473,7 +4471,7 @@ C In current verion the ALL DUMMY ATOM POTENTIALS ARE OFF coskt(k)=dcos(k*theti2) sinkt(k)=dsin(k*theti2) enddo - if (i.gt.3 .and. itype(i-3).ne.ntyp1) then + if (i.gt.3 .and. itype(max0(i-3,1)).ne.ntyp1) then #ifdef OSF phii=phi(i) if (phii.ne.phii) phii=150.0 @@ -4487,7 +4485,7 @@ C In current verion the ALL DUMMY ATOM POTENTIALS ARE OFF enddo else phii=0.0d0 - ityp1=nthetyp+1 + ityp1=ithetyp(itype(i-2)) do k=1,nsingle cosph1(k)=0.0d0 sinph1(k)=0.0d0 @@ -4508,7 +4506,7 @@ C In current verion the ALL DUMMY ATOM POTENTIALS ARE OFF enddo else phii1=0.0d0 - ityp3=nthetyp+1 + ityp3=ithetyp(itype(i)) do k=1,nsingle cosph2(k)=0.0d0 sinph2(k)=0.0d0