Forum

Search
Close
AI Search
Classic Search
 Search Phrase:
 Search Type:
Advanced search options
 Search in Forums:
 Search in date period:

 Sort Search Results by:

AI Assistant

[Solved] 要素値の設定の動作が不可解

4 Posts
2 Users
0 Reactions
3,032 Views
Member
Joined: 3 years ago
Posts: 4
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
  [#1195]

エレメント値をFFS内で設定すると、バージョンによって計算結果が変わってしまう

 

スクリプトは下記

 

ON LOG;
ON RAD FLUC COD RFSW RADCOD;

MOMENTUM = 3GEV;

DRIFT DLL =(L =2.72 ) D1 =(L =.15 ) D2 =(L =.27 ) D3 =(L =.53 ) D4 =(L =.62 ) D5 =(L =.3 )
D6 =(L =.36 ) DLS =(L =.82 )
;
BEND B1 =(L =1.13 ANGLE =.078539816 E1 =.5 E2 =.5 K1 =-.7397103017678205 )
;
QUAD Q1 =(L =.2 K1 =.6907053661641553 )
Q2 =(L =.2 K1 =-.13268256667848843 )
Q3 =(L =.2 K1 =1.0493587672181628 )
Q4 =(L =.2 K1 =-.029729675023830338 )
Q5 =(L =.2 K1 =.8610612588334975 )
;
SEXT S1 =(L =.2 K2 =29.29577177704089 )
S2 =(L =.2 K2 =-37.64034057583332 )
S3 =(L =.2 K2 =-17.795907545412305 )
S4 =(L =.2 K2 =27.198775560658618 )
S5 =(L =.2 K2 =-27.6230634892771 )
;
CAVI RFC =(VOLT =3600000 HARM =592 )
;
MARK
MRST = () MNCS = ()
MC = () MNCE = ()
MRED = () MKNS = ()
MKNSA = ()
;
LINE
NCELLH = (MNCS
DLL S1 D1 Q1 D1 S2 D1 Q2 D2
B1
D2 S3 D3 Q3 D1 S4 D1 Q4 D4 S5 D5
B1
D6 Q5 DLS
MC)
NCELL = (MKNS NCELLH -NCELLH MNCE)
RING = (MRST
10*NCELL RFC 10*NCELL
MRED)
;

FFS;
NPARA = 12;
$FORM = "15.10";
PageWidth = 1999;

USE RING;
cell calc emit;

kb1 = -.7690148127;
kq1 = .6220350825;
kq2 = -.0525161074;
kq3 = .9269523815;
kq4 = .1635423185;
kq5 = .8072458773;
ks1 = 30.9145683926;
ks2 = -45.1076331171;
ks3 = -16.5916811851;
ks4 = 26.7666811507;
ks5 = -28.0790433114;

LINE["K1","B1"] = kb1;

LINE["K1","Q1"] = kq1;
LINE["K1","Q2"] = kq2;
LINE["K1","Q3"] = kq3;
LINE["K1","Q4"] = kq4;
LINE["K1","Q5"] = kq5;

LINE["K2","S1"] = ks1;
LINE["K2","S2"] = ks2;
LINE["K2","S3"] = ks3;
LINE["K2","S4"] = ks4;
LINE["K2","S5"] = ks5;

cell calc emit;
disp $$$;

stop;
stop;

 

こうなってほしい結果

 (実は、下記のチューンのマッチング出力をスクリプト内で読み込ませているつもり。PF計算以上の生出さんSADでは下記の通りの出力になる。)

Welcome to SAD Ver.1.1.9.0.5k64 built at 2020-09-09 16:04:26 +0900

disp $$$;
AX BX NX EX EPX Element Length Value s(m) AY BY NY EY EPY DetR #
-3.E-13 13.0000 32.5500 -5.3E-9 -1.E-15 $$$ .0 0 436.000000 -2.E-12 3.00000 10.5600 1.3E-25 1.4E-31 1.E-33 1124

(水平チューン 32.55、垂直チューン 10.56)

PF計算機、KEKB計算機のふつうのSADだと、おかしい結果になる。どこか何か、読み込めていないよう。

Welcome to SAD Ver.1.0.10.10.1a built at 2021-10-06 13:54:01 +0900

AX BX NX EX EPX Element Length Value s(m) AY BY NY EY EPY DetR #
-4.2E-6 12.7561 32.7085 7.91E-4 -9.5E-6 $$$ .00000 0 436.000000 .12726 5.38111 7.15661 .00000 .00000 .0000 1124

(水平チューン 32.7085、垂直チューン 7.15661)

これでBQSをtypeすると、

BEND B1 =(L =1.13 ANGLE =.078539816 E1 =.5 E2 =.5 K1 =-.7690148127 )
;
QUAD Q1 =(L =.2 K1 =.6220350825 )
Q2 =(L =.2 K1 =-.0525161074 )
Q3 =(L =.2 K1 =.9269523815 )
Q4 =(L =.2 K1 =.1635423185 )
Q5 =(L =.2 K1 =.8072458773 )
;
SEXT S1 =(L =.2 K2 =30.9145683926 )
S2 =(L =.2 K2 =-45.1076331171 )
S3 =(L =.2 K2 =-16.5916811851 )
S4 =(L =.2 K2 =26.7666811507 )
S5 =(L =.2 K2 =-28.0790433114 )
;

となり、ラティス最後にこれを付け加えてただcell calc計算すると、正しいと思っている値になる。何が間違っているんだろう……



   
ReplyQuote
Member
Joined: 3 years ago
Posts: 4
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

通常のSADの場合、BENDのK1がLINEコマンドでは反映されないよう。見かけ上、入ったように見えて、typeでも新しい値になるが、内部では反映されていないように考えられる。



   
ReplyQuote
Member
Joined: 3 years ago
Posts: 4
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

LINE["K1","B1"] = kb1;

SetElement["B1","BEND",{"K1"->kb1}];

に書き換えることで、通常のSADでも正しい結果になった。



   
ReplyQuote
Joined: 1 second ago
Posts: 0
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

FFS["B1 K1 kb1"] も使えると思います。



   
ReplyQuote

Leave a reply

Author Name

Author Email

Title *

Preview 0 Revisions Saved