astrodynx.kepler_equ_uni

Contents

astrodynx.kepler_equ_uni#

astrodynx.kepler_equ_uni(chi, alpha=1, r0=1, sigma0=0, deltat=0, mu=1)[source]#

Returns the universal Kepler’s equation in the form f(chi) = 0.

Parameters:
  • chi (ArrayLike) – The generalized anomaly.

  • alpha (DTypeLike) – (optional) The reciprocal of the semimajor axis.

  • r0 (ArrayLike) – (optional) The radius at the initial time.

  • sigma0 (ArrayLike) – (optional) The sigma function at the initial time.

  • deltat (ArrayLike) – (optional) The time since the initial time.

  • mu (ArrayLike) – (optional) The gravitational parameter.

Return type:

Array

Returns:

The value of the universal Kepler’s equation.

Notes

The universal Kepler’s equation is defined as:

\[ r_0 U_1(\chi, \alpha) + \sigma_0 U_2(\chi, \alpha) + U_3(\chi, \alpha) - \sqrt{\mu} \Delta t = 0 \]
where \(\Delta t\) is the time since the initial time, \(\chi\) is the generalized anomaly, \(\alpha = \frac{1}{a}\) is the reciprocal of semimajor axis, \(\sigma_0\) is the sigma function at the initial time, \(r_0\) is the norm of the position vector at the initial time, \(\mu\) is the gravitational parameter, and \(U_1\), \(U_2\), and \(U_3\) are the universal functions.

References

Battin, 1999, pp.178.

Examples

A simple example:

>>> import jax.numpy as jnp
>>> import astrodynx as adx
>>> chi = 1.0
>>> alpha = 1.0
>>> sigma0 = 0.0
>>> r0 = 1.0
>>> mu = 1.0
>>> deltat = 1.0
>>> adx.kepler_equ_uni(chi, alpha, r0, sigma0, deltat, mu)
Array(0., dtype=float32, weak_type=True)

With broadcasting:

>>> chi = jnp.array([1.0, 2.0])
>>> alpha = 1.
>>> sigma0 = jnp.array([0.0, 0.0])
>>> r0 = jnp.array([1.0, 1.0])
>>> deltat = jnp.array([1.0, 1.0])
>>> mu = jnp.array([1.0, 1.0])
>>> adx.kepler_equ_uni(chi, alpha, r0, sigma0, deltat, mu)
Array([0., 1.], dtype=float32)