X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Funres%2Fio_base.F90;h=f6058d7f3b5df2295afe767858ffb1150027fa7c;hb=08b96e38d3e1534b82b14c0a8c7948e490c6cebb;hp=f66a9b5d093b8cf48225cd7583e972e35917e300;hpb=ae2f9918e1e5f88a78cc32b1d3a7ff90dede1207;p=unres4.git diff --git a/source/unres/io_base.F90 b/source/unres/io_base.F90 index f66a9b5..f6058d7 100644 --- a/source/unres/io_base.F90 +++ b/source/unres/io_base.F90 @@ -5,7 +5,7 @@ implicit none !----------------------------------------------------------------------------- ! Max. number of AA residues - integer,parameter :: maxres=6500!1200 + integer,parameter :: maxres=101000!1200 ! Appr. max. number of interaction sites integer,parameter :: maxres2=2*maxres ! parameter (maxres6=6*maxres) @@ -155,9 +155,9 @@ !----------------------------------------------------------------------------- subroutine read_x(kanal,*) - use geometry_data - use energy_data - use geometry, only:int_from_cart1 + use geometry_data + use energy_data + use geometry, only:int_from_cart1 ! implicit real*8 (a-h,o-z) ! include 'DIMENSIONS' ! include 'COMMON.GEO' @@ -1018,7 +1018,6 @@ use geometry_data, only: c,nres,boxxsize,boxysize,boxzsize use energy_data -! use energy, only: to_box ! use control use compare_data use MD_data @@ -1142,7 +1141,7 @@ ires=0 write(iout,*) "TUTUT" do i=nnt,nct - write(iout,*), "coord",c(1,i),c(2,i),c(3,i) +! write(iout,*), "coord",c(1,i),c(2,i),c(3,i) iti=itype(i,molnum(i)) print *,i,molnum(i) if (molnum(i+1).eq.0) then @@ -1183,7 +1182,20 @@ ! if (zi.lt.0.0d0) zi=zi+boxzsize write (iunit,60) iatom,restyp(iti,molnum(i)),chainid(ichain),& ires,xi,yi,zi,vtot(i) - else + elseif (molnum(i).eq.5) then + xi=c(1,i) + yi=c(2,i) + zi=c(3,i) + xi=dmod(xi,boxxsize) + if (xi.lt.0.0d0) xi=xi+boxxsize + yi=dmod(yi,boxysize) + if (yi.lt.0.0d0) yi=yi+boxysize + zi=dmod(zi,boxzsize) + if (zi.lt.0.0d0) zi=zi+boxzsize + write (iunit,60) iatom,restyp(iti,molnum(i)),chainid(ichain),& + ires,xi,yi,zi,vtot(i) + else + write (iunit,60) iatom,restyp(iti,molnum(i)),chainid(ichain),& ires,(c(j,i),j=1,3),vtot(i) endif @@ -1204,6 +1216,7 @@ enddo write (iunit,'(a)') 'TER' do i=nnt,nct-1 + if (molnum(i).eq.5) cycle if (itype(i,1).eq.ntyp1) cycle if ((itype(i,1).eq.10 .and. itype(i+1,1).ne.ntyp1).or.(molnum(i).eq.5)) then write (iunit,30) ica(i),ica(i+1) @@ -1326,7 +1339,7 @@ do i=1,nres iti=itype(i,1) ! print *,vbld(i),"vbld(i)",i - write (iout,'(a3,i4,6f10.3)') restyp(iti,1),i,vbld(i),& + write (iout,'(a3,i6,6f10.3)') restyp(iti,1),i,vbld(i),& rad2deg*theta(i),rad2deg*phi(i),vbld(nres+i),rad2deg*alph(i),& rad2deg*omeg(i) enddo @@ -1490,46 +1503,39 @@ !----------------------------------------------------------------------------- ! permut.F !----------------------------------------------------------------------------- - subroutine permut(isym) - - use geometry_data, only: tabperm -! implicit real*8 (a-h,o-z) -! include 'DIMENSIONS' -! include 'COMMON.LOCAL' -! include 'COMMON.VAR' -! include 'COMMON.CHAIN' -! include 'COMMON.INTERACT' -! include 'COMMON.IOUNITS' -! include 'COMMON.GEO' -! include 'COMMON.NAMES' -! include 'COMMON.CONTROL' - - integer :: n,isym + subroutine permut(isym,nperm,tabperm) +!c integer maxperm,maxsym +!c parameter (maxperm=3628800) +!c parameter (maxsym=10) +! include "DIMENSIONS" + integer n,a,tabperm,nperm,kkk,i,isym ! logical nextp -!el external nextp - integer,dimension(isym) :: a -! parameter(n=symetr) -!el local variables - integer :: kkk,i - +! external nextp + dimension a(isym),tabperm(50,5040) n=isym + nperm=1 if (n.eq.1) then tabperm(1,1)=1 return endif + do i=2,n + nperm=nperm*i + enddo kkk=0 do i=1,n a(i)=i enddo - 10 print *,(a(i),i=1,n) + 10 continue +!c print '(i3,2x,100i3)',kkk+1,(a(i),i=1,n) kkk=kkk+1 do i=1,n - tabperm(kkk,i)=a(i) -! write (iout,*) "tututu", kkk + tabperm(i,kkk)=a(i) enddo if(nextp(n,a)) go to 10 return - end subroutine permut + end subroutine + + !----------------------------------------------------------------------------- logical function nextp(n,a) @@ -1567,7 +1573,6 @@ !----------------------------------------------------------------------------- integer function rescode(iseq,nam,itype,molecule) -! use io_base, only: ucase ! implicit real*8 (a-h,o-z) ! include 'DIMENSIONS' ! include 'COMMON.NAMES'