Page 1 of 1

Format of p_central_mev(run_setup) affects calculation of response matrices

Posted: 19 Oct 2017, 03:30
by Meykopff
Dear all,
at the European XFEL we provide a server based online model of our machine. For the calculation of the linear optics we use elegant. Currently i found a problem with the calculation of the response matrices. If i use 4.99999 MeV as start parameter the calculation works. But if i use 5.0 the calculation fails. The calculation of the transport matrices or other data is not affected. I'm using elegant 33.0.3 on Linux. See the attachment for input files.
Output of *.vrm (last line):
BPMD.479.B2D 4.564451674999980e+02 1.033521988232392e+01 9.490213451379422e+00 8.951785317392810e+00 2.747407033117273e+00 -7.168767277097474e+01 -5.683774308147104e+01 -5.527164157547934e+01 -5.699850022820646e+01 ...

BPMD.479.B2D 4.564451674999980e+02 -5.111274173440000e+17 -7.737148194800000e+16 1.447186591320000e+17 5.050675530920000e+17 9.606133432540000e+17 -7.686501400580000e+17 1.660610899320000e+17 9.603252500800000e+16 ...

Re: Format of p_central_mev(run_setup) affects calculation of response matrices

Posted: 23 Oct 2017, 09:29
by michael_borland
Sorry for the delayed reply; I was away from work for a while.

There seem to be several causes for this problem. First, you shouldn't have "fixed_length=1" for a transport line or linac. More importantly, the correction matrix is ill-conditioned, probably because there are several correctors between some BPMs. You can see the problem by removing the method = "one-to-one" setting. The condition number is >1e17, whereas <~1e3 is recommended. I suggest using

Code: Select all

&correct
        mode = trajectory
        keep_largest_SVs[0] = 2*50
        corrector_tweek[0] = 2*1e-5
        correction_fraction[0] = 2*0.1,
&end
The fact that it worked for some values of p_central_mev appears to be pure luck.

--Michael