ssapy_toolkit.Orbital_Mechanics.misc

Functions

bi_elliptic_transfer_delta_v(r1, r2, rb, mu)

Return (dv1, dv2, dv3, total_dv) for bi-elliptic transfer via intermediate apoapsis rb

circular_velocity(mu, r)

Circular orbital velocity: v = sqrt(mu / r)

eccentricity_vector(r_vec, v_vec, mu)

Eccentricity vector: e_vec = (v x h)/mu - r/|r|

escape_velocity(mu, r)

Escape velocity: v_e = sqrt(2*mu / r)

hohmann_transfer_delta_v(r1, r2, mu)

Return (dv1, dv2, total_dv) for Hohmann transfer between circular orbits r1 and r2

kepler_E_from_M(M, e[, tol, max_iter])

Solve Kepler's equation M = E - e*sin(E) for E (elliptical)

kepler_E_from_M_from_nu(nu, e)

Compute eccentric anomaly E from true anomaly nu for elliptical orbits

orbital_elements_from_state(r_vec, v_vec, mu)

Compute classical orbital elements from state vectors.

orbital_period(a, mu)

Orbital period for ellipse: T = 2*pi*sqrt(a^3/mu)

plane_change_delta_v(v, i1, i2)

Delta-v for plane change at speed v from inclination i1 to i2: dv = 2*v*sin(|i2-i1|/2)

specific_angular_momentum(r_vec, v_vec)

Specific angular momentum vector: h = r x v

specific_orbital_energy(mu, r, v)

Specific orbital energy: epsilon = v^2/2 - mu/r

sphere_of_influence_radius(a, m_secondary, ...)

Sphere of influence radius: r_SOI = a*(m_secondary/m_primary)^(2/5)

vis_viva(mu, r, a)

Vis-viva equation: v^2 = mu * (2/r - 1/a)

ssapy_toolkit.Orbital_Mechanics.misc.bi_elliptic_transfer_delta_v(r1: float, r2: float, rb: float, mu: float) Tuple[float, float, float, float][source]

Return (dv1, dv2, dv3, total_dv) for bi-elliptic transfer via intermediate apoapsis rb

ssapy_toolkit.Orbital_Mechanics.misc.circular_velocity(mu: float, r: float) float[source]

Circular orbital velocity: v = sqrt(mu / r)

ssapy_toolkit.Orbital_Mechanics.misc.eccentricity_vector(r_vec: ndarray, v_vec: ndarray, mu: float) ndarray[source]

Eccentricity vector: e_vec = (v x h)/mu - r/|r|

ssapy_toolkit.Orbital_Mechanics.misc.escape_velocity(mu: float, r: float) float[source]

Escape velocity: v_e = sqrt(2*mu / r)

ssapy_toolkit.Orbital_Mechanics.misc.hohmann_transfer_delta_v(r1: float, r2: float, mu: float) Tuple[float, float, float][source]

Return (dv1, dv2, total_dv) for Hohmann transfer between circular orbits r1 and r2

ssapy_toolkit.Orbital_Mechanics.misc.kepler_E_from_M(M: float, e: float, tol: float = 1e-08, max_iter: int = 100) float[source]

Solve Kepler’s equation M = E - e*sin(E) for E (elliptical)

ssapy_toolkit.Orbital_Mechanics.misc.kepler_E_from_M_from_nu(nu: float, e: float) float[source]

Compute eccentric anomaly E from true anomaly nu for elliptical orbits

ssapy_toolkit.Orbital_Mechanics.misc.orbital_elements_from_state(r_vec: ndarray, v_vec: ndarray, mu: float)[source]

Compute classical orbital elements from state vectors. Returns (a, e, i, RAAN, arg_periapsis, true_anomaly, mean_anomaly) a: semi-major axis (m) e: eccentricity (scalar) i: inclination (rad) RAAN: right ascension of ascending node (rad) arg_periapsis: argument of periapsis (rad) true_anomaly: (rad) mean_anomaly: (rad)

ssapy_toolkit.Orbital_Mechanics.misc.orbital_period(a: float, mu: float) float | None[source]

Orbital period for ellipse: T = 2*pi*sqrt(a^3/mu)

ssapy_toolkit.Orbital_Mechanics.misc.plane_change_delta_v(v: float, i1: float, i2: float) float[source]

Delta-v for plane change at speed v from inclination i1 to i2: dv = 2*v*sin(|i2-i1|/2)

ssapy_toolkit.Orbital_Mechanics.misc.specific_angular_momentum(r_vec: ndarray, v_vec: ndarray) ndarray[source]

Specific angular momentum vector: h = r x v

ssapy_toolkit.Orbital_Mechanics.misc.specific_orbital_energy(mu: float, r: float, v: float) float[source]

Specific orbital energy: epsilon = v^2/2 - mu/r

ssapy_toolkit.Orbital_Mechanics.misc.sphere_of_influence_radius(a: float, m_secondary: float, m_primary: float) float[source]

Sphere of influence radius: r_SOI = a*(m_secondary/m_primary)^(2/5)

ssapy_toolkit.Orbital_Mechanics.misc.vis_viva(mu: float, r: float, a: float) float[source]

Vis-viva equation: v^2 = mu * (2/r - 1/a)