11import xtrack as xt
22
3- xt .RBend .from_dict ({
4- "__class__" : "RBend" ,
5- "edge_exit_angle_fdown" : - 7.065815087973354e-11 ,
6- "edge_entry_angle_fdown" : - 7.065815087973354e-11 ,
7- "extra" : {
8- "polarity" : - 1.0
9- },
10- "prototype" : "mbxf" ,
11- "order" : 5 ,
12- "model" : "adaptive" ,
13- "k0" : - 0.00023962580074486132 ,
14- "h" : - 0.00023962580074486132 ,
15- "length" : 6.270000589737365 ,
16- "k0_from_h" : False ,
17- "angle" : - 0.001502453911986569 ,
18- "length_straight" : 6.27
19- })
3+ bend1 = xt .RBend ()
4+ bend1 .angle = 0.1
5+ bend1 .length_straight = 1.0
206
21- breakpoint ()
22- bb = xt .RBend (** {
23- # "__class__": "RBend",
24- "edge_exit_angle_fdown" : - 7.065815087973354e-11 ,
25- "edge_entry_angle_fdown" : - 7.065815087973354e-11 ,
26- # "extra": {
27- # "polarity": -1.0
28- # },
29- # "prototype": "mbxf",
30- "order" : 5 ,
31- "model" : "adaptive" ,
32- "k0" : - 0.00023962580074486132 ,
33- # "h": -0.00023962580074486132,
34- # "length": 6.270000589737365,
35- "k0_from_h" : False ,
36- "angle" : - 0.001502453911986569 ,
37- "length_straight" : 6.27
38- })
7+ bend2 = xt .RBend ()
8+ bend2 .length_straight = 1.0
9+ bend2 .angle = 0.1
10+
11+ bend3 = xt .RBend (angle = 0.1 , length_straight = 1.0 )
12+
13+ bend1d = xt .RBend .from_dict (bend1 .to_dict ())
14+ bend2d = xt .RBend .from_dict (bend2 .to_dict ())
15+ bend3d = xt .RBend .from_dict (bend3 .to_dict ())
16+
17+ for bb in [bend1 , bend2 , bend3 , bend1d , bend2d , bend3d ]:
18+ assert bb .h == 0.1 / bb .length
19+ assert bb .k0 == 'from_h'
20+ assert bb .k0_from_h == True
21+ assert bb .length_straight == 1.0
22+ assert bb .length > 1.0
23+ assert bb .angle == 0.1
24+
25+ bend1 .k0 = 0.2
26+ assert bend1 .k0 == 0.2
27+ assert bend1 .h == 0.1 / bend1 .length
28+ assert bend1 .k0_from_h == False
29+
30+ bend2 .k0_from_h = False
31+ assert bend2 .k0 == 0.
32+ assert bend2 .h == 0.1 / bend2 .length
33+ assert bend2 .k0_from_h == False
0 commit comments