double precision ts(MaxSlice),te(MaxSlice),time_slice
integer slice
logical conf_check
+ write (iout,*) "cxread"
+ call flush(iout)
call set_slices(is,ie,ts,te,iR,ib,iparm)
-
+ write (iout,*) "after set_slices"
+ call flush(iout)
do i=1,nQ
rprop(i)=0.0d0
enddo
c print *,"rtime",rtime," iret",iret
call xdrffloat_(ixdrf, rpotE, iret)
c write (iout,*) "rpotE",rpotE," iret",iret
- call flush(iout)
+c call flush(iout)
call xdrffloat_(ixdrf, ruconst, iret)
call xdrffloat_(ixdrf, rt_bath, iret)
call xdrfint_(ixdrf, nss, iret)
do j=1,nss
- call xdrfint_(ixdrf, ihpb(j), iret)
- call xdrfint_(ixdrf, jhpb(j), iret)
+ if (dyn_ss) then
+ call xdrfint(ixdrf, idssb(j), iret)
+ call xdrfint(ixdrf, jdssb(j), iret)
+ idssb(j)=idssb(j)-nres
+ jdssb(j)=jdssb(j)-nres
+ else
+ call xdrfint_(ixdrf, ihpb(j), iret)
+ call xdrfint_(ixdrf, jhpb(j), iret)
+ endif
enddo
call xdrfint_(ixdrf, nprop, iret)
if (umbrella(iparm) .or. read_iset(iparm) .or. hamil_rep)
call xdrffloat(ixdrf, rtime, iret)
call xdrffloat(ixdrf, rpotE, iret)
c write (iout,*) "rpotE",rpotE," iret",iret
- call flush(iout)
+c call flush(iout)
call xdrffloat(ixdrf, ruconst, iret)
call xdrffloat(ixdrf, rt_bath, iret)
call xdrfint(ixdrf, nss, iret)
+c write (iout,*) "ruconst",ruconst," rt_bath",rt_bath," nss",nss
+c call flush(iout)
do j=1,nss
- call xdrfint(ixdrf, ihpb(j), iret)
- call xdrfint(ixdrf, jhpb(j), iret)
+ if (dyn_ss) then
+ call xdrfint(ixdrf, idssb(j), iret)
+ call xdrfint(ixdrf, jdssb(j), iret)
+ else
+ call xdrfint(ixdrf, ihpb(j), iret)
+ call xdrfint(ixdrf, jhpb(j), iret)
+ endif
enddo
call xdrfint(ixdrf, nprop, iret)
c write (iout,*) "nprop",nprop
ii=ii+1
kk(islice)=kk(islice)+1
mm(islice)=mm(islice)+1
+#ifdef DEBUG
+ write (iout,*) "islice",islice," ii",ii," kk",kk(islice),
+ & " mm",mm(islice)
+ write (iout,*) "itraj",itraj," nstep",nstep(itraj),
+ & " isampl",isampl(iparm)
+ call flush(iout)
+#endif
if (mod(nstep(itraj),isampl(iparm)).eq.0 .and.
& conf_check(ll(islice)+1,1)) then
if (replica(iparm)) then
+ if (rt_bath.eq.0.0d0) then
+ write (iout,*) "ERROR: zero temperature",
+ & islice,kk(islice),mm(islice)
+ call flush(iout)
+ endif
rt_bath=1.0d0/(rt_bath*1.987D-3)
do i=1,nT_h(iparm)
if (abs(real(beta_h(i,iparm))-rt_bath).lt.1.0e-4) then
write (iout,*) "ntraj",ntraj," itraj",itraj,
& " nstep",nstep(itraj)
write (iout,*) "pote",rpotE," time",rtime
+ write (iout,*) "nss",nss
+ write (iout,*) (ihpb(k),jhpb(k),k=1,nss)
c if (replica(iparm)) then
c write (iout,*) "TEMP",1.0d0/(rt_bath*1.987D-3)
c write (iout,*) "TEMP list"
c write (iout,*)
c & (1.0d0/(beta_h(i,iparm)*1.987D-3),i=1,nT_h(iparm))
c endif
- write (iout,*) "iparm",iparm," ib",ib," iR",iR," nQ",nQ
+c write (iout,*) "iparm",iparm," ib",ib," iR",iR," nQ",nQ
c write (iout,*) "nres",nres," nnt",nnt," nct",nct," nss",nss
c write (iout,*) "length",nres*4+(nct-nnt+1)*4+4+2*nss*4
call flush(iout)