adam_core.dynamics.kepler module¶
- adam_core.dynamics.kepler.calc_period(a: Array | ndarray | bool | number | bool | int | float | complex, mu: Array | ndarray | bool | number | bool | int | float | complex) Array | ndarray | bool | number | bool | int | float | complex[source]¶
Calculate the period of an orbit given the semi-major axis and gravitational parameter.
- Parameters:
a – Semi-major axis.
mu – Gravitational parameter.
- Returns:
Period.
- Return type:
P
- adam_core.dynamics.kepler.calc_periapsis_distance(a: Array | ndarray | bool | number | bool | int | float | complex, e: Array | ndarray | bool | number | bool | int | float | complex) Array | ndarray | bool | number | bool | int | float | complex[source]¶
Calculate the periapsis distance of an orbit given the semi-major axis and eccentricity.
- Parameters:
a – Semi-major axis.
e – Eccentricity.
- Returns:
Periapsis distance.
- Return type:
q
- adam_core.dynamics.kepler.calc_apoapsis_distance(a: Array | ndarray | bool | number | bool | int | float | complex, e: Array | ndarray | bool | number | bool | int | float | complex) Array | ndarray | bool | number | bool | int | float | complex[source]¶
Calculate the apoapsis distance of an orbit given the semi-major axis and eccentricity.
- Parameters:
a – Semi-major axis.
e – Eccentricity.
- Returns:
Apoapsis distance.
- Return type:
Q
- adam_core.dynamics.kepler.calc_semi_major_axis(q: Array | ndarray | bool | number | bool | int | float | complex, e: Array | ndarray | bool | number | bool | int | float | complex) Array | ndarray | bool | number | bool | int | float | complex[source]¶
Calculate the semi-major axis of an orbit given the periapsis distance and eccentricity.
- Parameters:
q – Periapsis distance.
e – Eccentricity.
- Returns:
Semi-major axis.
- Return type:
a
- adam_core.dynamics.kepler.calc_semi_latus_rectum(a: Array | ndarray | bool | number | bool | int | float | complex, e: Array | ndarray | bool | number | bool | int | float | complex) Array | ndarray | bool | number | bool | int | float | complex[source]¶
Calculate the semi-latus rectum of an orbit given the semi-major axis and eccentricity.
- Parameters:
a – Semi-major axis.
e – Eccentricity.
- Returns:
Semi-latus rectum.
- Return type:
p
- adam_core.dynamics.kepler.calc_mean_motion(a: Array | ndarray | bool | number | bool | int | float | complex, mu: Array | ndarray | bool | number | bool | int | float | complex) Array | ndarray | bool | number | bool | int | float | complex[source]¶
Calculate the mean motion of an orbit given the semi-major axis and gravitational parameter.
- Parameters:
a – Semi-major axis.
mu – Gravitational parameter.
- Returns:
Mean motion in radians per unit time.
- Return type:
n
- adam_core.dynamics.kepler.calc_mean_anomaly(nu: float, e: float) float[source]¶
Calculate the mean anomaly given true anomaly in radians and eccentricity.
- adam_core.dynamics.kepler.solve_kepler(e: float, M: float, max_iter: int = 100, tol: float = 1e-15) float[source]¶
Solve Kepler’s equation for true anomaly (nu) given eccentricity and mean anomaly using Newton-Raphson. Technically, this is only valid for orbits with eccentricity < 1.0 and eccentricity > 1.0. However, for parabolic orbits (e = 1.0) this function will call the solve_barker function from thor.dynamics.barker.
- Parameters:
e (float) – Eccentricity
M (float) – Mean anomaly in radians.
max_iter (int, optional) – Maximum number of iterations over which to converge. If number of iterations is exceeded, will use the value of the relevant anomaly at the last iteration.
tol (float, optional) – Numerical tolerance to which to compute anomalies using the Newtown-Raphson method.
- Returns:
nu – True anomaly in radians.
- Return type:
References
- [1] Curtis, H. D. (2014). Orbital Mechanics for Engineering Students. 3rd ed.,
Elsevier Ltd. ISBN-13: 978-0080977478