preminim in multichain code
authorCezary Czaplewski <czarek@chem.univ.gda.pl>
Fri, 23 Oct 2015 13:04:16 +0000 (15:04 +0200)
committerCezary Czaplewski <czarek@chem.univ.gda.pl>
Fri, 23 Oct 2015 13:04:16 +0000 (15:04 +0200)
source/unres/src_MD-M/COMMON.MD
source/unres/src_MD-M/MD_A-MTS.F
source/unres/src_MD-M/cinfo.f
source/unres/src_MD-M/readrtns_CSA.F

index b17c722..c89ff32 100644 (file)
@@ -30,7 +30,7 @@
      & ifrag_back(3,maxfrag_back,maxprocs/20),ntime_split,ntime_split0,
      & maxtime_split
       logical large,print_compon,tbf,rest,reset_moment,reset_vel,
-     & surfarea,rattle,usampl,mdpdb,RESPA
+     & surfarea,rattle,usampl,mdpdb,RESPA,preminim
       integer igmult_start,igmult_end,my_ng_count,ng_start,ng_counts,
      & nginv_start,nginv_counts,myginv_ng_count
       common /back_constr/ uconst_back,utheta,ugamma,uscdiff,
@@ -42,7 +42,7 @@
       common /mdpar/ v_ini,d_time,d_time0,scal_fric,
      & t_bath,tau_bath,dvmax,damax,n_timestep,mdpdb,
      & ntime_split,ntime_split0,maxtime_split,
-     & ntwx,ntwe,large,print_compon,tbf,rest
+     & ntwx,ntwe,large,print_compon,tbf,rest,preminim
       common /MDcalc/ totT,totE,potE,potEcomp,EK,amax,edriftmax,
      & kinetic_T
       common /lagrange/ d_t,d_t_old,d_t_new,d_t_work,
index 2635a2f..7a9e307 100644 (file)
@@ -1610,7 +1610,8 @@ c Removing the velocity of the center of mass
       endif
       if (.not.rest) then              
          call chainbuild
-         if(iranconf.ne.0) then
+         write (iout,*) "PREMINIM ",preminim
+         if(iranconf.ne.0 .or. preminim) then
           if (overlapsc) then 
            print *, 'Calling OVERLAP_SC'
            call overlap_sc(fail)
@@ -1632,8 +1633,12 @@ c Removing the velocity of the center of mass
            call minimize(etot,varia,iretcode,nfun)
            call var_to_geom(nvar,varia)
           endif
-          if(me.eq.king.or..not.out1file)
-     &       write(iout,*) 'SUMSL return code is',iretcode,' eval ',nfun
+          if(me.eq.king.or..not.out1file) then
+             write(iout,*) "Minimized energy is",etot
+             write(iout,*) 'SUMSL return code is',iretcode,' eval ',nfun
+             call etotal(potEcomp)
+             call enerprint(potEcomp)
+          endif
          endif
       endif      
       call chainbuild_cart
index 4370c28..00072c6 100644 (file)
@@ -1,15 +1,15 @@
 C DO NOT EDIT THIS FILE - IT HAS BEEN GENERATED BY COMPINFO.C
-C 0 40376 1
+C 0 40376 2
       subroutine cinfo
       include 'COMMON.IOUNITS'
       write(iout,*)'++++ Compile info ++++'
-      write(iout,*)'Version 0.40376 build 1'
-      write(iout,*)'compiled Tue Oct  6 15:04:07 2015'
+      write(iout,*)'Version 0.40376 build 2'
+      write(iout,*)'compiled Fri Oct 23 13:49:07 2015'
       write(iout,*)'compiled by czarek@piasek4'
       write(iout,*)'OS name:    Linux '
-      write(iout,*)'OS release: 3.2.0-70-generic '
+      write(iout,*)'OS release: 3.2.0-91-generic '
       write(iout,*)'OS version:',
-     & ' #105-Ubuntu SMP Wed Sep 24 19:49:16 UTC 2014 '
+     & ' #129-Ubuntu SMP Wed Sep 9 10:56:06 UTC 2015 '
       write(iout,*)'flags:'
       write(iout,*)'INSTALL_DIR = /users/software/mpich2-1.4.1p1_in...'
       write(iout,*)'FC= ifort'
index 889e5a5..782e453 100644 (file)
@@ -391,6 +391,11 @@ c      call reada(controlcard,"LAMBDA",rlamb,0.3d0)
       large = index(controlcard,"LARGE").gt.0
       print_compon = index(controlcard,"PRINT_COMPON").gt.0
       rattle = index(controlcard,"RATTLE").gt.0
+      preminim = index(controlcard,"PREMINIM").gt.0
+      if (preminim) then
+        dccart=(index(controlcard,'CART').gt.0)
+        call read_minim
+      endif
 c  if performing umbrella sampling, fragments constrained are read from the fragment file 
       nset=0
       if(usampl) then
@@ -431,6 +436,10 @@ c  if performing umbrella sampling, fragments constrained are read from the frag
        write (iout,'(a60,i10)') "Frequency of coordinate output:",ntwx
        if (rattle) write (iout,'(a60)') 
      &  "Rattle algorithm used to constrain the virtual bonds"
+       if (preminim .or. iranconf.gt.0) then
+         write (iout,'(a60)')
+     &      "Initial structure will be energy-minimized" 
+       endif
       endif
       reset_fricmat=1000
       if (lang.gt.0) then