def f(t0, u_, k): du_kep = func_twobody(t0, u_, k) ax, ay, az = J2_perturbation( t0, u_, k, J2=Earth.J2.value, R=Earth.R.to(u.km).value ) du_ad = np.array([0, 0, 0, ax, ay, az]) return du_kep + du_ad
def f(t0, u_, k): du_kep = func_twobody(t0, u_, k) ax, ay, az = atmospheric_drag_exponential( t0, u_, k, R=R, C_D=C_D, A_over_m=A_over_m, H0=H0, rho0=rho0 ) du_ad = np.array([0, 0, 0, ax, ay, az]) return du_kep + du_ad
def f(t0, u_, k): du_kep = func_twobody(t0, u_, k) ax, ay, az = atmospheric_drag_model( t0, u_, k, R=R, C_D=C_D, A_over_m=A_over_m, model=coesa76 ) du_ad = np.array([0, 0, 0, ax, ay, az]) return du_kep + du_ad
def f_combined(t0, u_, k): du_kep = func_twobody(t0, u_, k) ax, ay, az = J2_perturbation( t0, u_, k, J2=Earth.J2.value, R=Earth.R.to_value(u.km) ) + J3_perturbation(t0, u_, k, J3=Earth.J3.value, R=Earth.R.to_value(u.km)) du_ad = np.array([0, 0, 0, ax, ay, az]) return du_kep + du_ad
def f(t0, u_, k): du_kep = func_twobody(t0, u_, k) ax, ay, az = third_body( t0, u_, k, k_third=body.k.to(u.km**3 / u.s**2).value, perturbation_body=body_r, ) du_ad = np.array([0, 0, 0, ax, ay, az]) return du_kep + du_ad
def f(t0, u_, k): du_kep = func_twobody(t0, u_, k) ax, ay, az = radiation_pressure( t0, u_, k, R=Earth.R.to(u.km).value, C_R=2.0, A_over_m=2e-4 / 100, Wdivc_s=Wdivc_sun.value, star=sun_normalized, ) du_ad = np.array([0, 0, 0, ax, ay, az]) return du_kep + du_ad
def f(t0, u_, k): du_kep = func_twobody(t0, u_, k) # Avoid undershooting H below attractor radius R H = max(norm(u_[:3]), R) rho = coesa76.density((H - R) * u.km).to_value(u.kg / u.km**3) ax, ay, az = atmospheric_drag( t0, u_, k, C_D=C_D, A_over_m=A_over_m, rho=rho, ) du_ad = np.array([0, 0, 0, ax, ay, az]) return du_kep + du_ad
def f_ss0_disposal(t0, u_, k): du_kep = func_twobody(t0, u_, k) ax, ay, az = a_d(t0, u_, k) du_ad = np.array([0, 0, 0, ax, ay, az]) return du_kep + du_ad
def f_leo_geo(t0, u_, k): du_kep = func_twobody(t0, u_, k) ax, ay, az = a_d(t0, u_, k) du_ad = np.array([0, 0, 0, ax, ay, az]) return du_kep + du_ad
def f(t0, state, k): du_kep = func_twobody(t0, state, k) ax, ay, az = ad(t0, state, k, perturbations) du_ad = np.array([0, 0, 0, ax, ay, az]) return du_kep + du_ad
def f(t0, u_, k): du_kep = func_twobody(t0, u_, k) ax, ay, az = constant_accel(t0, u_, k) du_ad = np.array([0, 0, 0, ax, ay, az]) return du_kep + du_ad