Page 1 of 1

question of BMAPXY

Posted: 13 Dec 2015, 14:49
by yuehao
Hi, Michael

I am trying to use BMAPXY element with zero length, i.e. a infinite short kick for momentum change. Is that possible? I got some warning message when I do this.

test: BMAPXY, STRENGTH = 1.26e-8, L = 0, FILENAME = test.sdds, METHOD = runge-kutta, ACCURACY = 1e-05

Output, looping error/warning message:
integration state:
8 equations, indep.var.=0.000000e+00, step size=0.000000e+00
y : 0.000000e+00 1.198325e-03 4.419471e-05 1.000000e+00 -1.663688e-04 3.298753e-05 6.812700e+01 3.396388e-03
dydx : 1.000000e+00 -1.663688e-04 3.298753e-05 -8.631749e-11 -3.004164e-07 1.101554e-06 1.000000e+00 0.000000e+00
tol.scale: 1.000000e-05 1.000000e-05 1.000000e-05 1.000000e-05 1.000000e-05 1.000000e-05 1.000000e-05 1.000000e-05
misses : 0 0 0 0 0 0 0 0 warning: step-size underflow in rk_qcstep()

Thanks,
Yue

Re: question of BMAPXY

Posted: 13 Dec 2015, 16:03
by michael_borland
Yue,

Unfortunately, that isn't possible with the BMAPXY element. However, the UKICKMAP element should let you do what I think you want: a kick to x' and y' that depends on (x, y).

--Michael

Re: question of BMAPXY

Posted: 13 Dec 2015, 21:10
by yuehao
Thanks, Michael

It is nice to learn that. Just to make it clear, the xp and yp change will be proportional to the square of the parameter 'field_factor' ?

Thanks again,
Yue

Re: question of BMAPXY

Posted: 13 Dec 2015, 22:38
by michael_borland
Yue,

Actually, on further reflection, using UKICKMAP isn't a good idea. The kicks depend on (factor/(1+delta))^2, which is not what you want for a quadrupole.

Instead, you can try the BMAPXY element with something like

Code: Select all

map1: bmapxy,l=1e-12,method="leap-frog",accuracy=1e-12,filename="srquad.bmapxy",strength=1e10
This should do a single kick.

--Michael

Re: question of BMAPXY

Posted: 13 Dec 2015, 23:46
by yuehao
Hi. Michael

Yes I believe this is a better way.

Thanks for your time.

Yue