Slice dispersion?

Moderators: cyao, michael_borland

Post Reply
Adam_Dixon
Posts: 12
Joined: 05 Nov 2021, 08:33

Slice dispersion?

Post by Adam_Dixon » 05 Oct 2022, 09:58

Hi all,
I am looking into slice beam properties in a bunch compressor, so I have watch files along the lattice, some of which are at the centre of dipoles. I then slice these into longitudinal slices and use sddsanalyzebeam get the slice data for the bunch. In the output of these files there is horizontal dispersion etax and etaxp, which I have noticed are near constant along the centre of the bunch, but differ at the extreme head/tail slices of the bunch. From what I understand dispersion is a property of the lattice so it should be constant for each slice of the bunch.

I have attached a plot of Ct vs etax/etaxp and the file from which it was generated. The watch file was at the centre of a dipole.

How is etax/etaxp calculated in sddsanalyzebeam? Do you know why I have this result?

Thanks,
Adam
Attachments
slice_dispersion.png
slice_dispersion.png (6.21 KiB) Viewed 5723 times

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

Re: Slice dispersion?

Post by michael_borland » 05 Oct 2022, 19:45

Adam,

The dispersion, beta functions, and other properties can be defined for the lattice or for a beam (or slice of a beam).

In defining these for a lattice, we have to give an initial condition or declare some boundary conditions (typically periodicity). For a beam, the properties are defined from the beam moments; for example, the monoenergetic rms beam size Sx, emittance ex, and beam beta function betaxBeam are related by Sx^2 = ex*betaxBeam. If a beam is matched to the transport line, betax=betaxBeam, betay=betayBeam, etax=etaxBeam, etc. For a mismatched beam, this isn't true.

The horizontal dispersion in the beam characterizes how x and delta=(p-pRef)/pRef are related. It's defined as <x*delta>/<delta^2> (assuming for simplicity <x>=0 and <delta>=0). You can see this by writing the total x coordinate as x = xb + delta*etax, where xb is the betatron component. Multiplying by delta and taking the average over all particles, we get <x*delta> = <xb*delta> + <delta^2>*etax; the first term is zero by definition.

--Michael

Adam_Dixon
Posts: 12
Joined: 05 Nov 2021, 08:33

Re: Slice dispersion?

Post by Adam_Dixon » 07 Oct 2022, 05:39

Thanks for the explanation Michael! That makes a lot of sense and cleared that up.

I have another question about the sddsanalyzebeam. As I mentioned above, I am slicing the beam and then I am using sddsanalyzebeam to track the evolution of the slice parameters for each slice along the bunch compressor. Typically I do this with a 2,000,000 macro-particles and have used 20-600 longitudinal slices, but the slice beta functions and slice alpha were larger than I expected, larger than the whole beam beta and alpha. So I ran the same simulation with 1 longitudinal slice, so the single 'slice' beta and alpha should match the beta and alpha from the *twiss output file, but it is much larger than the *twiss output values.

I have attached plots of beta, ecx and Sx along the bunch compressor using *twiss and *sigma output files, and using the equivalent single 'slice' beta, ecx and Sx from sddsanalyzebeam at each watch file. Can also attach *ele and *lte file, and the script used to slice the bunch if needed.

Do you understand why the beta from *twiss output and sddsanalyzebeam are different here?

Thanks,
Adam
Attachments
sigma_xy.png
sigma_xy.png (5.89 KiB) Viewed 5715 times
emittance_geom.png
emittance_geom.png (5.11 KiB) Viewed 5715 times
BetaFunctions.png
BetaFunctions.png (7.71 KiB) Viewed 5715 times

Post Reply