SAXS cutoff saxs_cutoff.eq.0
authorCezary Czaplewski <czarek@chem.univ.gda.pl>
Mon, 8 Jan 2018 10:29:01 +0000 (11:29 +0100)
committerCezary Czaplewski <czarek@chem.univ.gda.pl>
Mon, 8 Jan 2018 10:29:01 +0000 (11:29 +0100)
source/unres/src_MD-M/energy_p_new_barrier.F

index f95ca0c..b788da5 100644 (file)
@@ -11216,12 +11216,26 @@ c SC SC
            dijCACA=dist(i,j)
            sigma2CACA=scal_rad**2*0.25d0/
      &        (restok(itype(j))**2+restok(itype(i))**2)
+
+           IF (saxs_cutoff.eq.0) THEN
+           do k=1,nsaxs
+             dk = distsaxs(k)
+             expCACA = dexp(-0.5d0*sigma2CACA*(dijCACA-dk)**2)
+             Pcalc(k) = Pcalc(k)+expCACA
+             CACAgrad = sigma2CACA*(dijCACA-dk)*expCACA
+             do l=1,3
+               aux = CACAgrad*(C(l,j)-C(l,i))/dijCACA
+               PgradC(k,l,i) = PgradC(k,l,i)-aux
+               PgradC(k,l,j) = PgradC(k,l,j)+aux
+             enddo ! l
+           enddo ! k
+           ELSE
            rrr = saxs_cutoff*2.0d0/dsqrt(sigma2CACA)
            do k=1,nsaxs
              dk = distsaxs(k)
 c             write (2,*) "ijk",i,j,k
              sss2 = sscale2(dijCACA,rrr,dk,0.3d0)
-             if (sss2.ne.0.0d0) then
+             if (sss2.eq.0.0d0) cycle
              ssgrad2 = sscalgrad2(dijCACA,rrr,dk,0.3d0)
              if (energy_dec) write(iout,'(a4,3i5,5f10.4)') 
      &          'saxs',i,j,k,dijCACA,rrr,dk,sss2,ssgrad2
@@ -11238,8 +11252,8 @@ c CA CA
                PgradC(k,l,i) = PgradC(k,l,i)+aux
                PgradC(k,l,j) = PgradC(k,l,j)-aux
              enddo ! l
-             endif ! sss
            enddo ! k
+           ENDIF
 #endif
          enddo ! j
        enddo ! iint