From: Adam Sieradzan Date: Fri, 7 Jun 2019 10:47:04 +0000 (+0200) Subject: critical bugfix NARES_UNRES interface X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=commitdiff_plain;h=aa10e88041f16954d81953a1ecfbfc956e089f72;p=unres4.git critical bugfix NARES_UNRES interface --- diff --git a/source/unres/data/names.F90 b/source/unres/data/names.F90 index f901fc1..763bf8f 100644 --- a/source/unres/data/names.F90 +++ b/source/unres/data/names.F90 @@ -103,8 +103,8 @@ "WHPB ","WVDWPP ","WSCP14 ","WBOND ","WSCCOR ","WDIHC ","WSC ",& "WLT "," "," ","WTUBE " ,& "WVDWPP ","WELPP ","WVDWPSB ","WELPSB ","WVDWSB ",& - "WELSB ","WBOND ","WANG ","WSBLOC ","WTOR ",& - "WTORD ","WCORR ","WCORR3 ","WNULL ","WNULL ",& + "WELSB ","WBOND_NUCL","WANG_NUCL ","WSBLOC ","WTOR_NUCL ",& + "WTORD_NUCL","WCORR_NUCL","WCORR3_NUC","WNULL ","WNULL ",& "WCATPROT ","WCATCAT ","WNULL ","WNULL ","WNULL ",& "WSCBASE ","WPEPBASE ","WSCPHO ","WPEPPHO "/) diff --git a/source/unres/energy.F90 b/source/unres/energy.F90 index 45dd795..6c60e98 100644 --- a/source/unres/energy.F90 +++ b/source/unres/energy.F90 @@ -378,6 +378,13 @@ wscbase=weights(46) wscpho=weights(47) wpeppho=weights(48) +! welpsb=weights(28)*fact(1) +! +! wcorr_nucl= weights(37)*fact(1) +! wcorr3_nucl=weights(38)*fact(2) +! wtor_nucl= weights(35)*fact(1) +! wtor_d_nucl=weights(36)*fact(2) + endif time_Bcast=time_Bcast+MPI_Wtime()-time00 time_Bcastw=time_Bcastw+MPI_Wtime()-time00 @@ -854,7 +861,7 @@ epeppho=0.0 endif ! call ecatcat(ecationcation) - print *,"after ebend", ebe_nucl +! print *,"after ebend", wtor_nucl #ifdef TIMING time_enecalc=time_enecalc+MPI_Wtime()-time00 #endif @@ -1189,6 +1196,11 @@ wtor=weights(13)*fact(1) wtor_d=weights(14)*fact(2) wsccor=weights(21)*fact(1) + welpsb=weights(28)*fact(1) + wcorr_nucl= weights(37)*fact(1) + wcorr3_nucl=weights(38)*fact(2) + wtor_nucl= weights(35)*fact(1) + wtor_d_nucl=weights(36)*fact(2) return end subroutine rescale_weights @@ -2724,7 +2736,7 @@ integer :: i,iti1,iti,k,l real(kind=8) :: sin1,cos1,sin2,cos2,dwacos2,dwasin2,cost1,sint1,& sint1sq,sint1cub,sint1cost1,b1k,b2k,aux - print *,"in set matrices" +! print *,"in set matrices" ! ! Compute the virtual-bond-torsional-angle dependent quantities needed ! to calculate the el-loc multibody terms of various order. @@ -2839,8 +2851,8 @@ #endif #else if (i.gt. nnt+2 .and. i.lt.nct+2) then - write(iout,*) "i,",molnum(i) - print *, "i,",molnum(i),i,itype(i-2,1) +! write(iout,*) "i,",molnum(i) +! print *, "i,",molnum(i),i,itype(i-2,1) if (molnum(i).eq.1) then iti = itype2loc(itype(i-2,1)) else @@ -2856,7 +2868,7 @@ else iti1=nloctyp endif - print *,i,iti +! print *,i,iti b1(1,i-2)=b(3,iti) b1(2,i-2)=b(5,iti) b2(1,i-2)=b(2,iti) @@ -14741,7 +14753,7 @@ #endif ! print *, "before set matrices" call set_matrices - print *,"after set martices" +! print *,"after set martices" #ifdef TIMING time_mat=time_mat+MPI_Wtime()-time01 #endif diff --git a/source/unres/io.F90 b/source/unres/io.F90 index 4f526c4..1a85795 100644 --- a/source/unres/io.F90 +++ b/source/unres/io.F90 @@ -784,9 +784,10 @@ call reada(weightcard,'WANG_NUCL',wang_nucl,0.0D0) call reada(weightcard,'WSBLOC',wsbloc,0.0D0) call reada(weightcard,'WTOR_NUCL',wtor_nucl,0.0D0) +! print *,"KUR..",wtor_nucl call reada(weightcard,'WTORD_NUCL',wtor_d_nucl,0.0D0) call reada(weightcard,'WCORR_NUCL',wcorr_nucl,0.0D0) - call reada(weightcard,'WCORR3_NUCL',wcorr3_nucl,0.0D0) + call reada(weightcard,'WCORR3_NUC',wcorr3_nucl,0.0D0) call reada(weightcard,'WBOND',wbond,1.0D0) call reada(weightcard,'WTOR',wtor,1.0D0) call reada(weightcard,'WTORD',wtor_d,1.0D0) @@ -832,6 +833,25 @@ weights(17)=wbond weights(18)=scal14 weights(21)=wsccor + weights(26)=wvdwpp_nucl + weights(27)=welpp + weights(28)=wvdwpsb + weights(29)=welpsb + weights(30)=wvdwsb + weights(31)=welsb + weights(32)=wbond_nucl + weights(33)=wang_nucl + weights(34)=wsbloc + weights(35)=wtor_nucl + weights(36)=wtor_d_nucl + weights(37)=wcorr_nucl + weights(38)=wcorr3_nucl + weights(41)=wcatcat + weights(42)=wcatprot + weights(46)=wscbase + weights(47)=wscpho + weights(48)=wpeppho + if(me.eq.king.or..not.out1file) & write (iout,10) wsc,wscp,welec,wvdwpp,wbond,wang,wscloc,wtor,& wtor_d,wstrain,wel_loc,wcorr,wcorr5,wcorr6,wsccor,wturn3,& diff --git a/source/wham/enecalc.F90 b/source/wham/enecalc.F90 index e72bbc9..1568a9a 100644 --- a/source/wham/enecalc.F90 +++ b/source/wham/enecalc.F90 @@ -1229,7 +1229,10 @@ write(iout,*)"end of store_parm" 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,tt, & - ecation_prot, ecationcation + ecation_prot, ecationcation,evdwpp,eespp,evdwpsb,eelpsb,evdwsb, & + eelsb,estr_nucl,ebe_nucl,esbloc,etors_nucl,etors_d_nucl,& + ecorr_nucl,ecorr3_nucl,escbase, epepbase,escpho, epeppho + integer :: i,ii,ik,iproc,iscor,j,k,l,ib,iparm,iprot,nlist real(kind=8) :: qfree,sumprob,eini,efree,rmsdev character(len=80) :: bxname @@ -1380,6 +1383,19 @@ write(iout,*)"end of store_parm" edihcnstr=enetb(19,i,iparm) ecationcation=enetb(42,i,iparm) ecation_prot=enetb(41,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) !#ifdef SPLITELE ! etot=wsc*(evdw+ft(6)*evdw_t)+wscp*evdw2+ft(1)*welec*ees & @@ -1412,7 +1428,14 @@ write(iout,*)"end of store_parm" +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) & @@ -1422,7 +1445,14 @@ write(iout,*)"end of store_parm" +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 MPI diff --git a/source/wham/io_wham.F90 b/source/wham/io_wham.F90 index 10364a4..2e12a82 100644 --- a/source/wham/io_wham.F90 +++ b/source/wham/io_wham.F90 @@ -466,6 +466,33 @@ allocate(ww(max_eneW)) wsccor=ww(19) wcatcat=ww(42) wcatprot=ww(41) + wcorr3_nucl=ww(38) + wcorr_nucl=ww(37) + wtor_d_nucl=ww(36) + wtor_nucl=ww(35) + wsbloc=ww(34) + wang_nucl=ww(33) + wbond_nucl=ww(32) + welsb=ww(31) + wvdwsb=ww(30) + welpsb=ww(29) + wvdwpsb=ww(28) + welpp=ww(27) + wvdwpp=ww(26) + wscbase=ww(46) + wpepbase=ww(47) + wscpho=ww(48) + wpeppho=ww(49) +! print *,"KURWA",ww(48) +! "WSCBASE ","WPEPBASE ","WSCPHO ","WPEPPHO " +! "WVDWPP ","WELPP ","WVDWPSB ","WELPSB ","WVDWSB ",& +! "WELSB ","WBOND ","WANG ","WSBLOC ","WTOR ",& +! "WTORD ","WCORR ","WCORR3 ","WNULL ","WNULL ",& +! "WCATPROT ","WCATCAT +! +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& endif ! @@ -492,7 +519,25 @@ allocate(ww(max_eneW)) weights(21)=wsccor weights(42)=wcatprot weights(41)=wcatcat - + weights(26)= wvdwpp_nucl + + weights(27) =welpp + weights(28) =wvdwpsb + weights(29) =welpsb + weights(30) =wvdwsb + weights(31) =welsb + weights(32) =wbond_nucl + weights(33) =wang_nucl + weights(34) =wsbloc + weights(35) =wtor_nucl + weights(36) =wtor_d_nucl + weights(37) =wcorr_nucl + weights(38) =wcorr3_nucl + weights(41) =wcatcat + weights(42) =wcatprot + weights(46) =wscbase + weights(47) =wscpho + weights(48) =wpeppho ! el-------- call card_concat(controlcard,.false.)