HOMOL klapaucjusz correction
[unres.git] / source / wham / src / energy_p_new.F
index a72df98..ddf7c52 100644 (file)
@@ -3420,11 +3420,7 @@ c      write (iout,*) idihconstr_start_homo,idihconstr_end_homo
       enddo
 #endif
       do i=idihconstr_start_homo,idihconstr_end_homo
-#ifdef OLDRESTR
         kat2=0.0d0
-#else
-        kat2=nexl
-#endif
 c        betai=beta(i,i+1,i+2,i+3)
         betai = phi(i)
 c       write (iout,*) "betai =",betai
@@ -3435,8 +3431,11 @@ c          if (dih_diff(i,k).gt.3.14159) dih_diff(i,k)=
 c     &                                   -(6.28318-dih_diff(i,k))
 c          if (dih_diff(i,k).lt.-3.14159) dih_diff(i,k)=
 c     &                                   6.28318+dih_diff(i,k)
-
+#ifdef OLD_DIHED
           kat3=-0.5d0*dih_diff(k)**2*sigma_dih(k,i) ! waga_angle rmvd from Gaussian argument
+#else
+          kat3=(dcos(dih_diff(k))-1)*sigma_dih(k,i)
+#endif
 c         kat3=-0.5d0*waga_angle*dih_diff(k)**2*sigma_dih(k,i)
           gdih(k)=dexp(kat3)
           kat2=kat2+gdih(k)
@@ -3464,7 +3463,11 @@ c ----------------------------------------------------------------------
         sum_gdih=kat2
         sum_sgdih=0.0d0
         do k=1,constr_homology
+#ifdef OLD_DIHED
           sgdih=-gdih(k)*dih_diff(k)*sigma_dih(k,i)  ! waga_angle rmvd
+#else
+          sgdih=-gdih(k)*dsin(dih_diff(k))*sigma_dih(k,i)
+#endif
 c         sgdih=-gdih(k)*dih_diff(k)*sigma_dih(k,i)*waga_angle
           sum_sgdih=sum_sgdih+sgdih
         enddo
@@ -3532,11 +3535,7 @@ c
 c Deviation of theta angles wrt constr_homology ref structures
 c
         utheta_i=0.0d0 ! argument of Gaussian for single k
-#ifdef OLDRESTR
         gutheta_i=0.0d0 ! Sum of Gaussians over constr_homology ref structures
-#else
-        gutheta_i=nexl
-#endif
 c       do j=ifrag_back(1,i,iset)+2,ifrag_back(2,i,iset) ! original loop
 c       over residues in a fragment
 c       write (iout,*) "theta(",i,")=",theta(i)
@@ -3604,11 +3603,7 @@ c     write (iout,*) "waga_d",waga_d
 #endif
       do i=loc_start,loc_end
         usc_diff_i=0.0d0 ! argument of Gaussian for single k
-#ifdef OLDRESTR
         guscdiff(i)=0.0d0 ! Sum of Gaussians over constr_homology ref structures
-#else
-        guscdiff(i)=nexl
-#endif
 c       do j=ifrag_back(1,i,iset)+1,ifrag_back(2,i,iset)-1 ! Econstr_back legacy
 c       write(iout,*) "xxtab, yytab, zztab"
 c       write(iout,'(i5,3f8.2)') i,xxtab(i),yytab(i),zztab(i)