matching phase advance and tunes
Posted: 24 Nov 2015, 01:43
matching phase advance and tunes
Hello,
I am learning to use Elegant to do beta matching. One of the requirements are phase advance between two elements, like(FODO: LINE = (M1,QFh, D2, SF, D3, B0, D1,QDh,QDh, D2, SD, D3, B0, D1, QFh,M2))
I want to use QFh and QDh to adjust the phase advance between(M1,M2--mark) to be pi/3.
I used two different processes,one is:correct_tunes and the other is optimization_term(term = "M2#1.nux M1#1.nux - abs 0.1666666666666667 - sqr ", weight=1.0 )
I think the optimized results is same,but the output is not,is there something wrong in my *.ele file?
&optimization_setup
mode = "minimize",
method = "simplex",
tolerance = 1e-12,
verbose = 0,
log_file = /dev/tty,
n_evaluations = 1500,
n_passes = 2,
n_restarts = 5,
output_sparsing_factor = 10
&end
&optimization_term
term = "M1#1.betax 8.117104E+01 / 1 .0000001 sene", weight=1.0
&end
&optimization_term
term = "M1#1.betay 2.744211E+01 / 1 .0000001 sene", weight=1.0
&end
&correct_tunes
quadrupoles = "QFh QDh",
tune_x ="(60 360 /)", tune_y="(60 360 /)",
n_iterations = 10,
change_defined_values = 1,
tolerance = 0.00000001
&end
!&optimization_term
! term = "M2#1.nux M1#1.nux - abs 0.1666666666666667 - sqr ", weight=1.0
!
!&end
!
!&optimization_term
! term = "M2#1.nuy M1#1.nuy - abs 0.1666666666666667 - sqr ", weight=1.0
!&end
&optimization_variable
name = QFh, item=K1, lower_limit=0, upper_limit=0.05, step_size = 0.00001
&end
&optimization_variable
name = QDh, item=K1, lower_limit=-0.05, upper_limit=0, step_size = 0.00001
&end
Hello,
I am learning to use Elegant to do beta matching. One of the requirements are phase advance between two elements, like(FODO: LINE = (M1,QFh, D2, SF, D3, B0, D1,QDh,QDh, D2, SD, D3, B0, D1, QFh,M2))
I want to use QFh and QDh to adjust the phase advance between(M1,M2--mark) to be pi/3.
I used two different processes,one is:correct_tunes and the other is optimization_term(term = "M2#1.nux M1#1.nux - abs 0.1666666666666667 - sqr ", weight=1.0 )
I think the optimized results is same,but the output is not,is there something wrong in my *.ele file?
&optimization_setup
mode = "minimize",
method = "simplex",
tolerance = 1e-12,
verbose = 0,
log_file = /dev/tty,
n_evaluations = 1500,
n_passes = 2,
n_restarts = 5,
output_sparsing_factor = 10
&end
&optimization_term
term = "M1#1.betax 8.117104E+01 / 1 .0000001 sene", weight=1.0
&end
&optimization_term
term = "M1#1.betay 2.744211E+01 / 1 .0000001 sene", weight=1.0
&end
&correct_tunes
quadrupoles = "QFh QDh",
tune_x ="(60 360 /)", tune_y="(60 360 /)",
n_iterations = 10,
change_defined_values = 1,
tolerance = 0.00000001
&end
!&optimization_term
! term = "M2#1.nux M1#1.nux - abs 0.1666666666666667 - sqr ", weight=1.0
!
!&end
!
!&optimization_term
! term = "M2#1.nuy M1#1.nuy - abs 0.1666666666666667 - sqr ", weight=1.0
!&end
&optimization_variable
name = QFh, item=K1, lower_limit=0, upper_limit=0.05, step_size = 0.00001
&end
&optimization_variable
name = QDh, item=K1, lower_limit=-0.05, upper_limit=0, step_size = 0.00001
&end