[Go to BBS]
All articles in a thread
SubjectSAD Update. V1.0.10.4.3a00. REJECT TOTAL, TOTALFIT
Article No782
Date: 2010/02/19(Fri) 16:51:32
ContributorK. Oide
Dear Users,

1. The next version will modify REJECT TOTAL not only to reject entire fit conditions but to reset the output parameters of CALCULATE. The previous REJECT TOTAL will be renamed to REJECT TOTALFIT, which only rejects the fit conditions.

2. A dirty tweak will be made for matching of an unstable optics. It will not be perfect, however, may improve the matching in some cases.

SubjectRe: SAD Update. V1.0.10.4.3a10. ElementValues
Article No783
Date: 2010/02/25(Thu) 09:34:55
ContributorK. Oide
Dear Users,

1. We may see some improvement in processing ElementValues in the next version. Its usage should be unchanged.

SubjectRe^2: SAD Update. V1.0.10.4.3a10. ElementValues
Article No784
Date: 2010/02/25(Thu) 18:45:17
Contributor鎌田
今回のバージョンをインストールしたら次のようなエラーが出ました。
[elcondorpasa:~/UNIX/oldsad-main/oldsad] kamada% gs script/bench2.sad
*** Welcome to SAD Ver.1.0.10.4.3a10 built at 2010-02-25 18:40:37 +0900 ***
*** Today: 18:41:03 Thursday 02/25/2010 ***
cpu time= 1.0709E-02(sec) dt= 10.709(msec) free area:: 1794
OFF LOG ECHO;READ 77 ; 23
cpu time= 1.0860E-02(sec) dt= 10.860(msec) free area:: 1794
cpu time= 1.0936E-02(sec) dt= 10.936(msec) free area:: 1793
*** SADScript Initialization: /usr/local/SAD/share/Packages/init.n ***
RFSW RADCOD RAD FLUC INTRA POL COD DAPER EMIOU CMPLO FOURI SMEAR
F F F T F F T F F F F T
Design orbit length = 76.180924396860036
NPARA=1;
EMFLG='M';
FLENG='ON';
FSUPP='OFF';
FINIT='OFF';
cell cal
???General::mismatch: Mismatched ;:
EVVariables=Null];
^
???-FFS-Error-?Error in CoupledVariables
???General::index: Index 1 out of range in {}[[1]]
???-FFS-Error-ElementValues := { key[elem] :> f[ key1[elem1] ], ...}
Matched. ( 0.000 ) DP = 0.02000 DP0 = 0.00000 ExponentOfResidual = 2.0
OffMomentumWeight = 1.000
$$$ f AX ####### # 1.554E-15 $$$ f BX ####### # 6.981218
$$$ f NX ####### # 1.250000 $$$ f AY ####### # -4.44E-15
$$$ f BY ####### # 27.858289 $$$ f NY ####### # 1.250000
$$$ f LENG ####### # 76.180924

SubjectRe^3: SAD Update. V1.0.10.4.3a10. ElementValues
Article No785
Date: 2010/02/26(Fri) 10:38:14
Contributor鎌田
今朝再びcvs updateを掛けてコンパイルインストールしたら、やや状況が好転していました。
コンパイルやインストール時にクロマティシティグラフが表示できるようになった。
しかし、まだ下記のエラーメッセージが出ています。

[elcondorpasa:~/UNIX/oldsad-main/oldsad] kamada% gs script/bench2.sad
*** Welcome to SAD Ver.1.0.10.4.3a10 built at 2010-02-26 10:32:01 +0900 ***
*** Today: 10:32:27 Friday 02/26/2010 ***
cpu time= 1.1084E-02(sec) dt= 11.084(msec) free area:: 1794
OFF LOG ECHO;READ 77 ; 23
cpu time= 1.1254E-02(sec) dt= 11.254(msec) free area:: 1794
cpu time= 1.1326E-02(sec) dt= 11.326(msec) free area:: 1793
*** SADScript Initialization: /usr/local/SAD/share/Packages/init.n ***
RFSW RADCOD RAD FLUC INTRA POL COD DAPER EMIOU CMPLO FOURI SMEAR
F F F T F F T F F F F T
Design orbit length = 76.180924396860036
NPARA=1;
EMFLG='M';
FLENG='ON';
FSUPP='OFF';
FINIT='OFF';
cell cal
???General::mismatch: Mismatched ;:
EVVariables=Null];
^
???-FFS-Error-?Error in CoupledVariables
Matched. ( 0.000 ) DP = 0.02000 DP0 = 0.00000 ExponentOfResidual = 2.0
OffMomentumWeight = 1.000
$$$ f AX ####### # 1.554E-15 $$$ f BX ####### # 6.981218
$$$ f NX ####### # 1.250000 $$$ f AY ####### # -4.44E-15
$$$ f BY ####### # 27.858289 $$$ f NY ####### # 1.250000
$$$ f LENG ####### # 76.180924

SubjectRe^4: SAD Update. V1.0.10.4.3a10. ElementValues
Article No786
Date: 2010/03/02(Tue) 11:31:34
Contributor鎌田
今朝行ったcvs updateにより、今まで報告してきた異常が消えたことを確認しました。

SubjectRe^5: SAD Update. V1.0.10.4.3a10. ElementValues
Article No787
Date: 2010/03/02(Tue) 12:05:28
ContributorAkio Morita
> 今朝行ったcvs updateにより、今まで報告してきた異常が消えたことを確認しました。
>
設定済みの ElementValuesを参照出来ないのが最大のバグだと思うのですが?

例えば、
ElementValues = {}; (* Clear coupling *)
AppendTo[ElementValues, "K1"["QFH"] :> 0.5 * "K1"["QF"]];
AppendTo[ElementValues, "K1"["QDH"] :> 0.5 * "K1"["QD"]];
などのように、一度に設定せずに設定を徐々に追加する場合、MAIN trunkの現状の実装では
過去に設定した ElementValuesの値を参照する Getter proxyが存在しないので、非互換性が
発生しています(過去に動いたものが動かないという意味で)

実用上の互換性から、次の用例をサポートすべきだと思います
 o 複数のサブルーチンコールの内部で個別に追加設定する場合(Getter proxyが必要)
 o ElementValues/FitWeight/FitValue/FitFunctionの定義をバックアップして、別の設定の元で計算し復元する場合
   (Getter proxy/Definition proxyが必要[With[{backup = ?ElementValues}, Clear[ElementValues]; foo; ReleaseHold[backup]])

他にも
 o ビームラインの設定に先立って ElementValuesを設定している場合に、Packages/Couple.n読み込み時点の
    ElementValuesが反映されません。
    Packages/Couple.n読み込み時点で、設定済みのElementValuesを評価するか、ElementValuesの評価を
    SetCoupledElementsの評価時点まで遅延する必要があります
 o ビームライン定義に先立って設定される場合、ElementValues = l_Listの評価時点では、エレメントが存在しない
    ((LINE|Element)["POSITION", _] === {})ケースもありえますので、EVSetFunの生成に失敗するケースが考えられます

SubjectRe^6: SAD Update. V1.0.10.4.3a10. ElementValues
Article No788
Date: 2010/03/02(Tue) 14:56:44
ContributorAkio Morita
> > 今朝行ったcvs updateにより、今まで報告してきた異常が消えたことを確認しました。
> >
> 設定済みの ElementValuesを参照出来ないのが最大のバグだと思うのですが?
> 
> 例えば、
> ElementValues = {}; (* Clear coupling *)
> AppendTo[ElementValues, "K1"["QFH"] :> 0.5 * "K1"["QF"]];
> AppendTo[ElementValues, "K1"["QDH"] :> 0.5 * "K1"["QD"]];
> などのように、一度に設定せずに設定を徐々に追加する場合、MAIN trunkの現状の実装では
> 過去に設定した ElementValuesの値を参照する Getter proxyが存在しないので、非互換性が
> 発生しています(過去に動いたものが動かないという意味で)
> 
> 実用上の互換性から、次の用例をサポートすべきだと思います
>  o 複数のサブルーチンコールの内部で個別に追加設定する場合(Getter proxyが必要)
>  o ElementValues/FitWeight/FitValue/FitFunctionの定義をバックアップして、別の設定の元で計算し復元する場合
>    (Getter proxy/Definition proxyが必要[With[{backup = ?ElementValues}, Clear[ElementValues]; foo; ReleaseHold[backup]])
> 
> 他にも
>  o ビームラインの設定に先立って ElementValuesを設定している場合に、Packages/Couple.n読み込み時点の
>     ElementValuesが反映されません。
>     Packages/Couple.n読み込み時点で、設定済みのElementValuesを評価するか、ElementValuesの評価を
>     SetCoupledElementsの評価時点まで遅延する必要があります
>  o ビームライン定義に先立って設定される場合、ElementValues = l_Listの評価時点では、エレメントが存在しない
>     ((LINE|Element)["POSITION", _] === {})ケースもありえますので、EVSetFunの生成に失敗するケースが考えられます
>
一応、上記のユースケースをサポートする実装を amorita branch側では開発していますが、
(Set|SetDelayed)[ElementValues, foo_, bar__]や(Set|SetDelayed)[foo__, ElementValues, bar___]な
Setter proxyが未実装です。

あと、実装上のオプションとして BeamLineName[]をキーにして ElementValuesをビームライン毎に保持することが
可能ですが(名前付きビームラインを切り替えながら使うユースケースを想定)、需要はあるのでしょうか?
# 新規のビームラインに移った際に、ElementValuesの初期値を空リスト{}にするか直前の値を継承するかという
# 問題もありますが...

SubjectRe: SAD Update. V1.0.10.4.3a00. REJECT TOTAL, TOTALFIT
Article No796
Date: 2010/04/09(Fri) 12:19:17
ContributorKentaro Harada
(旧バージョンにおける)フィッティングのエラー
 
エネルギーをフィットしようと試みました。最新の SAD 以外の SAD では
できませんでした。一応、報告させて頂きます。

スクリプト: 
 
fgb = 69.48610147504317;
FitFunction:={(Twiss["gammabeta","$$$"] - fgb)};
free CAV VOLT;
go;
 
などと、空洞の電圧をフリーパラメータとし、ローレンツ
因子のガンマベータをフィットする。
 
1、使用中の中で一番古い SAD (主に PF の制御で使っている SAD)
   SAD Ver.1.0.10.2b1 built at 2007-09-10 11:46:34
  の場合、フィットが正しく終わらない。(結果が"NaN"になる。)
    CAVI CAVA =(L =5 VOLT =NaN PHI =-1.5707963267949 FREQ =1300000000 )
 
2、新しめの SAD (空洞等の変更を取り入れる為、導入)
   SAD Ver.1.0.10.3a3 built at 2009-04-17 21:49:36
   SAD Ver.1.0.10.4.1a00 built at 2010-02-17 23:58:06
  の場合、両方ともフィッティング自体が走らない。
  エラー(32bit、64bit CPU 問わず):
tweigh @ src/tffsmatch.f: Invoked with invalid ltyp= 31(FIXME)
 
3、KEKB の SAD (amsad1 で実行する)
   SAD Ver.1.0.10.4.4a21 built at 2010-04-01 14:39:54
  の場合、うまく計算できる。
 
という結果になりました。
 
  厳密なエネルギーあわせは本質的ではないですが、必要に
なったら最新版を導入しないといけないようです……

SubjectRe^2: SAD Update. V1.0.10.4.3a00. REJECT TOTAL, TOTALFIT
Article No797
Date: 2010/04/09(Fri) 16:05:15
ContributorAkio Morita
> (旧バージョンにおける)フィッティングのエラー
>  
> エネルギーをフィットしようと試みました。最新の SAD 以外の SAD では
> できませんでした。一応、報告させて頂きます。
>
> スクリプト: 
>  
> fgb = 69.48610147504317;
> FitFunction:={(Twiss["gammabeta","$$$"] - fgb)};
> free CAV VOLT;
> go;
>  
> などと、空洞の電圧をフリーパラメータとし、ローレンツ
> 因子のガンマベータをフィットする。
>  
> 1、使用中の中で一番古い SAD (主に PF の制御で使っている SAD)
>    SAD Ver.1.0.10.2b1 built at 2007-09-10 11:46:34
>   の場合、フィットが正しく終わらない。(結果が"NaN"になる。)
>     CAVI CAVA =(L =5 VOLT =NaN PHI =-1.5707963267949 FREQ =1300000000 )
>  
> 2、新しめの SAD (空洞等の変更を取り入れる為、導入)
>    SAD Ver.1.0.10.3a3 built at 2009-04-17 21:49:36
>    SAD Ver.1.0.10.4.1a00 built at 2010-02-17 23:58:06
>   の場合、両方ともフィッティング自体が走らない。
>   エラー(32bit、64bit CPU 問わず):
> tweigh @ src/tffsmatch.f: Invoked with invalid ltyp= 31(FIXME)
>  
> 3、KEKB の SAD (amsad1 で実行する)
>    SAD Ver.1.0.10.4.4a21 built at 2010-04-01 14:39:54
>   の場合、うまく計算できる。
>  
> という結果になりました。
>  
>   厳密なエネルギーあわせは本質的ではないですが、必要に
> なったら最新版を導入しないといけないようです……
>
経緯に関しては、次のツリーが参考になります
http://acc-physics.kek.jp/cgi-bin/SAD-BBS/wforum.cgi?mode=allread&no=777&page=0

昔から未初期化変数で動作未定義だった部分を、ある時期からFIXMEでトラップするように変更し、
実際のトラップされるユースケースが見つかったので修正したということです