[Back]
Block display

位相空間プロット Name:K.Harada Date:2018/03/20(Tue) 14:51:45 No.724

MOMENTUM= 0.58 GEV;
MARK MKS =()
MKE =();
MONI PM =();
CAVI CAVI=(VOLT= 50000 FREQ = 104950000);
BEND PV = ( L = 0 K0 = 0 ROTATE =-90 DEG )
PH = ( L = 0 K0 = 0 );
QUAD QF3 = ( L =0.1800 K1 =5.939500*0.1800 )
QF2 = ( L =0.1800 K1 =6.070000*0.1800 );
SEXT SD =(L =.15 K2 =-11.729486011842393 )
SF =(L =.075 K2 =8.681418961367605 ) ;
BEND BH = (L = 0.8500 ANGLE = 0.523599 K1 = -1.678200*0.8500 E1=0 E2=0);
DRIFT
D14837 = (L = 1.4837 )
D0100 = (L = 0.1000 )
D0180 = (L = 0.1800 )
D0190 = (L = 0.1900 )
D0120 = (L = 0.1200 )
;
LINE
HV = (PH PV)

CELL
=(MKS
D14837 PM D0100 QF3 D0180 HV D0180
BH
D0190 SD D0120 QF2 D0120 SF
PM
SF D0120 QF2 D0120 SD D0190
BH D0180 HV D0180 QF3 D0100 PM D14837
MKE)

RING = (3*CELL CAVI 3*CELL)
;

ON LOG RAD COD RADCOD FLUC RFSW;

EMIT USE = RING;

PHSPLOTS = 10;
TRACK USE = RING NPART = 21 TURNS = 5000
NX=(1,10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200)
NY=(1) NZ=(1);

PHSPLOTS = 11;
TRACK USE = RING NPART = 21 TURNS = 5000
NY=(1,10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200) )
NX=(1) NZ=(1);

PHSPLOTS=9;
TRACK USE = RING NPART = 17 TURNS = 5000
NZ=(-46.23,-40.45,-34.67,-28.89,-23.12,-17.34,-11.56,-5.78,0,5.78,11.56,17.34,23.12,28.89,34.67,40.45,46.23)
NX=(1) NY=(1);
stop;
stop;

という位相空間プロットですが、古いSADでは動くのですが、新しいSADでは動きません。
(1周目に全てロス、と言われてしまいます。) 仕様か、スクリプトのミスか、機能の削除か、
可能でしたらアドバイスを頂けないでしょうか?

Re: 位相空間プロット Name:Akio Morita Date:2018/03/20(Tue) 22:59:55 No.725

(省略)
> という位相空間プロットですが、古いSADでは動くのですが、新しいSADでは動きません。
> (1周目に全てロス、と言われてしまいます。) 仕様か、スクリプトのミスか、機能の削除か、
> 可能でしたらアドバイスを頂けないでしょうか?
>
MAINレベルコマンドの仕様書を読んだことが無いので、どのような
動作が正しいか分からない(出力結果の読み方が分からないので判断しかねる)ので助言のみ

MAIN trunkは、Subversionで管理されているので、comit単位でrevision番号が割り当てられています

従って、正常と思われる過去のrevision番号と不具合があると思われる現在のrevision番号から2分法で問題となるcommitと特定しbackoutすれば良いのでは?

少なくとも、挙動を変えたコードの変更を特定できるはずです

過去のコードを現行環境でコンパイルして挙動が変わる場合、
コードの記述が言語仕様の未定義領域に抵触しており、動作が
コンパイラ依存になっている可能性があります
この場合は、言語仕様の範囲内で正しい動作を記述するコードに
書き直す必要あり

注)
C/Fortranの言語仕様は、文法的には合法だが、意味論が未定義
(コンパイラ実装者は、どのように実装しても良いという意味)な
記述が存在するので、それに抵触する場合、コンパイラの種類や
バージョンで挙動が変わり得ます

- WebForum -