adam_core.dynamics.chi module

class adam_core.dynamics.chi.ChiDiagnostics(dt: float, mu: float, r_norm: float, v_norm: float, alpha: float, chi: float, finite: bool)[source]

Bases: object

dt: float
mu: float
r_norm: float
v_norm: float
alpha: float
chi: float
finite: bool
adam_core.dynamics.chi.calc_chi(r: Array, v: Array, dt: float, mu: float = 0.00029591220828411956, max_iter: int = 100, tol: float = 1e-16) Tuple[float64, float64, float64, float64, float64, float64, float64][source]

Calculate universal anomaly chi using Newton-Raphson.

Parameters:
  • r (~jax.numpy.ndarray (3)) – Position vector in au.

  • v (~jax.numpy.ndarray (3)) – Velocity vector in au per day.

  • dt (float) – Time from epoch to which calculate chi in units of decimal days.

  • mu (float) – Gravitational parameter (GM) of the attracting body in units of au**3 / d**2.

  • max_iter (int) – Maximum number of iterations over which to converge. If number of iterations is exceeded, will return the value of the universal anomaly at the last iteration.

  • tol (float) – Numerical tolerance to which to compute chi using the Newtown-Raphson method.

Returns:

  • chi (float) – Universal anomaly.

  • c0, c1, c2, c3, c4, c5 (6 x float) – First six Stumpff functions.

References

[1] Curtis, H. D. (2014). Orbital Mechanics for Engineering Students. 3rd ed.,

Elsevier Ltd. ISBN-13: 978-0080977478

adam_core.dynamics.chi.calc_chi_diagnostics(r: ndarray, v: ndarray, dt: float, mu: float = 0.00029591220828411956, max_iter: int = 100, tol: float = 1e-16) ChiDiagnostics[source]

Host-side chi diagnostics helper for fail-fast error reporting.