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

Subject Re^5: SAD Update. V1.0.10.4.3a10. ElementValues
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の生成に失敗するケースが考えられます


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