Element

This module introduces the various beamline elements supported in PASS.

CrossingAngle, CrabCavity and FloatWaister are described in Beam-Beam Interaction (BeamBeam).

Integration precision

The symmetric fourth-order composition uses

\[S_4(h) = S_2(w_1 h) S_2(w_0 h) S_2(w_1 h), \qquad w_1 = \frac{1}{2-2^{1/3}}, \quad w_0 = 1-2w_1.\]

CPU and GPU use the same double-precision composition coefficients. GPU split maps retain double precision for element lengths, substep lengths and accumulated multipole momentum increments, including transport between internal space-charge nodes.

This applies to the split maps of bends, quadrupoles, sextupoles, octupoles, multipoles, kickers and solenoids with superposed multipole fields. A pure uniform solenoid uses its exact uniform-field map. These changes preserve the maps, field normalization and integration order.

Particle Precision still controls the stored six-dimensional coordinates. FP32 therefore denotes storage precision, not exclusively FP32 arithmetic. Remaining intermediate types depend on the element: for example, static RKR bends use binary64 working coordinates, whereas CPU FP32 RKR transport with internal space-charge nodes still rounds its submaps into the live FP32 arrays. CPU/GPU results are not required to be bit-identical. Binary64 step coefficients reduce an avoidable source of error, but do not remove coordinate rounding or integrator truncation error; more slices need not improve FP32 accuracy.