Drift

Drift element factory

elementary.drift.drift_factory(exact: bool = True, 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]

Drift element transfer map

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

  • 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.drift.mapping(qsps: jax.Array, length: jax.Array, beta: float = 1.0, constant: float = 0.0) jax.Array[source]

Exact drift transformation

elementary.drift.vector(qs: jax.Array, s: jax.Array) tuple[jax.Array, jax.Array, jax.Array][source]

Vector potential