No. | : 533 |
Title | : Re^2: マッチング時のMIN/MAX |
Date | : 2017/07/20(Thu) 14:47:15 |
Name | : Akio Morita |
URL | : |
> VariableRangeを使ってください。その目的のために作ってある関数です。
>
> Example: VariableRange["QF","ROTATE",v_]:= -0.1 < v < 0.1;
> VariableRange[x:("BC1L"|"BWL"),"L",_]:={Abs[ltheta[ucl]*Element["ANGLE",x]],lbmax};
>
VariableRangeを"純関数"で定義すると意図通りに働かない?
# VARで制約範囲は認識しているが、GOの動作が制約されていない
# OptimizeOptics[]は、制約されるっぽぃ
*** Welcome to SAD Ver.1.1.0.9k64a built at 2017-07-07 13:43:00 +0900 ***
*** Today: 14:42:36 Thursday 07/20/2017 ***
lminit: rlist0=0x0 align=4096 bits=52 offset=3392
OFF LOG ECHO;READ 77 ; 23
*** SADScript Initialization: /ldata/KEKB/KCG/developer/oldsad/Packages/init.n ***
*** Run time Environment: /ldata/KEKB/KCG/developer/oldsad/Packages/init.local.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
VariableRange = VariableRange$[##]&;
VariableRange$["$DUMMYMARK", "BX", _] := {5, 10};
VariableRange$["$DUMMYMARK", "BY", _] := {1, 20};
FitFunction := Twiss[{"BX", "BY"}, "$DUMMYMARK"] - {1, 25};
FFS["FREE $DUMMYMARK BX; FREE $DUMMYMARK BY"];
FFS["VAR; GO; VAR", 6];
!Variable Keyword Now ! Previous Saved Minimum Maximum Couple Coefficient
$DUMMYMARK BY 1.000000000000 ! 1.000000000 .000000000 1.00000000 20.00000000 1.00000000
$DUMMYMARK BX 1.000000000000 ! 1.000000000 .000000000 5.00000000 10.00000000 1.00000000
Matched. ( 5.5760E-12) DP = 0.01000 DP0 = 0.00000 ExponentOfResidual = 2.0 OffMomentumWeight = 1.000
$$$ f AX ####### # -1.000000 $$$ f BX ####### # 2.000000 $$$ f NX ####### # .125000
$$$ f AY ####### # -.040000 $$$ f BY ####### # 25.040002 $$$ f NY ####### # .006363
$$$ f LENG ####### # 1.000000 $$$ f FUN1 0.0 1 .000000 $$$ f FUN2 0.0 1 2.3614E-6
!Variable Keyword Now ! Previous Saved Minimum Maximum Couple Coefficient
$DUMMYMARK BY 25.00000236136 ! 1.000000000 .000000000 1.00000000 20.00000000 1.00000000
$DUMMYMARK BX 1.000000000000 ! 1.000000000 .000000000 5.00000000 10.00000000 1.00000000
OptimizeOptics[]; FFS["CALC; VAR", 6];
{{{1,5},{20,10}},{(VariableRange$[##]&)->{{1,5},{20,10}}}}
{ 42.000000, 42.810000, 43.222500}
{ 42.000000, 42.133611, 42.810000}
{ 42.000000, 42.000000, 42.133611}
{ 42.000000, 42.000000, 42.000000}
Residual = 41.00 DP = 0.01000 DP0 = 0.00000 ExponentOfResidual = 2.0 OffMomentumWeight = 1.000
$$$ f AX ####### # -.200000 $$$ f BX ####### # 5.200000 $$$ f NX ####### # .031416
$$$ f AY ####### # -.050000 $$$ f BY ####### # 20.050000 $$$ f NY ####### # .007951
$$$ f LENG ####### # 1.000000 $$$ f FUN1 0.0 1 4.000000 $$$ f FUN2 0.0 1 -5.000000
!Variable Keyword Now ! Previous Saved Minimum Maximum Couple Coefficient
$DUMMYMARK BY 20.00000000000 ! 1.000000000 .000000000 1.00000000 20.00000000 1.00000000
$DUMMYMARK BX 5.000000000000 ! 1.000000000 .000000000 5.00000000 10.00000000 1.00000000
- WebForum -