From: Cezary Czaplewski Date: Mon, 8 Jan 2018 10:29:01 +0000 (+0100) Subject: SAXS cutoff saxs_cutoff.eq.0 X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?p=unres.git;a=commitdiff_plain;h=1845eb441493e1443732fcc6da5fa41873470995 SAXS cutoff saxs_cutoff.eq.0 --- diff --git a/source/unres/src_MD-M/energy_p_new_barrier.F b/source/unres/src_MD-M/energy_p_new_barrier.F index f95ca0c..b788da5 100644 --- a/source/unres/src_MD-M/energy_p_new_barrier.F +++ b/source/unres/src_MD-M/energy_p_new_barrier.F @@ -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