homology energy correction and MREMD LANG restart
authorCezary Czaplewski <czarek@chem.univ.gda.pl>
Sun, 17 May 2020 07:47:14 +0000 (09:47 +0200)
committerCezary Czaplewski <czarek@chem.univ.gda.pl>
Sun, 17 May 2020 07:47:14 +0000 (09:47 +0200)
source/unres/src-HCD-5D/MREMD.F
source/unres/src-HCD-5D/energy_p_new_barrier.F

index db0b2ef..38db8a8 100644 (file)
@@ -175,6 +175,19 @@ cd           write (*,*) me," After broadcast: file_exist",file_exist
                enddo
               enddo
            endif 
+           stdfp=dsqrt(2*Rb*t_bath/d_time)
+           do i=1,ntyp
+             stdfsc(i)=dsqrt(2*Rb*t_bath/d_time)
+           enddo
+           if (lang.gt.0 .and. .not.surfarea) then
+             do i=nnt,nct-1
+               stdforcp(i)=stdfp*dsqrt(gamp)
+             enddo
+             do i=nnt,nct
+              if (itype(i).ne.ntyp1) stdforcsc(i)=stdfsc(iabs(itype(i)))
+     &                   *dsqrt(gamsc(iabs(itype(i))))
+             enddo
+           endif
        endif
 
        if(me.eq.king) then
@@ -237,6 +250,20 @@ cd           write (*,*) me," After broadcast: file_exist",file_exist
               write (iout,'(a6,i4,a1,100i4)') "ndowna",il,":",
      &                    (ndowna(i,il),i=1,ndowna(0,il))
              enddo
+             stdfp=dsqrt(2*Rb*t_bath/d_time)
+             do i=1,ntyp
+               stdfsc(i)=dsqrt(2*Rb*t_bath/d_time)
+             enddo
+             if (lang.gt.0 .and. .not.surfarea) then
+               do i=nnt,nct-1
+                 stdforcp(i)=stdfp*dsqrt(gamp)
+               enddo
+             do i=nnt,nct
+              if (itype(i).ne.ntyp1) stdforcsc(i)=stdfsc(iabs(itype(i)))
+     &                   *dsqrt(gamsc(iabs(itype(i))))
+               enddo
+             endif
+
         ELSE IF (.not.(rest.and.file_exist)) THEN
          do il=1,remd_m(1)
           ifirst(il)=il
@@ -1281,17 +1308,15 @@ co     &    " rescaling weights with temperature",t_bath
 
 c Compute the standard deviations of stochastic forces for Langevin dynamics
 c if the friction coefficients do not depend on surface area
-      if (lang.gt.0 .and. .not.surfarea) then
-        do i=nnt,nct-1
-          stdforcp(i)=stdfp*dsqrt(gamp)
-        enddo
-        do i=nnt,nct
-          if (itype(i).ne.ntyp1) stdforcsc(i)=stdfsc(iabs(itype(i)))
-     &                *dsqrt(gamsc(iabs(itype(i))))
-        enddo
-      endif
-
-
+         if (lang.gt.0 .and. .not.surfarea) then
+           do i=nnt,nct-1
+             stdforcp(i)=stdfp*dsqrt(gamp)
+           enddo
+           do i=nnt,nct
+             if (itype(i).ne.ntyp1) stdforcsc(i)=stdfsc(iabs(itype(i)))
+     &                   *dsqrt(gamsc(iabs(itype(i))))
+           enddo
+         endif
 cde         write(iout,*) 'REMD after',me,t_bath
            time08=MPI_WTIME()
            if (me.eq.king .or. .not. out1file) then
index 07cdebb..190574e 100644 (file)
          enddo
          
 c         min_odl=minval(distancek)
-         do kk=1,constr_homology
-          if(l_homo(kk,ii)) then 
-            min_odl=distancek(kk)
-            exit
-          endif
-         enddo
-         do kk=1,constr_homology
-          if(l_homo(kk,ii) .and. distancek(kk).lt.min_odl) 
+         if (nexl.gt.0) then
+           min_odl=0.0d0
+         else
+           do kk=1,constr_homology
+            if(l_homo(kk,ii)) then 
+              min_odl=distancek(kk)
+              exit
+            endif
+           enddo
+           do kk=1,constr_homology
+            if(l_homo(kk,ii) .and. distancek(kk).lt.min_odl) 
      &              min_odl=distancek(kk)
-         enddo
+           enddo
+         endif
 
 c        write (iout,* )"min_odl",min_odl
 #ifdef DEBUG