added nanostructures energy to wham, no differs
[unres.git] / source / wham / src-M / wham_calc1.F
index a3d1658..7c8fe50 100644 (file)
@@ -89,7 +89,7 @@ c      parameter (MaxHdim=200000)
       double precision etot,evdw,evdw_t,evdw2,ees,evdw1,ebe,etors,
      &  escloc,ehpb,ecorr,ecorr5,ecorr6,eello_turn4,eello_turn3,
      &  eturn6,eel_loc,edihcnstr,etors_d,estr,evdw2_14,esccor,
-     &  eliptran
+     &  eliptran,etube
 
       integer ind_point(maxpoint),upindE,indE
       character*16 plik
@@ -325,6 +325,8 @@ c              write (iout,*) 1.0d0/(beta_h(ib,iparm)*1.987D-3),ft
             esccor=enetb(19,i,iparm)
             edihcnstr=enetb(20,i,iparm)
             eliptran=enetb(22,i,iparm)
+            etube=enetb(25,i,iparm)
+
 
 #ifdef DEBUG
             write (iout,'(3i5,6f5.2,14f12.3)') i,ib,iparm,(ft(l),l=1,6),
@@ -343,7 +345,7 @@ c              write (iout,*) 1.0d0/(beta_h(ib,iparm)*1.987D-3),ft
      &      +ft(2)*wturn3*eello_turn3
      &      +ft(5)*wturn6*eturn6+ft(2)*wel_loc*eel_loc
      &      +edihcnstr+ft(2)*wtor_d*etors_d+ft(1)*wsccor*esccor
-     &      +wbond*estr+wliptran*eliptran
+     &      +wbond*estr+wliptran*eliptran+wtube*Etube
              else
             etot=wsc*(evdw+ft(6)*evdw_t)+wscp*evdw2+ft(1)*welec*ees
      &      +wvdwpp*evdw1
@@ -353,7 +355,7 @@ c              write (iout,*) 1.0d0/(beta_h(ib,iparm)*1.987D-3),ft
      &      +ft(2)*wturn3*eello_turn3
      &      +ft(5)*wturn6*eturn6+ft(2)*wel_loc*eel_loc
      &      +edihcnstr+ft(2)*wtor_d*etors_d+ft(1)*wsccor*esccor
-     &      +wbond*estr+wliptran*eliptran
+     &      +wbond*estr+wliptran*eliptran+wtube*Etube
              endif
 #else
       if (shield_mode.gt.0) then
@@ -365,7 +367,7 @@ c              write (iout,*) 1.0d0/(beta_h(ib,iparm)*1.987D-3),ft
      &      +ft(2)*wturn3*eello_turn3
      &      +ft(5)*wturn6*eturn6+ft(2)*wel_loc*eel_loc+edihcnstr
      &      +ft(2)*wtor_d*etors_d+ft(1)*wsccor*esccor
-     &      +wbond*estr+wliptran*eliptran
+     &      +wbond*estr+wliptran*eliptran+wtube*Etube
             else
             etot=wsc*(evdw+ft(6)*evdw_t)+wscp*evdw2
      &      +ft(1)*welec*(ees+evdw1)
@@ -375,7 +377,7 @@ c              write (iout,*) 1.0d0/(beta_h(ib,iparm)*1.987D-3),ft
      &      +ft(2)*wturn3*eello_turn3
      &      +ft(5)*wturn6*eturn6+ft(2)*wel_loc*eel_loc+edihcnstr
      &      +ft(2)*wtor_d*etors_d+ft(1)*wsccor*esccor
-     &      +wbond*estr+wliptran*eliptran
+     &      +wbond*estr+wliptran*eliptran+wtube*Etube
            endif
 
 #endif
@@ -693,6 +695,8 @@ c              write (iout,*) 1.0d0/(beta_h(ib,iparm)*1.987D-3),ft
           edihcnstr=enetb(20,i,iparm)
 C          edihcnstr=0.0d0
           eliptran=enetb(22,i,iparm)
+            etube=enetb(25,i,iparm)
+
 #ifdef SPLITELE
       if (shield_mode.gt.0) then
             etot=ft(1)*wsc*(evdw+ft(6)*evdw_t)+ft(1)*wscp*evdw2
@@ -704,7 +708,7 @@ C          edihcnstr=0.0d0
      &      +ft(2)*wturn3*eello_turn3
      &      +ft(5)*wturn6*eturn6+ft(2)*wel_loc*eel_loc
      &      +edihcnstr+ft(2)*wtor_d*etors_d+ft(1)*wsccor*esccor
-     &      +wbond*estr+wliptran*eliptran
+     &      +wbond*estr+wliptran*eliptran+wtube*Etube
         else
             etot=wsc*(evdw+ft(6)*evdw_t)+wscp*evdw2+ft(1)*welec*ees
      &      +wvdwpp*evdw1
@@ -714,7 +718,7 @@ C          edihcnstr=0.0d0
      &      +ft(2)*wturn3*eello_turn3
      &      +ft(5)*wturn6*eturn6+ft(2)*wel_loc*eel_loc
      &      +edihcnstr+ft(2)*wtor_d*etors_d+ft(1)*wsccor*esccor
-     &      +wbond*estr+wliptran*eliptran
+     &      +wbond*estr+wliptran*eliptran+wtube*Etube
       endif
 #else
       if (shield_mode.gt.0) then
@@ -726,7 +730,7 @@ C          edihcnstr=0.0d0
      &      +ft(2)*wturn3*eello_turn3
      &      +ft(5)*wturn6*eturn6+ft(2)*wel_loc*eel_loc+edihcnstr
      &      +ft(2)*wtor_d*etors_d+ft(1)*wsccor*esccor
-     &      +wbond*estr+wliptran*eliptran
+     &      +wbond*estr+wliptran*eliptran+wtube*Etube
        else
             etot=wsc*(evdw+ft(6)*evdw_t)+wscp*evdw2
      &      +ft(1)*welec*(ees+evdw1)
@@ -736,7 +740,7 @@ C          edihcnstr=0.0d0
      &      +ft(2)*wturn3*eello_turn3
      &      +ft(5)*wturn6*eturn6+ft(2)*wel_loc*eel_loc+edihcnstr
      &      +ft(2)*wtor_d*etors_d+ft(1)*wsccor*esccor
-     &      +wbond*estr+wliptran*eliptran
+     &      +wbond*estr+wliptran*eliptran+wtube*Etube
        endif
 
 #endif
@@ -964,6 +968,7 @@ c          write (iout,'(2i5,20f8.2)') t,t,(enetb(k,t,iparm),k=1,18)
           edihcnstr=enetb(20,t,iparm)
 C          edihcnstr=0.0d0
           eliptran=enetb(22,i,iparm)
+            etube=enetb(25,i,iparm)
 
           do k=0,nGridT
             betaT=startGridT+k*delta_T
@@ -1086,7 +1091,7 @@ c            write (iout,*) "ftbis",ftbis
      &      +ft(2)*wturn3*eello_turn3
      &      +ft(5)*wturn6*eturn6+ft(2)*wel_loc*eel_loc
      &      +edihcnstr+ft(2)*wtor_d*etors_d+ft(1)*wsccor*esccor
-     &      +wbond*estr+wliptran*eliptran
+     &      +wbond*estr+wliptran*eliptran+wtube*Etube
             eprim=ftprim(1)*(ft(6)*evdw_t+evdw)
 C     &            +ftprim(6)*evdw_t
      &            +ftprim(1)*wscp*evdw2
@@ -1117,7 +1122,7 @@ C     &            +ftprim(6)*evdw_t
      &      +ft(2)*wturn3*eello_turn3
      &      +ft(5)*wturn6*eturn6+ft(2)*wel_loc*eel_loc
      &      +edihcnstr+ft(2)*wtor_d*etors_d+ft(1)*wsccor*esccor
-     &      +wbond*estr+wliptran*eliptran
+     &      +wbond*estr+wliptran*eliptran+wtube*Etube
             eprim=ftprim(6)*evdw_t+ftprim(1)*welec*ees
      &            +ftprim(1)*wtor*etors+
      &            ftprim(3)*wcorr*ecorr+ftprim(4)*wcorr5*ecorr5+
@@ -1142,7 +1147,7 @@ C     &            +ftprim(6)*evdw_t
      &      +ft(2)*wturn3*eello_turn3
      &      +ft(5)*wturn6*eturn6+ft(2)*wel_loc*eel_loc+edihcnstr
      &      +ft(2)*wtor_d*etors_d+ft(1)*wsccor*esccor
-     &      +wbond*estr+wliptran*eliptran
+     &      +wbond*estr+wliptran*eliptran+wtube*Etube
             eprim=ftprim(1)*(evdw+ft(6)*evdw_t)
      &           +ftprim(1)*welec*(ees+evdw1)
      &           +ftprim(1)*wtor*etors+
@@ -1169,7 +1174,7 @@ C     &            +ftprim(6)*evdw_t
      &      +ft(2)*wturn3*eello_turn3
      &      +ft(5)*wturn6*eturn6+ft(2)*wel_loc*eel_loc+edihcnstr
      &      +ft(2)*wtor_d*etors_d+ft(1)*wsccor*esccor
-     &      +wbond*estr+wliptran*eliptran
+     &      +wbond*estr+wliptran*eliptran+wtube*Etube
             eprim=ftprim(6)*evdw_t+ftprim(1)*welec*(ees+evdw1)
      &           +ftprim(1)*wtor*etors+
      &            ftprim(3)*wcorr*ecorr+ftprim(4)*wcorr5*ecorr5+