bugfix in wham
authorAdam Sieradzan <adasko@piasek4.chem.univ.gda.pl>
Tue, 9 May 2017 08:32:42 +0000 (10:32 +0200)
committerAdam Sieradzan <adasko@piasek4.chem.univ.gda.pl>
Tue, 9 May 2017 08:32:42 +0000 (10:32 +0200)
source/wham/src-M/wham_calc1.F

index 6b0903b..bf493eb 100644 (file)
@@ -976,8 +976,8 @@ c          write (iout,'(2i5,20f8.2)') t,t,(enetb(k,t,iparm),k=1,18)
           esccor=enetb(19,t,iparm)
           edihcnstr=enetb(20,t,iparm)
 C          edihcnstr=0.0d0
-          eliptran=enetb(22,i,iparm)
-            etube=enetb(25,i,iparm)
+          eliptran=enetb(22,t,iparm)
+            etube=enetb(25,t,iparm)
 
           do k=0,nGridT
             betaT=startGridT+k*delta_T
@@ -1201,6 +1201,34 @@ C     &            +ftprim(6)*evdw_t
        endif
 
 #endif
+#ifdef MPI
+          do ib=1,nT_h(iparm)
+            potEmin=potEmin_all(ib,iparm)
+            expfac=dexp(-beta_h(ib,iparm)*(etot-potEmin)+entfac(t))
+            hfin_p(ind,ib)=hfin_p(ind,ib)+
+     &       dexp(-beta_h(ib,iparm)*(etot-potEmin)+entfac(t))
+             if (rmsrgymap) then
+               indrgy=dint((q(nQ+2,t)-rgymin)/deltrgy)
+               indrms=dint((q(nQ+1,t)-rmsmin)/deltrms)
+               hrmsrgy_p(indrgy,indrms,ib)=
+     &           hrmsrgy_p(indrgy,indrms,ib)+expfac
+             endif
+          enddo
+#else
+          do ib=1,nT_h(iparm)
+            potEmin=potEmin_all(ib,iparm)
+            expfac=dexp(-beta_h(ib,iparm)*(etot-potEmin)+entfac(t))
+            hfin(ind,ib)=hfin(ind,ib)+
+     &       dexp(-beta_h(ib,iparm)*(etot-potEmin)+entfac(t))
+             if (rmsrgymap) then
+               indrgy=dint((q(nQ+2,t)-rgymin)/deltrgy)
+               indrms=dint((q(nQ+1,t)-rmsmin)/deltrms)
+               hrmsrgy(indrgy,indrms,ib)=
+     &           hrmsrgy(indrgy,indrms,ib)+expfac
+             endif
+          enddo
+#endif
+
             weight=dexp(-betaT*(etot-potEmin)+entfac(t))
 #ifdef DEBUG
             write (iout,*) "iparm",iparm," t",t," betaT",betaT,
@@ -1237,33 +1265,33 @@ C     &            +ftprim(6)*evdw_t
             if (indE.gt.upindE_p) upindE_p=indE
             histE_p(indE)=histE_p(indE)+dexp(-entfac(t))
           endif
-#ifdef MPI
-          do ib=1,nT_h(iparm)
-            potEmin=potEmin_all(ib,iparm)
-            expfac=dexp(-beta_h(ib,iparm)*(etot-potEmin)+entfac(t))
-            hfin_p(ind,ib)=hfin_p(ind,ib)+
-     &       dexp(-beta_h(ib,iparm)*(etot-potEmin)+entfac(t))
-             if (rmsrgymap) then
-               indrgy=dint((q(nQ+2,t)-rgymin)/deltrgy) 
-               indrms=dint((q(nQ+1,t)-rmsmin)/deltrms)
-               hrmsrgy_p(indrgy,indrms,ib)=
-     &           hrmsrgy_p(indrgy,indrms,ib)+expfac
-             endif
-          enddo
-#else
-          do ib=1,nT_h(iparm)
-            potEmin=potEmin_all(ib,iparm)
-            expfac=dexp(-beta_h(ib,iparm)*(etot-potEmin)+entfac(t))
-            hfin(ind,ib)=hfin(ind,ib)+
-     &       dexp(-beta_h(ib,iparm)*(etot-potEmin)+entfac(t))
-             if (rmsrgymap) then
-               indrgy=dint((q(nQ+2,t)-rgymin)/deltrgy)
-               indrms=dint((q(nQ+1,t)-rmsmin)/deltrms)
-               hrmsrgy(indrgy,indrms,ib)=
-     &           hrmsrgy(indrgy,indrms,ib)+expfac
-             endif
-          enddo
-#endif
+!#ifdef MPI
+!          do ib=1,nT_h(iparm)
+!            potEmin=potEmin_all(ib,iparm)
+!            expfac=dexp(-beta_h(ib,iparm)*(etot-potEmin)+entfac(t))
+!            hfin_p(ind,ib)=hfin_p(ind,ib)+
+!     &       dexp(-beta_h(ib,iparm)*(etot-potEmin)+entfac(t))
+!             if (rmsrgymap) then
+!               indrgy=dint((q(nQ+2,t)-rgymin)/deltrgy) 
+!               indrms=dint((q(nQ+1,t)-rmsmin)/deltrms)
+!               hrmsrgy_p(indrgy,indrms,ib)=
+!     &           hrmsrgy_p(indrgy,indrms,ib)+expfac
+!             endif
+!          enddo
+!#else
+!          do ib=1,nT_h(iparm)
+!            potEmin=potEmin_all(ib,iparm)
+!            expfac=dexp(-beta_h(ib,iparm)*(etot-potEmin)+entfac(t))
+!            hfin(ind,ib)=hfin(ind,ib)+
+!     &       dexp(-beta_h(ib,iparm)*(etot-potEmin)+entfac(t))
+!             if (rmsrgymap) then
+!               indrgy=dint((q(nQ+2,t)-rgymin)/deltrgy)
+!               indrms=dint((q(nQ+1,t)-rmsmin)/deltrms)
+!               hrmsrgy(indrgy,indrms,ib)=
+!     &           hrmsrgy(indrgy,indrms,ib)+expfac
+!             endif
+!          enddo
+!#endif
         enddo ! t
         do ib=1,nT_h(iparm)
           if (histout) call MPI_Reduce(hfin_p(0,ib),hfin(0,ib),nbin,