REMD with HOMOL_NSET>1 and single weight for all homology restraints
[unres.git] / source / unres / src_MD / energy_p_new_barrier.F
index cb97c0a..15dfccd 100644 (file)
@@ -6073,11 +6073,8 @@ c      write(iout,*) "constr_homology=",constr_homology
 c      write(iout,*) i, j, k, "TEST K"
          enddo
 
-       if (homol_nset.gt.1)then
-         grad_odl3=waga_dist1(iset)*sum_sgodl/(sum_godl*dij)
-       else
-         grad_odl3=waga_dist*sum_sgodl/(sum_godl*dij)
-       endif
+         grad_odl3=waga_homology(iset)*waga_dist
+     &            *sum_sgodl/(sum_godl*dij)
 c        grad_odl3=sum_sgodl/(sum_godl*dij)
 
 
@@ -6175,11 +6172,7 @@ c         sgdih=-gdih(k)*dih_diff(k)*sigma_dih(k,i)*waga_angle
           sum_sgdih=sum_sgdih+sgdih
         enddo
 c       grad_dih3=sum_sgdih/sum_gdih
-        if (homol_nset.gt.1)then
-         grad_dih3=waga_angle1(iset)*sum_sgdih/sum_gdih
-        else
-         grad_dih3=waga_angle*sum_sgdih/sum_gdih
-        endif
+        grad_dih3=waga_homology(iset)*waga_angle*sum_sgdih/sum_gdih
 
 c      write(iout,*)i,k,gdih,sgdih,beta(i+1,i+2,i+3,i+4),grad_dih3
 ccc      write(iout,747) "GRAD_KAT_1", i, nphi, icg, grad_dih3,
@@ -6277,6 +6270,7 @@ c       grad_theta3=sum_sgtheta/sum_gtheta
 c
 c       Final value of gradient using same var as in Econstr_back
         dutheta(i-2)=sum_sgtheta/sum_gtheta*waga_theta
+     &               *waga_homology(iset)
 c       dutheta(i)=sum_sgtheta/sum_gtheta
 c
 c       Uconst_back=Uconst_back+waga_theta*utheta(i) ! waga_theta added as weight
@@ -6365,7 +6359,7 @@ c         sum_sguscdiff=sum_sguscdiff+sum_guscdiff
 c
 c
 c        New implementation
-         sum_guscdiff = waga_d*sum_guscdiff
+         sum_guscdiff = waga_homology(iset)*waga_d*sum_guscdiff
          do jik=1,3
             duscdiff(jik,i-1)=duscdiff(jik,i-1)+
      &      sum_guscdiff*(dXX_C1tab(jik,i)*dxx+
@@ -6453,14 +6447,8 @@ c
 c Addition of energy of theta angle and SC local geom over constr_homologs ref strs
 c
 c     ehomology_constr=odleg+kat
-      if (homol_nset.gt.1)then
-       ehomology_constr=waga_dist1(iset)*odleg+waga_angle1(iset)*kat
-     &              +waga_theta*Eval
-     &              +waga_d*Erot     
-      else
-       ehomology_constr=waga_dist*odleg+waga_angle*kat+waga_theta*Eval
-     &              +waga_d*Erot
-      endif
+       ehomology_constr=(waga_dist*odleg+waga_angle*kat+waga_theta*Eval
+     &              +waga_d*Erot)*waga_homology(iset)
 c     write (iout,*) "odleg",odleg," kat",kat," Uconst_back",Uconst_back
 c     write (iout,*) "ehomology_constr",ehomology_constr
 c     ehomology_constr=odleg+kat+Uconst_back