Util

Utils module

elementary.util.bessel(x: jax.Array, n: int = 0) jax.Array[source]

Bessel function (series approximation for small argument upto order 10)

elementary.util.beta(gamma: float) float[source]

Compute relativistic beta

elementary.util.gamma(beta: float) float[source]

Compute relativistic gamma

elementary.util.momentum(beta: float, gamma: float) float[source]

Compute central reference momentum

elementary.util.ptc(qsps: jax.Array, kind: str, parameters: dict[str, str | int | float], *, gamma: float = 1000000000.0, exact: bool = True, tx: float = 0.0, ty: float = 0.0, tz: float = 0.0, rx: float = 0.0, ry: float = 0.0, rz: float = 0.0) jax.Array[source]
Parameters:
  • qsps (Array) – initial condition (sector ordering)

  • kind (sts) – element kind (drift, quadrupole, …)

  • parameters (dict[str, str|int|float]) – element parameters

  • gamma (float, default=10**9) – gamma

  • exact (bool, defaul=True) – exact hamiltonian and alignment flag

  • tx (float, default=0.0) – tx

  • ty (float, default=0.0) – ty

  • tz (float, default=0.0) – tz

  • rx (float, default=0.0) – rx

  • ry (float, default=0.0) – ry

  • rz (float, default=0.0) – rz

Return type:

Array

elementary.util.rigidity(beta: float, gamma: float, mass: float, ratio: int = 1) float[source]

Compute magnetic rigidity (Tm)