Chromaticity to adjust K2 of Sextupoles in a Linac

Moderators: cyao, michael_borland

Post Reply
Chris Prokop
Posts: 7
Joined: 14 Apr 2012, 17:15

Chromaticity to adjust K2 of Sextupoles in a Linac

Post by Chris Prokop » 28 Jan 2013, 16:56

Hi,

I am attempting to use the "chromaticity" command to use Sextupoles to correct for chromatic errors in several Quadrupoles. Each of the Sextupoles is placed shortly after one of the quads. I am attempting to use this in a linac, whereas the example files are in rings (as far as I can tell). The elegant file runs without errors, I can tell that it is at least seeing the &chromaticity command, but it does not appear to be changing the K2 values at all (looking at the .matext file shows that they are still at the default values). I have change_defined_values=1; are more steps necessary to make it actually adjust the values to change the K2 values used for tracking? Is it for some reason believing that the chromaticity targets are met, and isn't adjusting the sextupole strength as a result?

The relevant part of the command file:

&chromaticity
sextupoles = "SEXT1, SEXT2, SEXT3, SEXT4,"
dnux_dp = 1.0e-4,
dnuy_dp = 1.0e-4,
sextupole_tweek = 1e-3,
strength_log = %.ssl,
correction_fraction = 0.9,
change_defined_values = 1,
n_iterations = 500
tolerance = 0.00001
strength_limit = 100,
&end

The quadrupoles used are defined as:

SEXT1: SEXT,L=0.15, K2=1.0e-50
SEXT2: SEXT,L=0.15, K2=1.0e-50
SEXT3: SEXT,L=0.15, K2=1.0e-50
SEXT4: SEXT,L=0.15, K2=1.0e-50

... though I also tried them as KSEXT, to no difference.


In the output of the file, the following is displayed during the :

&chromaticity
sextupoles = "SEXT1, SEXT2, SEXT3, SEXT4",
dnux_dp = 1.000000000000000e-04,
dnuy_dp = 1.000000000000000e-04,
sextupole_tweek = 1.000000000000000e-03,
correction_fraction = 9.000000000000000e-01,
n_iterations = 500,
tolerance = 1.000000000000000e-05,
strength_log = %.ssl,
change_defined_values = 1,
strength_limit = 1.000000000000000e+02,
use_perturbed_matrix = 0,
exit_on_failure = 0,
verbosity = 2,
&end

family dCHROMx/dK2 dCHROMy/dK2
SEXT1: -1.8861076e-04 1.4811970e-02
SEXT2: 1.3943548e-02 -4.4981873e-03
SEXT3: 9.5674361e-03 -2.5339965e-03
SEXT4: 3.0220175e-04 -1.5364004e-04

family dK2/dCHROMx dK2/dCHROMy
SEXT1: 3.0925781e+01 7.0992188e+01
SEXT2: 1.0715625e+02 -6.8656250e+01
SEXT3: -2.8500000e+01 3.1968750e+01
SEXT4: 1.9890000e+03 1.1195000e+03

After this, it is clearly just skipping to the next &run_setup.

The &chromaticity command is done in a separate &run_setup section of the input file, after all of the quads are fit and before the bunch is tracked. My assumption would be that the target chromaticities dnux_dp are already being met, but where do I inspect to see where they are?

Any help on this would be appreciated.

Thanks,
Chris

michael_borland
Posts: 2008
Joined: 19 May 2008, 09:33
Location: Argonne National Laboratory
Contact:

Re: Chromaticity to adjust K2 of Sextupoles in a Linac

Post by michael_borland » 28 Jan 2013, 17:20

Chris,

One problem is that elegant doesn't adjust more that two sextupoles for chromaticity correction. Also, the names should be space-separated, with no commas.

With more than two sextupoles, you would be better off to minimize the second-order transfer matrix coefficients (e.g., T126, T116, T226, T346, etc.) using the &optimize command.

--Michael

Chris Prokop
Posts: 7
Joined: 14 Apr 2012, 17:15

Re: Chromaticity to adjust K2 of Sextupoles in a Linac

Post by Chris Prokop » 28 Jan 2013, 17:42

Hi Michael,

Even with these two changes (no comma, only using two sextupoles), the K2 values are not updating. I'm mostly concerned with chromatic effects at two of the quadrupoles, so correcting two of them may be simpler for now.

Should the use of KSEXT vs SEXT make a difference in a linac?

Thanks,
Chris

michael_borland
Posts: 2008
Joined: 19 May 2008, 09:33
Location: Argonne National Laboratory
Contact:

Re: Chromaticity to adjust K2 of Sextupoles in a Linac

Post by michael_borland » 29 Jan 2013, 11:52

Chris,

It shouldn't matter if you use SEXT or KSEXT. Can you post (or send via email) the files so I can run it myself?

--Michael

Post Reply