Skip to content

Commit

Permalink
Merge pull request #605 from tpersson/tromboneChangeVariable
Browse files Browse the repository at this point in the history
Trombone change variable
  • Loading branch information
ldeniau committed Mar 19, 2018
2 parents 44ccc33 + c7240ba commit 9d65625
Show file tree
Hide file tree
Showing 13 changed files with 719 additions and 4 deletions.
2 changes: 1 addition & 1 deletion Makefile_test
Expand Up @@ -58,7 +58,7 @@ test-emit test-emit-2 \
test-ibs test-ibs-2 test-ibs-3 test-ibs-4 \
test-error test-error-2 test-error-3 \
test-dynap \
test-c6t test-c6t-2 test-c6t-3 test-c6t-4 \
test-c6t test-c6t-2 test-c6t-3 test-c6t-4 test-c6t-5 \
test-thick-quad test-thick-quad-2 test-thick-quad-3 \
test-thick-dipole test-thick-dipole-2 test-thick-dipole-3 \
test-thick-solenoid \
Expand Down
30 changes: 27 additions & 3 deletions src/mad_6track.c
Expand Up @@ -3116,8 +3116,15 @@ write_f3_aux(void)
static void
write_f3_matrix(void)
{
int i, i_max = 43;
int i, i_max = 43, dim=6;
current_element = first_in_sequ;


double beta, value;


beta= get_value("beam ","beta ");

if (!f3) f3 = fopen("fc.3", "w");

while (current_element != NULL)
Expand All @@ -3126,9 +3133,26 @@ write_f3_matrix(void)
{
fprintf(f3,"TROM\n");
fprintf(f3,"%-16s\n",current_element->name);

for (i = 1; i < i_max; i++) {
fprintf(f3,"%23.15e", current_element->value[i]);
value=current_element->value[i];
// The if statemenst are to go from pt to psigma and from t to sigma.
if((i+1)%dim==0){
value=value/beta;
}
if(i%dim==0){
value=value*beta;
}
if(i>(dim+24) && i <(31+dim)){
value = value*beta;
}
if(i>(dim+30) && i < (37+dim)){
value = value/beta;
}



fprintf(f3,"%23.15e", value);
if (i%3 == 0) fprintf(f3,"\n");
}

Expand Down
3 changes: 3 additions & 0 deletions tests/test-c6t-5/afterTrom.twiss.cfg
@@ -0,0 +1,3 @@
42-47 * skip # head
* * rel=1.1e-5 #

81 changes: 81 additions & 0 deletions tests/test-c6t-5/afterTrom.twiss.ref
@@ -0,0 +1,81 @@
@ NAME %05s "TWISS"
@ TYPE %05s "TWISS"
@ SEQUENCE %03s "SEQ"
@ PARTICLE %06s "PROTON"
@ MASS %le 0.9382720813
@ CHARGE %le 1
@ ENERGY %le 2
@ PC %le 1.766251823
@ GAMMA %le 2.131577865
@ KBUNCH %le 1
@ BCURRENT %le 0
@ SIGE %le 0.001
@ SIGT %le 1
@ NPART %le 0
@ EX %le 1
@ EY %le 1
@ ET %le 0.001
@ LENGTH %le 120
@ ALFA %le 0.000805030598
@ ORBIT5 %le 0.0007344539463
@ GAMMATR %le 35.24469903
@ Q1 %le 1.346613813
@ Q2 %le 1.30055717
@ DQ1 %le -1.564759784
@ DQ2 %le -1.566810637
@ DXMAX %le 0.0293352885
@ DYMAX %le 1.113099445
@ XCOMAX %le 0.002907156139
@ YCOMAX %le 0.190476743
@ BETXMAX %le 34.08793922
@ BETYMAX %le 33.53118674
@ XCORMS %le 0.001728796459
@ YCORMS %le 0.1108253658
@ DXRMS %le 0.01824923054
@ DYRMS %le 0.5591484967
@ DELTAP %le 0
@ SYNCH_1 %le 0
@ SYNCH_2 %le 0
@ SYNCH_3 %le 0
@ SYNCH_4 %le 0
@ SYNCH_5 %le 0
@ TITLE %08s "no-title"
@ ORIGIN %16s "5.04.00 Linux 64"
@ DATE %08s "19/03/18"
@ TIME %08s "13.47.06"
* NAME X Y BETX BETY MUX MUY PT T
$ %s %le %le %le %le %le %le %le %le
"SEQ$START" 0.002907156139 0.0967802983 33.60963339 8.655352869 0 0 0.0001609191569 -0.0007344539463
"QFSTART" 0.002907156139 0.0967802983 33.60963339 8.655352869 0 0 0.0001609191569 -0.0007344539463
"DRIFT_0" 0.0008867949516 0.1215881192 8.852676456 33.2050094 0.09840166625 0.100389192 0.0001609191569 -0.0003155567013
"QD" 0.0008867949516 0.1215881192 8.852676456 33.2050094 0.09840166625 0.100389192 0.0001609191569 -0.0003155567013
"DRIFT_1" 0.0007889888359 0.1097779652 10.03650142 29.4470908 0.1153150406 0.10547889 0.0001609191569 -0.000349161759
"HKICK" 0.0007889888359 0.1097779652 10.03650142 29.4470908 0.1153150406 0.10547889 0.0001609191569 -0.000349161759
"DRIFT_2" 0.0008294166798 0.1074159343 10.30770245 28.73025412 0.118444194 0.1065730566 0.0001609191569 -0.0003558863154
"VKICK" 0.0008294166798 0.1074159343 10.30770245 28.73025412 0.118444194 0.1065730566 0.0001609191569 -0.0003558863154
"DRIFT_3" 0.002608241813 0.09437401441 33.60444286 8.655961285 0.1968120754 0.2007742991 0.0001609191569 3.246943499e-05
"QF" 0.002608241813 0.09437401441 33.60444286 8.655961285 0.1968120754 0.2007742991 0.0001609191569 3.246943499e-05
"DRIFT_4" 0.00156402057 0.190476743 8.525230952 33.53118674 0.2973868968 0.3005934776 0.0001609191569 -3.669828138e-05
"QD" 0.00156402057 0.190476743 8.525230952 33.53118674 0.2973868968 0.3005934776 0.0001609191569 -3.669828138e-05
"DRIFT_5" 0.002358080752 0.06270143218 32.82974719 8.70774834 0.3993327476 0.4000693855 0.0001609191569 -0.0005074463556
"QF" 0.002358080752 0.06270143218 32.82974719 8.70774834 0.3993327476 0.4000693855 0.0001609191569 -0.0005074463556
"DRIFT_6" 0.0003805558724 0.008622644527 8.728233277 33.32835209 0.4998953591 0.4998944769 0.0001609191569 -0.0002193208205
"QD" 0.0003805558724 0.008622644527 8.728233277 33.32835209 0.4998953591 0.4998944769 0.0001609191569 -0.0002193208205
"DRIFT_7" -0.001149680266 -0.05559082267 34.08793922 8.623378958 0.5982984949 0.6002832773 0.0001609191569 9.932312143e-07
"QF" -0.001149680266 -0.05559082267 34.08793922 8.623378958 0.5982984949 0.6002832773 0.0001609191569 9.932312143e-07
"DRIFT_8" -0.00115003817 -0.05584992765 34.00786493 8.643709517 0.5983919668 0.6006519004 0.0001609191569 -4.975376241e-17
"RFCAV" -0.00115003817 -0.05584992765 34.00786493 8.643709517 0.5983919668 0.6006519004 0.0001609191569 -4.975376241e-17
"DRIFT_9" -0.001328632463 -0.1851433134 8.727340533 33.3302418 0.696707421 0.7006687827 0.0001609191569 -0.000495622376
"QD" -0.001328632463 -0.1851433134 8.727340533 33.3302418 0.696707421 0.7006687827 0.0001609191569 -0.000495622376
"DRIFT_10" -0.002024859956 -0.1499205659 14.94998424 20.01335588 0.7536373745 0.7254129475 0.0001609191569 -0.0004897648528
"MATLOC.BIM" -0.001557212588 -0.1389216617 14.95249968 20.01173093 0.9036403573 0.8254086282 0.0001609191569 -0.0004927995741
"DRIFT_11" -0.001671347963 -0.06249004164 32.83297588 8.707254204 0.9472753298 0.9004912889 0.0001609191569 -0.0007718527768
"QF" -0.001671347963 -0.06249004164 32.83297588 8.707254204 0.9472753298 0.9004912889 0.0001609191569 -0.0007718527768
"DRIFT_12" 0.0001028557655 -0.00855207217 8.525724207 33.5301296 1.049211916 0.9999722655 0.0001609191569 -0.0004828225376
"QD" 0.0001028557655 -0.00855207217 8.525724207 33.5301296 1.049211916 0.9999722655 0.0001609191569 -0.0004828225376
"DRIFT_13" 0.001997951666 0.05543762918 33.60229563 8.656282124 1.149787089 1.099791125 0.0001609191569 -0.0002609544761
"QF" 0.001997951666 0.05543762918 33.60229563 8.656282124 1.149787089 1.099791125 0.0001609191569 -0.0002609544761
"DRIFT_14" 0.001544742494 0.1845862971 8.851814043 33.20681727 1.248206632 1.200170914 0.0001609191569 -0.0007516629945
"QD" 0.001544742494 0.1845862971 8.851814043 33.20681727 1.248206632 1.200170914 0.0001609191569 -0.0007516629945
"DRIFT_15" 0.002907156139 0.0967802983 33.60963325 8.655318952 1.346613813 1.30055717 0.0001609191569 -0.0007344539463
"SEQ$END" 0.002907156139 0.0967802983 33.60963325 8.655318952 1.346613813 1.30055717 0.0001609191569 -0.0007344539463
3 changes: 3 additions & 0 deletions tests/test-c6t-5/beforeTromb.twiss.cfg
@@ -0,0 +1,3 @@
42-47 * skip # head
* * rel=1.1e-5 #

81 changes: 81 additions & 0 deletions tests/test-c6t-5/beforeTromb.twiss.ref
@@ -0,0 +1,81 @@
@ NAME %05s "TWISS"
@ TYPE %05s "TWISS"
@ SEQUENCE %03s "SEQ"
@ PARTICLE %06s "PROTON"
@ MASS %le 0.9382720813
@ CHARGE %le 1
@ ENERGY %le 2
@ PC %le 1.766251823
@ GAMMA %le 2.131577865
@ KBUNCH %le 1
@ BCURRENT %le 0
@ SIGE %le 0.001
@ SIGT %le 1
@ NPART %le 0
@ EX %le 1
@ EY %le 1
@ ET %le 0.001
@ LENGTH %le 120
@ ALFA %le 0.001514716203
@ ORBIT5 %le 0.0009455828463
@ GAMMATR %le 25.69415646
@ Q1 %le 1.196402684
@ Q2 %le 1.200345182
@ DQ1 %le -1.564636277
@ DQ2 %le -1.56669961
@ DXMAX %le 0.03433722835
@ DYMAX %le 2.048261354
@ XCOMAX %le 0.0047346074
@ YCOMAX %le 0.2712763129
@ BETXMAX %le 34.08100071
@ BETYMAX %le 33.52498058
@ XCORMS %le 0.002990700135
@ YCORMS %le 0.1646686218
@ DXRMS %le 0.02240947468
@ DYRMS %le 1.171760195
@ DELTAP %le 0
@ SYNCH_1 %le 0
@ SYNCH_2 %le 0
@ SYNCH_3 %le 0
@ SYNCH_4 %le 0
@ SYNCH_5 %le 0
@ TITLE %08s "no-title"
@ ORIGIN %16s "5.04.00 Linux 64"
@ DATE %08s "19/03/18"
@ TIME %08s "13.47.06"
* NAME BETX BETY MUX MUY PT T
$ %s %le %le %le %le %le %le
"SEQ$START" 33.60345417 8.656838685 0 0 0.0002955535518 -0.0009455828463
"QFSTART" 33.60345417 8.656838685 0 0 0.0002955535518 -0.0009455828463
"DRIFT_0" 8.85329799 33.20182699 0.09839083754 0.100367066 0.0002955535518 -0.0005394581722
"QD" 8.85329799 33.20182699 0.09839083754 0.100367066 0.0002955535518 -0.0005394581722
"DRIFT_1" 10.03705388 29.44477895 0.1153005602 0.1054564315 0.0002955535518 -0.0006349679008
"HKICK" 10.03705388 29.44477895 0.1153005602 0.1054564315 0.0002955535518 -0.0006349679008
"DRIFT_2" 10.3082301 28.72810453 0.1184290702 0.1065505152 0.0002955535518 -0.0006540793826
"VKICK" 10.3082301 28.72810453 0.1184290702 0.1065505152 0.0002955535518 -0.0006540793826
"DRIFT_3" 33.6002457 8.657041771 0.1967870793 0.2007327692 0.0002955535518 -0.0001970327252
"QF" 33.6002457 8.657041771 0.1967870793 0.2007327692 0.0002955535518 -0.0001970327252
"DRIFT_4" 8.527059427 33.52495358 0.2973389202 0.3005378817 0.0002955535518 0.0001967285177
"QD" 8.527059427 33.52495358 0.2973389202 0.3005378817 0.0002955535518 0.0001967285177
"DRIFT_5" 32.8261262 8.708793671 0.3992605064 0.4000000617 0.0002955535518 -0.0007631187895
"QF" 32.8261262 8.708793671 0.3992605064 0.4000000617 0.0002955535518 -0.0007631187895
"DRIFT_6" 8.728828607 33.32513614 0.4998078069 0.4998062052 0.0002955535518 -0.0007595281705
"QD" 8.728828607 33.32513614 0.4998078069 0.4998062052 0.0002955535518 -0.0007595281705
"DRIFT_7" 34.08100071 8.624913457 0.598201342 0.6001725527 0.0002955535518 1.342584799e-06
"QF" 34.08100071 8.624913457 0.598201342 0.6001725527 0.0002955535518 1.342584799e-06
"DRIFT_8" 34.00095709 8.645243288 0.5982948186 0.6005410542 0.0002955535518 -4.272391834e-17
"RFCAV" 34.00095709 8.645243288 0.5982948186 0.6005410542 0.0002955535518 -4.272391834e-17
"DRIFT_9" 8.728828608 33.32509237 0.6965948771 0.7005389765 0.0002955535518 -0.0006699498148
"QD" 8.728828608 33.32509237 0.6965948771 0.7005389765 0.0002955535518 -0.0006699498148
"DRIFT_10" 14.95144549 20.01179583 0.7535077834 0.7252822369 0.0002955535518 -0.0008867988157
"MARKLOC.BIM" 14.95144549 20.01179583 0.7535077834 0.7252822369 0.0002955535518 -0.0008867988157
"DRIFT_11" 32.82612621 8.708786634 0.7971421776 0.8003452425 0.0002955535518 -0.001212072317
"QF" 32.82612621 8.708786634 0.7971421776 0.8003452425 0.0002955535518 -0.001212072317
"DRIFT_12" 8.527059426 33.52498058 0.8990637638 0.8998074226 0.0002955535518 -0.000401982513
"QD" 8.527059426 33.52498058 0.8990637638 0.8998074226 0.0002955535518 -0.000401982513
"DRIFT_13" 33.60024569 8.65705315 0.9996156047 0.9996124128 0.0002955535518 -0.0005580263565
"QF" 33.60024569 8.65705315 0.9996156047 0.9996124128 0.0002955535518 -0.0005580263565
"DRIFT_14" 8.85329799 33.2018271 1.098011846 1.099978039 0.0002955535518 -0.001468285552
"QD" 8.85329799 33.2018271 1.098011846 1.099978039 0.0002955535518 -0.001468285552
"DRIFT_15" 33.60345417 8.656827324 1.196402684 1.200345182 0.0002955535518 -0.0009455828463
"SEQ$END" 33.60345417 8.656827324 1.196402684 1.200345182 0.0002955535518 -0.0009455828463
1 change: 1 addition & 0 deletions tests/test-c6t-5/fc.2.cfg
@@ -0,0 +1 @@
0-$ 0 omit='drift_'
41 changes: 41 additions & 0 deletions tests/test-c6t-5/fc.2.ref
@@ -0,0 +1,41 @@
SINGLE ELEMENTS---------------------------------------------------------
qfstart 2 -1.163814800e-01 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
drift_0 0 0.000000000e+00 0.000000000e+00 1.000000000e+01 0.000000000e+00 0.000000000e+00 0.000000000e+00
qd 2 1.175570505e-01 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
drift_1 0 0.000000000e+00 0.000000000e+00 1.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
hkick 1 3.000000000e-04 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
drift_2 0 0.000000000e+00 0.000000000e+00 2.000000000e-01 0.000000000e+00 0.000000000e+00 0.000000000e+00
vkick -1 1.033000000e-02 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
drift_3 0 0.000000000e+00 0.000000000e+00 8.800000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
qf 2 -1.175570505e-01 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
drift_8 0 0.000000000e+00 0.000000000e+00 2.000000000e-02 0.000000000e+00 0.000000000e+00 0.000000000e+00
rfcav 12 1.000000000e-01 1.000000000e+02 1.800000000e+02 0.000000000e+00 0.000000000e+00 0.000000000e+00
drift_9 0 0.000000000e+00 0.000000000e+00 9.980000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
drift_10 0 0.000000000e+00 0.000000000e+00 4.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
matloc.bim 22 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
drift_11 0 0.000000000e+00 0.000000000e+00 6.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
NEXT
BLOCK DEFINITIONS-------------------------------------------------------
1 1
BLOC1 drift_0
BLOC2 drift_1
BLOC3 drift_2
BLOC4 drift_3
BLOC5 drift_8
BLOC6 drift_9
BLOC7 drift_10
BLOC8 drift_11
NEXT
STRUCTURE INPUT---------------------------------------------------------
qfstart BLOC1 qd
BLOC2 hkick BLOC3
vkick BLOC4 qf
BLOC1 qd BLOC1
qf BLOC1 qd
BLOC1 qf BLOC5
rfcav BLOC6 qd
BLOC7 matloc.bim BLOC8
qf BLOC1 qd
BLOC1 qf BLOC1
qd BLOC1
NEXT
1 change: 1 addition & 0 deletions tests/test-c6t-5/fc.3.cfg
@@ -0,0 +1 @@
* * rel=1.1e-6 #

0 comments on commit 9d65625

Please sign in to comment.