X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Fwham%2Fsrc%2Fenecalc1.F;h=c71b9c04f2796b9e421ba0685a3d2b0e8e34da0f;hb=34d3ad3987785642be58fb2f26557d3314215577;hp=4b9414d893443c9a75288694bdbb1d355bbe33fa;hpb=f690e8b70bab14132839afebf080d4a28363b226;p=unres.git diff --git a/source/wham/src/enecalc1.F b/source/wham/src/enecalc1.F index 4b9414d..c71b9c0 100644 --- a/source/wham/src/enecalc1.F +++ b/source/wham/src/enecalc1.F @@ -44,8 +44,9 @@ double precision fT(6),quot,quotl,kfacl,kfac /2.4d0/,T0 /3.0d2/ double precision tt integer snk_p(MaxR,MaxT_h,Max_parm) + integer scount_(0:MaxProcs) logical lerr - character*64 bprotfile_temp + character*128 bprotfile_temp call opentmp(islice,ientout,bprotfile_temp) iii=0 ii=0 @@ -75,6 +76,7 @@ & ((csingle(l,k+nres),l=1,3),k=nnt,nct), & nss,(ihpb(k),jhpb(k),k=1,nss), & eini,efree,rmsdev,(q(j,iii+1),j=1,nQ),iR,ib,ipar +cc write(iout,*), 'NAWEJ',i,eini if (indpdb.gt.0) then do k=1,nres do l=1,3 @@ -153,7 +155,6 @@ c & " kfac",kfac,"quot",quot," fT",fT & wtor_d,wsccor,wbond #endif call etotal(energia(0),fT) -#define DEBUG #ifdef DEBUG write (iout,*) "Conformation",i call enerprint(energia(0),fT) @@ -161,7 +162,6 @@ c write (iout,'(2i5,21f8.2)') i,iparm,(energia(k),k=1,21) c write (iout,*) "ftors",ftors c call intout #endif -#undef DEBUG if (energia(0).ge.1.0d20) then write (iout,*) "NaNs detected in some of the energy", & " components for conformation",ii+1 @@ -196,6 +196,11 @@ c call pdbout(ii+1,beta_h(ib,ipar),efree,energia(0),0.0d0,rmsdev) & " the value read in: ",energia(0),eini," point", & iii+1,indstart(me1)+iii," T", & 1.0d0/(1.987D-3*beta_h(ib,ipar)) + call enerprint(energia(0),fT) + call pdbout(iii+1,beta_h(ib,ipar), + & eini,energia(0),0.0d0,rmsdev) + write (iout,*) + errmsg_count=errmsg_count+1 if (errmsg_count.gt.maxerrmsg_count) & write (iout,*) "Too many warning messages" @@ -214,6 +219,8 @@ c call pdbout(ii+1,beta_h(ib,ipar),efree,energia(0),0.0d0,rmsdev) do k=1,21 enetb(k,iii+1,iparm)=energia(k) enddo +c write(iout,*) "iCHUJ TU STRZELI",i,iii,entfac(i) +c call enerprint(energia(0),fT) #ifdef DEBUG write (iout,'(2i5,f10.1,3e15.5)') i,iii, & 1.0d0/(beta_h(ib,ipar)*1.987D-3),energia(0),eini,efree @@ -263,11 +270,12 @@ c & " snk",snk_p(iR,ib,ipar) 121 continue enddo #ifdef MPI - scount(me)=iii +c scount(me)=iii + scount_(me)=iii write (iout,*) "Me",me," scount",scount(me) call flush(iout) c Master gathers updated numbers of conformations written by all procs. - call MPI_AllGather( scount(me), 1, MPI_INTEGER, scount(0), 1, + call MPI_AllGather( scount_(me), 1, MPI_INTEGER, scount(0), 1, & MPI_INTEGER, WHAM_COMM, IERROR) indstart(0)=1 indend(0)=scount(0) @@ -342,7 +350,7 @@ c------------------------------------------------------------------------------ include "COMMON.PROT" character*64 nazwa character*80 bxname,cxname - character*64 bprotfile_temp + character*128 bprotfile_temp character*3 liczba,licz character*2 licz2 integer i,itj,ii,iii,j,k,l @@ -437,12 +445,22 @@ c------------------------------------------------------------------------------ #else do i=1,ntot(islice) #endif +cc if (dyn_ss) then +cc read(ientout,rec=i,err=101) +cc & ((csingle(l,k),l=1,3),k=1,nres), +cc & ((csingle(l,k+nres),l=1,3),k=nnt,nct), +cc & nss,(idssb(k),jdssb(k),k=1,nss), +cc & eini,efree,rmsdev,(q(k,i),k=1,nQ),iR,ib,iparm +cc idssb(k)=idssb(k)-nres +cc jdssb(k)=jdssb(k)-nres +cc else read(ientout,rec=i,err=101) & ((csingle(l,k),l=1,3),k=1,nres), & ((csingle(l,k+nres),l=1,3),k=nnt,nct), & nss,(ihpb(k),jhpb(k),k=1,nss), & eini,efree,rmsdev,(q(k,i),k=1,nQ),iR,ib,iparm -c write (iout,*) iR,ib,iparm,eini,efree +cc endif +cc write (iout,*) 'CC', iR,ib,iparm,eini,efree do j=1,2*nres do k=1,3 c(k,j)=csingle(k,j) @@ -452,14 +470,24 @@ c write (iout,*) iR,ib,iparm,eini,efree iscore=0 if (indpdb.gt.0) then call conf_compar(i,.false.,.true.) - endif + endif +c if (dyn_ss) then if (bxfile .or.cxfile .or. ensembles.gt.0) write (ientin,rec=i) & ((csingle(l,k),l=1,3),k=1,nres), & ((csingle(l,k+nres),l=1,3),k=nnt,nct), & nss,(ihpb(k),jhpb(k),k=1,nss), c & potE(i,iparm),-entfac(i),rms_nat,iscore & potE(i,nparmset),-entfac(i),rms_nat,iscore -c write (iout,'(2i5,3e15.5)') i,me,potE(i,iparm),-entfac(i) +c else + if (bxfile .or.cxfile .or. ensembles.gt.0) write + & (ientin,rec=i) + & ((csingle(l,k),l=1,3),k=1,nres), + & ((csingle(l,k+nres),l=1,3),k=nnt,nct), + & nss,(ihpb(k),jhpb(k),k=1,nss), +c & potE(i,iparm),-entfac(i),rms_nat,iscore + & potE(i,nparmset),-entfac(i),rms_nat,iscore +c endif + write (iout,'(2i5,3e15.5)') i,me,potE(i,iparm),-entfac(i) #ifndef MPI if (cxfile) call cxwrite(ixdrf,csingle,potE(i,nparmset), & -entfac(i),rms_nat,iscore) @@ -538,17 +566,37 @@ c write (iout,*) "j",j," indstart",indstart(j)," indend",indend(j) c call flush(iout) do i=indstart(j),indend(j) iii = iii+1 +cc if (dyn_ss) then +cc read(ientin,rec=iii,err=101) +cc & ((csingle(l,k),l=1,3),k=1,nres), +cc & ((csingle(l,k+nres),l=1,3),k=nnt,nct), +cc & nss,(idssb(k),jdssb(k),k=1,nss), +cc & eini,efree,rmsdev,iscor +cc idssb(k)=idssb(k)-nres +cc jdssb(k)=jdssb(k)-nres +cc else read(ientin,rec=iii,err=101) & ((csingle(l,k),l=1,3),k=1,nres), & ((csingle(l,k+nres),l=1,3),k=nnt,nct), & nss,(ihpb(k),jhpb(k),k=1,nss), & eini,efree,rmsdev,iscor +cc endif if (bxfile .or. ensembles.gt.0) then - write (ientout,rec=i) +cc if (dyn_ss) then +cc write (ientout,rec=i) +cc & ((csingle(l,k),l=1,3),k=1,nres), +cc & ((csingle(l,k+nres),l=1,3),k=nnt,nct), +cc & nss,(idssb(k)+nres,jdssb(k)+nres,k=1,nss), +cc & eini,efree,rmsdev,iscor +cc else + write (ientout,rec=i) & ((csingle(l,k),l=1,3),k=1,nres), & ((csingle(l,k+nres),l=1,3),k=nnt,nct), & nss,(ihpb(k),jhpb(k),k=1,nss), & eini,efree,rmsdev,iscor +cc write(iout,*) "W poszukiwaniu zlotych galotow" +cc write(iout,*) "efree=",efree,iii +cc endif endif if(cxfile)call cxwrite(ixdrf,csingle,eini,efree,rmsdev,iscor) #ifdef DEBUG @@ -642,6 +690,7 @@ c call flush(iout) c write (iout,*) "itmp",itmp c call flush(iout) +c write (iout,*) "CNZ",eini,dyn_ss #if (defined(AIX) && !defined(JUBL)) call xdrf3dfcoord_(ixdrf, xoord, itmp, prec, iret) @@ -649,8 +698,13 @@ c write (iout,*) "xdrf3dfcoord" c call flush(iout) call xdrfint_(ixdrf, nss, iret) do j=1,nss +cc if (dyn_ss) then +cc call xdrfint_(ixdrf, idssb(j)+nres, iret) +cc call xdrfint_(ixdrf, jdssb(j)+nres, iret) +cc else call xdrfint_(ixdrf, ihpb(j), iret) call xdrfint_(ixdrf, jhpb(j), iret) +cc endif enddo call xdrffloat_(ixdrf,real(eini),iret) call xdrffloat_(ixdrf,real(efree),iret) @@ -661,11 +715,18 @@ c call flush(iout) call xdrfint(ixdrf, nss, iret) do j=1,nss +cc if (dyn_ss) then +cc call xdrfint(ixdrf, idssb(j), iret) +cc call xdrfint(ixdrf, jdssb(j), iret) +cc idssb(j)=idssb(j)-nres +cc jdssb(j)=jdssb(j)-nres +cc else call xdrfint(ixdrf, ihpb(j), iret) call xdrfint(ixdrf, jhpb(j), iret) +cc endif enddo call xdrffloat(ixdrf,real(eini),iret) - call xdrffloat(ixdrf,real(efree),iret) + call xdrffloat(ixdrf,real(efree),iret) call xdrffloat(ixdrf,real(rmsdev),iret) call xdrfint(ixdrf,iscor,iret) #endif