Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tilted aperture 2 Sixtrack #836

Merged
merged 4 commits into from Oct 16, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
8 changes: 2 additions & 6 deletions src/mad_6track.c
Expand Up @@ -1178,7 +1178,7 @@ create_aperture(const char* name, const char* type, double ap1, double ap2, doub
aper_element->value[5] = ap4 * 1e3;
aper_element->value[6] = offx * 1e3;
aper_element->value[7] = offy * 1e3;
aper_element->value[8] = tilt / M_PI * 180; // sixtrack units are degrees
aper_element->value[8] = tilt ; // sixtrack units are radians for this

if (aper_element->value[1] == 7) // Octagon
{
Expand Down Expand Up @@ -1596,11 +1596,7 @@ convert_madx_to_c6t(struct node* p)

if ((aper_param = return_param_recurse("aper_tilt", p->p_elem)))
{
if (aper_param->expr_list != NULL)
update_vector(aper_param->expr_list, aper_param->double_array);
j = 1;
if (aper_param->double_array->curr == 1)
tag_aperture.value[7] = aper_param->double_array->a[0];
tag_aperture.value[7] = el_par_value("aper_tilt", p->p_elem);
}
}

Expand Down
40 changes: 40 additions & 0 deletions src/mad_dict.c
Expand Up @@ -1422,6 +1422,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"rbend: element none 0 2 "
Expand Down Expand Up @@ -1476,6 +1477,7 @@ const char *const_element_def =
"bend_fringe = [l, true, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"add_angle = [r, {0,0,0,0,0}], "
"comments = [s, none, none]; "
" "
Expand Down Expand Up @@ -1529,6 +1531,7 @@ const char *const_element_def =
"bend_fringe = [l, true, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"matrix: element none 0 4 "
Expand Down Expand Up @@ -1639,6 +1642,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"time_var = [l, false, true], "
"comments = [s, none, none]; "
" "
Expand Down Expand Up @@ -1677,6 +1681,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"k0 = [r, 0], "
"comments = [s, none, none]; "
" "
Expand Down Expand Up @@ -1714,6 +1719,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"octupole: element none 0 7 "
Expand Down Expand Up @@ -1750,6 +1756,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"multipole: element none 0 8 "
Expand Down Expand Up @@ -1791,6 +1798,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"time_var = [l, false, true], "
"comments = [s, none, none]; "
" "
Expand Down Expand Up @@ -1831,6 +1839,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"rfcavity: element none 0 10 "
Expand Down Expand Up @@ -1883,6 +1892,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"no_cavity_totalpath = [l, false, true], "
"time_var = [l, false, true], "
"comments = [s, none, none]; "
Expand Down Expand Up @@ -1922,6 +1932,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"srotation: element none 0 12 "
Expand Down Expand Up @@ -1953,6 +1964,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"yrotation: element none 0 13 "
Expand Down Expand Up @@ -1984,6 +1996,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"xrotation: element none 0 34 "
Expand Down Expand Up @@ -2015,6 +2028,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"hkicker: element none 0 14 "
Expand Down Expand Up @@ -2056,6 +2070,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"kicker: element none 0 15 "
Expand Down Expand Up @@ -2099,6 +2114,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"vkicker: element none 0 16 "
Expand Down Expand Up @@ -2140,6 +2156,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"hmonitor: element none 0 17 "
Expand Down Expand Up @@ -2172,6 +2189,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"monitor: element none 0 18 "
Expand Down Expand Up @@ -2204,6 +2222,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"vmonitor: element none 0 19 "
Expand Down Expand Up @@ -2236,6 +2255,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"ecollimator: element none 0 20 "
Expand Down Expand Up @@ -2270,6 +2290,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"slice = [i, 1], "
"comments = [s, none, none]; "
" "
Expand Down Expand Up @@ -2305,6 +2326,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"slice = [i, 1], "
"comments = [s, none, none]; "
" "
Expand Down Expand Up @@ -2394,6 +2416,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"marker: element none 0 25 "
Expand Down Expand Up @@ -2424,6 +2447,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
// "gbend: element none 0 26 "
Expand Down Expand Up @@ -2472,6 +2496,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"psi = [r, 0], "
"delta_lag = [r, 0], "
"comments = [s, none, none]; "
Expand Down Expand Up @@ -2504,6 +2529,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"wire: element none 0 29 "
Expand Down Expand Up @@ -2534,6 +2560,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"slmonitor: element none 0 30 "
Expand Down Expand Up @@ -2564,6 +2591,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"blmonitor: element none 0 31 "
Expand Down Expand Up @@ -2594,6 +2622,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"imonitor: element none 0 32 "
Expand Down Expand Up @@ -2624,6 +2653,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"dipedge: element none 0 33 "
Expand Down Expand Up @@ -2660,6 +2690,7 @@ const char *const_element_def =
"bend_fringe = [l, true, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"changeref: element none 0 35 " /* see xrotation for 34 */
Expand Down Expand Up @@ -2692,6 +2723,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"translation: element none 0 36 "
Expand Down Expand Up @@ -2754,6 +2786,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"n_bessel = [i, 0], "
"tilt = [r, 0], "
"comments = [s, none, none]; "
Expand Down Expand Up @@ -2788,6 +2821,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"tkicker: element none 0 39 "
Expand Down Expand Up @@ -2827,6 +2861,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"hacdipole: element none 0 40 "
Expand Down Expand Up @@ -2877,6 +2912,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"n_bessel = [i, 0], "
"comments = [s, none, none]; "
" "
Expand Down Expand Up @@ -2928,6 +2964,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"n_bessel = [i, 0], "
"comments = [s, none, none]; "
" "
Expand Down Expand Up @@ -2963,6 +3000,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"comments = [s, none, none]; "
" "
"rfmultipole: element none 0 43 "
Expand Down Expand Up @@ -3003,6 +3041,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"freq = [r, 0], " // RF-Multipole
"volt = [r, 0], " // RF-Multipole
"lag = [r, 0], " // RF-Multipole
Expand Down Expand Up @@ -3041,6 +3080,7 @@ const char *const_element_def =
"bend_fringe = [l, false, true], "
"kill_ent_fringe = [l, false, true], "
"kill_exi_fringe = [l, false, true], "
"aper_tilt = [r, 0], "
"slice = [i, 1], "
"comments = [s, none, none]; "
" "
Expand Down
2 changes: 1 addition & 1 deletion tests/test-c6t-3/fc.3.aper.ref
@@ -1,7 +1,7 @@
qf.1_AP EL 20.000 10.000 0.000 0.000 0.000 0.000 0.000
mb_AP CR 100.000 0.000 0.000 0.000 0.000 0.000 0.000
qd.1_AP RT 22.000 23.000 1.000 2.000 0.000 0.000 0.000
qf.2_AP RL 22.000 20.000 23.000 21.000 1.000 2.000 0.000
qf.2_AP RL 22.000 20.000 23.000 21.000 1.000 2.000 1.571
qd.2_AP OC 30.000 40.000 30.000 60.000 0.000 0.000 0.000
qf.3_AP RC 24.000 23.000 22.000 0.000 3.000 4.000 0.000
qf.4_AP RC 26.000 25.000 24.000 0.000 0.000 0.000 0.000
Expand Down
2 changes: 1 addition & 1 deletion tests/test-c6t-3/input/fivecell.seq
Expand Up @@ -20,7 +20,7 @@ bb : marker;
m0: marker;
//mm:multipole,lrad=dummy,knl={0,dummy,bang*3,1},ksl={1.1,3*acbv1+5.,4,0};
qf.1: mq, k1:=kqf;
qf.2: mq, k1:=kqf, apertype=rectellipse, aperture={0.022,0.020,0.023,0.021}, aper_offset={1e-3,2e-3};
qf.2: mq, k1:=kqf, apertype=rectellipse, aperture={0.022,0.020,0.023,0.021}, aper_offset={1e-3,2e-3}, aper_tilt=pi/2;
qf.3: mq, k1:=kqf, apertype=lhcscreen, aperture={0.024,0.023,0.022}, aper_offset={3e-3,4e-3};
qf.4: mq, k1:=kqf, apertype=rectcircle, aperture={0.026,0.025,0.024};
qf.5: mq, k1:=kqf, apertype=rectangle, aperture={0.03,0.035}, aper_offset={1.e-6,1.e-7};
Expand Down
4 changes: 3 additions & 1 deletion tests/test-makethin-3/test-makethin-3.ref
Expand Up @@ -3,7 +3,7 @@
+ MAD-X 5.05.02 (64 bit, Linux) +
+ Support: mad@cern.ch, http://cern.ch/mad +
+ Release date: 2019.07.25 +
+ Execution date: 2019.09.12 16:58:45 +
+ Execution date: 2019.10.16 14:56:55 +
++++++++++++++++++++++++++++++++++++++++++++
title, "V6.5 Thin Lens" ; // USE ONLY WITH MAD-X version > June 2005

Expand Down Expand Up @@ -172,6 +172,7 @@ parameter: fringe integer: 0
parameter: bend_fringe logical: false
parameter: kill_ent_fringe logical: false
parameter: kill_exi_fringe logical: false
parameter: aper_tilt double value: 0.000000
parameter: time_var logical: false
parameter: comments string: (null)
show mqxb.a2l2..2;
Expand Down Expand Up @@ -221,6 +222,7 @@ parameter: fringe integer: 0
parameter: bend_fringe logical: false
parameter: kill_ent_fringe logical: false
parameter: kill_exi_fringe logical: false
parameter: aper_tilt double value: 0.000000
parameter: time_var logical: false
parameter: comments string: (null)

Expand Down