Page 1 of 1

Slice dispersion?

Posted: 05 Oct 2022, 09:58
by Adam_Dixon
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

Re: Slice dispersion?

Posted: 05 Oct 2022, 19:45
by michael_borland
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

Re: Slice dispersion?

Posted: 07 Oct 2022, 05:39
by Adam_Dixon
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