Conference Room SAD
[thread display] [new arrival display] [word search] [past log] [管理用]

Subject Re: SAD Update. V1.0.10.5a. WakeFunction in TrackParticles.
Date: 2009/08/20(Thu) 11:03:04
ContributorAkio Morita

1.0.10.4a - 1.0.10.5a間の変更で、src/tcav.fでループ内の定数項を
ループ外に括り出す refactoringらしきもの(Rev. 1.25 - 1.26)が
行われています。この変更では、変数fw0に拘束されている値は、
e*pbunch*anbunch/amass/np0ですが、ループ定数括り出し最適化で
あるなら、e*pbunch*anbunch/amass/p0であるべきだと思われます
(np0は、COMMONブロック内にある粒子数を示す変数)

commitlogに変更の意図(refactoring or bug-fix)が記述されていない&
コンポーネントレベルのRegression testが無いために断言出来ませんが、
enbugした可能性が高いと思います。

Index: src/tcav.f
===================================================================
RCS file: /SAD/cvsroot/oldsad/src/tcav.f,v
retrieving revision 1.25
retrieving revision 1.26
diff -d -u -r1.25 -r1.26
--- src/tcav.f12 Jul 2009 02:38:01 -00001.25
+++ src/tcav.f13 Aug 2009 00:25:01 -00001.26
@@ -16,7 +16,7 @@
      $     v20a,v11a,v02a,phis,r,wl,r1,ws1,we,wsn,phic,
      $     dphis,offset,offset1,tlim,sv,a,dpz,al1,h2,p2,
      $     dp2,pr2,dvn,dzn,dp1r,p1r,p1,h1,dp2r,p2r,av,dpx,fw,
-     $     alx,dpepe,xi,pxi,
+     $     alx,dpepe,xi,pxi,fw0,
      $     asinh,t,ph,dh,dpr,dpy,dp,dp1,pr1,pe,vcorr
       logical*4 fringe
       if(harm .eq. 0.d0)then
@@ -94,6 +94,7 @@
         call tcavfrin(np,x,px,y,py,z,g,dv,al,v,w,p0,h0,
      $     dphis,offset)
       endif
+      fw0=(e*pbunch*anbunch/amass)/np0
       sv=0.d0
       do 110 n=1,ndiv
         wsn=ws(n)
@@ -155,7 +156,7 @@
           z(i)=-t*p2r*p0/h2-dzn
 20      continue
         if(lwake .or. twake)then
-          fw=e*pbunch*anbunch/p0/amass*wsn
+          fw=fw0*wsn
           call txwake(np,x,px,y,py,z,g,dv,int(anbunch),
      $         fw,lwl,wakel,lwt,waket,p0,h0,itab,izs,n .eq. 1)
         endif


- 関連一覧ツリー (Click ▼ to display all articles in a thread.)