dfa IDFAMAX=25000
[unres.git] / source / wham / src-M / readrtns.F
index 36c13b1..6762578 100644 (file)
@@ -17,6 +17,7 @@
       include "COMMON.FREE"
       include "COMMON.CONTROL"
       include "COMMON.ENERGIES"
+      include "COMMON.SBRIDGE"
       character*800 controlcard
       integer i,j,k,ii,n_ene_found
       integer ind,itype1,itype2,itypf,itypsc,itypp
@@ -50,6 +51,8 @@
       call multreadi(controlcard,"ISAMPL",isampl,nparmset,1)
       write (iout,*) "MaxSlice",MaxSlice
       call readi(controlcard,"NSLICE",nslice,1)
+      call reada(controlcard,"FRAC_CUTOFF",frac_cutoff,10.0d0)
+      write (iout,*) "RMSD cutoff for fraction calculations",frac_cutoff
       call flush(iout)
       if (nslice.gt.MaxSlice) then
         write (iout,*) "Error: parameter out of range: NSLICE",nslice,
       zscfile=index(controlcard,"ZSCFILE").gt.0
       with_dihed_constr = index(controlcard,"WITH_DIHED_CONSTR").gt.0
       write (iout,*) "with_dihed_constr ",with_dihed_constr
+      with_theta_constr = index(controlcard,"WITH_THETA_CONSTR").gt.0
+      write (iout,*) "with_theta_constr ",with_theta_constr
       call readi(controlcard,'CONSTR_DIST',constr_dist,0)
+      dyn_ss=index(controlcard,"DYN_SS").gt.0
       return
       end
 c------------------------------------------------------------------------------
@@ -400,7 +406,7 @@ c-------------------------------------------------------------------------------
       external ilen,iroof
       double precision rmsdev,energia(0:max_ene),efree,eini,temp
       double precision prop(maxQ)
-      integer ntot_all(maxslice,0:maxprocs-1)
+      integer ntot_all(maxslice,0:maxprocs-1), maxslice_buff
       integer iparm,ib,iib,ir,nprop,nthr,npars
       double precision etot,time
       integer ixdrf,iret 
@@ -531,7 +537,13 @@ c DA scratchfile.
 
 #ifdef MPI
 c Check if everyone has the same number of conformations
-      call MPI_Allgather(stot(1),maxslice,MPI_INTEGER,
+
+c      call MPI_ALLgather(MPI_IN_PLACE,stot(1),MPI_DATATYPE_NULL,
+c     &  ntot_all(1,0),maxslice,MPI_INTEGER,MPI_Comm_World,IERROR)
+
+      maxslice_buff=maxslice
+
+      call MPI_Allgather(stot(1),maxslice_buff,MPI_INTEGER,
      &  ntot_all(1,0),maxslice,MPI_INTEGER,MPI_Comm_World,IERROR)
       lerr=.false.
       do i=0,nprocs-1