Merge branch 'UCGM' of mmka.chem.univ.gda.pl:unres4 into UCGM
[unres4.git] / source / unres / io.F90
index 9c53688..9253638 100644 (file)
        if (refstr) then
          call rms_nac_nnc(rms,frac,frac_nn,co,.false.)
           write (line1,'(i10,f15.2,3f12.3,f7.2,2f6.3,4f12.3,i5,$)')&
-               itime,totT,EK,potE,totE,&
+               itime,totT,EK,potE+potEcomp(51),totE+potEcomp(51),&
                rms,frac,frac_nn,kinetic_T,t_bath,gyrate(),&
                potEcomp(23),me
           format1="a133"
          else
 !C          print *,'A CHUJ',potEcomp(23)
           write (line1,'(i10,f15.2,7f12.3,i5,$)') &
-                itime,totT,EK,potE,totE,&
+                itime,totT,EK,potE+potEcomp(51),totE+potEcomp(51),&
                 kinetic_T,t_bath,gyrate(),&
                 potEcomp(23),me
           format1="a114"
          call rms_nac_nnc(rms,frac,frac_nn,co,.false.)
           write (line1,'(i10,f15.2,3f12.3,f7.2,2f6.3,f12.3,f10.1,2f8.2, &
          f9.3,i5,$)') &
-               itime,totT,EK,potE,totE,&
+               itime,totT,EK,potE+potEcomp(51),totE+potEcomp(51),&
                rms,frac,frac_nn,kinetic_T,t_bath,gyrate(),&
                distance,potEcomp(23),me
           format1="a133"
          else
 !C          print *,'A CHUJ',potEcomp(23)
           write (line1,'(i10,f15.2,8f12.3,i5,$)')&
-                itime,totT,EK,potE,totE, &
+                itime,totT,EK,potE+potEcomp(51),totE+potEcomp(51), &
                 kinetic_T,t_bath,gyrate(),&
                 distance,potEcomp(23),me
           format1="a114"
         endif
+       else if (velnanoconst.ne.0 ) then
+       if (refstr) then
+         call rms_nac_nnc(rms,frac,frac_nn,co,.false.)
+          write (line1,'(i10,f15.2,3f12.3,f7.2,2f6.3,f12.3,f10.1,2f8.2, &
+         f9.3,i5,$)') &
+               itime,totT,EK,potE+potEcomp(51),totE+potEcomp(51),&
+               rms,frac,frac_nn,kinetic_T,t_bath,gyrate(),&
+               vecsim,vectrue,me
+          format1="a133"
+!C          print *,"CHUJOWO"
+         else
+!C          print *,'A CHUJ',potEcomp(23)
+          write (line1,'(i10,f15.2,8f12.3,i5,$)')&
+                itime,totT,EK,potE+potEcomp(51),totE+potEcomp(51), &
+                kinetic_T,t_bath,gyrate(),&
+                vecsim,vectrue,me
+          format1="a114"
+        endif
        else
        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,&
+                itime,totT,EK,potE+potEcomp(51),totE+potEcomp(51),&
                 rms,frac,frac_nn,co,amax,kinetic_T,t_bath,gyrate(),me
           format1="a133"
         else
           write (line1,'(i10,f15.2,7f12.3,i5,$)') &
-                 itime,totT,EK,potE,totE,&
+                 itime,totT,EK,potE+potEcomp(51),totE+potEcomp(51),&
                  amax,kinetic_T,t_bath,gyrate(),me
           format1="a114"
         endif
 !      integer ilen
 !el      external ilen
 !el local varables
-      integer :: i,j,l,k,kkk,ii,i1,i2,it1,it2
+      integer :: i,j,l,k,kkk,ii,i1,i2,it1,it2,mnum
 
       real(kind=8),dimension(3,maxres2+2) :: c_alloc
       real(kind=8),dimension(3,0:maxres2) :: dc_alloc
       call reada(weightcard,'WCATCAT',wcatcat,0.0d0)
       call reada(weightcard,'WCATPROT',wcatprot,0.0d0)
       call reada(weightcard,'WCATNUCL',wcatnucl,0.0d0)
+      call reada(weightcard,'WCATTRAN',wcat_tran,0.0d0)
       call reada(weightcard,'WPEPBASE',wpepbase,1.0d0)
       call reada(weightcard,'WSCPHO',wscpho,0.0d0)
       call reada(weightcard,'WPEPPHO',wpeppho,0.0d0)
           weights(48)=wscpho
           weights(49)=wpeppho
           weights(50)=wcatnucl
-
+          weights(56)=wcat_tran
       if(me.eq.king.or..not.out1file) &
        write (iout,10) wsc,wscp,welec,wvdwpp,wbond,wang,wscloc,wtor,&
         wtor_d,wstrain,wel_loc,wcorr,wcorr5,wcorr6,wsccor,wturn3,&
         endif
         if(.not.allocated(vbld_inv)) allocate(vbld_inv(2*nres))
         do i=2,nres
+           mnum=molnum(i)
           if (molnum(i).eq.1) then
           vbld(i)=vbl
           vbld_inv(i)=vblinv
 
           else
-          vbld(i)=7.0
-          vbld_inv(i)=1.0/7.0
+          write(iout,*) "typy",itype(i,mnum),ntyp1_molec(mnum),i
+          vbld(i)=6.0
+          vbld_inv(i)=1.0/6.0
+          if ((itype(i,mnum).eq.ntyp1_molec(mnum)).or.&
+          (itype(i-1,mnum).eq.ntyp1_molec(mnum))) then
+          vbld(i)=1.9
+          vbld_inv(i)=1.0/1.9
+          endif
           endif
         enddo
         do i=2,nres-1
           vbld(i+nres)=dsc(iabs(itype(i,molnum(i))))
           vbld_inv(i+nres)=dsc_inv(iabs(itype(i,molnum(i))))
            else
+          write(iout,*) "typy2",itype(i,mnum),ntyp1_molec(mnum),i
+          if (itype(i,mnum).eq.ntyp1_molec(mnum)) then
+          vbld_inv(i+nres)=1.0
+          vbld(i+nres)=0.0
+          else
           vbld(i+nres)=vbldsc0_nucl(1,iabs(itype(i,molnum(i))))
           vbld_inv(i+nres)=1.0/vbldsc0_nucl(1,iabs(itype(i,molnum(i))))
+          endif
            endif
 !          write (iout,*) "i",i," itype",itype(i,1),
 !     &      " dsc",dsc(itype(i,1))," vbld",vbld(i),vbld(i+nres)
                   'Error - sequences to be superposed do not match.'
         endif
   111   continue
-        if (nsup.eq.0) nsup=nct-nnt
+        if (nsup.eq.0) nsup=nct-nnt+1
         if (nstart_sup.eq.0) nstart_sup=nnt
         if (nstart_seq.eq.0) nstart_seq=nnt
         if(me.eq.king.or..not.out1file) &
       endif
       if(me.eq.king.or..not.out1file)then
        write (iout,*) 'NZ_START=',nz_start,' NZ_END=',nz_end
-       write (iout,*) 'IZ_SC=',iz_sc
+       write (iout,*) 'IZ_SC=',iz_sc, 'NCT=',nct
       endif
 !----------------------
       call init_int_table
         if (constr_dist.gt.0) call read_dist_constr
         write (iout,*) "After read_dist_constr nhpb",nhpb
         if ((AFMlog.gt.0).or.(selfguide.gt.0)) call read_afminp
+        if (velnanoconst.ne.0) call read_afmnano
         call hpb_partition
 
       if (indpdb.eq.0 .and. modecalc.ne.2 .and. modecalc.ne.4 &
           write (iout,'(a)') 'Extended chain initial geometry.'
          do i=3,nres
           theta(i)=90d0*deg2rad
+          if (molnum(i).eq.2) theta(i)=160d0*deg2rad
          enddo
          do i=4,nres
           phi(i)=180d0*deg2rad
+          if (molnum(i).eq.2) phi(i)=30d0*deg2rad
          enddo
          do i=2,nres-1
           alph(i)=110d0*deg2rad
+          if (molnum(i).eq.2) alph(i)=30d0*deg2rad
          enddo
          do i=2,nres-1
           omeg(i)=-120d0*deg2rad
+          if (molnum(i).eq.2) omeg(i)=60d0*deg2rad
           if (itype(i,1).le.0) omeg(i)=-omeg(i)
          enddo
          call chainbuild
 !      enddo
       ii_in_use=0
       if(.not.allocated(pdbfiles_chomo)) allocate(pdbfiles_chomo(constr_homology)) 
-      if(.not.allocated(chomo)) allocate(chomo(3,nres,constr_homology)) 
+      if(.not.allocated(chomo)) allocate(chomo(3,2*nres+2,constr_homology)) 
 
       do k=1,constr_homology
 
       end subroutine read_constr_homology
 !-----------------------------------------------------------------------------
       subroutine read_klapaucjusz
-!     implicit none
+      use energy_data
+      implicit none
 !     include 'DIMENSIONS'
 !#ifdef MPI
 !     include 'mpif.h'