Dipole

Dipole element factory

elementary.dipole.curvature(s: jax.Array, r: jax.Array, *args) jax.Array[source]

Curvature

elementary.dipole.dipole_factory(exact: bool = True, multipole: bool = False, beta: float | None = None, gamma: float | None = None, driver: Callable[[...], jax.Array] | None = None, settings: dict | None = None, order: int = 0, iterations: int = 1, final: bool = True) Callable[[...], jax.Array][source]

Dipole element transfer map

Parameters:
  • exact (bool, default=False) – ideal transfromation

  • multipole (bool, default=False) – multipole flag

  • beta (Optional[float]) – relativistic beta

  • gamma (Optional[float]) – relativistic gamma

  • driver (Optional[Callable[..., Array]]) – symplectic integrator (tao)

  • settings (Optional[dict]) – configuration settings for integrator

  • order (int, default=0) – yoshida composition order

  • iterations (int, default=1) – number of integration

  • final (bool, default=True) – flag to return only the final state

Return type:

Callable[…, Array]

elementary.dipole.mapping(qsps: jax.Array, length: jax.Array, angle: jax.Array, beta: float = 1.0, constant: float = 0.0) jax.Array[source]

Exact sector bend body transformation

elementary.dipole.vector_dipole(qs: jax.Array, s: jax.Array, r: jax.Array) tuple[jax.Array, jax.Array, jax.Array][source]

Vector potential

elementary.dipole.vector_octupole(qs: jax.Array, s: jax.Array, r: jax.Array, kn: jax.Array, ks: jax.Array) tuple[jax.Array, jax.Array, jax.Array][source]

Cylindrical octupole potential

elementary.dipole.vector_quadrupole(qs: jax.Array, s: jax.Array, r: jax.Array, kn: jax.Array, ks: jax.Array) tuple[jax.Array, jax.Array, jax.Array][source]

Cylindrical quadrupole potential

elementary.dipole.vector_sextupole(qs: jax.Array, s: jax.Array, r: jax.Array, kn: jax.Array, ks: jax.Array) tuple[jax.Array, jax.Array, jax.Array][source]

Cylindrical sextupole potential