real(kind=8) :: etot,evdw,evdw_t,evdw2,ees,evdw1,ebe,etors,&
escloc,ehpb,ecorr,ecorr5,ecorr6,eello_turn4,eello_turn3,&
eello_turn6,eel_loc,edihcnstr,etors_d,estr,evdw2_14,esccor, &
- ecationcation,ecation_prot
+ ecationcation,ecation_prot, evdwpp,eespp ,evdwpsb,eelpsb, &
+ evdwsb, eelsb, estr_nucl,ebe_nucl,esbloc,etors_nucl,etors_d_nucl,&
+ ecorr_nucl, ecorr3_nucl,epeppho, escpho, epepbase,escbase
+
integer :: ind_point(maxpoint),upindE,indE
character(len=16) :: plik
edihcnstr=enetb(19,i,iparm)
ecationcation=enetb(41,i,iparm)
ecation_prot=enetb(42,i,iparm)
+ evdwpp = enetb(26,i,iparm)
+ eespp = enetb(27,i,iparm)
+ evdwpsb = enetb(28,i,iparm)
+ eelpsb = enetb(29,i,iparm)
+ evdwsb = enetb(30,i,iparm)
+ eelsb = enetb(31,i,iparm)
+ estr_nucl = enetb(32,i,iparm)
+ ebe_nucl = enetb(33,i,iparm)
+ esbloc = enetb(34,i,iparm)
+ etors_nucl = enetb(35,i,iparm)
+ etors_d_nucl = enetb(36,i,iparm)
+ ecorr_nucl = enetb(37,i,iparm)
+ ecorr3_nucl = enetb(38,i,iparm)
+ epeppho= enetb(49,i,iparm)
+ escpho= enetb(48,i,iparm)
+ epepbase= enetb(47,i,iparm)
+ escbase= enetb(46,i,iparm)
+
#ifdef DEBUG
write (iout,'(3i5,6f5.2,15f12.3)') i,ib,iparm,(ft(l),l=1,6),&
evdw+evdw_t,evdw2,ees,evdw1,ecorr,eel_loc,estr,ebe,escloc,&
+wturn3*eello_turn3 &
+wturn6*eello_turn6+wel_loc*eel_loc &
+edihcnstr+wtor_d*etors_d+wsccor*esccor &
- +wbond*estr+wcatprot*ecation_prot+wcatcat*ecationcation
+ +wbond*estr+wcatprot*ecation_prot+wcatcat*ecationcation&
+ +wbond_nucl*estr_nucl+wang_nucl*ebe_nucl&
+ +wvdwpp_nucl*evdwpp+welpp*eespp+wvdwpsb*evdwpsb+welpsb*eelpsb&
+ +wvdwsb*evdwsb+welsb*eelsb+wsbloc*esbloc+wtor_nucl*etors_nucl&
+ +wtor_d_nucl*etors_d_nucl+wcorr_nucl*ecorr_nucl+wcorr3_nucl*ecorr3_nucl&
+ +wscbase*escbase&
+ +wpepbase*epepbase+wscpho*escpho+wpeppho*epeppho
+
+
#else
etot=wsc*evdw+wscp*evdw2 &
+welec*(ees+evdw1) &
+wturn3*eello_turn3 &
+wturn6*eello_turn6+wel_loc*eel_loc+edihcnstr &
+wtor_d*etors_d+wsccor*esccor &
- +wbond*estr+wcatprot*ecation_prot+wcatcat*ecationcation
+ +wbond*estr+wcatprot*ecation_prot+wcatcat*ecationcation&
+ +wbond_nucl*estr_nucl+wang_nucl*ebe_nucl&
+ +wvdwpp_nucl*evdwpp+welpp*eespp+wvdwpsb*evdwpsb+welpsb*eelpsb&
+ +wvdwsb*evdwsb+welsb*eelsb+wsbloc*esbloc+wtor_nucl*etors_nucl&
+ +wtor_d_nucl*etors_d_nucl+wcorr_nucl*ecorr_nucl+wcorr3_nucl*ecorr3_nucl&
+ +wscbase*escbase&
+ +wpepbase*epepbase+wscpho*escpho+wpeppho*epeppho
+
+
#endif
#ifdef DEBUG
edihcnstr=0.0d0
ecationcation=enetb(41,t,iparm)
ecation_prot=enetb(42,t,iparm)
+ evdwpp = enetb(26,t,iparm)
+ eespp = enetb(27,t,iparm)
+ evdwpsb = enetb(28,t,iparm)
+ eelpsb = enetb(29,t,iparm)
+ evdwsb = enetb(30,t,iparm)
+ eelsb = enetb(31,t,iparm)
+ estr_nucl = enetb(32,t,iparm)
+ ebe_nucl = enetb(33,t,iparm)
+ esbloc = enetb(34,t,iparm)
+ etors_nucl = enetb(35,t,iparm)
+ etors_d_nucl = enetb(36,t,iparm)
+ ecorr_nucl = enetb(37,t,iparm)
+ ecorr3_nucl = enetb(38,t,iparm)
+ epeppho= enetb(49,t,iparm)
+ escpho= enetb(48,t,iparm)
+ epepbase= enetb(47,t,iparm)
+ escbase= enetb(46,t,iparm)
+
do k=0,nGridT
betaT=startGridT+k*delta_T
+ft(2)*wturn3*eello_turn3 &
+ft(5)*wturn6*eello_turn6+ft(2)*wel_loc*eel_loc &
+edihcnstr+ft(2)*wtor_d*etors_d+ft(1)*wsccor*esccor &
- +wbond*estr+wcatprot*ecation_prot+wcatcat*ecationcation
+ +wbond*estr+wcatprot*ecation_prot+wcatcat*ecationcation &
+ +wbond_nucl*estr_nucl+wang_nucl*ebe_nucl&
+ +wvdwpp_nucl*evdwpp+welpp*eespp+wvdwpsb*evdwpsb+welpsb*eelpsb&
+ +wvdwsb*evdwsb+welsb*eelsb+wsbloc*esbloc+wtor_nucl*etors_nucl&
+ *ft(1)+wtor_d_nucl*ft(2)*etors_d_nucl+wcorr_nucl*ecorr_nucl &
+ +wcorr3_nucl*ecorr3_nucl&
+ +wscbase*escbase&
+ +wpepbase*epepbase+wscpho*escpho+wpeppho*epeppho
+
eprim=ftprim(6)*evdw_t+ftprim(1)*welec*ees &
+ftprim(1)*wtor*etors+ &
ftprim(3)*wcorr*ecorr+ftprim(4)*wcorr5*ecorr5+ &
ftprim(5)*wcorr6*ecorr6+ftprim(3)*wturn4*eello_turn4+ &
ftprim(2)*wturn3*eello_turn3+ftprim(5)*wturn6*eello_turn6+ &
ftprim(2)*wel_loc*eel_loc+ftprim(2)*wtor_d*etors_d+ &
- ftprim(1)*wsccor*esccor
+ ftprim(1)*wsccor*esccor +ftprim(1)*wtor_nucl*etors_nucl&
+ +wtor_d_nucl*ftprim(2)*etors_d_nucl
ebis=ftbis(1)*welec*ees+ftbis(1)*wtor*etors+ &
ftbis(3)*wcorr*ecorr+ftbis(4)*wcorr5*ecorr5+ &
ftbis(5)*wcorr6*ecorr6+ftbis(3)*wturn4*eello_turn4+ &
ftbis(2)*wturn3*eello_turn3+ftbis(5)*wturn6*eello_turn6+ &
ftbis(2)*wel_loc*eel_loc+ftbis(2)*wtor_d*etors_d+ &
- ftbis(1)*wsccor*esccor
+ ftbis(1)*wsccor*esccor+ftbis(1)*wtor_nucl*etors_nucl&
+ +wtor_d_nucl*ftbis(2)*etors_d_nucl
#else
etot=wsc*(evdw+ft(6)*evdw_t)+wscp*evdw2 &
+ft(1)*welec*(ees+evdw1) &
+ft(2)*wturn3*eello_turn3 &
+ft(5)*wturn6*eello_turn6+ft(2)*wel_loc*eel_loc+edihcnstr &
+ft(2)*wtor_d*etors_d+ft(1)*wsccor*esccor &
- +wbond*estr+wcatprot*ecation_prot+wcatcat*ecationcation
+ +wbond*estr+wcatprot*ecation_prot+wcatcat*ecationcation&
+ +wbond_nucl*estr_nucl+wang_nucl*ebe_nucl&
+ +wvdwpp_nucl*evdwpp+welpp*eespp+wvdwpsb*evdwpsb+welpsb*eelpsb&
+ +wvdwsb*evdwsb+welsb*eelsb+wsbloc*esbloc+wtor_nucl*etors_nucl&
+ *ft(1)+wtor_d_nucl*ft(2)*etors_d_nucl+wcorr_nucl*ecorr_nucl &
+ +wcorr3_nucl*ecorr3_nucl&
+ +wscbase*escbase&
+ +wpepbase*epepbase+wscpho*escpho+wpeppho*epeppho
+
eprim=ftprim(6)*evdw_t+ftprim(1)*welec*(ees+evdw1) &
+ftprim(1)*wtor*etors+ &
ftprim(3)*wcorr*ecorr+ftprim(4)*wcorr5*ecorr5+ &
ftprim(5)*wcorr6*ecorr6+ftprim(3)*wturn4*eello_turn4+ &
ftprim(2)*wturn3*eello_turn3+ftprim(5)*wturn6*eello_turn6+ &
ftprim(2)*wel_loc*eel_loc+ftprim(2)*wtor_d*etors_d+ &
- ftprim(1)*wsccor*esccor
+ ftprim(1)*wsccor*esccor+ftprim(1)*wtor_nucl*etors_nucl&
+ +wtor_d_nucl*ftprim(2)*etors_d_nucl
ebis=ftbis(1)*welec*(ees+evdw1)+ftbis(1)*wtor*etors+ &
ftbis(3)*wcorr*ecorr+ftbis(4)*wcorr5*ecorr5+ &
ftbis(5)*wcorr6*ecorr6+ftbis(3)*wturn4*eello_turn4+ &
ftbis(2)*wturn3*eello_turn3+ftbis(5)*wturn6*eello_turn6+ &
ftbis(2)*wel_loc*eel_loc+ftbis(2)*wtor_d*etors_d+ &
- ftprim(1)*wsccor*esccor
+ ftprim(1)*wsccor*esccor+ftbis(1)*wtor_nucl*etors_nucl&
+ +wtor_d_nucl*ftbis(2)*etors_d_nucl
+
#endif
weight=dexp(-betaT*(etot-potEmin)+entfac(t))
#ifdef DEBUG