Corrected refsys.f in src_MD-M
authorAdam Liwo <adam@piasek4.chem.univ.gda.pl>
Fri, 23 Jan 2015 20:29:12 +0000 (21:29 +0100)
committerDawid Jagieła <lightnir@chem.univ.gda.pl>
Sat, 24 Jan 2015 22:14:49 +0000 (23:14 +0100)
Conflicts:
bin/unres/MD/unres-mult-symetr_ifort_MPICH_E0LL2Y.exe
source/unres/src_MD-M/cinfo.f

source/unres/src_MD-M/readpdb.F
source/unres/src_MD-M/readrtns_CSA.F
source/unres/src_MD-M/refsys.f
source/unres/src_MD-M/ssMD.F
source/unres/src_MD-M/unres.F

index 8b6f331..c7f0ddd 100644 (file)
@@ -169,7 +169,7 @@ C 2/15/2013 by Adam: corrected insertion of the last dummy residue
         c(j,nres+1)=c(j,1)
         c(j,2*nres)=c(j,nres)
       enddo
-      if (itype(1).eq.21) then
+      if (itype(1).eq.21) then 
         nsup=nsup-1
         nstart_sup=2
         if (unres_pdb) then
index c2d0887..0b08ab7 100644 (file)
@@ -722,9 +722,11 @@ C 12/1/95 Added weight for the multi-body term WCORR
   33    write (iout,'(a)') 'Error opening PDB file.'
         stop
   34    continue
-c        print *,'Begin reading pdb data'
+c        write (iout,*) 'Begin reading pdb data'
+c        call flush(iout)
         call readpdb
-c        print *,'Finished reading pdb data'
+c        write (iout,*) 'Finished reading pdb data'
+c        call flush(iout)
         if(me.eq.king.or..not.out1file)
      &   write (iout,'(a,i3,a,i3)')'nsup=',nsup,
      &   ' nstart_sup=',nstart_sup
index 86b0524..b57c201 100644 (file)
@@ -1,22 +1,22 @@
-      subroutine refsys(fail)
-c This subroutine calculates unit vectors of a local reference system
-c defined by atoms (i2), (i3), and (i4). The x axis is the axis from
+      subroutine refsys(i2,i3,i4,e1,e2,e3,fail)
+      implicit real*8 (a-h,o-z)
+      include 'DIMENSIONS'
+c this subroutine calculates unity vectors of a local reference system
+c defined by atoms (i2), (i3), and (i4). the x axis is the axis from
 c atom (i3) to atom (i2), and the xy plane is the plane defined by atoms
 c (i2), (i3), and (i4). z axis is directed according to the sign of the
-c vector product (i3)-(i2) and (i3)-(i4). Sets fail to .true. if atoms
+c vector product (i3)-(i2) and (i3)-(i4). sets fail to .true. if atoms
 c (i2) and (i3) or (i3) and (i4) coincide or atoms (i2), (i3), and (i4)
-c form a linear fragment. Returns vectors e1, e2, and e3.
-      implicit real*8 (a-h,o-z)
-      include 'DIMENSIONS'
+c form a linear fragment. returns vectors e1, e2, and e3.
       logical fail
       double precision e1(3),e2(3),e3(3)
       double precision u(3),z(3)
       include 'COMMON.IOUNITS'
-      include 'COMMON.CHAIN'
-      double precision coinc/1.0D-13/,align /1.0D-13/
+      include "COMMON.CHAIN"
+      data coinc /1.0d-13/,align /1.0d-13/
       fail=.false.
-      s1=0.0
-      s2=0.0
+      s1=0.0d0
+      s2=0.0d0
       do 1 i=1,3
       zi=c(i,i2)-c(i,i3)
       ui=c(i,i4)-c(i,i3)
@@ -29,28 +29,22 @@ c form a linear fragment. Returns vectors e1, e2, and e3.
       if (s1.gt.coinc) goto 2
       write (iout,1000) i2,i3,i1
       fail=.true.
-c     do 3 i=1,3
-c   3 c(i,i1)=0.0D0
       return
     2 if (s2.gt.coinc) goto 4
       write(iout,1000) i3,i4,i1
       fail=.true.
-      do 5 i=1,3
-    5 c(i,i1)=0.0D0
       return
     4 s1=1.0/s1
       s2=1.0/s2
       v1=z(2)*u(3)-z(3)*u(2)
       v2=z(3)*u(1)-z(1)*u(3)
       v3=z(1)*u(2)-z(2)*u(1)
-      anorm=dsqrt(v1*v1+v2*v2+v3*v3)
+      anorm=sqrt(v1*v1+v2*v2+v3*v3)
       if (anorm.gt.align) goto 6
       write (iout,1010) i2,i3,i4,i1
       fail=.true.
-c     do 7 i=1,3
-c   7 c(i,i1)=0.0D0
       return
-    6 anorm=1.0D0/anorm
+    6 anorm=1.0/anorm
       e3(1)=v1*anorm
       e3(2)=v2*anorm
       e3(3)=v3*anorm
@@ -60,9 +54,7 @@ c   7 c(i,i1)=0.0D0
       e2(1)=e1(3)*e3(2)-e1(2)*e3(3)
       e2(2)=e1(1)*e3(3)-e1(3)*e3(1)
       e2(3)=e1(2)*e3(1)-e1(1)*e3(2)
- 1000 format (/1x,' * * * Error - atoms',i4,' and',i4,' coincide.',
-     1 'coordinates of atom',i4,' are set to zero.')
- 1010 format (/1x,' * * * Error - atoms',2(i4,2h, ),i4,' form a linear',
-     1 ' fragment. coordinates of atom',i4,' are set to zero.')
+ 1000 format (/1x,' * * * error - atoms',i4,' and',i4,' coincide.')
+ 1010 format (/1x,' * * * error - atoms',2(i4,2h, ),i4,' form a linear')
       return
       end
index eab3c70..15800ae 100644 (file)
@@ -532,7 +532,7 @@ c     Local variables
      &     allihpb(maxdim),alljhpb(maxdim),
      &     newnss,newihpb(maxdim),newjhpb(maxdim)
       logical found
-      integer i_newnss(max_fg_procs),displ(max_fg_procs)
+      integer i_newnss(max_fg_procs),displ(0:max_fg_procs)
       integer g_newihpb(maxdim),g_newjhpb(maxdim),g_newnss
 
       allnss=0
index b1ddb28..b3fe055 100644 (file)
@@ -56,7 +56,6 @@ c      call memmon_print_usage()
       if (me.eq.king) call cinfo
 C Read force field parameters and job setup data
       call readrtns
-      call flush(iout)
 C
       if (me.eq.king .or. .not. out1file) then
        write (iout,'(2a/)') 
@@ -137,9 +136,15 @@ c--------------------------------------------------------------------------
       include 'COMMON.SETUP'
       include 'COMMON.CONTROL'
       include 'COMMON.IOUNITS'
-      if (me.eq.king .or. .not. out1file)
-     &   write (iout,*) "Calling chainbuild"
+c      if (me.eq.king .or. .not. out1file) then
+c        write (iout,*) "Calling chainbuild"
+c        call flush(iout)
+c      endif
       call chainbuild
+c      if (me.eq.king .or. .not. out1file) then
+c        write (iout,*) "Calling MD"
+c        call flush(iout)
+c      endif
       call MD
       return
       end