multichain geomout corrected
[unres.git] / source / unres / src_MD-M / geomout.F
index 0b711bd..80d904d 100644 (file)
@@ -10,7 +10,9 @@
       include 'COMMON.DISTFIT'
       include 'COMMON.MD'
       character*50 tytul
-      character*1 chainid(10) /'A','B','C','D','E','F','G','H','I','J'/
+      character*1 chainid(26) /'A','B','C','D','E','F','G','H','I','J',
+     &  'K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'/
+
       dimension ica(maxres)
       write (iunit,'(3a,1pe15.5)') 'REMARK ',tytul,' ENERGY ',etot
 cmodel      write (iunit,'(a5,i6)') 'MODEL',1
@@ -106,14 +108,14 @@ cmodel      write (iunit,'(a5,i6)') 'MODEL',1
         iatom=iatom+1
         ica(i)=iatom
         if (iti.ne.ntyp1) then
-        write (iunit,10) iatom,restyp(iti),chainid(ichain),
+        write (iunit,10) iatom,restyp(iti),chainid(1+mod(ichain/2,26)),
      &     ires,(c(j,i),j=1,3),vtot(i)
         if (iti.ne.10) then
           iatom=iatom+1
-          write (iunit,20) iatom,restyp(iti),chainid(ichain),
+        write (iunit,20) iatom,restyp(iti),chainid(1+mod(ichain/2,26)),
      &      ires,(c(j,nres+i),j=1,3),
      &      vtot(i+nres)
-         endif
+        endif
         endif
         endif
       enddo
@@ -156,7 +158,7 @@ C format.
       include 'COMMON.IOUNITS'
       include 'COMMON.HEADER'
       include 'COMMON.SBRIDGE'
-      character*32 tytul,fd
+      character*50 tytul,fd
       character*3 zahl
       character*6 res_num,pom,ucase
 #ifdef AIX
@@ -215,7 +217,7 @@ c------------------------------------------------------------------------
       include 'COMMON.TORSION'
       write (iout,'(/a)') 'Geometry of the virtual chain.'
       write (iout,'(7a)') '  Res  ','         d','     Theta',
-     & '       Phi','       Dsc','     Alpha','      Omega'
+     & '     Gamma','       Dsc','     Alpha','      Beta '
       do i=1,nres
        iti=itype(i)
         write (iout,'(a3,i4,6f10.3)') restyp(iti),i,vbld(i),
@@ -285,6 +287,7 @@ c----------------------------------------------------------------
       include 'COMMON.DISTFIT'
       include 'COMMON.MD'
       double precision time
+      write (iout,*) "cartout: cartname ",cartname
 #if defined(AIX) || defined(PGI)
       open(icart,file=cartname,position="append")
 #else
@@ -425,6 +428,7 @@ c-----------------------------------------------------------------
       include 'COMMON.SBRIDGE'
       include 'COMMON.DISTFIT'
       include 'COMMON.MD'
+      include 'COMMON.REMD'
       include 'COMMON.SETUP'
       integer itime
       double precision energia(0:n_ene)
@@ -453,7 +457,7 @@ c-----------------------------------------------------------------
      &          rms,frac,frac_nn,kinetic_T,t_bath,gyrate(),
      &          potEcomp(23),me
           format1="a133"
-         else
+       else
 C          print *,'A CHUJ',potEcomp(23)
           write (line1,'(i10,f15.2,7f12.3,i5,$)')
      &           itime,totT,EK,potE,totE,
@@ -485,7 +489,7 @@ C          print *,'A CHUJ',potEcomp(23)
           format1="a114"
         endif
        else
-       if (refstr) then
+        if (refstr) then
          call rms_nac_nnc(rms,frac,frac_nn,co,.false.)
           write (line1,'(i10,f15.2,3f12.3,f7.2,4f6.3,3f12.3,i5,$)')
      &          itime,totT,EK,potE,totE,
@@ -497,20 +501,34 @@ C          print *,'A CHUJ',potEcomp(23)
      &           amax,kinetic_T,t_bath,gyrate(),me
           format1="a114"
         endif
-        endif
+       endif
         if(usampl.and.totT.gt.eq_time) then
            write(line2,'(i5,2f9.4,300f7.4)') iset,uconst,uconst_back,
      &      (qfrag(ii1),ii1=1,nfrag),(qpair(ii2),ii2=1,npair),
      &      (utheta(i),ugamma(i),uscdiff(i),i=1,nfrag_back)
            write(format2,'(a1,i3.3)') "a",23+7*nfrag+7*npair
      &             +21*nfrag_back
+        elseif(hremd.gt.0.or.homol_nset.gt.1) then
+           write(line2,'(i5)') iset
+           format2="a005"
         else
            format2="a001"
            line2=' '
         endif
         if (print_compon) then
+#ifdef DEBUG
+          write (iout,*) "itime",itime," temperature",t_bath,
+     &     " potential energy",potE,potEcomp(0)
+          call enerprint(potEcomp)
+#endif
+          if(itime.eq.0) then
+           write(format,'(a1,a4,a1,a4,a10)') "(",format1,",",format2,
+     &                                                     ",100a12)"
+           write (istat,format) "#","",
+     &      (ename(print_order(i)),i=1,nprint_ene)
+          endif
           write(format,'(a1,a4,a1,a4,a10)') "(",format1,",",format2,
-     &                                                     ",20f12.3)"
+     &                                                     ",100f12.3)"
           write (istat,format) line1,line2,
      &      (potEcomp(print_order(i)),i=1,nprint_ene)
         else