ssapy_toolkit.Orbital_Mechanics.synthetic_orbit_population
- ssapy_toolkit.Orbital_Mechanics.synthetic_orbit_population(*, M=40, N=7200, dt=1.0, t_start=0.0, mu=398600441800000.0, a0=7000000.0, e0=0.001, i0=np.float64(0.9599310885968813), raan0=np.float64(0.6981317007977318), pa0=np.float64(0.17453292519943295), nu0=np.float64(0.0), a_sigma=200.0, e_sigma=0.0002, i_sigma=np.float64(0.0017453292519943296), raan_sigma=np.float64(0.003490658503988659), pa_sigma=np.float64(0.003490658503988659), nu_sigma=np.float64(0.005235987755982988), distribution='normal', include_nominal=True, seed=1, propagator=None, e_clip=(0.0, 0.99))[source]
Create a synthetic ensemble (population) of SSAPy Orbit objects and sampled r(t), v(t) time series by perturbing all 6 classical Keplerian elements.
- Parameters:
M (int) – Number of orbits to generate.
N (int) – Number of time samples per orbit.
dt (float) – Time step in seconds.
t_start (float or astropy.time.Time) – Start epoch passed to SSAPy. If float, interpreted by SSAPy as GPS seconds. The returned t_list is always seconds-from-start (0..(N-1)dt).
mu (float) – Gravitational parameter in m^3/s^2. Default EARTH_MU.
a0 (float) – Nominal Keplerian elements (SI + radians).
e0 (float) – Nominal Keplerian elements (SI + radians).
i0 (float) – Nominal Keplerian elements (SI + radians).
raan0 (float) – Nominal Keplerian elements (SI + radians).
pa0 (float) – Nominal Keplerian elements (SI + radians).
nu0 (float) – Nominal Keplerian elements (SI + radians).
*_sigma (float) – Perturbation sizes. If distribution=”normal”, these are 1-sigma standard deviations. If “uniform”, these are half-widths.
distribution ({"normal","uniform"}) – Perturbation distribution for each element.
include_nominal (bool) – If True, orbit 0 is exactly the nominal orbit, and the remaining M-1 are perturbed. If False, all M are perturbed.
seed (int) – RNG seed.
propagator (ssapy.propagator.Propagator or None) – Propagator used by Orbit.at(). If None, uses KeplerianPropagator().
e_clip ((float, float)) – Clip eccentricity into [min, max] to avoid invalid values.
- Returns:
orbits (list[ssapy.Orbit]) – List of length M of initial Orbit objects at t_start.
r_list (list[np.ndarray]) – List of length M; each entry shape (N,3) in meters.
v_list (list[np.ndarray]) – List of length M; each entry shape (N,3) in m/s.
t_list (list[np.ndarray]) – List of length M; each entry shape (N,) in seconds-from-start.
mu (float) – Returned for convenience (m^3/s^2).