[Back]
Block display

problems with solenoid? Name:K.Kubo Date:2019/01/10(Thu) 15:10:44 No.915

I have two problems with solenoid (SOL)

Problem 1:
Beam line length of accelerating structure (CAVI) in Solenoid (SOL) becomes zero.
e.g.
!!!!!
SOL SOL1=(BOUND=1 BZ=0 GEO=1) SOL2=(BOUND=1 BZ=0);
MARK I1=() I2=();
CAVI CA1=(L=2.0 VOLT=0 FREQ=1.3e9 PHI=-1.570796);
LINE LN1=(I1 SOL1 CA1 SOL2 I2);
FFS USE=LN1;
trpt; ins; cal;
Print[LINE["S","*"]];
!!!!!
gives
"{0,0,0,0,0,0}"
(orbit length is zero)
!!!!!!!!

Problem 2:
Geometry of design orbit (given by "GEO") seems incorrect downstream of solenoid (SOL).
e.g.
!!!!!!
SOL SOL1=(BOUND=1 BZ=0 GEO=1) SOL2=(BOUND=1 BZ=0);
MARK I1=() I2=();
DRIFT L1=(L=2.0);
BEND B1=(L=0 ANGLE=1.5707963267948966);
BEND B2=(L=0 ANGLE=1.5707963267948966 ROTATE=90 DEG);
LINE LN1=(I1 B2 SOL1 L1 SOL2 B1 L1 I2);
LINE LN2=(I1 B2 L1 B1 L1 I2);
FFS USE=LN1;
trpt; ins; cal;
geo1=LINE["GEO","I2"];
USE LN2;
trpt; ins; cal;
geo2=LINE["GEO","I2"];
Print[geo1];
Print[geo2];
!!!!!!!
gives
Print[geo1];
{{-1.4142135623730947,1.4142135623730951,-2},{2.356194490192345,-6.123031769111886e-17,-1.5707963267948966}}
Print[geo2];
{{0,2,-2},{1.5707963267948968,0,-1.5707963267948966}}
!!!!!!!
Do I misunderstand something?
Is the SAD version (SAD Ver.1.0.10.5.3a10 built at 2012-01-30 16:19:56) too old?

Re: problems with solenoid? Name:Akio Morita Date:2019/01/10(Thu) 20:28:11 No.917

A1. CAVI element in the solenoid region IS NOT SUPPORTED
and CAVI elements in such region IS DISCARDED.
Use MULT type element instead of CAVI.

Re: problems with solenoid? Name:Akio Morita Date:2019/01/10(Thu) 20:35:45 No.918

Comment 2. My latest version(amorita branch revision 5469) makes following different results
Print[geo1];
{{1.2246467991473532e-16,2,-2},{1.5707963267948966,-6.123233995736766e-17,-1.5707963267948966}}
Print[geo2];
{{1.2246467991473532e-16,2,-2},{1.5707963267948966,-6.123233995736766e-17,-1.5707963267948966}}

Re: problems with solenoid? Name:Akio Morita Date:2019/01/10(Thu) 21:06:12 No.919

Comment 2. Latest MAIN trunk(V1.0.10.10.1a / revision 6436) makes same results
Print[geo1];
{{-1.414213562373095,1.4142135623730951,-2},{2.356194490192345,-6.123233995736766e-17,-1.5707963267948966}}
Print[geo2];
{{0,2,-2},{1.5707963267948968,0,-1.5707963267948966}}

something wrong...

Comparision of DISP G between MAIN trunk VS amorita branch
MAIN trunk:
Element Gx Gy Gz s Length Value Chi1 Chi2 Chi3 #
I1 .000000 .000000 .000000 .000000 .000000 0 .000000 .000000 .000000 1
B2 .000000 .000000 .000000 .000000 .000000 1.5707963 .000000 .000000 .000000 2
SOL1 .000000 .000000 .000000 .000000 .000000 .0000000 45.000000 -90.000000 -45.000000 3
L1.1 .000000 .000000 .000000 .000000 2.000000 2.0000000 45.000000 -90.000000 -8.1554E-15 4
SOL2 1.22465E-16 1.22465E-16 -2.000000 2.000000 .000000 .0000000 45.000000 -90.000000 -8.1554E-15 5
B1 1.22465E-16 1.22465E-16 -2.000000 2.000000 .000000 1.5707963 45.000000 -90.000000 .000000 6
L1.2 1.22465E-16 1.22465E-16 -2.000000 2.000000 2.000000 2.0000000 135.000000 -3.5084E-15 -90.000000 7
I2 -1.414214 1.414214 -2.000000 4.000000 .000000 0 135.000000 -3.5084E-15 -90.000000 8
$$$ -1.414214 1.414214 -2.000000 4.000000 .000000 0 135.000000 -3.5084E-15 -90.000000 9

amorita branch:
Element Gx Gy Gz s Length Value Chi1 Chi2 Chi3 #
I1 .000000 .000000 .000000 .000000 .000000 0 .000000 .000000 .000000 1
B2 .000000 .000000 .000000 .000000 .000000 1.5707963 .000000 .000000 .000000 2
SOL1 .000000 .000000 .000000 .000000 .000000 .0000000 .000000 -90.000000 .000000 3
L1.1 .000000 .000000 .000000 .000000 2.000000 2.0000000 .000000 -90.000000 .000000 4
SOL2 1.22465E-16 .000000 -2.000000 2.000000 .000000 .0000000 .000000 -90.000000 .000000 5
B1 1.22465E-16 .000000 -2.000000 2.000000 .000000 1.5707963 .000000 -90.000000 .000000 6
L1.2 1.22465E-16 .000000 -2.000000 2.000000 2.000000 2.0000000 90.000000 -3.5084E-15 -90.000000 7
I2 1.22465E-16 2.000000 -2.000000 4.000000 .000000 0 90.000000 -3.5084E-15 -90.000000 8
$$$ 1.22465E-16 2.000000 -2.000000 4.000000 .000000 0 90.000000 -3.5084E-15 -90.000000 9

Re: problems with solenoid? Name:Akio Morita Date:2019/01/11(Fri) 12:10:20 No.920

A2. NOT A BUG, Coordinate selection rule of SOL element definition

* SOL境界でローカル座標系を切替える際の座標系の選び方に「CHI3=0となる局所座標系を選ぶ」というSOL elementの仕様があるため、CHI3パラメータがリセットされSOL領域下流の主偏向ベクトルの向きがビーム軸に対して回転する
* Eular角(CHI1, CHI2, CHI3)は鉛直方向を向いた際に CHI1/CHI3にパラメータ縮退が発生(同一の直交基底に対して複数の表現が存在する)するため、演算誤差の範囲で同一の直交基底に対して異なるEular角表現が割り当てられるが、上記の接続ルールに基づきCHI3が零と成るようにビーム軸方向に回転した局所座標系が選択される結果、定義パラメータ摂動に対して局所座標系定義が不連続となっている
* ANGLE/ROTATEを 90度ちょうどから若干外す(例えば91deg)とamorita branch/k64 branch含めて再現する

Re^2: problems with solenoid? Name:K.Kubo Date:2019/01/11(Fri) 13:21:41 No.921


Thank you. But,
私の使っているversionでは、
前の例のビームラインのVertical bend とSOL1 の間にさらに horizontal bend を入れると、丁度90度でなくても結果がおかしくなるようです。(LN1 と LN2で結果が異なる)

SOL SOL1=(BOUND=1 BZ=0 GEO=1) SOL2=(BOUND=1 BZ=0);
MARK I1=() I2=();
DRIFT L1=(L=2.0);
BEND B1=(L=0 ANGLE=1.1);
BEND B2=(L=0 ANGLE=0.9 ROTATE=91 DEG);
! LINE LN1=(I1 B2 SOL1 L1 SOL2 B1 L1 I2);
! LINE LN2=(I1 B2 L1 B1 L1 I2);
LINE LN1=(I1 B2 B1 SOL1 L1 SOL2 B1 L1 I2);
LINE LN2=(I1 B2 B1 L1 B1 L1 I2);

FFS USE=LN1;
trpt; ins; cal;
geo1=LINE["GEO","I2"];

USE LN2;
trpt; ins; cal;
geo2=LINE["GEO","I2"];
!!!!!!!!!!
Print[geo1];
{{-.8362874400122727,3.134815502025808,-1.0499162144385719},{2.377544289773975,-.1645553477677297,-.3323464010711923}}
Print[geo2];
{{-.12124348536650054,3.402704293673355,.18887159256415886},{1.9807048644907819,.47302387509385363,-.7976160872880308}}
!!!!!!!!!!!!

Re^3: problems with solenoid? Name:Akio Morita Date:2019/01/11(Fri) 13:39:16 No.922

> Thank you. But,
> 私の使っているversionでは、
> 前の例のビームラインのVertical bend とSOL1 の間にさらに horizontal bend を入れると、丁度90度でなくても結果がおかしくなるようです。(LN1 と LN2で結果が異なる)
>
提示されている作例では、B1.1の出口のCHI3が零でないので、SOLを挟むと以降の局所座標系定義が変更され、結果としてB1.2による軌道偏向の向きが変わる為で、SOLによる局所座標定義の仕様です

BENDのANGLEによる軌道偏向は、BENDの局所座標系で定義されている(実験室系に対する向きは、CHI1, CHI2, CHI3で定義される基底に依存している)
従って、作例ではSOLの存在の有無により、局所座標基底の変更が発生し、上流のビーム軸に対するB1.2の向きは、LN2に対してLN1は約48度回転しています

Re^3: problems with solenoid? Name:Akio Morita Date:2019/01/11(Fri) 13:46:06 No.923

まとめ
* SOLの仕様により、直感に反し、LN2とLN1はB1.2の幾何的な向きが異なる配置を記述している
* 一致する十分条件は、SOL1入り口で CHI3==0

- WebForum -